From 7f9518bceb5560ac76bba72720f0b531ed4e6109 Mon Sep 17 00:00:00 2001 From: Volker Fischer Date: Sat, 20 Jun 2020 21:05:27 +0200 Subject: [PATCH] fixed issue with fader group and mute state, added comments, update --- ChangeLog | 2 ++ src/audiomixerboard.cpp | 9 ++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 93132ba9..5f305120 100644 --- a/ChangeLog +++ b/ChangeLog @@ -22,8 +22,10 @@ TODO grouping does not work as expected: - vertical space between check boxes should be smaller + - update help text TODO minimum height of faders (dependent on style) + - startup height of main windows should be higher now diff --git a/src/audiomixerboard.cpp b/src/audiomixerboard.cpp index 88227143..f1869f48 100755 --- a/src/audiomixerboard.cpp +++ b/src/audiomixerboard.cpp @@ -397,7 +397,7 @@ void CChannelFader::SetRemoteFaderIsMute ( const bool bIsMute ) } } -void CChannelFader::SendFaderLevelToServer ( const int iLevel, +void CChannelFader::SendFaderLevelToServer ( const int iLevel, const bool bIsGroupUpdate ) { // if mute flag is set or other channel is on solo, do not apply the new @@ -412,6 +412,7 @@ void CChannelFader::SendFaderLevelToServer ( const int iLevel, bIsGroupUpdate, iLevel - iPreviousFaderLevel ); + // update previous fader level since the level has changed iPreviousFaderLevel = iLevel; } } @@ -441,6 +442,12 @@ void CChannelFader::SetMute ( const bool bState ) { // mute was unchecked, get current fader value and apply emit gainValueChanged ( CalcFaderGain ( GetFaderLevel() ), bIsMyOwnFader, false, 0 ); + +// TODO When mute or solo is activated, the group synchronization does not work anymore. +// To get a smoother experience, we adjust the previous level as soon as the mute is +// again set to off (if we would not do that, on the next move of the fader the other +// faders in the group would jump which is very bad). + iPreviousFaderLevel = GetFaderLevel(); } } }