bug fix: if group is set to disabled, reset "previous level"

This commit is contained in:
Volker Fischer 2020-07-07 22:02:44 +02:00
parent b15e61353b
commit 38cdd659e1
2 changed files with 20 additions and 4 deletions

View file

@ -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 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 TODO Inconsistency between Input meter and Audio mixer meter #423

View file

@ -503,7 +503,7 @@ void CChannelFader::SetGroupID ( const int iNGroupID )
void CChannelFader::UpdateGroupIDDependencies() void CChannelFader::UpdateGroupIDDependencies()
{ {
// update the group checkbox according the current group ID setting // 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 ) if ( iGroupID == INVALID_INDEX )
{ {
pcbGroup->setCheckState ( Qt::Unchecked ); pcbGroup->setCheckState ( Qt::Unchecked );
@ -524,6 +524,21 @@ void CChannelFader::UpdateGroupIDDependencies()
pcbGroup->setText ( strGroupBaseText ); 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 // the fader tag border color is set according to the selected group
SetupFaderTag ( cReceivedChanInfo.eSkillLevel ); SetupFaderTag ( cReceivedChanInfo.eSkillLevel );
} }