From 7f9518bceb5560ac76bba72720f0b531ed4e6109 Mon Sep 17 00:00:00 2001 From: Volker Fischer Date: Sat, 20 Jun 2020 21:05:27 +0200 Subject: [PATCH 1/2] 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(); } } } From beea70ca01321bf64990ce6223d9624bbe4e083d Mon Sep 17 00:00:00 2001 From: Volker Fischer Date: Sat, 20 Jun 2020 21:11:31 +0200 Subject: [PATCH 2/2] adjust minimum height of faders (dependent on style), startup height of main windows should be higher now --- ChangeLog | 4 ---- src/audiomixerboard.cpp | 10 ++++++---- src/clientdlgbase.ui | 2 +- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5f305120..dd5ff3ba 100644 --- a/ChangeLog +++ b/ChangeLog @@ -24,10 +24,6 @@ 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 - - 3.5.6 (2020-06-09) diff --git a/src/audiomixerboard.cpp b/src/audiomixerboard.cpp index f1869f48..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" ) ); 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