From 31c3f5567df81c173d694fd868b0d8f987111c14 Mon Sep 17 00:00:00 2001 From: Tarmo Johannes Date: Sat, 16 May 2020 20:11:54 +0300 Subject: [PATCH] Implemented storing pan values. --- src/audiomixerboard.cpp | 9 +++++++++ src/audiomixerboard.h | 4 +++- src/client.cpp | 1 + src/client.h | 1 + src/clientdlg.cpp | 2 ++ src/settings.cpp | 19 +++++++++++++++++++ 6 files changed, 35 insertions(+), 1 deletion(-) diff --git a/src/audiomixerboard.cpp b/src/audiomixerboard.cpp index 1fd09046..4be336b0 100644 --- a/src/audiomixerboard.cpp +++ b/src/audiomixerboard.cpp @@ -562,6 +562,7 @@ CAudioMixerBoard::CAudioMixerBoard ( QWidget* parent, Qt::WindowFlags ) : QScrollArea ( parent ), vecStoredFaderTags ( MAX_NUM_STORED_FADER_SETTINGS, "" ), vecStoredFaderLevels ( MAX_NUM_STORED_FADER_SETTINGS, AUD_MIX_FADER_MAX ), + vecStoredPanValues ( MAX_NUM_STORED_FADER_SETTINGS, AUD_MIX_PAN_MAX/2), vecStoredFaderIsSolo ( MAX_NUM_STORED_FADER_SETTINGS, false ), vecStoredFaderIsMute ( MAX_NUM_STORED_FADER_SETTINGS, false ), iNewClientFaderLevel ( 100 ), @@ -913,15 +914,18 @@ void CAudioMixerBoard::ApplyNewConClientList ( CVector& vecChanInf // the text has actually changed, search in the list of // stored settings if we have a matching entry int iStoredFaderLevel; + int iStoredPanValue; bool bStoredFaderIsSolo; bool bStoredFaderIsMute; if ( GetStoredFaderSettings ( vecChanInfo[j], iStoredFaderLevel, + iStoredPanValue, bStoredFaderIsSolo, bStoredFaderIsMute ) ) { vecpChanFader[i]->SetFaderLevel ( iStoredFaderLevel ); + vecpChanFader[i]->SetPanValue ( iStoredPanValue ); vecpChanFader[i]->SetFaderIsSolo ( bStoredFaderIsSolo ); vecpChanFader[i]->SetFaderIsMute ( bStoredFaderIsMute ); } @@ -1029,6 +1033,7 @@ void CAudioMixerBoard::StoreFaderSettings ( CChannelFader* pChanFader ) !pChanFader->GetReceivedName().isEmpty() ) { CVector viOldStoredFaderLevels ( vecStoredFaderLevels ); + CVector viOldStoredPanValues ( vecStoredPanValues ); CVector vbOldStoredFaderIsSolo ( vecStoredFaderIsSolo ); CVector vbOldStoredFaderIsMute ( vecStoredFaderIsMute ); @@ -1042,6 +1047,7 @@ void CAudioMixerBoard::StoreFaderSettings ( CChannelFader* pChanFader ) // current fader level and solo state is at the top of the list vecStoredFaderLevels[0] = pChanFader->GetFaderLevel(); + vecStoredPanValues[0] = pChanFader->GetPanValue(); vecStoredFaderIsSolo[0] = pChanFader->IsSolo(); vecStoredFaderIsMute[0] = pChanFader->IsMute(); iTempListCnt = 1; @@ -1057,6 +1063,7 @@ void CAudioMixerBoard::StoreFaderSettings ( CChannelFader* pChanFader ) if ( iIdx != iOldIdx ) { vecStoredFaderLevels[iTempListCnt] = viOldStoredFaderLevels[iIdx]; + vecStoredPanValues[iTempListCnt] = viOldStoredPanValues[iIdx]; vecStoredFaderIsSolo[iTempListCnt] = vbOldStoredFaderIsSolo[iIdx]; vecStoredFaderIsMute[iTempListCnt] = vbOldStoredFaderIsMute[iIdx]; @@ -1069,6 +1076,7 @@ void CAudioMixerBoard::StoreFaderSettings ( CChannelFader* pChanFader ) bool CAudioMixerBoard::GetStoredFaderSettings ( const CChannelInfo& ChanInfo, int& iStoredFaderLevel, + int& iStoredPanValue, bool& bStoredFaderIsSolo, bool& bStoredFaderIsMute) { @@ -1082,6 +1090,7 @@ bool CAudioMixerBoard::GetStoredFaderSettings ( const CChannelInfo& ChanInfo, { // copy stored settings values iStoredFaderLevel = vecStoredFaderLevels[iIdx]; + iStoredPanValue = vecStoredPanValues[iIdx]; bStoredFaderIsSolo = vecStoredFaderIsSolo[iIdx] != 0; bStoredFaderIsMute = vecStoredFaderIsMute[iIdx] != 0; diff --git a/src/audiomixerboard.h b/src/audiomixerboard.h index 79268819..c1bdda38 100644 --- a/src/audiomixerboard.h +++ b/src/audiomixerboard.h @@ -156,13 +156,15 @@ public: // settings CVector vecStoredFaderTags; CVector vecStoredFaderLevels; + CVector vecStoredPanValues; CVector vecStoredFaderIsSolo; CVector vecStoredFaderIsMute; int iNewClientFaderLevel; protected: - bool GetStoredFaderSettings ( const CChannelInfo& ChanInfo, + bool GetStoredFaderSettings (const CChannelInfo& ChanInfo, int& iStoredFaderLevel, + int& iStoredPanValue, bool& bStoredFaderIsSolo, bool& bStoredFaderIsMute ); diff --git a/src/client.cpp b/src/client.cpp index 1259e3ee..d68dc19c 100755 --- a/src/client.cpp +++ b/src/client.cpp @@ -35,6 +35,7 @@ CClient::CClient ( const quint16 iPortNumber, ChannelInfo (), vecStoredFaderTags ( MAX_NUM_STORED_FADER_SETTINGS, "" ), vecStoredFaderLevels ( MAX_NUM_STORED_FADER_SETTINGS, AUD_MIX_FADER_MAX ), + vecStoredPanValues ( MAX_NUM_STORED_FADER_SETTINGS, AUD_MIX_PAN_MAX/2 ), vecStoredFaderIsSolo ( MAX_NUM_STORED_FADER_SETTINGS, false ), vecStoredFaderIsMute ( MAX_NUM_STORED_FADER_SETTINGS, false ), iNewClientFaderLevel ( 100 ), diff --git a/src/client.h b/src/client.h index dd2eacb2..48898321 100755 --- a/src/client.h +++ b/src/client.h @@ -282,6 +282,7 @@ public: CChannelCoreInfo ChannelInfo; CVector vecStoredFaderTags; CVector vecStoredFaderLevels; + CVector vecStoredPanValues; CVector vecStoredFaderIsSolo; CVector vecStoredFaderIsMute; int iNewClientFaderLevel; diff --git a/src/clientdlg.cpp b/src/clientdlg.cpp index 2b30023d..349433d9 100755 --- a/src/clientdlg.cpp +++ b/src/clientdlg.cpp @@ -193,6 +193,7 @@ CClientDlg::CClientDlg ( CClient* pNCliP, // restore fader settings MainMixerBoard->vecStoredFaderTags = pClient->vecStoredFaderTags; MainMixerBoard->vecStoredFaderLevels = pClient->vecStoredFaderLevels; + MainMixerBoard->vecStoredPanValues = pClient->vecStoredPanValues; MainMixerBoard->vecStoredFaderIsSolo = pClient->vecStoredFaderIsSolo; MainMixerBoard->vecStoredFaderIsMute = pClient->vecStoredFaderIsMute; MainMixerBoard->iNewClientFaderLevel = pClient->iNewClientFaderLevel; @@ -588,6 +589,7 @@ void CClientDlg::closeEvent ( QCloseEvent* Event ) MainMixerBoard->HideAll(); pClient->vecStoredFaderTags = MainMixerBoard->vecStoredFaderTags; pClient->vecStoredFaderLevels = MainMixerBoard->vecStoredFaderLevels; + pClient->vecStoredPanValues = MainMixerBoard->vecStoredPanValues; pClient->vecStoredFaderIsSolo = MainMixerBoard->vecStoredFaderIsSolo; pClient->vecStoredFaderIsMute = MainMixerBoard->vecStoredFaderIsMute; pClient->iNewClientFaderLevel = MainMixerBoard->iNewClientFaderLevel; diff --git a/src/settings.cpp b/src/settings.cpp index 7ae68c17..5a47a5aa 100755 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -77,6 +77,17 @@ void CSettings::Load() } } + // stored pan values + for ( iIdx = 0; iIdx < MAX_NUM_STORED_FADER_SETTINGS; iIdx++ ) + { + if ( GetNumericIniSet ( IniXMLDocument, "client", + QString ( "storedpanvalue%1" ).arg ( iIdx ), + 0, AUD_MIX_PAN_MAX/2, iValue ) ) + { + pClient->vecStoredPanValues[iIdx] = iValue; + } + } + // stored fader solo state for ( iIdx = 0; iIdx < MAX_NUM_STORED_FADER_SETTINGS; iIdx++ ) { @@ -455,6 +466,14 @@ void CSettings::Save() pClient->vecStoredFaderLevels[iIdx] ); } + // stored pan values + for ( iIdx = 0; iIdx < MAX_NUM_STORED_FADER_SETTINGS; iIdx++ ) + { + SetNumericIniSet ( IniXMLDocument, "client", + QString ( "storedpanvalue%1" ).arg ( iIdx ), + pClient->vecStoredPanValues[iIdx] ); + } + // stored fader solo states for ( iIdx = 0; iIdx < MAX_NUM_STORED_FADER_SETTINGS; iIdx++ ) {