[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-08-10 19:24:17
Message-ID: 20110810192417.BCD4DAC871 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1246243 by esken:

Add constant for volume control pageStep (VOLUME_PAGESTEP_DIVISOR)
Implement smart-unmute for DockIcon
Cleanups

 M  +1 -1      core/mixer.cpp  
 M  +2 -1      core/mixer.h  
 M  +12 -14    gui/kmixdockwidget.cpp  
 M  +7 -26     gui/mdwslider.cpp  
 M  +1 -1      gui/mdwslider.h  


--- trunk/KDE/kdemultimedia/kmix/core/mixer.cpp #1246242:1246243
@@ -39,8 +39,8 @@
 MasterControl Mixer::_globalMasterCurrent;
 MasterControl Mixer::_globalMasterPreferred;
 float Mixer::VOLUME_STEP_DIVISOR = 20;
+float Mixer::VOLUME_PAGESTEP_DIVISOR = 10;
 
-
 int Mixer::numDrivers()
 {
     MixerFactory *factory = g_mixerFactories;
--- trunk/KDE/kdemultimedia/kmix/core/mixer.h #1246242:1246243
@@ -158,7 +158,8 @@
     /// get the actual MixSet
     MixSet getMixSet();
 
-    static float VOLUME_STEP_DIVISOR;
+    static float VOLUME_STEP_DIVISOR;     // The divisor for defining volume control \
steps (for mouse-wheel, DBUS and Normal step for Sliders ) +    static float \
VOLUME_PAGESTEP_DIVISOR; // The divisor for defining volume control steps (page-step \
for sliders)  
     /// DBUS oriented methods
     virtual void increaseVolume( const QString& mixdeviceID );
--- trunk/KDE/kdemultimedia/kmix/gui/kmixdockwidget.cpp #1246242:1246243
@@ -86,8 +86,8 @@
     }
 
 #ifdef _GNU_SOURCE
-// TODO minimizeRestore usage is currently VERY broken
-#warning minimizeRestore usage is currently VERY broken in KMIx. This must be fixed \
before doing a release. +// TODO minimizeRestore usage is currently a bit broken. It \
only works by chance +#warning minimizeRestore usage is currently slightly broken in \
KMIx. This should be fixed before doing a release.  #endif
 
     if (_volumePopup) {
@@ -394,25 +394,23 @@
     if ( inc < 1 ) inc = 1;
 
     long int cv = inc * (delta / 120 );
-    kDebug() << "twe: " << cv << " : " << vol;
-    vol.changeAllVolumes(cv);
-    kDebug() << "twe: " << cv << " : " << vol;
-/*    for ( int i = 0; i < vol.count(); i++ ) {
-        int newVal = vol[i] + (inc * (delta / 120));
-        if( newVal < 0 ) newVal = 0;
-        vol.setVolume( (Volume::ChannelID)i, newVal < vol.maxVolume() ? newVal : \
vol.maxVolume() ); +//    kDebug() << "twe: " << cv << " : " << vol;
+	if ( cv > 0 && md->isMuted())
+	{   // increasing form muted state: unmute and start with a low volume level
+	    md->setMuted(false);
+	    vol.setAllVolumes(cv);
     }
-    */
+	else
+	    vol.changeAllVolumes(cv);
 
+//	kDebug() << "twe: " << cv << " : " << vol;
+
     if ( _playBeepOnVolumeChange ) {
         QString fileName("KDE_Beep_Digital_1.ogg");
         _audioPlayer->setCurrentSource(fileName);
         _audioPlayer->play();
     }
-/*      if ( md->playbackVolume().hasVolume() )
-         md->playbackVolume().setVolume(vol);
-      else
-         md->captureVolume().setVolume(vol);;*/
+
     md->mixer()->commitVolumeChange(md);
     setVolumeTip();
   }
--- trunk/KDE/kdemultimedia/kmix/gui/mdwslider.cpp #1246242:1246243
@@ -331,9 +331,9 @@
 		if ( hasVolumeSliders )
 		{
 			if ( wantsPlaybackSliders )
-				addSliders( volLayout, 'p', bothCaptureANDPlaybackExist );
+				addSliders( volLayout, 'p', bothCaptureANDPlaybackExist, \
m_mixdevice->playbackVolume(), m_slidersPlayback);  if ( wantsCaptureSliders )
-				addSliders( volLayout, 'c', bothCaptureANDPlaybackExist );
+				addSliders( volLayout, 'c', bothCaptureANDPlaybackExist, \
m_mixdevice->captureVolume() , m_slidersCapture );  if ( wantsMediaControls )
 				addMediaControls( volLayout ); // Please note that the addmediaControls() is in \
the hasVolumeSliders check onyl because it was easier to integrate  \
controlLayout->addSpacing( 3 ); @@ -434,9 +434,9 @@
 		if ( hasVolumeSliders )
 		{
 			if ( wantsPlaybackSliders && m_mixdevice->playbackVolume().count() > 0 )
-				addSliders( volLayout, 'p', false );
+				addSliders( volLayout, 'p', false, m_mixdevice->playbackVolume(), \
m_slidersPlayback );  if ( wantsCaptureSliders && \
                m_mixdevice->captureVolume().count() > 0 )
-				addSliders( volLayout, 'c', bothCaptureANDPlaybackExist );
+				addSliders( volLayout, 'c', bothCaptureANDPlaybackExist, \
m_mixdevice->captureVolume() , m_slidersCapture );  if ( wantsMediaControls )
 				addMediaControls( volLayout );
 		}
@@ -512,40 +512,21 @@
 
 void MDWSlider::mediaPrev(bool)
 {
-  kDebug() << "ZZZZZZZ";
   mixDevice()->mediaPrev();
 }
 
 void MDWSlider::mediaNext(bool)
 {
-  kDebug() << "ZZZZZZZ";
   mixDevice()->mediaNext();
 }
 
 void MDWSlider::mediaPlay(bool)
 {
-  kDebug() << "ZZZZZZZ";
   mixDevice()->mediaPlay();
 }
 
-void MDWSlider::addSliders( QBoxLayout *volLayout, char type, bool \
forceCaptureLabel) +void MDWSlider::addSliders( QBoxLayout *volLayout, char type, \
bool forceCaptureLabel, Volume& vol, QList<QAbstractSlider *>& ref_sliders)  {
-	Volume* volP;
-	QList<QAbstractSlider *>* ref_slidersP;
-
-	if ( type == 'c' ) { // capture
-		volP              = &m_mixdevice->captureVolume();
-		ref_slidersP      = &m_slidersCapture;
-	}
-	else { // playback
-	  
-		volP              = &m_mixdevice->playbackVolume();
-		ref_slidersP      = &m_slidersPlayback;
-	}
-
-	Volume& vol = *volP;
-	QList<QAbstractSlider *>& ref_sliders = *ref_slidersP;
-
 	LabelType labelType = LT_NONE;
 	
 	if ( vol.count() >= 2  && ! isStereoLinked() )
@@ -594,14 +575,14 @@
 		QAbstractSlider* slider;
 		if ( m_small )
 		{
-			slider = new KSmallSlider( minvol, maxvol, (maxvol-minvol)/10, // @todo !! User \
definable steps +			slider = new KSmallSlider( minvol, maxvol, (maxvol-minvol) / \
                Mixer::VOLUME_PAGESTEP_DIVISOR,
 				                           vol.getVolume( vc.chid ), _orientation, this );
 		} // small
 		else  {
 			slider = new VolumeSlider( _orientation, this );
 			slider->setMinimum(0);
 			slider->setMaximum(maxvol);
-			slider->setPageStep(maxvol/10);
+			slider->setPageStep(maxvol / Mixer::VOLUME_PAGESTEP_DIVISOR);
 			slider->setValue( maxvol - vol.getVolume( vc.chid ) );
 			extraData(slider).setSubcontrolLabel(subcontrolLabel);
 
--- trunk/KDE/kdemultimedia/kmix/gui/mdwslider.h #1246242:1246243
@@ -129,7 +129,7 @@
     void setIcon( QString iconname );
     QPixmap loadIcon( QString filename );
     void createWidgets( bool showMuteLED, bool showCaptureLED );
-    void addSliders( QBoxLayout *volLayout, char type, bool addLabel);
+    void addSliders( QBoxLayout *volLayout, char type, bool addLabel, Volume& vol, \
                QList<QAbstractSlider *>& ref_sliders);
     //void addDefaultLabel(QBoxLayout *layout, Qt::Orientation orientation);
 
     // Methods that are called two times from a wrapper. Once for playabck, once for \
capture


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic