diff --git a/ChangeLog b/ChangeLog index 93132ba9..dd5ff3ba 100644 --- a/ChangeLog +++ b/ChangeLog @@ -22,9 +22,7 @@ TODO grouping does not work as expected: - vertical space between check boxes should be smaller - -TODO minimum height of faders (dependent on style) - + - update help text diff --git a/src/audiomixerboard.cpp b/src/audiomixerboard.cpp index 88227143..7800d2cb 100755 --- a/src/audiomixerboard.cpp +++ b/src/audiomixerboard.cpp @@ -64,10 +64,9 @@ CChannelFader::CChannelFader ( QWidget* pNW ) plbrChannelLevel->setContentsMargins ( 0, 3, 2, 3 ); // setup slider - pFader->setPageStep ( 1 ); - pFader->setRange ( 0, AUD_MIX_FADER_MAX ); - pFader->setTickInterval ( AUD_MIX_FADER_MAX / 9 ); - pFader->setMinimumHeight ( 85 ); // if this value is too small, the fader might not be movable with the mouse for fancy skin (#292) + pFader->setPageStep ( 1 ); + pFader->setRange ( 0, AUD_MIX_FADER_MAX ); + pFader->setTickInterval ( AUD_MIX_FADER_MAX / 9 ); // setup panning control pPan->setRange ( 0, AUD_MIX_PAN_MAX ); @@ -205,6 +204,7 @@ void CChannelFader::SetGUIDesign ( const EGUIDesign eNewDesign ) pLabelGrid->addWidget ( plblLabel, 0, Qt::AlignVCenter ); // label next to icons pLabelInstBox->setMinimumHeight ( 52 ); // maximum hight of the instrument+flag pictures + pFader->setMinimumHeight ( 120 ); // if this value is too small, the fader might not be movable with the mouse for fancy skin (#292) pPan->setFixedSize ( 50, 50 ); pPanLabel->setText ( tr ( "PAN" ) ); pcbMute->setText ( tr ( "MUTE" ) ); @@ -216,6 +216,7 @@ void CChannelFader::SetGUIDesign ( const EGUIDesign eNewDesign ) case GD_SLIMFADER: pLabelPictGrid->addWidget ( plblLabel, 0, Qt::AlignHCenter ); // label below icons pLabelInstBox->setMinimumHeight ( 84 ); // maximum hight of the instrument+flag+label + pFader->setMinimumHeight ( 85 ); pPan->setFixedSize ( 28, 28 ); pFader->setTickPosition ( QSlider::NoTicks ); pFader->setStyleSheet ( "" ); @@ -232,6 +233,7 @@ void CChannelFader::SetGUIDesign ( const EGUIDesign eNewDesign ) pFader->setStyleSheet ( "" ); pLabelGrid->addWidget ( plblLabel, 0, Qt::AlignVCenter ); // label next to icons pLabelInstBox->setMinimumHeight ( 52 ); // maximum hight of the instrument+flag pictures + pFader->setMinimumHeight ( 85 ); pPan->setFixedSize ( 50, 50 ); pPanLabel->setText ( tr ( "Pan" ) ); pcbMute->setText ( tr ( "Mute" ) ); @@ -397,7 +399,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 +414,7 @@ void CChannelFader::SendFaderLevelToServer ( const int iLevel, bIsGroupUpdate, iLevel - iPreviousFaderLevel ); + // update previous fader level since the level has changed iPreviousFaderLevel = iLevel; } } @@ -441,6 +444,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(); } } } diff --git a/src/clientdlgbase.ui b/src/clientdlgbase.ui index 133deac5..8840aef5 100755 --- a/src/clientdlgbase.ui +++ b/src/clientdlgbase.ui @@ -7,7 +7,7 @@ 0 0 345 - 465 + 490