bug fix with the fader grouping: if you move one fader quickly to the top and another max out, it happened that the other fader was not exactly on max but a bit below
This commit is contained in:
parent
f22762d7ef
commit
45eef32b7c
2 changed files with 13 additions and 11 deletions
|
@ -7,6 +7,7 @@
|
||||||
|
|
||||||
- bug fix: grouping faders in the client should be proportional (see discussion in #202, #419)
|
- bug fix: grouping faders in the client should be proportional (see discussion in #202, #419)
|
||||||
|
|
||||||
|
TODO fix: if group, set one fader to 0, set mute, move fader up, unmute -> no grouping anymore
|
||||||
|
|
||||||
TODO bug fix: incorrect selection of UI language (#408) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
TODO bug fix: incorrect selection of UI language (#408) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
-> note that for the 3.5.8 bug fix release we went back to the original translation code (e.g. no pt_BR!)
|
-> note that for the 3.5.8 bug fix release we went back to the original translation code (e.g. no pt_BR!)
|
||||||
|
|
|
@ -347,24 +347,25 @@ void CChannelFader::SetFaderLevel ( const double dLevel,
|
||||||
const bool bIsGroupUpdate )
|
const bool bIsGroupUpdate )
|
||||||
{
|
{
|
||||||
// first make a range check
|
// first make a range check
|
||||||
if ( ( dLevel >= 0 ) && ( dLevel <= AUD_MIX_FADER_MAX ) )
|
if ( dLevel >= 0 )
|
||||||
{
|
{
|
||||||
// we set the new fader level in the GUI (slider control) and also tell the
|
// we set the new fader level in the GUI (slider control) and also tell the
|
||||||
// server about the change (block the signal of the fader since we want to
|
// server about the change (block the signal of the fader since we want to
|
||||||
// call SendFaderLevelToServer with a special additional parameter)
|
// call SendFaderLevelToServer with a special additional parameter)
|
||||||
pFader->blockSignals ( true );
|
pFader->blockSignals ( true );
|
||||||
pFader->setValue ( MathUtils::round ( dLevel ) );
|
pFader->setValue ( min ( AUD_MIX_FADER_MAX, MathUtils::round ( dLevel ) ) );
|
||||||
pFader->blockSignals ( false );
|
pFader->blockSignals ( false );
|
||||||
|
|
||||||
SendFaderLevelToServer ( dLevel, bIsGroupUpdate );
|
SendFaderLevelToServer ( min ( static_cast<double> ( AUD_MIX_FADER_MAX ), dLevel ), bIsGroupUpdate );
|
||||||
}
|
|
||||||
else if ( dLevel >= 0 )
|
if ( dLevel > AUD_MIX_FADER_MAX )
|
||||||
{
|
{
|
||||||
// If the level is above the maximum, we have to store it for the purpose
|
// If the level is above the maximum, we have to store it for the purpose
|
||||||
// of group fader movement. If you move a fader which has lower volume than
|
// of group fader movement. If you move a fader which has lower volume than
|
||||||
// this one and this clips at max, we want to retain the ratio between this
|
// this one and this clips at max, we want to retain the ratio between this
|
||||||
// fader and the others in the group.
|
// fader and the others in the group.
|
||||||
dPreviousFaderLevel = dLevel;
|
dPreviousFaderLevel = dLevel;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue