Skip to content

Commit

Permalink
jamulussoftware#1420 Fader Settings improvements
Browse files Browse the repository at this point in the history
  • Loading branch information
pljones committed Sep 13, 2024
1 parent 97388ab commit 6595a18
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 6 deletions.
49 changes: 44 additions & 5 deletions src/clientdlg.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -298,9 +298,17 @@ CClientDlg::CClientDlg ( CClient* pNCliP,
// Edit menu --------------------------------------------------------------
QMenu* pEditMenu = new QMenu ( tr ( "&Edit" ), this );

pEditMenu->addAction ( tr ( "Clear &All Stored Solo and Mute Settings" ), this, SLOT ( OnClearAllStoredSoloMuteSettings() ) );
QMenu* pFaderMenu = new QMenu ( tr ( "Stored &Fader Settings" ), this );

pEditMenu->addAction ( tr ( "Set All Faders to New Client &Level" ),
pEditMenu->addMenu ( pFaderMenu );

pFaderMenu->addAction ( tr ( "Clear &All Stored Fader Settings" ), this, SLOT ( OnClearFaderAllSettings() ) );
pFaderMenu->addAction ( tr ( "Clear Stored &Level Settings" ), this, SLOT ( OnClearFaderLevelSettings() ) );
pFaderMenu->addAction ( tr ( "Clear Stored &Solo Settings" ), this, SLOT ( OnClearFaderSoloSettings() ) );
pFaderMenu->addAction ( tr ( "Clear Stored &Mute Settings" ), this, SLOT ( OnClearFaderMuteSettings() ) );
pFaderMenu->addAction ( tr ( "Clear Stored &Group ID Settings" ), this, SLOT ( OnClearFaderGroupIdSettings() ) );

pEditMenu->addAction ( tr ( "Set Current Faders to New Client &Level" ),
this,
SLOT ( OnSetAllFadersToNewClientLevel() ),
QKeySequence ( Qt::CTRL + Qt::Key_L ) );
Expand Down Expand Up @@ -759,16 +767,47 @@ void CClientDlg::OnConnectDisconBut()
}
}

void CClientDlg::OnClearAllStoredSoloMuteSettings()
// if we are in an active connection, we first have to store all fader settings in
// the settings struct, clear the solo and mute states and then apply the settings again
void CClientDlg::OnClearFaderAllSettings()
{
MainMixerBoard->StoreAllFaderSettings();
pSettings->vecStoredFaderLevels.Reset ( false );
pSettings->vecStoredFaderLevels.Reset ( false );
pSettings->vecStoredFaderIsSolo.Reset ( false );
pSettings->vecStoredFaderIsMute.Reset ( false );
pSettings->vecStoredFaderTags.Reset ( QString() );
MainMixerBoard->LoadAllFaderSettings();
}

void CClientDlg::OnClearFaderLevelSettings()
{
MainMixerBoard->StoreAllFaderSettings();
pSettings->vecStoredFaderLevels.Reset ( false );
MainMixerBoard->LoadAllFaderSettings();
}

void CClientDlg::OnClearFaderSoloSettings()
{
// if we are in an active connection, we first have to store all fader settings in
// the settings struct, clear the solo and mute states and then apply the settings again
MainMixerBoard->StoreAllFaderSettings();
pSettings->vecStoredFaderIsSolo.Reset ( false );
MainMixerBoard->LoadAllFaderSettings();
}

void CClientDlg::OnClearFaderMuteSettings()
{
MainMixerBoard->StoreAllFaderSettings();
pSettings->vecStoredFaderIsMute.Reset ( false );
MainMixerBoard->LoadAllFaderSettings();
}

void CClientDlg::OnClearFaderGroupIdSettings()
{
MainMixerBoard->StoreAllFaderSettings();
pSettings->vecStoredFaderGroupID.Reset ( false );
MainMixerBoard->LoadAllFaderSettings();
}

void CClientDlg::OnLoadChannelSetup()
{
QString strFileName = QFileDialog::getOpenFileName ( this, tr ( "Select Channel Setup File" ), "", QString ( "*." ) + MIX_SETTINGS_FILE_SUFFIX );
Expand Down
8 changes: 7 additions & 1 deletion src/clientdlg.h
Original file line number Diff line number Diff line change
Expand Up @@ -171,9 +171,15 @@ public slots:
void OnSortChannelsByInstrument() { MainMixerBoard->SetFaderSorting ( ST_BY_INSTRUMENT ); }
void OnSortChannelsByGroupID() { MainMixerBoard->SetFaderSorting ( ST_BY_GROUPID ); }
void OnSortChannelsByCity() { MainMixerBoard->SetFaderSorting ( ST_BY_CITY ); }
void OnClearAllStoredSoloMuteSettings();

void OnClearFaderAllSettings();
void OnClearFaderLevelSettings();
void OnClearFaderSoloSettings();
void OnClearFaderMuteSettings();
void OnClearFaderGroupIdSettings();
void OnSetAllFadersToNewClientLevel() { MainMixerBoard->SetAllFaderLevelsToNewClientLevel(); }
void OnAutoAdjustAllFaderLevels() { MainMixerBoard->AutoAdjustAllFaderLevels(); }

void OnNumMixerPanelRowsChanged ( int value ) { MainMixerBoard->SetNumMixerPanelRows ( value ); }

void OnSettingsStateChanged ( int value );
Expand Down

0 comments on commit 6595a18

Please sign in to comment.