From 0280c8b1e60791d2cbd9fbca0f666a9f96f7cf2e Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Thu, 14 May 2020 18:26:46 +0200 Subject: [PATCH 01/15] Converted icon to be used as Android resource. --- android/AndroidManifest.xml | 9 ++++----- android/res/drawable-hdpi/icon.png | Bin 0 -> 6172 bytes android/res/drawable-ldpi/icon.png | Bin 0 -> 2110 bytes android/res/drawable-mdpi/icon.png | Bin 0 -> 3324 bytes android/res/drawable-xhdpi/icon.png | Bin 0 -> 9388 bytes android/res/drawable-xxhdpi/icon.png | Bin 0 -> 16652 bytes android/res/drawable-xxxhdpi/icon.png | Bin 0 -> 24738 bytes 7 files changed, 4 insertions(+), 5 deletions(-) create mode 100644 android/res/drawable-hdpi/icon.png create mode 100644 android/res/drawable-ldpi/icon.png create mode 100644 android/res/drawable-mdpi/icon.png create mode 100644 android/res/drawable-xhdpi/icon.png create mode 100644 android/res/drawable-xxhdpi/icon.png create mode 100644 android/res/drawable-xxxhdpi/icon.png diff --git a/android/AndroidManifest.xml b/android/AndroidManifest.xml index cba6d9a2..383efd24 100644 --- a/android/AndroidManifest.xml +++ b/android/AndroidManifest.xml @@ -1,5 +1,5 @@ - + - + diff --git a/android/res/drawable-hdpi/icon.png b/android/res/drawable-hdpi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0ccf07af8105f94ba77d71e64efd9ef92e40f4dc GIT binary patch literal 6172 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 literal 0 HcmV?d00001 diff --git a/android/res/drawable-mdpi/icon.png b/android/res/drawable-mdpi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b3cb62fa7758e5d5f8e3c72a6136a1ba92055a9f GIT binary patch literal 3324 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 Date: Sat, 16 May 2020 11:24:50 +0200 Subject: [PATCH 02/15] some central server address clean up --- ChangeLog | 7 +++- src/clientdlg.cpp | 2 +- src/clientsettingsdlg.cpp | 8 ++-- src/global.h | 9 ++--- src/res/translation/translation_de_DE.ts | 48 +++++++++++++++--------- src/res/translation/translation_es_ES.ts | 48 +++++++++++++++--------- src/res/translation/translation_fr_FR.ts | 48 +++++++++++++++--------- src/res/translation/translation_nl_NL.ts | 48 +++++++++++++++--------- src/res/translation/translation_pt_PT.ts | 48 +++++++++++++++--------- src/serverdlg.cpp | 8 ++-- src/settings.cpp | 4 +- src/util.cpp | 8 ++-- src/util.h | 20 +++++++++- 13 files changed, 192 insertions(+), 114 deletions(-) diff --git a/ChangeLog b/ChangeLog index 61548692..2b51c946 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,12 @@ + + + 3.5.4git -TODO server list split on query +TODO Your Mix at Server (Ticket #187) + +TODO Move Central Server Address Dropdown to Connection Setup (#157) TODO Keep lrelease? Does it work as expected? diff --git a/src/clientdlg.cpp b/src/clientdlg.cpp index 1f1fe8a2..0f7b229b 100755 --- a/src/clientdlg.cpp +++ b/src/clientdlg.cpp @@ -700,7 +700,7 @@ void CClientDlg::OnConnectDlgAccepted() if ( strSelectedAddress.isEmpty() ) { strSelectedAddress = DEFAULT_SERVER_ADDRESS; - strMixerBoardLabel = DEFAULT_SERVER_NAME; + strMixerBoardLabel = tr ( "Central Server" ); } } diff --git a/src/clientsettingsdlg.cpp b/src/clientsettingsdlg.cpp index 0e18604c..77608ea9 100755 --- a/src/clientsettingsdlg.cpp +++ b/src/clientsettingsdlg.cpp @@ -346,9 +346,9 @@ CClientSettingsDlg::CClientSettingsDlg ( CClient* pNCliP, QWidget* parent, // central server address type combo box cbxCentServAddrType->clear(); - cbxCentServAddrType->addItem ( tr ( "Manual" ) ); // AT_MANUAL - cbxCentServAddrType->addItem ( tr ( "Default" ) ); // AT_DEFAULT - cbxCentServAddrType->addItem ( tr ( "Default (North America)" ) ); // AT_NORTH_AMERICA + cbxCentServAddrType->addItem ( csAddTypeToString ( AT_MANUAL ) ); + cbxCentServAddrType->addItem ( csAddTypeToString ( AT_DEFAULT ) ); + cbxCentServAddrType->addItem ( csAddTypeToString ( AT_GENERAL_NORTHAMERICA ) ); cbxCentServAddrType->setCurrentIndex ( static_cast ( pClient->GetCentralServerAddressType() ) ); UpdateCentralServerDependency(); @@ -590,7 +590,7 @@ void CClientSettingsDlg::UpdateCentralServerDependency() { // if the default central server is used, just show a text of the // server name - edtCentralServerAddress->setText ( DEFAULT_SERVER_NAME ); + edtCentralServerAddress->setText ( tr ( "Predefined Address" ) ); } else { diff --git a/src/global.h b/src/global.h index 3df12e59..24ed8e70 100755 --- a/src/global.h +++ b/src/global.h @@ -101,9 +101,10 @@ LED bar: lbr #define SYSTEM_FRAME_SIZE_SAMPLES 64 #define DOUBLE_SYSTEM_FRAME_SIZE_SAMPLES ( 2 * SYSTEM_FRAME_SIZE_SAMPLES ) -// default server address +// default server address and port numbers #define DEFAULT_SERVER_ADDRESS "jamulus.fischvolk.de" -#define DEFAULT_SERVER_NAME "Central Server" +#define DEFAULT_PORT_NUMBER 22124 +#define CENTSERV_GENERAL_NORTHAMERICA "jamulus.fischvolk.de:22224" // getting started and software manual URL #define CLIENT_GETTING_STARTED_URL "https://github.com/corrados/jamulus/wiki/Software-Manual" @@ -116,10 +117,6 @@ LED bar: lbr #define WELL_KNOWN_PORT 53 // DNS #define IP_LOOKUP_TIMEOUT 500 // ms -// defined port numbers for client and server -#define DEFAULT_PORT_NUMBER 22124 -#define DEFAULT_PORT_NUMBER_NORTHAMERICA 22224 - // system sample rate (the sound card and audio coder works on this sample rate) #define SYSTEM_SAMPLE_RATE_HZ 48000 // Hz diff --git a/src/res/translation/translation_de_DE.ts b/src/res/translation/translation_de_DE.ts index 5ac3716f..f1b66add 100644 --- a/src/res/translation/translation_de_DE.ts +++ b/src/res/translation/translation_de_DE.ts @@ -633,6 +633,11 @@ The CPU of the client or server is at 100%. Die CPU des Computers ist voll ausgelastet. + + + Central Server + + user @@ -1135,17 +1140,17 @@ Hoch - + Manual Manuell - + Default Standard - + Default (North America) Standard (Nordamerika) @@ -1170,6 +1175,11 @@ Buffer Delay: Puffergröße: + + + Predefined Address + + The selected audio device could not be used because of the following error: @@ -2044,19 +2054,21 @@ Server - + + Predefined Address + + + Manual - Manuell + Manuell - Default - Standard + Standard - Default (North America) - Standard (Nordamerika) + Standard (Nordamerika) @@ -2069,42 +2081,42 @@ &Fenster - + Unregistered Nicht registriert - + Bad address Ungültige Adresse - + Registration requested Registrierung angefordert - + Registration failed Registrierung fehlgeschlagen - + Check server version Überprüfe Version des Servers - + Registered Registriert - + Central Server full Zentralserver voll - + Unknown value Unbekannter Wert @@ -2359,7 +2371,7 @@ global - + For more information use the What's This help (help menu, right mouse button or Shift+F1) Für weitere Informationen verwende die Kontexthilfe (Hilfe-Menü, rechte Maustaste oder Tastenkombination Shift+F1) diff --git a/src/res/translation/translation_es_ES.ts b/src/res/translation/translation_es_ES.ts index 1137a958..38068bf3 100644 --- a/src/res/translation/translation_es_ES.ts +++ b/src/res/translation/translation_es_ES.ts @@ -637,6 +637,11 @@ The CPU of the client or server is at 100%. El procesador del cliente o del servidor está al 100%. + + + Central Server + + user @@ -1139,17 +1144,17 @@ Alta - + Manual Manual - + Default Por defecto - + Default (North America) Por defecto (Norteamérica) @@ -1174,6 +1179,11 @@ Buffer Delay: Retardo Buffer: + + + Predefined Address + + The selected audio device could not be used because of the following error: @@ -2052,19 +2062,21 @@ - + + Predefined Address + + + Manual - Manual + Manual - Default - Por defecto + Por defecto - Default (North America) - Por defecto (Norteamérica) + Por defecto (Norteamérica) @@ -2077,42 +2089,42 @@ &Ventana - + Unregistered Sin registrar - + Bad address Dirección no válida - + Registration requested Registro solicitado - + Registration failed Error de registro - + Check server version Comprueba la versión del servidor - + Registered Registrado - + Central Server full Servidor Central lleno - + Unknown value Valor desconocido @@ -2367,7 +2379,7 @@ global - + For more information use the What's This help (help menu, right mouse button or Shift+F1) Para más información utiliza ¿Qué es Esto? (menú de ayuda, botón derecho del ratón o Shift+F1) diff --git a/src/res/translation/translation_fr_FR.ts b/src/res/translation/translation_fr_FR.ts index 971ed813..ae06c835 100644 --- a/src/res/translation/translation_fr_FR.ts +++ b/src/res/translation/translation_fr_FR.ts @@ -645,6 +645,11 @@ The CPU of the client or server is at 100%. Le processeur du client ou du serveur est à 100%. + + + Central Server + + user @@ -1147,17 +1152,17 @@ Haute - + Manual Manuel - + Default Défaut - + Default (North America) Défault (Amérique du Nord) @@ -1182,6 +1187,11 @@ Buffer Delay: Délai de temporisation : + + + Predefined Address + + The selected audio device could not be used because of the following error: @@ -2056,19 +2066,21 @@ serveur - + + Predefined Address + + + Manual - Manuel + Manuel - Default - Défaut + Défaut - Default (North America) - Défaut (Amérique du nord) + Défaut (Amérique du nord) @@ -2081,42 +2093,42 @@ &Fenêtre - + Unregistered Non inscrit - + Bad address Mauvaise adresse - + Registration requested Inscription demandée - + Registration failed Échec de l'inscription - + Check server version Vérifier la version du serveur - + Registered Inscrit - + Central Server full Serveur central rempli - + Unknown value Valeur inconnue @@ -2371,7 +2383,7 @@ global - + For more information use the What's This help (help menu, right mouse button or Shift+F1) diff --git a/src/res/translation/translation_nl_NL.ts b/src/res/translation/translation_nl_NL.ts index ba5ebe81..b2dd4bf5 100644 --- a/src/res/translation/translation_nl_NL.ts +++ b/src/res/translation/translation_nl_NL.ts @@ -633,6 +633,11 @@ R R + + + Central Server + + user @@ -1135,17 +1140,17 @@ Hoog - + Manual Handmatig - + Default Standaard - + Default (North America) Standaard (Noord-Amerika) @@ -1170,6 +1175,11 @@ Buffer Delay: Buffervertraging: + + + Predefined Address + + The selected audio device could not be used because of the following error: @@ -2044,19 +2054,21 @@ server - + + Predefined Address + + + Manual - Handmatig + Handmatig - Default - Standaard + Standaard - Default (North America) - Standaard (Noord-Amerika) + Standaard (Noord-Amerika) @@ -2069,42 +2081,42 @@ &Window - + Unregistered Niet geregistreerd - + Bad address Slecht adres - + Registration requested Aanmelding gevraagd - + Registration failed Registratie is mislukt - + Check server version Controleer de versie van de server - + Registered Geregistreerd - + Central Server full Centrale server vol - + Unknown value Onbekende waarde @@ -2359,7 +2371,7 @@ global - + For more information use the What's This help (help menu, right mouse button or Shift+F1) Voor meer informatie gebruik de Wat Is Dit hulp (helpmenu, rechtermuisklik of Shift+F1) diff --git a/src/res/translation/translation_pt_PT.ts b/src/res/translation/translation_pt_PT.ts index 4d6f8b56..e58b3548 100644 --- a/src/res/translation/translation_pt_PT.ts +++ b/src/res/translation/translation_pt_PT.ts @@ -645,6 +645,11 @@ The CPU of the client or server is at 100%. O CPU do cliente ou servidor está a 100%. + + + Central Server + + user @@ -1147,17 +1152,17 @@ Alta - + Manual Manual - + Default Servidor Padrão - + Default (North America) Servidor Padrão (America do Norte) @@ -1182,6 +1187,11 @@ Buffer Delay: Atraso do buffer: + + + Predefined Address + + The selected audio device could not be used because of the following error: @@ -2056,19 +2066,21 @@ - + + Predefined Address + + + Manual - Manual + Manual - Default - Servidor Padrão + Servidor Padrão - Default (North America) - Servidor Padrão (America do Norte) + Servidor Padrão (America do Norte) @@ -2081,42 +2093,42 @@ &Janela - + Unregistered Não Registado - + Bad address Endereço incorrecto - + Registration requested Registo solicitado - + Registration failed Falha no registo - + Check server version Verifique versão do servidor - + Registered Registado - + Central Server full Servidor Central Cheio - + Unknown value Valor desconhecido @@ -2371,7 +2383,7 @@ global - + For more information use the What's This help (help menu, right mouse button or Shift+F1) Para mais informações, use O que é isto (menu Ajuda, botão direito do rato ou Shift + F1) diff --git a/src/serverdlg.cpp b/src/serverdlg.cpp index 7df039ed..5f73cc50 100755 --- a/src/serverdlg.cpp +++ b/src/serverdlg.cpp @@ -188,9 +188,9 @@ lvwClients->setMinimumHeight ( 140 ); // central server address type combo box cbxCentServAddrType->clear(); - cbxCentServAddrType->addItem ( tr ( "Manual" ) ); // AT_MANUAL - cbxCentServAddrType->addItem ( tr ( "Default" ) ); // AT_DEFAULT - cbxCentServAddrType->addItem ( tr ( "Default (North America)" ) ); // AT_NORTH_AMERICA + cbxCentServAddrType->addItem ( csAddTypeToString ( AT_MANUAL ) ); + cbxCentServAddrType->addItem ( csAddTypeToString ( AT_DEFAULT ) ); + cbxCentServAddrType->addItem ( csAddTypeToString ( AT_GENERAL_NORTHAMERICA ) ); cbxCentServAddrType->setCurrentIndex ( static_cast ( pServer->GetCentralServerAddressType() ) ); // update server name line edit @@ -522,7 +522,7 @@ void CServerDlg::UpdateGUIDependencies() { // if the default central server is used, just show a text of the // server name - edtCentralServerAddress->setText ( DEFAULT_SERVER_NAME ); + edtCentralServerAddress->setText ( tr ( "Predefined Address" ) ); } else { diff --git a/src/settings.cpp b/src/settings.cpp index 7ae68c17..23d65e3a 100755 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -288,7 +288,7 @@ void CSettings::Load() // central server address type if ( GetNumericIniSet ( IniXMLDocument, "client", "centservaddrtype", - 0, 2 /* AT_NORTH_AMERICA */, iValue ) ) + 0, 2 /* AT_GENERAL_NORTHAMERICA */, iValue ) ) { pClient->SetCentralServerAddressType ( static_cast ( iValue ) ); } @@ -359,7 +359,7 @@ if ( GetFlagIniSet ( IniXMLDocument, "client", "defcentservaddr", bValue ) ) // central server address type (note that it is important // to set this setting prior to the "central server address") if ( GetNumericIniSet ( IniXMLDocument, "server", "centservaddrtype", - 0, 2 /* AT_NORTH_AMERICA */, iValue ) ) + 0, 2 /* AT_GENERAL_NORTHAMERICA */, iValue ) ) { pServer->SetCentralServerAddressType ( static_cast ( iValue ) ); } diff --git a/src/util.cpp b/src/util.cpp index 91a17abc..825919a6 100755 --- a/src/util.cpp +++ b/src/util.cpp @@ -950,9 +950,9 @@ QString NetworkUtil::GetCentralServerAddress ( const ECSAddType eCentralServerAd { switch ( eCentralServerAddressType ) { - case AT_MANUAL: return strCentralServerAddress; - case AT_NORTH_AMERICA: return QString ( "%1:%2" ).arg ( DEFAULT_SERVER_ADDRESS ).arg ( DEFAULT_PORT_NUMBER_NORTHAMERICA ); - default: return DEFAULT_SERVER_ADDRESS; // AT_DEFAULT + case AT_MANUAL: return strCentralServerAddress; + case AT_GENERAL_NORTHAMERICA: return CENTSERV_GENERAL_NORTHAMERICA; + default: return DEFAULT_SERVER_ADDRESS; // AT_DEFAULT } } @@ -1328,7 +1328,7 @@ ECSAddType CLocale::GetCentralServerAddressType ( const QLocale::Country eCountr case QLocale::Canada: case QLocale::Mexico: case QLocale::Greenland: - return AT_NORTH_AMERICA; + return AT_GENERAL_NORTHAMERICA; default: return AT_DEFAULT; diff --git a/src/util.h b/src/util.h index a2d52844..66518b5b 100755 --- a/src/util.h +++ b/src/util.h @@ -565,11 +565,27 @@ enum ELicenceType // Central server address type ------------------------------------------------- enum ECSAddType { + // used for settings -> enum values must be fixed! AT_MANUAL = 0, - AT_DEFAULT = 1, // Europe and others - AT_NORTH_AMERICA = 2 + AT_DEFAULT = 1, + AT_GENERAL_NORTHAMERICA = 2 }; +inline QString csAddTypeToString ( ECSAddType eAddrType ) +{ + switch ( eAddrType ) + { + case AT_MANUAL: + return QCoreApplication::translate ( "CClientSettingsDlg", "Manual" ); + + case AT_GENERAL_NORTHAMERICA: + return QCoreApplication::translate ( "CClientSettingsDlg", "Default (North America)" ); + + default: // AT_DEFAULT + return QCoreApplication::translate ( "CClientSettingsDlg", "Default" ); + } +} + // Slave server registration state --------------------------------------------- enum ESvrRegStatus From fc2b7a76e28a7e57ccce6a8142e2955c2de45a8e Mon Sep 17 00:00:00 2001 From: Volker Fischer Date: Sat, 16 May 2020 11:28:05 +0200 Subject: [PATCH 03/15] changed function name to make it clearer what the function does --- src/clientsettingsdlg.cpp | 6 +++--- src/serverdlg.cpp | 6 +++--- src/util.h | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/clientsettingsdlg.cpp b/src/clientsettingsdlg.cpp index 77608ea9..47b02780 100755 --- a/src/clientsettingsdlg.cpp +++ b/src/clientsettingsdlg.cpp @@ -346,9 +346,9 @@ CClientSettingsDlg::CClientSettingsDlg ( CClient* pNCliP, QWidget* parent, // central server address type combo box cbxCentServAddrType->clear(); - cbxCentServAddrType->addItem ( csAddTypeToString ( AT_MANUAL ) ); - cbxCentServAddrType->addItem ( csAddTypeToString ( AT_DEFAULT ) ); - cbxCentServAddrType->addItem ( csAddTypeToString ( AT_GENERAL_NORTHAMERICA ) ); + cbxCentServAddrType->addItem ( csCentServAddrTypeToString ( AT_MANUAL ) ); + cbxCentServAddrType->addItem ( csCentServAddrTypeToString ( AT_DEFAULT ) ); + cbxCentServAddrType->addItem ( csCentServAddrTypeToString ( AT_GENERAL_NORTHAMERICA ) ); cbxCentServAddrType->setCurrentIndex ( static_cast ( pClient->GetCentralServerAddressType() ) ); UpdateCentralServerDependency(); diff --git a/src/serverdlg.cpp b/src/serverdlg.cpp index 5f73cc50..d2129481 100755 --- a/src/serverdlg.cpp +++ b/src/serverdlg.cpp @@ -188,9 +188,9 @@ lvwClients->setMinimumHeight ( 140 ); // central server address type combo box cbxCentServAddrType->clear(); - cbxCentServAddrType->addItem ( csAddTypeToString ( AT_MANUAL ) ); - cbxCentServAddrType->addItem ( csAddTypeToString ( AT_DEFAULT ) ); - cbxCentServAddrType->addItem ( csAddTypeToString ( AT_GENERAL_NORTHAMERICA ) ); + cbxCentServAddrType->addItem ( csCentServAddrTypeToString ( AT_MANUAL ) ); + cbxCentServAddrType->addItem ( csCentServAddrTypeToString ( AT_DEFAULT ) ); + cbxCentServAddrType->addItem ( csCentServAddrTypeToString ( AT_GENERAL_NORTHAMERICA ) ); cbxCentServAddrType->setCurrentIndex ( static_cast ( pServer->GetCentralServerAddressType() ) ); // update server name line edit diff --git a/src/util.h b/src/util.h index 66518b5b..09840f7e 100755 --- a/src/util.h +++ b/src/util.h @@ -571,7 +571,7 @@ enum ECSAddType AT_GENERAL_NORTHAMERICA = 2 }; -inline QString csAddTypeToString ( ECSAddType eAddrType ) +inline QString csCentServAddrTypeToString ( ECSAddType eAddrType ) { switch ( eAddrType ) { From 65f5c8f8b8b8bc1ec0ac920a0d7e11315a0b8501 Mon Sep 17 00:00:00 2001 From: Volker Fischer Date: Sat, 16 May 2020 11:44:00 +0200 Subject: [PATCH 04/15] added "personal mix at server: " according to #187 --- src/audiomixerboard.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/audiomixerboard.cpp b/src/audiomixerboard.cpp index 5f674e85..700e3ea1 100755 --- a/src/audiomixerboard.cpp +++ b/src/audiomixerboard.cpp @@ -653,9 +653,9 @@ void CAudioMixerBoard::ApplyNewConClientList ( CVector& vecChanInf { // we want to set the server name only if the very first faders appear // in the audio mixer board to show a "try to connect" before - if ( pGroupBox->title().compare ( strServerName ) ) + if ( bNoFaderVisible ) { - pGroupBox->setTitle ( strServerName ); + pGroupBox->setTitle ( tr ( "Personal Mix at the Server: " ) + strServerName ); } // get number of connected clients From 096465565ac9b4e0140f618fba88b21dbfbd7d87 Mon Sep 17 00:00:00 2001 From: Volker Fischer Date: Sat, 16 May 2020 11:45:08 +0200 Subject: [PATCH 05/15] update --- ChangeLog | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2b51c946..18138cbf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,14 +4,14 @@ 3.5.4git -TODO Your Mix at Server (Ticket #187) - TODO Move Central Server Address Dropdown to Connection Setup (#157) TODO Keep lrelease? Does it work as expected? TODO fix Linux deploy script -> gives errors right now +TODO fix incorrect what's this help texts + TODO WIP support internationalization TODO implement panning for channels (Ticket #52, #145) From 8788936414b732d6cc0c7834011a6829c60cb690 Mon Sep 17 00:00:00 2001 From: Volker Fischer Date: Sat, 16 May 2020 17:35:38 +0200 Subject: [PATCH 06/15] duplicate Central Server type dropdown to Connection Setup (#157) --- ChangeLog | 5 ++++- src/clientdlg.cpp | 2 +- src/clientsettingsdlg.cpp | 11 +++++++++++ src/clientsettingsdlg.h | 1 + src/connectdlg.cpp | 20 ++++++++++++++++++-- src/connectdlg.h | 8 ++++++-- src/connectdlgbase.ui | 10 ++++++++++ 7 files changed, 51 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 18138cbf..6d31f332 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,7 +4,10 @@ 3.5.4git -TODO Move Central Server Address Dropdown to Connection Setup (#157) +- support intermediate Reaper RPP file while recording, coded by pljones (Ticket #170) + +- duplicate Central Server type dropdown to Connection Setup (#157) + TODO Keep lrelease? Does it work as expected? diff --git a/src/clientdlg.cpp b/src/clientdlg.cpp index 0f7b229b..25fef754 100755 --- a/src/clientdlg.cpp +++ b/src/clientdlg.cpp @@ -39,7 +39,7 @@ CClientDlg::CClientDlg ( CClient* pNCliP, bConnectDlgWasShown ( false ), ClientSettingsDlg ( pNCliP, parent, Qt::Window ), ChatDlg ( parent, Qt::Window ), - ConnectDlg ( bNewShowComplRegConnList, parent, Qt::Dialog ), + ConnectDlg ( pNCliP, bNewShowComplRegConnList, parent, Qt::Dialog ), AnalyzerConsole ( pNCliP, parent, Qt::Window ), MusicianProfileDlg ( pNCliP, parent ) { diff --git a/src/clientsettingsdlg.cpp b/src/clientsettingsdlg.cpp index 47b02780..e59cb3a7 100755 --- a/src/clientsettingsdlg.cpp +++ b/src/clientsettingsdlg.cpp @@ -443,6 +443,10 @@ CClientSettingsDlg::CClientSettingsDlg ( CClient* pNCliP, QWidget* parent, SIGNAL ( buttonClicked ( QAbstractButton* ) ), this, SLOT ( OnSndCrdBufferDelayButtonGroupClicked ( QAbstractButton* ) ) ); + QObject::connect ( pClient, + SIGNAL ( CentralServerAddressTypeChanged() ), + this, SLOT ( OnCentralServerAddressTypeChanged() ) ); + // Timers ------------------------------------------------------------------ // start timer for status bar @@ -583,6 +587,13 @@ void CClientSettingsDlg::UpdateCentralServerDependency() { const bool bCurUseDefCentServAddr = ( pClient->GetCentralServerAddressType() != AT_MANUAL ); + // update server type combo box (because the value may have ben changed + // by a control in another dialog, e.g., the connect dialog), + // since it is just an update, do not fire signals for the update + cbxCentServAddrType->blockSignals ( true ); + cbxCentServAddrType->setCurrentIndex ( static_cast ( pClient->GetCentralServerAddressType() ) ); + cbxCentServAddrType->blockSignals ( false ); + // make sure the line edit does not fire signals when we update the text edtCentralServerAddress->blockSignals ( true ); { diff --git a/src/clientsettingsdlg.h b/src/clientsettingsdlg.h index 330c44b3..5d199a7e 100755 --- a/src/clientsettingsdlg.h +++ b/src/clientsettingsdlg.h @@ -102,6 +102,7 @@ protected: void OnAudioChannelsActivated ( int iChanIdx ); void OnAudioQualityActivated ( int iQualityIdx ); void OnCentServAddrTypeActivated ( int iTypeIdx ); + void OnCentralServerAddressTypeChanged() { UpdateCentralServerDependency(); } void OnDriverSetupClicked(); signals: diff --git a/src/connectdlg.cpp b/src/connectdlg.cpp index 4d96aee5..06fc74e2 100755 --- a/src/connectdlg.cpp +++ b/src/connectdlg.cpp @@ -26,10 +26,12 @@ /* Implementation *************************************************************/ -CConnectDlg::CConnectDlg ( const bool bNewShowCompleteRegList, - QWidget* parent, +CConnectDlg::CConnectDlg ( CClient* pNCliP, + const bool bNewShowCompleteRegList, + QWidget* parent, Qt::WindowFlags f ) : QDialog ( parent, f ), + pClient ( pNCliP ), strCentralServerAddress ( "" ), strSelectedAddress ( "" ), strSelectedServerName ( "" ), @@ -74,6 +76,12 @@ CConnectDlg::CConnectDlg ( const bool bNewShowCompleteRegList, cbxServerAddr->setAccessibleDescription ( tr ( "Holds the current server " "IP address or URL. It also stores old URLs in the combo box list." ) ); + // central server address type combo box + cbxCentServAddrType->clear(); + cbxCentServAddrType->addItem ( csCentServAddrTypeToString ( AT_MANUAL ) ); + cbxCentServAddrType->addItem ( csCentServAddrTypeToString ( AT_DEFAULT ) ); + cbxCentServAddrType->addItem ( csCentServAddrTypeToString ( AT_GENERAL_NORTHAMERICA ) ); + // filter edtFilter->setWhatsThis ( "" + tr ( "Filter" ) + ": " + tr ( "The server " "list is filtered by the given text. Note that the filter is case insensitive." ) ); @@ -162,6 +170,9 @@ CConnectDlg::CConnectDlg ( const bool bNewShowCompleteRegList, QObject::connect ( cbxServerAddr, SIGNAL ( editTextChanged ( const QString& ) ), this, SLOT ( OnServerAddrEditTextChanged ( const QString& ) ) ); + QObject::connect ( cbxCentServAddrType, SIGNAL ( activated ( int ) ), + this, SLOT ( OnCentServAddrTypeChanged ( int ) ) ); + // check boxes QObject::connect ( chbExpandAll, SIGNAL ( stateChanged ( int ) ), this, SLOT ( OnExpandAllStateChanged ( int ) ) ); @@ -220,6 +231,11 @@ void CConnectDlg::RequestServerList() // clear filter edit box edtFilter->setText ( "" ); + // update list combo box (disable events to avoid a signal) + cbxCentServAddrType->blockSignals ( true ); + cbxCentServAddrType->setCurrentIndex ( static_cast ( pClient->GetCentralServerAddressType() ) ); + cbxCentServAddrType->blockSignals ( false ); + // get the IP address of the central server (using the ParseNetworAddress // function) when the connect dialog is opened, this seems to be the correct // time to do it diff --git a/src/connectdlg.h b/src/connectdlg.h index 14aef15f..ae6442c8 100755 --- a/src/connectdlg.h +++ b/src/connectdlg.h @@ -47,8 +47,9 @@ class CConnectDlg : public QDialog, private Ui_CConnectDlgBase Q_OBJECT public: - CConnectDlg ( const bool bNewShowCompleteRegList, - QWidget* parent = nullptr, + CConnectDlg ( CClient* pNCliP, + const bool bNewShowCompleteRegList, + QWidget* parent = nullptr, Qt::WindowFlags f = nullptr ); void Init ( const CVector& vstrIPAddresses ); @@ -88,6 +89,8 @@ protected: void UpdateListFilter(); void ShowAllMusicians ( const bool bState ); + CClient* pClient; + QTimer TimerPing; QTimer TimerReRequestServList; QString strCentralServerAddress; @@ -104,6 +107,7 @@ public slots: void OnServerListItemSelectionChanged(); void OnServerListItemDoubleClicked ( QTreeWidgetItem* Item, int ); void OnServerAddrEditTextChanged ( const QString& ); + void OnCentServAddrTypeChanged ( int iTypeIdx ) { pClient->SetCentralServerAddressType ( static_cast ( iTypeIdx ) ); } void OnFilterTextEdited ( const QString& ) { UpdateListFilter(); } void OnExpandAllStateChanged ( int value ) { ShowAllMusicians ( value == Qt::Checked ); } void OnConnectClicked(); diff --git a/src/connectdlgbase.ui b/src/connectdlgbase.ui index 7eaf1112..5f0a820a 100755 --- a/src/connectdlgbase.ui +++ b/src/connectdlgbase.ui @@ -29,6 +29,16 @@ 0 + + + + List + + + + + + From bcb904d4b44ee2f78bb8ddbf126dc9e855605d53 Mon Sep 17 00:00:00 2001 From: Olivier Humbert Date: Sat, 16 May 2020 17:47:05 +0200 Subject: [PATCH 07/15] Update French translation --- src/res/translation/translation_fr_FR.ts | 112 +++++++++++------------ 1 file changed, 56 insertions(+), 56 deletions(-) diff --git a/src/res/translation/translation_fr_FR.ts b/src/res/translation/translation_fr_FR.ts index ae06c835..deae3f8d 100644 --- a/src/res/translation/translation_fr_FR.ts +++ b/src/res/translation/translation_fr_FR.ts @@ -215,7 +215,7 @@ Adjusts the audio level of this channel. All connected clients at the server will be assigned an audio fader at each client, adjusting the local mix. - Règle le niveau audio de ce canal. Tous les clients connectés au serveur se verront attribuer un charriot audio à chaque client, ce qui permettra d'ajuster le mixage local. + Règle le niveau audio de ce canal. Tous les clients connectés au serveur se verront attribuer un chariot audio à chaque client, ce qui permettra d'ajuster le mixage local. @@ -245,27 +245,27 @@ Fader Tag - Étiquette de charriot + Étiquette de chariot The fader tag identifies the connected client. The tag name, the picture of your instrument and a flag of your country can be set in the main window. - L'étiquette de charriot identifie le client connecté. Le nom du tag, la photo de votre instrument et un drapeau de votre pays peuvent être définis dans la fenêtre principale. + L'étiquette de chariot identifie le client connecté. Le nom du tag, la photo de votre instrument et un drapeau de votre pays peuvent être définis dans la fenêtre principale. Mixer channel instrument picture - + Image d'instrument de canal de mixeur Mixer channel label (fader tag) - + Label de canal de mixeur (étiquette de chariot) Mixer channel country flag - + Drapeau de pays de canal de mixeur @@ -344,7 +344,7 @@ The chat window shows a history of all chat messages. - La fenêtre de tchate affiche un historique de tous les messages de chat. + La fenêtre de tchate affiche un historique de tous les messages de tchate. @@ -364,7 +364,7 @@ New chat text edit box - + Dialogue d'édition de nouveau texte de tchate @@ -430,12 +430,12 @@ Input level meter - + Indicateur de niveau d'entrée Simulates an analog LED level meter. - + Indicateur de niveau simulant un voyant analogique @@ -476,17 +476,17 @@ Reverberation effect level setting - + Paramètre de niveau d'effet de réverbération Left channel selection for reverberation - + Sélection de canal gauche pour la réverbération Right channel selection for reverberation - + Sélection de canal droit pour la réverbération @@ -496,12 +496,12 @@ Delay status LED indicator - + Indicateur LED d'état de délai Buffers status LED indicator - + Indicateur LED d'état de tampon @@ -648,7 +648,7 @@ Central Server - + Serveur central @@ -774,22 +774,22 @@ Local jitter buffer slider control - + Chariot de contrôle de la mémoire tampon de la gigue locale Server jitter buffer slider control - + Chariot de contrôle de la mémoire tampon de la gigue du serveur Auto jitter buffer switch - + Commutateur de tampon de gigue automatique Jitter buffer status LED indicator - + Indicateur LED de l'état du tampon de gigue @@ -814,7 +814,7 @@ Sound card device selector combo box - + Choix déroulant de sélecteur de périphérique d'interface audio @@ -829,7 +829,7 @@ Sound Card Channel Mapping - + Cartographie des canaux de la carte son @@ -849,22 +849,22 @@ Left input channel selection combo box - + Choix déroulant de sélection de canal d'entrée gauche Right input channel selection combo box - + Choix déroulant de sélection de canal d'entrée droite Left output channel selection combo box - + Choix déroulant de sélection de canal de sortie gauche Right output channel selection combo box - + Choix déroulant de sélection de canal de sortie droite @@ -884,7 +884,7 @@ Enable small network buffers check box - + Case-à-cocher pour activer les petits tampons de réseau @@ -964,22 +964,22 @@ 128 samples setting radio button - + Bouton radio de paramétrage à 128 échantillons 256 samples setting radio button - + Bouton radio de paramétrage à 256 échantillons 512 samples setting radio button - + Bouton radio de paramétrage à 512 échantillons ASIO setup push button - + Bouton-poussoir de paramétrage ASIO @@ -994,7 +994,7 @@ Fancy skin check box - + Case-à-cocher pour l'habillage fantaisie @@ -1009,7 +1009,7 @@ Display channel levels check box - + Case-à-cocher pour l'affichage des niveaux de canaux @@ -1034,7 +1034,7 @@ Audio channels combo box - + Choix déroulant de canaux audio @@ -1049,7 +1049,7 @@ Audio quality combo box - + Choix déroulant de qualité audio @@ -1064,7 +1064,7 @@ New client level edit box - + Dialogue d'édition de niveau de nouveau client @@ -1079,12 +1079,12 @@ Default central server type combo box - + Choix déroulant de type de serveur central par défaut Central server address line edit - + Ligne d'édition pour l'adresse du serveur central @@ -1190,7 +1190,7 @@ Predefined Address - + Adresse prédéfinie @@ -1411,7 +1411,7 @@ Server address edit box - + Dialogue d'édition d'addresse de serveur @@ -1431,7 +1431,7 @@ Filter edit box - + Dialogue d'édition de filtre @@ -1446,7 +1446,7 @@ Show all musicians check box - + Case-à-cocher pour afficher tous les musiciens @@ -1644,7 +1644,7 @@ Alias or name edit box - + Dialogue d'édition de pseudo ou de nom @@ -1659,12 +1659,12 @@ City edit box - + Dialogue d'édition de ville Skill level combo box - + Choix déroulant de niveau de compétence @@ -1920,7 +1920,7 @@ Connected clients list view - + Vue de la liste dess clients connectés @@ -1940,7 +1940,7 @@ Show Creative Commons Licence Dialog - + Dialogue d'affichage de la licence Creative Commons @@ -1985,12 +1985,12 @@ Default central server type combo box - + Choix déroulant de type de serveur central par défaut Central server address line edit - + Ligne d'édition pour l'adresse du serveur central @@ -2005,7 +2005,7 @@ Server name line edit - + Ligne d'édition pour le nom du serveur @@ -2020,7 +2020,7 @@ City where the server is located line edit - + Ligne d'édition pour la ville où est situé le serveur @@ -2035,7 +2035,7 @@ Country where the server is located combo box - + Choix déroulant du pays où le serveur est situé @@ -2068,7 +2068,7 @@ Predefined Address - + Adresse prédéfinie Manual @@ -2319,7 +2319,7 @@ The - Le logiciel + @@ -2352,7 +2352,7 @@ Close - + Fermer @@ -2385,7 +2385,7 @@ For more information use the What's This help (help menu, right mouse button or Shift+F1) - + Pour plus d'informations, utilisez l'aide Qu'est-ce que c'est (menu d'aide, bouton droit de la souris ou Maj+F1) From 0149aed78e94d285bfb79a3c27eba275d1f0a403 Mon Sep 17 00:00:00 2001 From: Jonathan Date: Sun, 17 May 2020 08:56:47 +0100 Subject: [PATCH 08/15] Change link To avoid confusion in the titles. --- INSTALL.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/INSTALL.md b/INSTALL.md index d9a6c7ec..d8999a78 100755 --- a/INSTALL.md +++ b/INSTALL.md @@ -2,7 +2,7 @@ Installing Jamulus ============================ -[Please see this overview](https://github.com/corrados/jamulus/wiki/Software-Manual) containing instructions for installing and using Jamulus for your platform. +[Please see this overview](https://github.com/corrados/jamulus/wiki/Getting-Started) containing instructions for installing and using Jamulus for your platform. Compiling Jamulus From 107ae24c0da77f6dceb3447e23fc59a1c8d5bab5 Mon Sep 17 00:00:00 2001 From: Jonathan Date: Sun, 17 May 2020 08:58:26 +0100 Subject: [PATCH 09/15] Change link To avoid confusion --- src/global.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/global.h b/src/global.h index 24ed8e70..aa7b9a76 100755 --- a/src/global.h +++ b/src/global.h @@ -107,7 +107,7 @@ LED bar: lbr #define CENTSERV_GENERAL_NORTHAMERICA "jamulus.fischvolk.de:22224" // getting started and software manual URL -#define CLIENT_GETTING_STARTED_URL "https://github.com/corrados/jamulus/wiki/Software-Manual" +#define CLIENT_GETTING_STARTED_URL "https://github.com/corrados/jamulus/wiki/Getting-Started" #define SERVER_GETTING_STARTED_URL "https://github.com/corrados/jamulus/wiki/Running-a-Server" #define SOFTWARE_MANUAL_URL "https://github.com/corrados/jamulus/blob/master/src/res/homepage/manual.md" From 75b8a05257dbf96d3eb4341d7b50c152869fb24d Mon Sep 17 00:00:00 2001 From: Volker Fischer Date: Sun, 17 May 2020 11:00:56 +0200 Subject: [PATCH 10/15] introduce genre-based server lists (Ticket #139), adjust some values in global.h to adjust to heavier usage of Jamulus --- ChangeLog | 5 + src/clientsettingsdlg.cpp | 6 +- src/connectdlg.cpp | 4 +- src/global.h | 17 +- src/res/translation/translation_de_DE.qm | Bin 91852 -> 91445 bytes src/res/translation/translation_de_DE.ts | 200 ++++++++++++---------- src/res/translation/translation_es_ES.qm | Bin 94091 -> 93994 bytes src/res/translation/translation_es_ES.ts | 200 ++++++++++++---------- src/res/translation/translation_fr_FR.qm | Bin 76521 -> 84240 bytes src/res/translation/translation_fr_FR.ts | 202 +++++++++++++---------- src/res/translation/translation_nl_NL.qm | Bin 97300 -> 96870 bytes src/res/translation/translation_nl_NL.ts | 200 ++++++++++++---------- src/res/translation/translation_pt_PT.qm | Bin 97202 -> 96736 bytes src/res/translation/translation_pt_PT.ts | 200 ++++++++++++---------- src/serverdlg.cpp | 6 +- src/serverlist.cpp | 4 +- src/settings.cpp | 8 +- src/util.cpp | 4 +- src/util.h | 18 +- 19 files changed, 618 insertions(+), 456 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6d31f332..e77e91bb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,11 +4,16 @@ 3.5.4git +- introduce genre-based server lists (Ticket #139) + - support intermediate Reaper RPP file while recording, coded by pljones (Ticket #170) - duplicate Central Server type dropdown to Connection Setup (#157) +TODO Central Server Address: "Default" results in empty server browser, "Default (North America)" works fine #156 + -> made max list smaller from 200 to 150 -> check if that is sufficient to prevent UDP packet fragmentation + TODO Keep lrelease? Does it work as expected? TODO fix Linux deploy script -> gives errors right now diff --git a/src/clientsettingsdlg.cpp b/src/clientsettingsdlg.cpp index e59cb3a7..856d9d7d 100755 --- a/src/clientsettingsdlg.cpp +++ b/src/clientsettingsdlg.cpp @@ -346,9 +346,11 @@ CClientSettingsDlg::CClientSettingsDlg ( CClient* pNCliP, QWidget* parent, // central server address type combo box cbxCentServAddrType->clear(); - cbxCentServAddrType->addItem ( csCentServAddrTypeToString ( AT_MANUAL ) ); + cbxCentServAddrType->addItem ( csCentServAddrTypeToString ( AT_CUSTOM ) ); cbxCentServAddrType->addItem ( csCentServAddrTypeToString ( AT_DEFAULT ) ); cbxCentServAddrType->addItem ( csCentServAddrTypeToString ( AT_GENERAL_NORTHAMERICA ) ); + cbxCentServAddrType->addItem ( csCentServAddrTypeToString ( AT_GENRE_ROCK ) ); + cbxCentServAddrType->addItem ( csCentServAddrTypeToString ( AT_GENRE_JAZZ ) ); cbxCentServAddrType->setCurrentIndex ( static_cast ( pClient->GetCentralServerAddressType() ) ); UpdateCentralServerDependency(); @@ -585,7 +587,7 @@ void CClientSettingsDlg::UpdateSoundChannelSelectionFrame() void CClientSettingsDlg::UpdateCentralServerDependency() { - const bool bCurUseDefCentServAddr = ( pClient->GetCentralServerAddressType() != AT_MANUAL ); + const bool bCurUseDefCentServAddr = ( pClient->GetCentralServerAddressType() != AT_CUSTOM ); // update server type combo box (because the value may have ben changed // by a control in another dialog, e.g., the connect dialog), diff --git a/src/connectdlg.cpp b/src/connectdlg.cpp index 06fc74e2..6acb98b1 100755 --- a/src/connectdlg.cpp +++ b/src/connectdlg.cpp @@ -78,9 +78,11 @@ CConnectDlg::CConnectDlg ( CClient* pNCliP, // central server address type combo box cbxCentServAddrType->clear(); - cbxCentServAddrType->addItem ( csCentServAddrTypeToString ( AT_MANUAL ) ); + cbxCentServAddrType->addItem ( csCentServAddrTypeToString ( AT_CUSTOM ) ); cbxCentServAddrType->addItem ( csCentServAddrTypeToString ( AT_DEFAULT ) ); cbxCentServAddrType->addItem ( csCentServAddrTypeToString ( AT_GENERAL_NORTHAMERICA ) ); + cbxCentServAddrType->addItem ( csCentServAddrTypeToString ( AT_GENRE_ROCK ) ); + cbxCentServAddrType->addItem ( csCentServAddrTypeToString ( AT_GENRE_JAZZ ) ); // filter edtFilter->setWhatsThis ( "" + tr ( "Filter" ) + ": " + tr ( "The server " diff --git a/src/global.h b/src/global.h index aa7b9a76..38690db1 100755 --- a/src/global.h +++ b/src/global.h @@ -105,6 +105,8 @@ LED bar: lbr #define DEFAULT_SERVER_ADDRESS "jamulus.fischvolk.de" #define DEFAULT_PORT_NUMBER 22124 #define CENTSERV_GENERAL_NORTHAMERICA "jamulus.fischvolk.de:22224" +#define CENTSERV_GENRE_ROCK "jamulus.drealm.info:22124" +#define CENTSERV_GENRE_JAZZ "jamulus.drealm.info:22224" // getting started and software manual URL #define CLIENT_GETTING_STARTED_URL "https://github.com/corrados/jamulus/wiki/Getting-Started" @@ -160,10 +162,10 @@ LED bar: lbr #define MAX_NUM_IN_OUT_CHANNELS 64 // maximum number of elemts in the server address combo box -#define MAX_NUM_SERVER_ADDR_ITEMS 6 +#define MAX_NUM_SERVER_ADDR_ITEMS 12 // maximum number of fader settings to be stored (together with the fader tags) -#define MAX_NUM_STORED_FADER_SETTINGS 200 +#define MAX_NUM_STORED_FADER_SETTINGS 250 // range for signal level meter #define LOW_BOUND_SIG_METER ( -50.0 ) // dB @@ -179,21 +181,20 @@ LED bar: lbr // Maximum number of servers registered in the server list. If you want to // change this parameter, you most probably have to adjust MAX_SIZE_BYTES_NETW_BUF. -#define MAX_NUM_SERVERS_IN_SERVER_LIST 200 +#define MAX_NUM_SERVERS_IN_SERVER_LIST 150 // reduced to 150 because we now have genre-based server lists // defines the time interval at which the ping time is updated in the GUI #define PING_UPDATE_TIME_MS 500 // ms -// defines the time interval at which the ping time is updated for the server -// list -#define PING_UPDATE_TIME_SERVER_LIST_MS 2000 // ms +// defines the time interval at which the ping time is updated for the server list +#define PING_UPDATE_TIME_SERVER_LIST_MS 2500 // ms // defines the interval between Channel Level updates from the server #define CHANNEL_LEVEL_UPDATE_INTERVAL 200 // number of frames at 64 samples frame size // time-out until a registered server is deleted from the server list if no // new registering was made in minutes -#define SERVLIST_TIME_OUT_MINUTES 60 // minutes +#define SERVLIST_TIME_OUT_MINUTES 33 // minutes (should include 3 UDP registration messages) // poll time for server list (to check if entries are time-out) #define SERVLIST_POLL_TIME_MINUTES 1 // minute @@ -205,7 +206,7 @@ LED bar: lbr #define SERVLIST_REGIST_INTERV_MINUTES 15 // minutes // defines the minimum time a server must run to be a permanent server -#define SERVLIST_TIME_PERMSERV_MINUTES 1440 // minutes, 1440 = 60 min * 24 h +#define SERVLIST_TIME_PERMSERV_MINUTES 4320 // minutes, 4320 = 60 min * 24 h * 3 d // registration response timeout #define REGISTER_SERVER_TIME_OUT_MS 500 // ms diff --git a/src/res/translation/translation_de_DE.qm b/src/res/translation/translation_de_DE.qm index c6f385ed5703692a9903052fc5ad6fb22de2a19d..f7654dd1096759080999dd8ea6f1139b4881fdd8 100644 GIT binary patch delta 3165 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 delta 3521 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 diff --git a/src/res/translation/translation_de_DE.ts b/src/res/translation/translation_de_DE.ts index f1b66add..c1327efc 100644 --- a/src/res/translation/translation_de_DE.ts +++ b/src/res/translation/translation_de_DE.ts @@ -177,6 +177,11 @@ 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: + + CChannelFader @@ -1140,58 +1145,76 @@ Hoch - Manual - Manuell + Manuell - + + Custom + + + + + All Genres + + + + + Genre Rock + + + + + Genre Jazz + + + + Default Standard - Default (North America) - Standard (Nordamerika) + Standard (Nordamerika) - + preferred bevorzugt - - + + Size: Größe: - + Buffer Delay Puffergröße - + Buffer Delay: Puffergröße: - + Predefined Address - + The selected audio device could not be used because of the following error: Das ausgewählte Audiogerät kann aus folgendem Grund nicht verwendet werden: - + The previous driver will be selected. Der vorherige Treiber wird wieder ausgewählt. - + Ok @@ -1357,82 +1380,82 @@ CConnectDlg - + Server List Severliste - + The server list shows a list of available servers which are registered at the central server. Select a server from the list and press the connect button to connect to this server. Alternatively, double click a server from the list to connect to it. If a server is occupied, a list of the connected musicians is available by expanding the list item. Permanent servers are shown in bold font. Die Serverliste zeigt eine Liste von verfügbaren Server, die sich am Zentralserver registriert haben. Markiere einen Server von der Liste und drücke den Knopf Verbinden um eine Verbindung zu dem Server aufzubauen. Alternativ kann man auch den Server in der Liste direkt doppelklicken. Wenn ein Server belegt ist, dann wird eine Liste der verbundenen Musikern angezeigt. Server, die länger online sind (permanente Server) werden in Fettschrift dargestellt. - + Note that it may take some time to retrieve the server list from the central server. If no valid central server address is specified in the settings, no server list will be available. Es kann einen Moment dauern, bis die Serverliste vom Zentralserver empfangen wird. Falls keine gültige Zentralserveradresse in den Einstellungen angegeben ist, kann keine Liste angezeigt werden. - + Server list view Serverliste Anzeige - + Server Address Serveradresse - + The IP address or URL of the server running the Die IP-Adresse oder URL des Servers, auf der die - + server software must be set here. An optional port number can be added after the IP address or URL using a colon as a separator, e.g, example.org: Serversoftware läuft wird hier angegeben. Optional kann eine Portnummer angefügt werden. Diese wird hinter der IP-Adresse durch ein Doppelpunkt getrennt angegeben. Beispiel: example.org: - + . A list of the most recent used server IP addresses or URLs is available for selection. Eine Liste der letzten IP-Adressen oder URLs wird gespeichert und kann nachträglich wieder ausgewählt werden. - + Server address edit box Serveradresse Eingabefeld - + Holds the current server IP address or URL. It also stores old URLs in the combo box list. Enthält die aktuelle Server-IP-Adresse oder URL. Es speichert auch alte URLs in der Auswahlliste. - + Filter Filter - + The server list is filtered by the given text. Note that the filter is case insensitive. Die Serverliste kann mit dem eingegebenen Text gefiltert werden, d.h. es werden nur Einträge angezeigt, die dem Filtertext entsprechen. Die Groß- und Kleinschreibung des Filtertexts wird dabei nicht beachtet. - + Filter edit box Filtereingabefeld - + Show All Musicians Zeige alle Musiker - + If you check this check box, the musicians of all servers are shown. If you uncheck the check box, all list view items are collapsed. Ist diese Einstellung angehakt, dann werden alle Musiker auf allen Servern angezeigt. Wird der Haken entfernt, dann werden alle Listeneinträge eingeklappt und die verbundenen Musikernamen werden verborgen. - + Show all musicians check box Zeige alle Musiker Schalter @@ -1446,46 +1469,51 @@ + List + + + + Filter Filter - + Show All Musicians Zeige alle Musiker - + Server Name Servername - + Ping Time Ping-Zeit - + Musicians Musiker - + Location Standort - + Server Name/Address Servername/Adresse - + C&ancel A&bbrechen - + &Connect &Verbinden @@ -1657,7 +1685,7 @@ - + None Kein @@ -1723,172 +1751,172 @@ Was man hier sieht wird auch am Fader im Mixer angezeigt, wenn du mit einem - + Drum Set Schlagzeug - + Djembe Djembe - + Electric Guitar E-Gitarre - + Acoustic Guitar Akustikgitarre - + Bass Guitar E-Bass - + Keyboard Keyboard - + Synthesizer Synthesizer - + Grand Piano Flügel - + Accordion Akkordeon - + Vocal Gesang - + Microphone Mikrofon - + Harmonica Mundharmonika - + Trumpet Trompete - + Trombone Posaune - + French Horn Waldhorn - + Tuba Tuba - + Saxophone Saxophon - + Clarinet Klarinette - + Flute Flöte - + Violin Violine - + Cello Cello - + Double Bass Kontrabass - + Recorder Recorder - + Streamer - + Listener Zuhörer - + Guitar+Vocal Gitarre+Gesang - + Keyboard+Vocal Keyboard+Gesang - + Bodhran - + Bassoon Fagott - + Oboe Oboe - + Harp Harfe - + Viola Viola - + Congas Congas - + Bongo Bongos @@ -2027,7 +2055,7 @@ - + E&xit &Beenden @@ -2054,7 +2082,7 @@ Server - + Predefined Address @@ -2071,52 +2099,52 @@ Standard (Nordamerika) - + Server - + &Window &Fenster - + Unregistered Nicht registriert - + Bad address Ungültige Adresse - + Registration requested Registrierung angefordert - + Registration failed Registrierung fehlgeschlagen - + Check server version Überprüfe Version des Servers - + Registered Registriert - + Central Server full Zentralserver voll - + Unknown value Unbekannter Wert @@ -2371,7 +2399,7 @@ global - + For more information use the What's This help (help menu, right mouse button or Shift+F1) Für weitere Informationen verwende die Kontexthilfe (Hilfe-Menü, rechte Maustaste oder Tastenkombination Shift+F1) diff --git a/src/res/translation/translation_es_ES.qm b/src/res/translation/translation_es_ES.qm index 04a888af5764070d31d450e92a63566da6d5e972..29b8f1da5c4c95cc7c957cd1637f0516c5d111b1 100644 GIT binary patch delta 3801 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 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: + + CChannelFader @@ -1144,58 +1149,76 @@ Alta - Manual - Manual + Manual - + + Custom + + + + + All Genres + + + + + Genre Rock + + + + + Genre Jazz + + + + Default Por defecto - Default (North America) - Por defecto (Norteamérica) + Por defecto (Norteamérica) - + preferred aconsejado - - + + Size: Tamaño: - + Buffer Delay Retardo Buffer - + Buffer Delay: Retardo Buffer: - + Predefined Address - + The selected audio device could not be used because of the following error: El dispositivo de audio seleccionado no puede utilizarse a causa del siguiente error: - + The previous driver will be selected. Se utilizará el driver anterior. - + Ok Ok @@ -1361,32 +1384,32 @@ CConnectDlg - + Server List Lista Servidores - + The server list shows a list of available servers which are registered at the central server. Select a server from the list and press the connect button to connect to this server. Alternatively, double click a server from the list to connect to it. If a server is occupied, a list of the connected musicians is available by expanding the list item. Permanent servers are shown in bold font. La lista de servidores muestra una lista de servidores disponibles que se encuentran registrados en el servidor central. Escoge un servidor de la lista y pulsa el botón de conectar para conectarte a este servidor. También es posible realizar la conexión haciendo doble clic en un servidor de la lista. Si un servidor está ocupado, se puede desplegar una lista de los músicos conectados al pulsar el icono al lado del nombre. Los servidores permanentes se muestran en negrita. - + Note that it may take some time to retrieve the server list from the central server. If no valid central server address is specified in the settings, no server list will be available. Ten en cuenta que puede llevar un tiempo recuperar la lista de servidores del servidor central. Si no se especifica una dirección válida en la configuración, no habrá ninguna lista de servidores disponible. - + Server list view Vista lista de servidores - + Server Address Dirección Servidor - + The IP address or URL of the server running the La dirección IP o URL del servidor ejecutando el software del servidor @@ -1395,52 +1418,52 @@ debe introducirse aquí. Se puede añadir un número de puerto opcional detrás de la dirección IP o URL utilizando dos puntos como separador, por ej. ejemplo.org: - + server software must be set here. An optional port number can be added after the IP address or URL using a colon as a separator, e.g, example.org: debe introducirse aquí. Se puede añadir un número de puerto opcional detrás de la dirección IP o URL utilizando dos puntos como separador, por ej. ejemplo.org: - + . A list of the most recent used server IP addresses or URLs is available for selection. . Hay disponible una lista de las direcciones IP o URLs utilizadas más recientemente para su selección. - + Server address edit box Selección dirección servidor - + Holds the current server IP address or URL. It also stores old URLs in the combo box list. Contiene la dirección IP o URL actual del servidor. También guarda viejas URL en la lista. - + Filter Filtro - + The server list is filtered by the given text. Note that the filter is case insensitive. La lista de servidores se filtra con el texto introducido. El filtro no es sensible a mayúsculas/minúsculas. - + Filter edit box Campo filtro - + Show All Musicians Mostrar Todos los Músicos - + If you check this check box, the musicians of all servers are shown. If you uncheck the check box, all list view items are collapsed. Si activas esta opción, se mostrarán los músicos de todos los servidores. Si lo desactivas, se colapsan todas las listas. - + Show all musicians check box Selección Mostrar todos los músicos @@ -1454,46 +1477,51 @@ + List + + + + Filter Filtro - + Show All Musicians Mostrar Todos los Músicos - + Server Name Nombre Servidor - + Ping Time Tiempo Ping - + Musicians Músicos - + Location Ubicación - + Server Name/Address Nombre/Dirección Servidor - + C&ancel C&ancelar - + &Connect &Conectar @@ -1665,7 +1693,7 @@ - + None Ninguno @@ -1731,172 +1759,172 @@ Lo que introduzcas aquí aparecerá en tu fader del mezclador cuando te conectes a un servidor - + Drum Set Batería - + Djembe Djembé - + Electric Guitar Guitarra Eléctrica - + Acoustic Guitar Guitarra Acústica - + Bass Guitar Bajo Eléctrico - + Keyboard Teclado - + Synthesizer Sintetizador - + Grand Piano Piano de Cola - + Accordion Acordeón - + Vocal Voz - + Microphone Micrófono - + Harmonica Armónica - + Trumpet Trompeta - + Trombone Trombón - + French Horn Trompa - + Tuba Tuba - + Saxophone Saxofón - + Clarinet Clarinete - + Flute Flauta - + Violin Violín - + Cello Violonchelo - + Double Bass Contrabajo - + Recorder Grabadora - + Streamer Streamer - + Listener Oyente - + Guitar+Vocal Guitarra+Voz - + Keyboard+Vocal Teclado+Voz - + Bodhran Bodhran - + Bassoon Fagot - + Oboe Oboe - + Harp Arpa - + Viola Viola - + Congas Congas - + Bongo Bongo @@ -2035,7 +2063,7 @@ - + E&xit S&alir @@ -2062,7 +2090,7 @@ - + Predefined Address @@ -2079,52 +2107,52 @@ Por defecto (Norteamérica) - + Server : Servidor - + &Window &Ventana - + Unregistered Sin registrar - + Bad address Dirección no válida - + Registration requested Registro solicitado - + Registration failed Error de registro - + Check server version Comprueba la versión del servidor - + Registered Registrado - + Central Server full Servidor Central lleno - + Unknown value Valor desconocido @@ -2379,7 +2407,7 @@ global - + For more information use the What's This help (help menu, right mouse button or Shift+F1) Para más información utiliza ¿Qué es Esto? (menú de ayuda, botón derecho del ratón o Shift+F1) diff --git a/src/res/translation/translation_fr_FR.qm b/src/res/translation/translation_fr_FR.qm index dbb9c0db2e1f353195942e79e1be1ab0246491e7..37aab98669852ca4a1ca06361ae74531880fba90 100644 GIT binary patch delta 7985 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 delta 3505 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 IT299P4fne-n*aa+ diff --git a/src/res/translation/translation_fr_FR.ts b/src/res/translation/translation_fr_FR.ts index deae3f8d..2b615c79 100644 --- a/src/res/translation/translation_fr_FR.ts +++ b/src/res/translation/translation_fr_FR.ts @@ -189,6 +189,11 @@ T R Y I N G T O C O N N E C T T E N T A T I V E D E C O N N E X I O N + + + Personal Mix at the Server: + + CChannelFader @@ -1152,58 +1157,76 @@ Haute - Manual - Manuel + Manuel - + + Custom + + + + + All Genres + + + + + Genre Rock + + + + + Genre Jazz + + + + Default Défaut - Default (North America) - Défault (Amérique du Nord) + Défault (Amérique du Nord) - + preferred préféré - - + + Size: Taille : - + Buffer Delay Délai de temporisation - + Buffer Delay: Délai de temporisation : - + Predefined Address Adresse prédéfinie - + The selected audio device could not be used because of the following error: Le périphérique audio sélectionné n'a pas pu être utilisé en raison de l'erreur suivante : - + The previous driver will be selected. Le pilote précédent sera sélectionné. - + Ok Ok @@ -1369,82 +1392,82 @@ CConnectDlg - + Server List Liste de serveurs - + The server list shows a list of available servers which are registered at the central server. Select a server from the list and press the connect button to connect to this server. Alternatively, double click a server from the list to connect to it. If a server is occupied, a list of the connected musicians is available by expanding the list item. Permanent servers are shown in bold font. La liste de serveurs affiche une liste des serveurs disponibles qui sont inscrits sur le serveur central. Sélectionnez un serveur dans la liste et appuyez sur le bouton de connexion pour vous connecter à ce serveur. Vous pouvez également double-cliquer sur un serveur de la liste pour vous y connecter. Si un serveur est occupé, une liste des musiciens connectés est disponible en développant l'élément de la liste. Les serveurs permanents sont indiqués en caractères gras. - + Note that it may take some time to retrieve the server list from the central server. If no valid central server address is specified in the settings, no server list will be available. Notez que ça peut prendre un certain temps pour récupérer la liste des serveurs depuis le serveur central. Si aucune adresse de serveur central valide n'est spécifiée dans les paramètres, aucune liste de serveurs ne sera disponible. - + Server list view Vue de la liste de serveurs - + Server Address Adresse du serveur - + The IP address or URL of the server running the L'adresse IP ou l'URL du serveur qui exécute le logiciel serveur - + server software must be set here. An optional port number can be added after the IP address or URL using a colon as a separator, e.g, example.org: doit être paramétré ici. Un numéro optionnel de port peut être ajouté après l'adresse IP ou l'URL en utilisant deux points en tant que séparateur, par exemple, exemple.org : - + . A list of the most recent used server IP addresses or URLs is available for selection. . Une liste des adresses IP ou URL de serveur les plus récentes est disponible pour la sélection. - + Server address edit box Dialogue d'édition d'addresse de serveur - + Holds the current server IP address or URL. It also stores old URLs in the combo box list. - + Filter Filtre - + The server list is filtered by the given text. Note that the filter is case insensitive. La liste des serveurs est filtrée par le texte donné. Notez que le filtre n'est pas sensible à la casse. - + Filter edit box Dialogue d'édition de filtre - + Show All Musicians Afficher tous les musiciens - + If you check this check box, the musicians of all servers are shown. If you uncheck the check box, all list view items are collapsed. Si vous cochez cette case, les musiciens de tous les serveurs sont affichés. Si vous décochez la case, tous les éléments de la vue en liste sont regroupés. - + Show all musicians check box Case-à-cocher pour afficher tous les musiciens @@ -1458,46 +1481,51 @@ + List + + + + Filter Filtre - + Show All Musicians Afficher tous les musiciens - + Server Name Nom du serveur - + Ping Time Temps de réponse - + Musicians Musiciens - + Location Localisation - + Server Name/Address Nom du serveur / adresse - + C&ancel &Annuler - + &Connect Se &connecter @@ -1669,7 +1697,7 @@ - + None Aucune @@ -1735,172 +1763,172 @@ Ce que vous réglez ici apparaîtra au niveau de votre fader sur la table de mixage lorsque vous serez connecté à un serveur - + Drum Set Batterie - + Djembe Djembé - + Electric Guitar Guitare électrique - + Acoustic Guitar Guitare accoustique - + Bass Guitar Guitare basse - + Keyboard Clavier - + Synthesizer Synthétiseur - + Grand Piano Piano à queue - + Accordion Accordéon - + Vocal Voix - + Microphone Microphone - + Harmonica Harmonica - + Trumpet Trompette - + Trombone Trombone - + French Horn Cor d'harmonie - + Tuba Tuba - + Saxophone Saxophone - + Clarinet Clarinette - + Flute Flute - + Violin Violon - + Cello Violoncelle - + Double Bass Contrebasse - + Recorder Enregistreur - + Streamer Diffuseur - + Listener Auditeur - + Guitar+Vocal Guitare+voix - + Keyboard+Vocal Clavier+voix - + Bodhran Bodhran - + Bassoon Basson - + Oboe Hautbois - + Harp Harpe - + Viola Alto - + Congas Congas - + Bongo Bongo @@ -2039,7 +2067,7 @@ - + E&xit &Quitter @@ -2066,7 +2094,7 @@ serveur - + Predefined Address Adresse prédéfinie @@ -2083,52 +2111,52 @@ Défaut (Amérique du nord) - + Server serveur - + &Window &Fenêtre - + Unregistered Non inscrit - + Bad address Mauvaise adresse - + Registration requested Inscription demandée - + Registration failed Échec de l'inscription - + Check server version Vérifier la version du serveur - + Registered Inscrit - + Central Server full Serveur central rempli - + Unknown value Valeur inconnue @@ -2319,7 +2347,7 @@ The - + Le logiciel @@ -2383,7 +2411,7 @@ global - + For more information use the What's This help (help menu, right mouse button or Shift+F1) Pour plus d'informations, utilisez l'aide Qu'est-ce que c'est (menu d'aide, bouton droit de la souris ou Maj+F1) diff --git a/src/res/translation/translation_nl_NL.qm b/src/res/translation/translation_nl_NL.qm index 760891001e9a12da5a5f8c7f8b8e252817ac727f..017e4065b937bdc377686601132fe1fd6009fd51 100644 GIT binary patch delta 3378 zcmXX}dt8iZ8@`@*-gjo+d1u~f+2pW0IfN7m=|d#PC?u(LT!%vIOzmnnjaE6NjZA14 z*&LFP<1XveB2=4LhgJ?bZ714nsfhjfZZqFsSIzI4=eh6ezOL(eCjE_2)g)~ERI~!n z9k{hQ?Qhe+D3g0K2{e9NhqoHQ+Y~_-PLi5Dx^G0C91^gCD`C z90u-e1D}})bj`P5&_?h-{R*bJ2EJw^n4ALsM(VH(4t35zV>%qKU!@LZcy1}6E|0-8CmMM5 z1fGw0!06i3{0Hk+kMR+YsGUU^f2l8FCcIoXgGHWz*Tr=}P(HkiGl;T2m^gGVm~JU1 z2hxT?@8B0iG?hnS+JBpX5FZ59Q2TEh5!|^qnDudlDZ5a?Un7jxF`F{X^qLD)*C1}Y z2}VrI#m=wK1EGtstGt4kD8xSdTU6;2-uyln0hNW z{Mi67?NToAcny${$xTZl0sbDJC zzT?lpkzcqAPElYE%egDR(icxHdD~`qt2AkJbapi9+EdGt6se;yL ziKZCdJvjX?AL?BM=2pXp?WqSFTf@()jt8#0^YdJOqw^WRq@D<6tNGaZ(*ea1K6ZOF zDQQ0+H=exZ+G4?!N`7&sOOy~C|j01Li^Vt(u5&xU`gV%}Yvd#RF zOGz|05B{jbN^(>Lf3d$it*hg&&rb*1j5Q6 zSO*UwOHCB#xd>Tn7J}Jz6>0a zKJ$qOo3udn`8XdUFGl6sx}046Ts6X$wp_JH<#n1$SD#T$xjYEyGEwDk9S(S#Aj8wfz@yfrT#W zzz*bt%*X1vS1tqk6f-h0K)uAg{u6agHqh9URO2Kzdot#aDihrn0$H*_O{nUG^ z@&F%EeKr0c;9Un%&aVgZ1H}%dn~2%zqTS+EMxY@_bnvCA%zG>jv!aSq)uMaHNnq1w zh-29&l*qoKcjRfHX@(dmhXawni@|T)=>ixc&PrF?rZWf7}r_c8Lb#)5Ns5)s%aE#Qpa&X;i1hqh-eBbP4;4$Nr!jrMIJawuG** zX-~!cF#3Y_uvk>;OsdZjZ}=?)>lr21ep5sO~4LfcFc55L~}h@M7bt%JYC{1GcpLrwP7_Q1|>HMtRYX{JG%qfyjh!vFE^K+Va3Q{?!= zn$yk#(0odBHYFPPwoX&fPDRnQQd4+{3Xoegw{IE%|3*!%Gcn*XUt{xJB$WVI+jcW5HC0{QyvLO#7&k-xZrUgrW?R(RU$Xc4+e<+v`BP|&~ zY*QN-ymk-b6Mvnvuz;r0fkN z=?M`eWp6G8yl+T{++?s|e}!~tULLS7R60{keW{$J%dYOgTq~*YP!T;8FG(edB&{`& zN?y_cZUsvB4m==FJdqxIdlJgh%jDtrUjCrO+%#Cuz>{Bd$rck z8Ua+Lns!LGMwNE-1nTD4W9_&xYG6fot=GlB==PeV{qmU;k@ilzwCo00z1#*5( zxONl0Q`p?LT9ds@4EdDzyp5N&_xUWc~CcV zJvDmPMi=QrBTrF-*hUG)o6kB^n^b-WCuwa9`k6~1fArp^W4?w0NAwo?qZlbx*% zVB;3agQaBPeVIHWaV;f6)&+S?5^)-L)`DeavTs!-Al1n8J}m~gTzTH8aG)haUYJ9j zIjH35fnLCfo$`uxv|)s|yrOO|;5b@NTTcFp>upBXEm$^Le-!8r`TR{{rel#@>`S<) zRjz0%1qyxT=kWunh^=MuT;^QUB_Q2F)2JUZxi`K>=KbW!U0-sFU!bbS}^ z9C|I+oBr0>Op4KuD59sYwpu?SmK4*uMn8EuearDH{p@R(N#7gvYx11wn!Bh^TSrmf zy-fduO*jqet^QVO4(ac@{6-KlEp}R3}9@ HCXM(X1~dlA delta 3677 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 diff --git a/src/res/translation/translation_nl_NL.ts b/src/res/translation/translation_nl_NL.ts index b2dd4bf5..1f2be105 100644 --- a/src/res/translation/translation_nl_NL.ts +++ b/src/res/translation/translation_nl_NL.ts @@ -177,6 +177,11 @@ T R Y I N G T O C O N N E C T A A N H E T V E R B I N D E N + + + Personal Mix at the Server: + + CChannelFader @@ -1140,58 +1145,76 @@ Hoog - Manual - Handmatig + Handmatig - + + Custom + + + + + All Genres + + + + + Genre Rock + + + + + Genre Jazz + + + + Default Standaard - Default (North America) - Standaard (Noord-Amerika) + Standaard (Noord-Amerika) - + preferred gewenst - - + + Size: Size: - + Buffer Delay Buffervertraging - + Buffer Delay: Buffervertraging: - + Predefined Address - + The selected audio device could not be used because of the following error: Het geselecteerde audioapparaat kon niet worden gebruikt vanwege de volgende fout: - + The previous driver will be selected. Het vorige stuurprogramma wordt geselecteerd. - + Ok Ok @@ -1357,82 +1380,82 @@ CConnectDlg - + Server List Serverlijst - + The server list shows a list of available servers which are registered at the central server. Select a server from the list and press the connect button to connect to this server. Alternatively, double click a server from the list to connect to it. If a server is occupied, a list of the connected musicians is available by expanding the list item. Permanent servers are shown in bold font. De serverlijst toont een lijst van beschikbare servers die op de centrale server zijn geregistreerd. Selecteer een server uit de lijst en druk op de verbindingsknop om verbinding te maken met deze server. U kunt ook dubbelklikken op een server uit de lijst om verbinding te maken met deze server. Als een server bezet is, is een lijst van de verbonden muzikanten beschikbaar door het lijstitem uit te breiden. Permanente servers worden vetgedrukt weergegeven. - + Note that it may take some time to retrieve the server list from the central server. If no valid central server address is specified in the settings, no server list will be available. Merk op dat het enige tijd kan duren om de serverlijst op te halen van de centrale server. Als er geen geldig centraal serveradres is opgegeven in de instellingen, zal er geen serverlijst beschikbaar zijn. - + Server list view Serverlijstweergave - + Server Address Serveradres - + The IP address or URL of the server running the Het IP-adres of de URL van de server waarop de - + server software must be set here. An optional port number can be added after the IP address or URL using a colon as a separator, e.g, example.org: serversoftware moet worden ingesteld. Een optioneel poortnummer kan worden toegevoegd na het IP-adres of de URL met een dubbele punt als scheidingsteken, bijvoorbeeld example.org: - + . A list of the most recent used server IP addresses or URLs is available for selection. . Een lijst met de meest recent gebruikte server-IP-adressen of URL's is beschikbaar voor selectie. - + Server address edit box Serveradres bewerkingsvak - + Holds the current server IP address or URL. It also stores old URLs in the combo box list. Bevat het huidige server-IP-adres of de URL. Het slaat ook oude URL's op in de comboboxlijst. - + Filter Filter - + The server list is filtered by the given text. Note that the filter is case insensitive. De serverlijst wordt gefilterd met de gegeven tekst. Merk op dat het filter ongevoelig is voor hoofdletters. - + Filter edit box Filter bewerkingsvak - + Show All Musicians Toon alle muzikanten - + If you check this check box, the musicians of all servers are shown. If you uncheck the check box, all list view items are collapsed. Als u dit selectievakje aanvinkt, worden de muzikanten van alle servers getoond. Als u het selectievakje uitvinkt, worden alle items van de lijstweergave samengevouwen. - + Show all musicians check box Toon alle muzikanten checkbox @@ -1446,46 +1469,51 @@ + List + + + + Filter Filter - + Show All Musicians Toon alle muzikanten - + Server Name Servernaam - + Ping Time Ping-tijd - + Musicians Muzikanten - + Location Locatie - + Server Name/Address Servernaam/Adres - + C&ancel Annuleren - + &Connect Verbinden @@ -1663,7 +1691,7 @@ - + None Geen @@ -1723,172 +1751,172 @@ Combo-box voor vaardigheidsniveau - + Drum Set Drumstel - + Djembe Djembe - + Electric Guitar Elektrische Gitaar - + Acoustic Guitar Akoestische Gitaar - + Bass Guitar Basgitaar - + Keyboard Toetsenbord - + Synthesizer Synthesizer - + Grand Piano Piano - + Accordion Accordeon - + Vocal Vocaal - + Microphone Microfoon - + Harmonica Harmonica - + Trumpet Trompet - + Trombone Trombone - + French Horn Hoorn - + Tuba Tuba - + Saxophone Saxofoon - + Clarinet Klarinet - + Flute Fluit - + Violin Viool - + Cello Cello - + Double Bass Contrabas - + Recorder Opnemer - + Streamer Streamer - + Listener Luisteraar - + Guitar+Vocal Gitaar+Vocaal - + Keyboard+Vocal Toetsenbord+Vocaal - + Bodhran Bodhran - + Bassoon Fagot - + Oboe Hobo - + Harp Harp - + Viola Viola - + Congas Congas - + Bongo Bongo @@ -2027,7 +2055,7 @@ - + E&xit &Sluiten @@ -2054,7 +2082,7 @@ server - + Predefined Address @@ -2071,52 +2099,52 @@ Standaard (Noord-Amerika) - + Server Server - + &Window &Window - + Unregistered Niet geregistreerd - + Bad address Slecht adres - + Registration requested Aanmelding gevraagd - + Registration failed Registratie is mislukt - + Check server version Controleer de versie van de server - + Registered Geregistreerd - + Central Server full Centrale server vol - + Unknown value Onbekende waarde @@ -2371,7 +2399,7 @@ global - + For more information use the What's This help (help menu, right mouse button or Shift+F1) Voor meer informatie gebruik de Wat Is Dit hulp (helpmenu, rechtermuisklik of Shift+F1) diff --git a/src/res/translation/translation_pt_PT.qm b/src/res/translation/translation_pt_PT.qm index 5c2ebc81d00885b1de07c1b2f5c16d18fd436adb..b78316a696d58003eac67fdaa5132bb69bddca67 100644 GIT binary patch delta 3423 zcmX9=c|cA17yo?kyZ60!-+k}Cno-K~qB4^tO%jU8R>@ijElgP=Tf~%6Pt@46JYwuy z4N=0(SQ^ak-^X38fUBNFu z0F*ugzcmGL9Am~XfAHInff+Tkz*nyVlV^f|bsJcC4T5tjV08~dyHdKy3PMj4aK{Eh zzrpl@A_)GSz`AXOFdzf4nGIn?U%)515t+p;2&0CBS*jqU=;`+-5OxT_y$lGM9RS<$ z5OQV!B5Op64a$L#mkefo%hZxJHCnNVzV zro4nkW7{uOlrbH!^G+G@-i<$;u2Y~Bk#+hln1vM%^d1K0{2YJ&a*G!nnB$PeYt2q71xmTS1IxG5$paP%(=MZzyu*CZ>D1ftc=M zh7DgxBx%fXc@9vxob|0IHTYg<{vOp}_6Acb_d~CUFt+8b4EU{PJMs)*?w8qxHN${w zmF&WS9I#F<>}LHruvUlJqu|e!pm*$PB>f*}Syga8SftkUf@>PkoD(PdkQ^I0%}@$v zx)o>fo@96DB4>5c54iQ1YbM(O3DumTlByhhm9u|56HMKl>rv4WOzXjg9Igfyl$r)A zni`$CB^U=LaoqalVL)~ew=-ZkV11X%NG44VNanJrh;VdnM5fB&vUVDPWu;t>-W_PN zm&^Gy1FU5c_xBWl8Jcn@+ENNmwdGE>`wPg8=T5s$0&9DTyKs!&JF4Oe^Tq?(vs^_` zE{VTOJ@-D2s=s538Sg}K^+qbb%93lCmjGN(;QnhyG^f5(D9^tF8}FiMp63dr@QT() zC)3}>3dcDw0gGCNXN`usEm9G5V=K_mR}nYD1L%BMk$OCe#H3TKxNiY0ZK6ouw-GF; zRB>>2SA5SVFHu~0L6OZLq^K*S7q)*j&E|bZuYJac1r~yN<@4dYUxM{L&PP=x0atSP z7>`rbq@(!QmxGA$Za!hkSU_=zPuLts8acwx3!tv)I@gRVj`8anIstdrneh#0(g}7( zS3V=zAJ`SbXAWFQ>F>txze;JoQOoC^O{F4n{6XjW)GJH*GwwcguA09(Wi9aC%|>L} z&wR1h8Q@{I8D9_PZ=a*yQg-F7hAoRZ{N~~+x@8gV3!8wR;Xgj_5$5zs#*+A0vkA7)zW`3<*>WTvmu^3cZ$l_ zjxJ8ARrNnk1jHXzLFc;w_Ip*sts-b<9a4omi_~LtRAU+_54{hnW}L_Zi;hyw3NJO% z6jFVA0JGbtn(b6d316vN_j^xDWU*?)!+g@LwW=}kw(hDe1(XSCi|S}7G0*W<9p69` z(PF!*;?r4b?p3NM+bH1nmsK@(24dPpt$pwkY*2;T;!hu-yrw- zJERz&(gbp#ho|Jki_||2Jp_2&QM>2lgRvxaj}u$T!!p$&w$u(=OV!aA&eI2*H6l|# zSI0J|0jD^6PG|_n|)n;m>*xiC6PCG98G#dmqW}DcLS<(pZEC!B04%CH< zA#wyTai2K)qYr)PrWm#QJx$1HF{<_(kw9@uXcEoFa51qmA8;xcmv;ZwCc)yW)^T9G zuekbC6=~v?Xxw{uE8yTL9=sV(uKcTb=$a$dK0*Aah-OsiZt-L|y`Y^f7G7}!vmGrK z2Tue0;fPo>_X^E`D6wI;33y$g(SIdIUzHk%P2^IYf6+Mo_XUt8jsIo3rz*{iZ$4;7 zY@y8d@zjia|B{Ap8>41?08Qyv@tWu%7pZZJG|@G5vFfpAO6VP`^)$_l|1AP@N!Ki0 zMoeuNYBGn}0NW;Mvc}yehk2+uIEff8SZKyuD>O$&9HquTt2yo_0Ph!Q{#j1Gm*}B6 zXRQLhmo*o&DFC@#Q(9sGMjDeeHExuF-kj!{NGkP?k<^MnGWZh7!qJt~+EcRGP9+H( zB6&_Cqvi{w&I4xwPd`b$zne^!IK2^B*EGq`cRpCiI4Ri1g#!Ffn&94zL}n|+cBB9w z&6Sq@7D?N}3u#473K41{t#u=<813droBOS$+HIG%WYUKw*Gk)Z)KUN1H6oL@OPMQs z(b~{a%3OB^82DPs_LjkhwU@GEa)3XENqLuuscM6C-qQz|R4-l3E~I_2Mk-1nu`TwH zie6DkN)n{I`|eYh4V20Q{is{Qr1BxX@I5Rd8XuULF4gnT!SvTmQzbjg9$Ldnl2p4A zt)XEYP&vf3MKTzh?$GubKy(f**82BV14)V6{%4-h^7dFexx$swxL!N+W--|C2imyP zWCqo9v}-EJz$YeXO-?c?@Qij-YwBG^yf%+f8Y4o@crQYGwhsx-i_;dS(mk=|+9EZr z1I~%sqSZ6W6`N=)-`yd%y53$}Jv##ESgd`ybUyIcDearsBQy~XY2P1v36#ZX8^S4_ z`b|0udjs$+P1oWNO3#*(Mr2;2be^?2U||Wmz-4LFBIk8O621UYdvziEf~g+%X1t}; zMJ^+vd8xYbgQ*-Imfw)vD)hc?Q~EnvJ#2J)deect$sPJqt1_}f1Fdi|2NVD{!Ue4m ni`nac`jJ^3j+3Jk4@WHT=WzJJfx6@)E8W=%)saLm*2(w(e5VG0 delta 3660 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 R Y I N G T O C O N N E C T T E N T A N D O L I G A R + + + Personal Mix at the Server: + + CChannelFader @@ -1152,58 +1157,76 @@ Alta - Manual - Manual + Manual - + + Custom + + + + + All Genres + + + + + Genre Rock + + + + + Genre Jazz + + + + Default Servidor Padrão - Default (North America) - Servidor Padrão (America do Norte) + Servidor Padrão (America do Norte) - + preferred preferido - - + + Size: Tamanho: - + Buffer Delay Atraso do buffer - + Buffer Delay: Atraso do buffer: - + Predefined Address - + The selected audio device could not be used because of the following error: O dispositivo de áudio selecionado não pôde ser usado devido ao seguinte erro: - + The previous driver will be selected. O driver anterior será selecionado. - + Ok Ok @@ -1369,82 +1392,82 @@ CConnectDlg - + Server List Lista de servidores - + The server list shows a list of available servers which are registered at the central server. Select a server from the list and press the connect button to connect to this server. Alternatively, double click a server from the list to connect to it. If a server is occupied, a list of the connected musicians is available by expanding the list item. Permanent servers are shown in bold font. A lista de servidores mostra a os servidores disponíveis registados no servidor central. Selecione um servidor da lista e pressione o botão Ligar para se ligar a este servidor. Como alternativa, clique duas vezes num servidor da lista para se ligar ao mesmo. Se um servidor estiver ocupado, uma lista dos músicos ligados estará disponível expandindo o item da lista. Os servidores permanentes são mostrados em negrito. - + Note that it may take some time to retrieve the server list from the central server. If no valid central server address is specified in the settings, no server list will be available. Observe que pode demorar algum tempo para obter a lista de servidores do servidor central. Se nenhum endereço de servidor central válido for especificado nas definições, nenhuma lista de servidores estará disponível. - + Server list view Vista da lista de servidores - + Server Address Endereço do servidor - + The IP address or URL of the server running the O endereço IP ou URL do servidor executando o servidor - + server software must be set here. An optional port number can be added after the IP address or URL using a colon as a separator, e.g, example.org: deve ser definido aqui. Um número de porta opcional pode ser adicionado após o endereço IP ou URL usando o caractere dois pontos como separador, por exemplo, example.org: - + . A list of the most recent used server IP addresses or URLs is available for selection. . Uma lista dos endereços IP ou URLs dos servidores usados recentemente está disponível para seleção. - + Server address edit box Caixa de edição do endereço do servidor - + Holds the current server IP address or URL. It also stores old URLs in the combo box list. Contém o endereço IP ou URL do servidor atual. Também armazena URLs antigos na lista do seletor. - + Filter Filtro - + The server list is filtered by the given text. Note that the filter is case insensitive. A lista de servidores é filtrada pelo texto fornecido. Note que o filtro não diferencia maiúsculas de minúsculas. - + Filter edit box Caixa de edição do filtro - + Show All Musicians Mostrar Todos os Músicos - + If you check this check box, the musicians of all servers are shown. If you uncheck the check box, all list view items are collapsed. Se marcar esta caixa de seleção, os músicos de todos os servidores serão mostrados. Se desmarcar a caixa de seleção, todos os itens em exibição na lista serão recolhidos. - + Show all musicians check box Caixa de seleção para mostrar músicos @@ -1458,46 +1481,51 @@ + List + + + + Filter Filtro - + Show All Musicians Mostrar Todos os Músicos - + Server Name Nome do Servidor - + Ping Time Latência - + Musicians Músicos - + Location Localização - + Server Name/Address Nome/Endereço do Servidor - + C&ancel &Cancelar - + &Connect &Ligar @@ -1669,7 +1697,7 @@ - + None Nenhum @@ -1735,172 +1763,172 @@ O que definir aqui aparecerá por baixo do seu fader na secção de mistura quando estiver ligado a um servidor - + Drum Set Bateria - + Djembe Djembe - + Electric Guitar Guitarra Elétrica - + Acoustic Guitar Guitarra Acústica - + Bass Guitar Baixo - + Keyboard Teclado - + Synthesizer Sintetizador - + Grand Piano Piano de Cauda - + Accordion Acordeão - + Vocal Voz - + Microphone Microfone - + Harmonica Harmónica - + Trumpet Trompete - + Trombone Trombone - + French Horn Trompa Francesa - + Tuba Tuba - + Saxophone Saxofone - + Clarinet Clarinete - + Flute Flauta - + Violin Violino - + Cello Violoncelo - + Double Bass Contrabaixo - + Recorder Gravador - + Streamer Streamer - + Listener Ouvinte - + Guitar+Vocal Guitarra+Voz - + Keyboard+Vocal Teclado+Voz - + Bodhran Bodhrán - + Bassoon Fagote - + Oboe Oboé - + Harp Harpa - + Viola Viola de Arco - + Congas Congas - + Bongo Bongo @@ -2039,7 +2067,7 @@ - + E&xit &Sair @@ -2066,7 +2094,7 @@ - + Predefined Address @@ -2083,52 +2111,52 @@ Servidor Padrão (America do Norte) - + Server - Servidor - + &Window &Janela - + Unregistered Não Registado - + Bad address Endereço incorrecto - + Registration requested Registo solicitado - + Registration failed Falha no registo - + Check server version Verifique versão do servidor - + Registered Registado - + Central Server full Servidor Central Cheio - + Unknown value Valor desconhecido @@ -2383,7 +2411,7 @@ global - + For more information use the What's This help (help menu, right mouse button or Shift+F1) Para mais informações, use O que é isto (menu Ajuda, botão direito do rato ou Shift + F1) diff --git a/src/serverdlg.cpp b/src/serverdlg.cpp index d2129481..3598aa23 100755 --- a/src/serverdlg.cpp +++ b/src/serverdlg.cpp @@ -188,9 +188,11 @@ lvwClients->setMinimumHeight ( 140 ); // central server address type combo box cbxCentServAddrType->clear(); - cbxCentServAddrType->addItem ( csCentServAddrTypeToString ( AT_MANUAL ) ); + cbxCentServAddrType->addItem ( csCentServAddrTypeToString ( AT_CUSTOM ) ); cbxCentServAddrType->addItem ( csCentServAddrTypeToString ( AT_DEFAULT ) ); cbxCentServAddrType->addItem ( csCentServAddrTypeToString ( AT_GENERAL_NORTHAMERICA ) ); + cbxCentServAddrType->addItem ( csCentServAddrTypeToString ( AT_GENRE_ROCK ) ); + cbxCentServAddrType->addItem ( csCentServAddrTypeToString ( AT_GENRE_JAZZ ) ); cbxCentServAddrType->setCurrentIndex ( static_cast ( pServer->GetCentralServerAddressType() ) ); // update server name line edit @@ -506,7 +508,7 @@ void CServerDlg::UpdateGUIDependencies() // get the states which define the GUI dependencies from the server const bool bCurSerListEnabled = pServer->GetServerListEnabled(); - const bool bCurUseDefCentServAddr = ( pServer->GetCentralServerAddressType() != AT_MANUAL ); + const bool bCurUseDefCentServAddr = ( pServer->GetCentralServerAddressType() != AT_CUSTOM ); const ESvrRegStatus eSvrRegStatus = pServer->GetSvrRegStatus(); diff --git a/src/serverlist.cpp b/src/serverlist.cpp index dc79c603..8e0a0f17 100755 --- a/src/serverlist.cpp +++ b/src/serverlist.cpp @@ -33,7 +33,7 @@ CServerListManager::CServerListManager ( const quint16 iNPortNum, CProtocol* pNConLProt ) : tsConsoleStream ( *( ( new ConsoleWriterFactory() )->get() ) ), iNumPredefinedServers ( 0 ), - eCentralServerAddressType ( AT_MANUAL ), // must be AT_MANUAL for the "no GUI" case + eCentralServerAddressType ( AT_CUSTOM ), // must be AT_CUSTOM for the "no GUI" case bCentServPingServerInList ( bNCentServPingServerInList ), pConnLessProtocol ( pNConLProt ), eSvrRegStatus ( SRS_UNREGISTERED ), @@ -206,7 +206,7 @@ void CServerListManager::SetCentralServerAddress ( const QString sNCentServAddr ( ( !strCentralServerAddress.toLower().compare ( "localhost" ) || !strCentralServerAddress.compare ( "127.0.0.1" ) ) && - ( eCentralServerAddressType == AT_MANUAL ) + ( eCentralServerAddressType == AT_CUSTOM ) ); bEnabled = true; diff --git a/src/settings.cpp b/src/settings.cpp index 23d65e3a..d26c4fcc 100755 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -288,7 +288,7 @@ void CSettings::Load() // central server address type if ( GetNumericIniSet ( IniXMLDocument, "client", "centservaddrtype", - 0, 2 /* AT_GENERAL_NORTHAMERICA */, iValue ) ) + 0, 4 /* AT_GENRE_JAZZ */, iValue ) ) { pClient->SetCentralServerAddressType ( static_cast ( iValue ) ); } @@ -304,7 +304,7 @@ if ( GetFlagIniSet ( IniXMLDocument, "client", "defcentservaddr", bValue ) ) // only the case that manual was set in old ini must be considered if ( !bValue ) { - pClient->SetCentralServerAddressType ( AT_MANUAL ); + pClient->SetCentralServerAddressType ( AT_CUSTOM ); } } @@ -359,7 +359,7 @@ if ( GetFlagIniSet ( IniXMLDocument, "client", "defcentservaddr", bValue ) ) // central server address type (note that it is important // to set this setting prior to the "central server address") if ( GetNumericIniSet ( IniXMLDocument, "server", "centservaddrtype", - 0, 2 /* AT_GENERAL_NORTHAMERICA */, iValue ) ) + 0, 4 /* AT_GENRE_JAZZ */, iValue ) ) { pServer->SetCentralServerAddressType ( static_cast ( iValue ) ); } @@ -375,7 +375,7 @@ if ( GetFlagIniSet ( IniXMLDocument, "server", "defcentservaddr", bValue ) ) // only the case that manual was set in old ini must be considered if ( !bValue ) { - pServer->SetCentralServerAddressType ( AT_MANUAL ); + pServer->SetCentralServerAddressType ( AT_CUSTOM ); } } diff --git a/src/util.cpp b/src/util.cpp index 825919a6..abccb739 100755 --- a/src/util.cpp +++ b/src/util.cpp @@ -950,8 +950,10 @@ QString NetworkUtil::GetCentralServerAddress ( const ECSAddType eCentralServerAd { switch ( eCentralServerAddressType ) { - case AT_MANUAL: return strCentralServerAddress; + case AT_CUSTOM: return strCentralServerAddress; case AT_GENERAL_NORTHAMERICA: return CENTSERV_GENERAL_NORTHAMERICA; + case AT_GENRE_ROCK: return CENTSERV_GENRE_ROCK; + case AT_GENRE_JAZZ: return CENTSERV_GENRE_JAZZ; default: return DEFAULT_SERVER_ADDRESS; // AT_DEFAULT } } diff --git a/src/util.h b/src/util.h index 09840f7e..8d5d8c6f 100755 --- a/src/util.h +++ b/src/util.h @@ -566,20 +566,28 @@ enum ELicenceType enum ECSAddType { // used for settings -> enum values must be fixed! - AT_MANUAL = 0, + AT_CUSTOM = 0, AT_DEFAULT = 1, - AT_GENERAL_NORTHAMERICA = 2 + AT_GENERAL_NORTHAMERICA = 2, + AT_GENRE_ROCK = 3, + AT_GENRE_JAZZ = 4 }; inline QString csCentServAddrTypeToString ( ECSAddType eAddrType ) { switch ( eAddrType ) { - case AT_MANUAL: - return QCoreApplication::translate ( "CClientSettingsDlg", "Manual" ); + case AT_CUSTOM: + return QCoreApplication::translate ( "CClientSettingsDlg", "Custom" ); case AT_GENERAL_NORTHAMERICA: - return QCoreApplication::translate ( "CClientSettingsDlg", "Default (North America)" ); + return QCoreApplication::translate ( "CClientSettingsDlg", "All Genres" ); + + case AT_GENRE_ROCK: + return QCoreApplication::translate ( "CClientSettingsDlg", "Genre Rock" ); + + case AT_GENRE_JAZZ: + return QCoreApplication::translate ( "CClientSettingsDlg", "Genre Jazz" ); default: // AT_DEFAULT return QCoreApplication::translate ( "CClientSettingsDlg", "Default" ); From 1cfcbe09fc3b55f038d31d322c365779da9a0e7d Mon Sep 17 00:00:00 2001 From: Volker Fischer Date: Sun, 17 May 2020 18:02:56 +0200 Subject: [PATCH 11/15] adjust URL for rock/jazz central servers --- ChangeLog | 6 ++++-- src/global.h | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index e77e91bb..d65d8403 100644 --- a/ChangeLog +++ b/ChangeLog @@ -11,6 +11,10 @@ - duplicate Central Server type dropdown to Connection Setup (#157) +TODO implement panning for channels (Ticket #52, #145) + + + TODO Central Server Address: "Default" results in empty server browser, "Default (North America)" works fine #156 -> made max list smaller from 200 to 150 -> check if that is sufficient to prevent UDP packet fragmentation @@ -22,8 +26,6 @@ TODO fix incorrect what's this help texts TODO WIP support internationalization -TODO implement panning for channels (Ticket #52, #145) - TODO show mute state of others diff --git a/src/global.h b/src/global.h index 38690db1..79911ea2 100755 --- a/src/global.h +++ b/src/global.h @@ -105,8 +105,8 @@ LED bar: lbr #define DEFAULT_SERVER_ADDRESS "jamulus.fischvolk.de" #define DEFAULT_PORT_NUMBER 22124 #define CENTSERV_GENERAL_NORTHAMERICA "jamulus.fischvolk.de:22224" -#define CENTSERV_GENRE_ROCK "jamulus.drealm.info:22124" -#define CENTSERV_GENRE_JAZZ "jamulus.drealm.info:22224" +#define CENTSERV_GENRE_ROCK "centralrock.drealm.info:22124" +#define CENTSERV_GENRE_JAZZ "centraljazz.drealm.info:22224" // getting started and software manual URL #define CLIENT_GETTING_STARTED_URL "https://github.com/corrados/jamulus/wiki/Getting-Started" From 641eaec426c11d725e8b6b4ee06bcf082212bb5a Mon Sep 17 00:00:00 2001 From: Volker Fischer Date: Sun, 17 May 2020 18:12:03 +0200 Subject: [PATCH 12/15] added vocal bass/tenor/alto/soprano instrument icons created by Alberstein8 (Ticket #131) --- ChangeLog | 2 ++ Jamulus.pro | 4 ++++ src/res/instruments/vocalalto.png | Bin 0 -> 2141 bytes src/res/instruments/vocalbass.png | Bin 0 -> 2163 bytes src/res/instruments/vocalsoprano.png | Bin 0 -> 2196 bytes src/res/instruments/vocaltenor.png | Bin 0 -> 2174 bytes src/res/translation/translation_de_DE.ts | 20 ++++++++++++++++++++ src/res/translation/translation_es_ES.ts | 20 ++++++++++++++++++++ src/res/translation/translation_fr_FR.ts | 20 ++++++++++++++++++++ src/res/translation/translation_nl_NL.ts | 20 ++++++++++++++++++++ src/res/translation/translation_pt_PT.ts | 20 ++++++++++++++++++++ src/resources.qrc | 4 ++++ src/util.cpp | 4 ++++ 13 files changed, 114 insertions(+) create mode 100644 src/res/instruments/vocalalto.png create mode 100644 src/res/instruments/vocalbass.png create mode 100644 src/res/instruments/vocalsoprano.png create mode 100644 src/res/instruments/vocaltenor.png diff --git a/ChangeLog b/ChangeLog index d65d8403..c69de128 100644 --- a/ChangeLog +++ b/ChangeLog @@ -10,6 +10,8 @@ - duplicate Central Server type dropdown to Connection Setup (#157) +- added vocal bass/tenor/alto/soprano instrument icons created by Alberstein8 (Ticket #131) + TODO implement panning for channels (Ticket #52, #145) diff --git a/Jamulus.pro b/Jamulus.pro index 2884dcba..66da708f 100755 --- a/Jamulus.pro +++ b/Jamulus.pro @@ -719,6 +719,10 @@ DISTFILES += ChangeLog \ src/res/instruments/congas.png \ src/res/instruments/bongo.svg \ src/res/instruments/bongo.png \ + src/res/instruments/vocalbass.png \ + src/res/instruments/vocaltenor.png \ + src/res/instruments/vocalalto.png \ + src/res/instruments/vocalsoprano.png \ src/res/flags/flagnone.png \ src/res/flags/ad.png \ src/res/flags/ae.png \ diff --git a/src/res/instruments/vocalalto.png b/src/res/instruments/vocalalto.png new file mode 100644 index 0000000000000000000000000000000000000000..3497f76e76d89eeea2476333fc2270f7f75d384b GIT binary patch literal 2141 zcmV-j2%`6iP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D2l7coK~zXfjaPe& zTvZ+Z?sI1D%tqNG*?wnf^|5=y#aqp2D(q+*+*Cg7SX75u{xQ8Xri zpn=+Gq+2yH1Y;vcOe1ZA?H^QI5Vo{#x37K9&il@N`<*kh%R<|2zsWD>oICg4^PS)O zDu4aKt|*f*04I-Jv4AD*Eog0SLb2o`3`1BA%_zGOLN9`*DM%+%@VzQL7eoWn?MtB- zfD?ZT(EV`(C;onp&$;lNS?CY-ZoToHM<8Akg$Ouh>I`}aQFN{Ep|4hHtzjkS9}D_@@ZOA4y0Msfi} zoIg1?|9~VYBm<3`=U_V#lJNw}Wt)T|%oGZ6eFYV#f_xzh$1VekiiuK$vy%z5et0e3 zetHDiF&|+7Xu86Ufg=wd74OCRefP`pGUyNJ=5)n{%97VixP6$D0Y#Ll!UjYLH1NB)AhYlUWfuVia{_S1p{X(xe zb;PI?1{4nbQ_jC5=9D>qnRjwEj5J10h-zqHV!Dj6tb?)X0LMqNl1S#pjC?>~<3I1j zkDh!)5}1?AVNyMf5%q9=by>_4SqSB+uWyS=zJ?HST$r3diT<;Fnbah-goeG&9}t)s zJpYT`^4gUkG$QclSKh$jnm*jN@ou@{6*Tic)bD|6WR}2>H(|W&Vsm~QzJv!+JSn27 zX7>_(=hx3ZiX;5;Q#Xb-3}Wx&KSytS*F2F$AkDH6 z^qB){B}(E`$JgVY3!lR`-`Xz!_(}L%JofH$_@TQ8FAhJ4h_5DZzJi&Uj;?7MbX{l2 zb1pKK7oe^4dfc>r3wD0%^NSLp79OY6SHRY-TP3k5iXK)Y!$f*n8o#t&!p(Pn89(;+ z2$oFyt!QcO!5wSACT@gJHHJzk_%Io=7SQ1}{t#4W8llMsSL z$Nv5M#kCtae@C@iJEd7-$uy#XuTP|5F%x?{bt=_>_O=h<_JJMLj6y;r5_u#QFiQuh zL_W2{$m6xfhBm~__fC8zP%9pXHcAU+sy_cO1!}^SWdRR$ZGl16_g=q}CBT8H8_=2l z4W7QGr5&qRZAPF(6j7>}`e`bmF_upz0fqS~E;V`;3{gZPnxNg5 z(oA8xm2(L-!_$=dj=;L>m?SiKY9+p+tU~8?OHpOr@_lYk|47icRxKZZ&y76_8w{ax zmVk&F0sK-Hg>0_=+Qq@=gn4Et{S+}@L4g`KLz;tis4$AQd&i_R3p`+c8jr5LkA)+K zYNbp+Ez4u1X&#rF2}n@rBB1Zsb`_CZg=W`E!D1khC+bsS(>EDSV*VDTUsVE|zG5)3 z#n~`jMCY25@H!4krw;4@4=>#eu$j^o8&PEjrlKKb=nQw7i$ug|rV@x*Nmy3R{}uzy z^u4;NBp6L|h4N>r!Ep6TMd^UhL*%CZM~6+I>z-5cW?{PZnF0!U#k*0cDECW5Q zDXF+_JBMy6_Dz9f&Hez)64DNbu!}~VksjsOV$k8oLkpNrZY8mBH z1t!fEPg-mz#$g8q*x|5zAaodJgfLyQqYLG!k$EBl7wvcD_~Hw{kuSaqE_;t^7fW!R zBK;D5h0-DIMn?^d}!e7IIH zuLNpg*TQiDJXN%m3bp9F>~&|RnT0*}vpVwhBgND)og0VQZX&kkkR&7=+n#2=(i?%* z{pcI)#uJ1jXa z25x#^J+x~beGQ@{oKWpbi5fBZi9!dqE3#cMPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D2nb0;K~zXf#aDZb zR97AT?zwm7&fJ+h?_FRAc5!*^ZViQ6l}cDC+Dg#WP_>8&t*Oz7X(L9XCL~5;6C~D0 zLTU&xfu=PTw81}WG@3R(LRd0}CR>{^OT?bIyI8 z^PS)MJ^Lg@_mKSRi$m(NW2LjK=SezfDGUZG|oV@B}1Gv^Tss93%% zgKD*kKrjTMI9QmUL#x%m#ydA5779UiTWHoAFcVAQcp5B4AP|iJd?&6qvHK^#=vqf5 zSCE(dE8zX)1X=R0u7hwK2aT447hWHOrV50^I?kSZ4Z)y>O?TaizGNErZ5hP__iV*L zTt_D8U}$A8Ow&X-){CII1QD|rZo@?Y8WiZAp`q>CwX4OpD@5WP?-kkJ-oCsRqTaGm zv@EXBgG)9WO?-UQMl6e)$d6w_HWfoiI9M7BA+4*3sv5>F<7NF%%mf7G@_~OPW)O< z?sX<#?9kjxJWbwD{)yZsg>*%WV90=F)sZ&2atcucK~yUh`icUlMPD)uD6WFnUz@WCi$w(s#S$zEzI)F%{f{?q-t4y$r%s*1@vnXb z%hwEJ=;7V?%#P3bmT5o5IQc{Juz%GS_qTQzaKwmi(19W*0J6ax*s@XS$+_GhtLC>SPh4+XH%(6Im0+i>W? zFJSV*7?!RZ!s9N z;22l@>@z3v)RCt!KRtzzrXip)fzWzUzON`A7ojmH1>ps|K6(ZF$$s)S@@09WgH)&O z;=ANu$ZaBQrqHq*P=$tM?;y&yh94jMC7wQcl51chV^k@g1J7f0F+mE2YKR86#BI7L zRAvxa-j7;2=igrhX#u%!lzt6{I<1VLy=)G&ukf5Of&myY6Y-@Skbd;|v7>&)QaG0C z`xX0a6xZ{eTnh4p2dmkD!el77R%bRI9$D|ddkc_T(#1>U>UI~sqRDI*ms=Hz;^3h} z2r-c{t-$W=tj7?SU~Yr!a*=%4q#)W0nx`V-g&F=TPQUU`|GjsC+_DGST^u3hM`NVi z<2exy8!)-L#|}QmBBvl6V15p;!sr_6v`&L;Nz2eYLRw4Zcibu&{!X(6)v{4Ndlso! zl;hnL(##LFyFO%Ccf-%$N)hYpN6XW}Ns8pLIfSLvZjM1xI;+Gt$P4Z6Rfzf7DKzXR?%i@X?504yE|_Cz8O=i?8ic_j zY#4$Ta{XjswJ41uEJfvee3yO%mt|vqwmss10TbLCo$iz5Z`$2!A*^Zzb~TUDJ3fR* zzWA`ec|nfPg|lY0=tC+pNdrA;9Z@rgo@~-Ds2(lh@T?;g7nS)ULW+&EPwek_+O=3* z42kcNGXMMs#NYq=JbwR&-{SO{mk_0|eC_i)VKTxZJSx;`oRs0)tXCM`f;oteU9X{U z)e@*d8bnnX+GRek!sYS7n5lGzy^6&`*beZPJY3xnLJzW13l-Ca9Lgouq0-yfKDrfq zcI?E4{uMlZ0fiD>m!T}^J2ub3;+46&CFvw4r)MZkV08T|c(nksW&)-W;UooI%*`OQb`X}=K!cV2!arUF z@;2TVj^ZO*N3r{%U6?-oDyGI~vFY$pyuovrVIw?dIyCp&^997E z*D}9+U}ONjh%?~{7~!y=e*yuWVXxCV^L{BL)gqdOGBj?lU3IbX=ZCvuWGFvJ z7W~=X1!6;A0_ju=BfSY88%*dt(FN!W7SF{mzWOFECPZQdv~;#Jv=3P z^7!-RG5jk(g_2#zyj4SmqFkN`D+u#s+mGPjIs}&wW7bkJQ7`)g(<(B_$uxD#P(QhD z&3+lm9{-dz8L~EGdLW&UDHk=n<=3JH?^_hm6A2*GlSZyuMoVz3nsvN0H3$B4!R6U$ z{;3OL$AKS65$_4|ct`VFoSgrC{4J8{USYD+eGAccev)(foQ{L3(gOdUXee3JJetx% pS`Aaxao9=)_wV2Lo`nFwzX6fEI!zEhZfyVn002ovPDHLkV1fXm`!fIl literal 0 HcmV?d00001 diff --git a/src/res/instruments/vocalsoprano.png b/src/res/instruments/vocalsoprano.png new file mode 100644 index 0000000000000000000000000000000000000000..36e6dfe8983b8fe988404b71a05e08b88a2c737d GIT binary patch literal 2196 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 AEC2ui literal 0 HcmV?d00001 diff --git a/src/res/translation/translation_de_DE.ts b/src/res/translation/translation_de_DE.ts index c1327efc..87c5608d 100644 --- a/src/res/translation/translation_de_DE.ts +++ b/src/res/translation/translation_de_DE.ts @@ -1920,6 +1920,26 @@ Bongo Bongos + + + Vocal Bass + + + + + Vocal Tenor + + + + + Vocal Alto + + + + + Vocal Soprano + + CServerDlg diff --git a/src/res/translation/translation_es_ES.ts b/src/res/translation/translation_es_ES.ts index ca6ddcf9..79c75f2c 100644 --- a/src/res/translation/translation_es_ES.ts +++ b/src/res/translation/translation_es_ES.ts @@ -1928,6 +1928,26 @@ Bongo Bongo + + + Vocal Bass + + + + + Vocal Tenor + + + + + Vocal Alto + + + + + Vocal Soprano + + CServerDlg diff --git a/src/res/translation/translation_fr_FR.ts b/src/res/translation/translation_fr_FR.ts index 2b615c79..a2a9fd20 100644 --- a/src/res/translation/translation_fr_FR.ts +++ b/src/res/translation/translation_fr_FR.ts @@ -1932,6 +1932,26 @@ Bongo Bongo + + + Vocal Bass + + + + + Vocal Tenor + + + + + Vocal Alto + + + + + Vocal Soprano + + CServerDlg diff --git a/src/res/translation/translation_nl_NL.ts b/src/res/translation/translation_nl_NL.ts index 1f2be105..af3280b9 100644 --- a/src/res/translation/translation_nl_NL.ts +++ b/src/res/translation/translation_nl_NL.ts @@ -1920,6 +1920,26 @@ Bongo Bongo + + + Vocal Bass + + + + + Vocal Tenor + + + + + Vocal Alto + + + + + Vocal Soprano + + CServerDlg diff --git a/src/res/translation/translation_pt_PT.ts b/src/res/translation/translation_pt_PT.ts index 7e0ad142..5a1fe26d 100644 --- a/src/res/translation/translation_pt_PT.ts +++ b/src/res/translation/translation_pt_PT.ts @@ -1932,6 +1932,26 @@ Bongo Bongo + + + Vocal Bass + + + + + Vocal Tenor + + + + + Vocal Alto + + + + + Vocal Soprano + + CServerDlg diff --git a/src/resources.qrc b/src/resources.qrc index a60fac09..c10bebbc 100755 --- a/src/resources.qrc +++ b/src/resources.qrc @@ -71,6 +71,10 @@ res/instruments/viola.png res/instruments/congas.png res/instruments/bongo.png + res/instruments/vocalbass.png + res/instruments/vocaltenor.png + res/instruments/vocalalto.png + res/instruments/vocalsoprano.png res/fronticon.png diff --git a/src/util.cpp b/src/util.cpp index abccb739..3dfcfc01 100755 --- a/src/util.cpp +++ b/src/util.cpp @@ -1007,6 +1007,10 @@ CVector& CInstPictures::GetTable() vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Viola" ), ":/png/instr/res/instruments/viola.png", IC_STRING_INSTRUMENT ) ); vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Congas" ), ":/png/instr/res/instruments/congas.png", IC_PERCUSSION_INSTRUMENT ) ); vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Bongo" ), ":/png/instr/res/instruments/bongo.png", IC_PERCUSSION_INSTRUMENT ) ); + vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Vocal Bass" ), ":/png/instr/res/instruments/vocalbass.png", IC_OTHER_INSTRUMENT ) ); + vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Vocal Tenor" ), ":/png/instr/res/instruments/vocaltenor.png", IC_OTHER_INSTRUMENT ) ); + vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Vocal Alto" ), ":/png/instr/res/instruments/vocalalto.png", IC_OTHER_INSTRUMENT ) ); + vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Vocal Soprano" ), ":/png/instr/res/instruments/vocalsoprano.png", IC_OTHER_INSTRUMENT ) ); // now the table is initialized TableIsInitialized = true; From 33d6b9db68a6ead7677d46448c735bf232452fe7 Mon Sep 17 00:00:00 2001 From: Olivier Humbert Date: Sun, 17 May 2020 19:34:04 +0200 Subject: [PATCH 13/15] French translation update --- src/res/translation/translation_fr_FR.ts | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/res/translation/translation_fr_FR.ts b/src/res/translation/translation_fr_FR.ts index a2a9fd20..ff143b50 100644 --- a/src/res/translation/translation_fr_FR.ts +++ b/src/res/translation/translation_fr_FR.ts @@ -192,7 +192,7 @@ Personal Mix at the Server: - + Mixage personnel au serveur : @@ -1163,22 +1163,22 @@ Custom - + Personnalisé All Genres - + Tous les genres Genre Rock - + Genre Rock Genre Jazz - + Genre Jazz @@ -1187,7 +1187,7 @@ Default (North America) - Défault (Amérique du Nord) + Défaut (Amérique du Nord) @@ -1482,7 +1482,7 @@ List - + Liste @@ -1935,22 +1935,22 @@ Vocal Bass - + Voix basse Vocal Tenor - + Voix ténor Vocal Alto - + Voix alto Vocal Soprano - + Voix soprano @@ -2395,7 +2395,7 @@ Please restart the software. - + Veuillez redémarrer le logiciel From 27602468b9d8a15dd5c29d1e89a48ac5477eb78b Mon Sep 17 00:00:00 2001 From: Olivier Humbert Date: Sun, 17 May 2020 23:22:07 +0200 Subject: [PATCH 14/15] French translation update --- src/res/translation/translation_fr_FR.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/res/translation/translation_fr_FR.ts b/src/res/translation/translation_fr_FR.ts index ff143b50..15c49444 100644 --- a/src/res/translation/translation_fr_FR.ts +++ b/src/res/translation/translation_fr_FR.ts @@ -2250,7 +2250,7 @@ The Jack server is not running. This software requires a Jack server to run. Normally if the Jack server is not running this software will automatically start the Jack server. It seems that this auto start has not worked. Try to start the Jack server manually. - + Le serveur Jack n'est pas démarré. Ce logiciel nécessite un serveur Jack pour fonctionner. Normalement, si le serveur Jack n'est pas en cours d'exécution, ce logiciel démarrera automatiquement le serveur Jack. Il semble que ce démarrage automatique n'ait pas fonctionné. Essayez de démarrer le serveur Jack manuellement. From 59501c5f229531ab91dabf08cb4a1f6907df204f Mon Sep 17 00:00:00 2001 From: Olivier Humbert Date: Mon, 18 May 2020 00:27:32 +0200 Subject: [PATCH 15/15] update debian packaging --- distributions/debian/control | 3 --- 1 file changed, 3 deletions(-) diff --git a/distributions/debian/control b/distributions/debian/control index 10809972..9f198a9c 100644 --- a/distributions/debian/control +++ b/distributions/debian/control @@ -23,9 +23,6 @@ Depends: ${shlibs:Depends}, ${misc:Depends}, adduser, - jackd, - qt5-default, - qtchooser, Description: Low latency Audio Server/Client The Jamulus software enables musicians to perform real-time jam sessions over the internet. There is one server running the Jamulus server software which