diff --git a/ChangeLog b/ChangeLog index b1be0a45..dc80c642 100644 --- a/ChangeLog +++ b/ChangeLog @@ -23,10 +23,11 @@ -TODO bug fix: if group is set to disabled, reset "previous level" - TODO improve settings management -> move settings class in client/server classes, move actual settings variables -TODO store recorder settings (#313) +TODO improve interaction between use of inifile and command line parameters (edited) #120 +(Save client settings on SIGUSR1 #294) +(Add a save action for client and server with a keyboard shortcut #347) +(Save and restore mixer state (fader / mute / solo...) #377) TODO Inconsistency between Input meter and Audio mixer meter #423 diff --git a/src/audiomixerboard.cpp b/src/audiomixerboard.cpp index 379c87eb..1dc2bf6b 100755 --- a/src/audiomixerboard.cpp +++ b/src/audiomixerboard.cpp @@ -503,7 +503,7 @@ void CChannelFader::SetGroupID ( const int iNGroupID ) void CChannelFader::UpdateGroupIDDependencies() { // update the group checkbox according the current group ID setting - pcbGroup->blockSignals ( true ); // make sure no signals as fired + pcbGroup->blockSignals ( true ); // make sure no signals are fired if ( iGroupID == INVALID_INDEX ) { pcbGroup->setCheckState ( Qt::Unchecked ); @@ -524,6 +524,21 @@ void CChannelFader::UpdateGroupIDDependencies() pcbGroup->setText ( strGroupBaseText ); } + // if the group is disable for this fader, reset the previous fader level + if ( iGroupID == INVALID_INDEX ) + { + // for the special case that the fader is all the way down, use a small + // value instead + if ( GetFaderLevel() > 0 ) + { + dPreviousFaderLevel = GetFaderLevel(); + } + else + { + dPreviousFaderLevel = 1; // small value + } + } + // the fader tag border color is set according to the selected group SetupFaderTag ( cReceivedChanInfo.eSkillLevel ); }