From 0aea018a613ed49c8726ebed2b99e7972b825568 Mon Sep 17 00:00:00 2001 From: Alberstein8 Date: Sat, 13 Jun 2020 01:14:43 +0200 Subject: [PATCH 1/4] Addded sort by instrument --- src/audiomixerboard.cpp | 27 ++++++++++ src/audiomixerboard.h | 5 ++ src/clientdlg.cpp | 5 +- src/clientdlg.h | 1 + src/res/translation/translation_de_DE.qm | Bin 99376 -> 99512 bytes src/res/translation/translation_de_DE.ts | 57 ++++++++++++--------- src/res/translation/translation_es_ES.qm | Bin 95947 -> 96083 bytes src/res/translation/translation_es_ES.ts | 61 ++++++++++++----------- 8 files changed, 103 insertions(+), 53 deletions(-) diff --git a/src/audiomixerboard.cpp b/src/audiomixerboard.cpp index 127711e6..8036a358 100644 --- a/src/audiomixerboard.cpp +++ b/src/audiomixerboard.cpp @@ -447,6 +447,9 @@ void CChannelFader::SetChannelInfos ( const CChannelInfo& cChanInfo ) // store original received name strReceivedName = cChanInfo.strName; + // store received instrument for sorting + iReceivedInstrument = cChanInfo.iInstrument; + // break text at predefined position const int iBreakPos = MAX_LEN_FADER_TAG / 2; @@ -769,6 +772,7 @@ void CAudioMixerBoard::HideAll() // use original order of channel (by server ID) ChangeFaderOrder ( false ); + ChangeFaderOrderByInstrument ( false ); // emit status of connected clients emit NumClientsChanged ( 0 ); // -> no clients connected @@ -799,6 +803,29 @@ void CAudioMixerBoard::ChangeFaderOrder ( const bool bDoSort ) } } +void CAudioMixerBoard::ChangeFaderOrderByInstrument ( const bool bDoSort ) +{ + // create a pair list of instruments ID and fader ID for each channel + QList > PairList; + + for ( int i = 0; i < MAX_NUM_CHANNELS; i++ ) + { + PairList << QPair ( vecpChanFader[i]->GetReceivedInstrument(), i ); + } + + // if requested, sort the channels + if ( bDoSort ) + { + qStableSort ( PairList.begin(), PairList.end() ); + } + + // add channels to the layout in the new order + for ( int i = 0; i < MAX_NUM_CHANNELS; i++ ) + { + pMainLayout->insertWidget ( 0, vecpChanFader[PairList[i].second]->GetMainWidget() ); + } +} + void CAudioMixerBoard::ApplyNewConClientList ( CVector& vecChanInfo ) { // we want to set the server name only if the very first faders appear diff --git a/src/audiomixerboard.h b/src/audiomixerboard.h index 1e955ccd..20e4b2c6 100644 --- a/src/audiomixerboard.h +++ b/src/audiomixerboard.h @@ -50,6 +50,7 @@ public: CChannelFader ( QWidget* pNW ); QString GetReceivedName() { return strReceivedName; } + int GetReceivedInstrument() { return iReceivedInstrument; } void SetChannelInfos ( const CChannelInfo& cChanInfo ); void Show() { pFrame->show(); } void Hide() { pFrame->hide(); } @@ -103,6 +104,9 @@ protected: QString strReceivedName; + int iReceivedInstrument; + + bool bOtherChannelIsSolo; bool bIsMyOwnFader; @@ -147,6 +151,7 @@ public: void HideAll(); void ChangeFaderOrder ( const bool bDoSort ); + void ChangeFaderOrderByInstrument (const bool bDoSort ); void ApplyNewConClientList ( CVector& vecChanInfo ); void SetServerName ( const QString& strNewServerName ); void SetGUIDesign ( const EGUIDesign eNewDesign ); diff --git a/src/clientdlg.cpp b/src/clientdlg.cpp index 4b0c5611..89c3d59a 100755 --- a/src/clientdlg.cpp +++ b/src/clientdlg.cpp @@ -282,9 +282,12 @@ CClientDlg::CClientDlg ( CClient* pNCliP, // Edit menu -------------------------------------------------------------- pEditMenu = new QMenu ( tr ( "&Edit" ), this ); - pEditMenu->addAction ( tr ( "&Sort Channel Users by Name" ), this, + pEditMenu->addAction ( tr ( "Sort Channel Users by &Name" ), this, SLOT ( OnSortChannelsByName() ), QKeySequence ( Qt::CTRL + Qt::Key_N ) ); + pEditMenu->addAction ( tr ( "Sort Channel Users by &Instrument" ), this, + SLOT ( OnSortChannelsByInstrument() ), QKeySequence ( Qt::CTRL + Qt::Key_I ) ); + // Main menu bar ----------------------------------------------------------- pMenu = new QMenuBar ( this ); diff --git a/src/clientdlg.h b/src/clientdlg.h index 2489ed33..9767d043 100755 --- a/src/clientdlg.h +++ b/src/clientdlg.h @@ -153,6 +153,7 @@ public slots: void OnOpenChatDialog() { ShowChatWindow(); } void OnOpenAnalyzerConsole() { ShowAnalyzerConsole(); } void OnSortChannelsByName() { MainMixerBoard->ChangeFaderOrder ( true ); } + void OnSortChannelsByInstrument() { MainMixerBoard->ChangeFaderOrderByInstrument ( true ); } void OnSettingsStateChanged ( int value ); void OnChatStateChanged ( int value ); diff --git a/src/res/translation/translation_de_DE.qm b/src/res/translation/translation_de_DE.qm index 92eb290f20a113ac5d1be0b45543673cb1b0ab8a..56d35893528b09673cba8dbe6328a6a9f658fb61 100644 GIT binary patch delta 4086 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 Kk{iZWcKI*H;ld>V delta 4042 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 cJSApeo0J!x+;0|xT CAudioMixerBoard - + Server - + T R Y I N G T O C O N N E C T V E R B I N D U N G S A U F B A U - + Personal Mix at the Server: Eigener Mix am Server: @@ -367,44 +367,44 @@ - + Alias/Name - + Instrument - + Location Standort - - - + + + Skill Level Spielstärke - + Beginner Anfänger - + Intermediate Mittlere Spielstärke - + Expert Experte - + Musician Profile Profil des Musikers @@ -715,7 +715,7 @@ - + C&onnect &Verbinden @@ -760,28 +760,27 @@ B&earbeiten - &Sort Channel Users by Name - &Sortiere Kanäle nach Namen + &Sortiere Kanäle nach Namen - + None Keine - + Center Mitte - + R - + L @@ -856,22 +855,32 @@ Die CPU des Computers ist voll ausgelastet. - + + Sort Channel Users by &Name + Sortiere Kanäle nach &Namen + + + + Sort Channel Users by &Instrument + Sortiere Kanäle nach &Instrument + + + Central Server Zentralserver - + user Musiker - + users Musiker - + D&isconnect &Trennen diff --git a/src/res/translation/translation_es_ES.qm b/src/res/translation/translation_es_ES.qm index 89bebdb926be8c2f3161e81e73b07b9e3cae2abe..0d5c7ce9696e13cf4116ec73ee40adc06777f87f 100644 GIT binary patch delta 4076 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 ul5e7-4NPcn~_j-A-9$o~Q!h}h=< delta 4005 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 vH)UDasFXhQOiBJ{!v=7=MV~B9IqKK{LV|Pk& CAudioMixerBoard - + Server Servidor - + T R Y I N G T O C O N N E C T I N T E N T A N D O C O N E C T A R - + Personal Mix at the Server: Mezcla Personal en el Servidor: @@ -371,44 +371,44 @@ - + Alias/Name Alias/Nombre - + Instrument Instrumento - + Location Ubicación - - - + + + Skill Level Nivel Habilidad - + Beginner Principiante - + Intermediate Intermedio - + Expert Experto - + Musician Profile Perfil Músico @@ -727,7 +727,7 @@ - + C&onnect C&onectar @@ -772,28 +772,23 @@ &Editar - - &Sort Channel Users by Name - &Ordenar Canales por Nombre - - - + None Ninguno - + Center Centro - + R R - + L L @@ -868,22 +863,32 @@ El procesador del cliente o del servidor está al 100%. - + + Sort Channel Users by &Name + Ordenar Canales por &Nombre + + + + Sort Channel Users by &Instrument + Ordenar Canales por &Instrumento + + + Central Server Servidor Central - + user usuario - + users usuarios - + D&isconnect D&esconectar @@ -2350,7 +2355,7 @@ Vocal Bass - Voz bajo + Voz Bajo From 8de92ed5f77828c2cbffd5db94c7108d1bdfd879 Mon Sep 17 00:00:00 2001 From: Alberstein8 Date: Sat, 13 Jun 2020 14:07:09 +0200 Subject: [PATCH 2/4] Sort by instrument, new sortby function with parameter to set order Sort by instrument added, using the same function for sorting by name or instrument --- src/audiomixerboard.cpp | 23 ----------------------- src/clientdlg.h | 2 +- 2 files changed, 1 insertion(+), 24 deletions(-) diff --git a/src/audiomixerboard.cpp b/src/audiomixerboard.cpp index 307a53c8..d40e11bb 100644 --- a/src/audiomixerboard.cpp +++ b/src/audiomixerboard.cpp @@ -813,29 +813,6 @@ void CAudioMixerBoard::ChangeFaderOrder ( const bool bDoSort, } } -void CAudioMixerBoard::ChangeFaderOrderByInstrument ( const bool bDoSort ) -{ - // create a pair list of instruments ID and fader ID for each channel - QList > PairList; - - for ( int i = 0; i < MAX_NUM_CHANNELS; i++ ) - { - PairList << QPair ( vecpChanFader[i]->GetReceivedInstrument(), i ); - } - - // if requested, sort the channels - if ( bDoSort ) - { - qStableSort ( PairList.begin(), PairList.end() ); - } - - // add channels to the layout in the new order - for ( int i = 0; i < MAX_NUM_CHANNELS; i++ ) - { - pMainLayout->insertWidget ( 0, vecpChanFader[PairList[i].second]->GetMainWidget() ); - } -} - void CAudioMixerBoard::ApplyNewConClientList ( CVector& vecChanInfo ) { // we want to set the server name only if the very first faders appear diff --git a/src/clientdlg.h b/src/clientdlg.h index 87c981c7..7b2e9dfa 100755 --- a/src/clientdlg.h +++ b/src/clientdlg.h @@ -153,7 +153,7 @@ public slots: void OnOpenChatDialog() { ShowChatWindow(); } void OnOpenAnalyzerConsole() { ShowAnalyzerConsole(); } void OnSortChannelsByName() { MainMixerBoard->ChangeFaderOrder ( true, ST_BY_NAME ); } - + void OnSortChannelsByInstrument() { MainMixerBoard->ChangeFaderOrder ( true, ST_BY_INSTRUMENT ); } void OnSettingsStateChanged ( int value ); void OnChatStateChanged ( int value ); From 61f25b564402354c93734a4c99dba27d8055ca91 Mon Sep 17 00:00:00 2001 From: Alberstein8 Date: Sat, 13 Jun 2020 14:15:24 +0200 Subject: [PATCH 3/4] Removed iReceivedInstrument decalration --- src/audiomixerboard.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/audiomixerboard.h b/src/audiomixerboard.h index 1ee8d810..08862464 100644 --- a/src/audiomixerboard.h +++ b/src/audiomixerboard.h @@ -105,9 +105,6 @@ protected: CChannelInfo cReceivedChanInfo; - int iReceivedInstrument; - - bool bOtherChannelIsSolo; bool bIsMyOwnFader; From 7c73b93b9f80b813b5e26963e8e7b062165d7cd4 Mon Sep 17 00:00:00 2001 From: Alberstein8 Date: Sat, 13 Jun 2020 14:58:36 +0200 Subject: [PATCH 4/4] Clean some empty lines to match original code --- src/audiomixerboard.cpp | 3 --- src/audiomixerboard.h | 1 - 2 files changed, 4 deletions(-) diff --git a/src/audiomixerboard.cpp b/src/audiomixerboard.cpp index d40e11bb..88b198f3 100644 --- a/src/audiomixerboard.cpp +++ b/src/audiomixerboard.cpp @@ -447,7 +447,6 @@ void CChannelFader::SetChannelInfos ( const CChannelInfo& cChanInfo ) // Label text -------------------------------------------------------------- - // break text at predefined position const int iBreakPos = MAX_LEN_FADER_TAG / 2; @@ -769,10 +768,8 @@ void CAudioMixerBoard::HideAll() iMyChannelID = INVALID_INDEX; // use original order of channel (by server ID) - ChangeFaderOrder ( false, ST_BY_NAME ); - // emit status of connected clients emit NumClientsChanged ( 0 ); // -> no clients connected } diff --git a/src/audiomixerboard.h b/src/audiomixerboard.h index 08862464..a3321a34 100644 --- a/src/audiomixerboard.h +++ b/src/audiomixerboard.h @@ -49,7 +49,6 @@ class CChannelFader : public QObject public: CChannelFader ( QWidget* pNW ); - QString GetReceivedName() { return cReceivedChanInfo.strName; } int GetReceivedInstrument() { return cReceivedChanInfo.iInstrument; } void SetChannelInfos ( const CChannelInfo& cChanInfo );