[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