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 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

View File

@ -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 );
}