[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdemultimedia/kmix
From: Christian Esken <esken () kde ! org>
Date: 2011-07-21 23:15:11
Message-ID: 20110721231511.56B80AC879 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1242595 by esken:
Receiving volumeChanged events via DBUS works.
M +1 -0 CMakeLists.txt
M +7 -1 backends/kmix-backends.cpp
M +16 -0 backends/mixer_mpris2.cpp
M +3 -0 backends/mixer_mpris2.h
M +2 -0 gui/mdwslider.cpp
--- trunk/KDE/kdemultimedia/kmix/CMakeLists.txt #1242594:1242595
@@ -67,6 +67,7 @@
core/mixdevice.cpp
core/mixdevicecomposite.cpp
core/volume.cpp
+ backends/mixer_mpris2.cpp
backends/mixer_backend.cpp
)
--- trunk/KDE/kdemultimedia/kmix/backends/kmix-backends.cpp #1242594:1242595
@@ -70,7 +70,8 @@
// PORTING: add #ifdef PLATFORM , commands , #endif, add your new mixer below
-#include "backends/mixer_mpris2.cpp"
+// Compiled by its own!
+//#include "backends/mixer_mpris2.cpp"
#if defined(SUN_MIXER)
#include "backends/mixer_sun.cpp"
@@ -124,6 +125,10 @@
getDriverNameFunc *getDriverName;
};
+// TODO encapsualte by #ifdef HAVE_DBUS
+Mixer_Backend* MPRIS2_getMixer(Mixer *mixer, int device );
+QString MPRIS2_getDriverName();
+
MixerFactory g_mixerFactories[] = {
#if defined(SUN_MIXER)
@@ -143,6 +148,7 @@
{ ALSA_getMixer, ALSA_getDriverName },
#endif
+ // TODO encapsualte by #ifdef HAVE_DBUS
{ MPRIS2_getMixer, MPRIS2_getDriverName },
#if defined(OSS_MIXER)
--- trunk/KDE/kdemultimedia/kmix/backends/mixer_mpris2.cpp #1242594:1242595
@@ -227,6 +227,8 @@
md->setApplicationStream(true);
md->addPlaybackVolume(*vol);
m_mixDevices.append( md );
+
+ conn.connect("", QString("/org/mpris/MediaPlayer2"), \
"org.freedesktop.DBus.Properties", "PropertiesChanged", this, \
SLOT(volumeChanged(QString, QList<QVariant>)) ); }
}
else
@@ -235,7 +237,21 @@
}
}
+/*
+signal sender=:1.125 -> dest=(null destination) serial=503 \
path=/org/mpris/MediaPlayer2; interface=org.freedesktop.DBus.Properties; \
member=PropertiesChanged + string "org.mpris.MediaPlayer2.Player"
+ array [
+ dict entry(
+ string "Volume"
+ variant double 0.81
+ )
+ ]
+ array [
+ ]
+
+*/
+
Mixer_MPRIS2::~Mixer_MPRIS2()
{
--- trunk/KDE/kdemultimedia/kmix/backends/mixer_mpris2.h #1242594:1242595
@@ -18,6 +18,7 @@
class Mixer_MPRIS2 : public Mixer_Backend
{
+ Q_OBJECT
public:
explicit Mixer_MPRIS2(Mixer *mixer, int device = -1 );
~Mixer_MPRIS2();
@@ -34,6 +35,8 @@
virtual bool moveStream( const QString& id, const QString& destId );
virtual bool needsPolling() { return false; }
+public slots:
+ void volumeChanged(QString ifc, QList<QVariant> qvl) { kDebug(67100) << \
"volumeChanged: " << ifc << " : " << qvl; };
private:
int run();
--- trunk/KDE/kdemultimedia/kmix/gui/mdwslider.cpp #1242594:1242595
@@ -970,11 +970,13 @@
long useVolume = vol.getVolume(chid);
// QWidget *labelAtSlider = ref_labels.at( i ); // TODO hide labels
+/*
if ( i==0 )
{
kDebug(67100) << "XXXX -------------------------";
}
kDebug(67100) << "XXXX " << chid << " now at " << useVolume;
+*/
slider->blockSignals( true );
slider->setValue( useVolume );
if ( slider->inherits( "KSmallSlider" ) )
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic