From bfc438ba20a3edac7ce465a1f5c258a919025a43 Mon Sep 17 00:00:00 2001 From: Volker Fischer Date: Thu, 11 Jun 2020 18:43:32 +0200 Subject: [PATCH 01/23] rename new skin to Compact --- src/clientsettingsdlg.cpp | 6 +- src/res/translation/translation_de_DE.qm | Bin 99231 -> 99376 bytes src/res/translation/translation_de_DE.ts | 212 +++++++++++++--------- src/res/translation/translation_es_ES.qm | Bin 96475 -> 95947 bytes src/res/translation/translation_es_ES.ts | 212 +++++++++++++--------- src/res/translation/translation_fr_FR.qm | Bin 62706 -> 102210 bytes src/res/translation/translation_fr_FR.ts | 214 +++++++++++++--------- src/res/translation/translation_it_IT.qm | Bin 60039 -> 59515 bytes src/res/translation/translation_it_IT.ts | 212 +++++++++++++--------- src/res/translation/translation_nl_NL.qm | Bin 55412 -> 54888 bytes src/res/translation/translation_nl_NL.ts | 212 +++++++++++++--------- src/res/translation/translation_pl_PL.ts | 220 +++++++++++++---------- src/res/translation/translation_pt_PT.qm | Bin 99129 -> 98567 bytes src/res/translation/translation_pt_PT.ts | 212 +++++++++++++--------- 14 files changed, 875 insertions(+), 625 deletions(-) diff --git a/src/clientsettingsdlg.cpp b/src/clientsettingsdlg.cpp index 0f0ce05f..26315b8e 100755 --- a/src/clientsettingsdlg.cpp +++ b/src/clientsettingsdlg.cpp @@ -331,9 +331,9 @@ CClientSettingsDlg::CClientSettingsDlg ( CClient* pNCliP, QWidget* parent, // GUI design (skin) combo box cbxSkin->clear(); - cbxSkin->addItem ( tr ( "Normal" ) ); // GD_STANDARD - cbxSkin->addItem ( tr ( "Fancy" ) ); // GD_ORIGINAL - cbxSkin->addItem ( tr ( "Slim Channel" ) ); // GD_SLIMFADER + cbxSkin->addItem ( tr ( "Normal" ) ); // GD_STANDARD + cbxSkin->addItem ( tr ( "Fancy" ) ); // GD_ORIGINAL + cbxSkin->addItem ( tr ( "Compact" ) ); // GD_SLIMFADER cbxSkin->setCurrentIndex ( static_cast ( pClient->GetGUIDesign() ) ); // custom central server address diff --git a/src/res/translation/translation_de_DE.qm b/src/res/translation/translation_de_DE.qm index 8c0751c92f5811ada22d739c3548fc20b2b1aaf5..92eb290f20a113ac5d1be0b45543673cb1b0ab8a 100644 GIT binary patch delta 4333 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 KXKLl(ZT|%-R}8HH delta 4237 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 NA5|&}Up0)_@*jh-_uBvf diff --git a/src/res/translation/translation_de_DE.ts b/src/res/translation/translation_de_DE.ts index 090d653c..dc3211ad 100644 --- a/src/res/translation/translation_de_DE.ts +++ b/src/res/translation/translation_de_DE.ts @@ -190,17 +190,17 @@ CAudioMixerBoard - + Server - + T R Y I N G T O C O N N E C T V E R B I N D U N G S A U F B A U - + Personal Mix at the Server: Eigener Mix am Server: @@ -208,7 +208,7 @@ CChannelFader - + Channel Level Kanalpegel @@ -217,12 +217,12 @@ Zeigt den Audiopegel vor dem Lautstärkeregler des Kanals. Allen verbundenen Musikern am Server wird ein Audiopegel zugewiesen. - + Input level of the current audio channel at the server Eingangspegel des aktuellen Musikers am Server - + Mixer Fader Kanalregler @@ -231,17 +231,17 @@ Regelt die Lautstärke des Kanals. Für alle Musiker, die gerade am Server verbunden sind, wird ein Lautstärkeregler angezeigt. Damit kann man seinen eigenen lokalen Mix erstellen. - + Local mix level setting of the current audio channel at the server Lokale Mixerpegeleinstellung des aktuellen Kanals am Server - + Status Indicator Statusanzeige - + Shows a status indication about the client which is assigned to this channel. Supported indicators are: Zeigt den Status über den Musiker, der dem Kanal zugewiesen ist. Unterstützte Indikatoren sind: @@ -250,12 +250,12 @@ Durchgestrichener Lautsprecher: Zeigt an, dass der andere Musiker dich stummgeschaltet hat. - + Status indicator label Statusanzeige - + Panning Pan @@ -264,17 +264,17 @@ Legt die Pan-Position von Links nach Rechts fest. Der Pan funktioniert nur im Stereo oder Mono-In/Stereo-Out Modus. - + Local panning position of the current audio channel at the server Lokale Pan-Position von dem aktuellen Audiokanal am Server - + With the Mute checkbox, the audio channel can be muted. Mit dem Mute-Schalter kann man den Kanal stumm schalten. - + Mute button Mute Schalter @@ -283,12 +283,12 @@ Bei aktiviertem Solo Status hört man nur diesen Kanal. Alle anderen Kanäle sind stumm geschaltet. Es ist möglich mehrere Kanäle auf Solo zu stellen. Dann hört man nur die Kanäle, die auf Solo gestellt wurden. - + Solo button Solo Schalter - + Fader Tag Kanalbeschriftung @@ -297,124 +297,135 @@ Mit der Kanalbeschriftung wird der verbundene Teilnehmen identifiziert. Der Name, ein Bild des Instruments und eine Flagge des eigenen Landes kann im eigenen Profil ausgewählt werden. - + Displays the pre-fader audio level of this channel. All clients connected to the server will be assigned an audio level, the same value for every client. Zeigt den Audiopegel vor dem Lautstärkeregler des Kanals. Allen verbundenen Musikern am Server wird ein Audiopegel zugewiesen. - + Adjusts the audio level of this channel. All clients connected to the server will be assigned an audio fader, displayed at each client, to adjust the local mix. Regelt die Lautstärke des Kanals. Für alle Musiker, die gerade am Server verbunden sind, wird ein Lautstärkeregler angezeigt. Damit kann man seinen eigenen lokalen Mix erstellen. - + Speaker with cancellation stroke: Indicates that another client has muted you. Durchgestrichener Lautsprecher: Zeigt an, dass der andere Musiker dich stummgeschaltet hat. - + Sets the pan from Left to Right of the channel. Works only in stereo or preferably mono in/stereo out mode. Legt die Pan-Position von Links nach Rechts fest. Der Pan funktioniert nur im Stereo oder Mono-In/Stereo-Out Modus. - + With the Solo checkbox, the audio channel can be set to solo which means that all other channels except the soloed channel are muted. It is possible to set more than one channel to solo. Bei aktiviertem Solo Status hört man nur diesen Kanal. Alle anderen Kanäle sind stumm geschaltet. Es ist möglich mehrere Kanäle auf Solo zu stellen. Dann hört man nur die Kanäle, die auf Solo gestellt wurden. - + The fader tag identifies the connected client. The tag name, a picture of your instrument and the flag of your country can be set in the main window. Mit der Kanalbeschriftung wird der verbundene Teilnehmen identifiziert. Der Name, ein Bild des Instruments und eine Flagge des eigenen Landes kann im eigenen Profil ausgewählt werden. - + Mixer channel instrument picture Mixerkanal Instrumentenbild - + Mixer channel label (fader tag) Mixerkanalbeschriftung - + Mixer channel country flag Mixerkanal Landesflagge - + PAN - + MUTE - + SOLO - + + M + + + + + S + + + + Alias/Name - + Instrument - + Location Standort - - - + + + Skill Level Spielstärke - + Beginner Anfänger - + Intermediate Mittlere Spielstärke - + Expert Experte - + Musician Profile Profil des Musikers - - + + Mute + Pan - - + + Solo @@ -1086,6 +1097,16 @@ Sound Card Buffer Delay Soundkarten Puffergröße + + + Fancy + Schick + + + + Compact + Kompakt + The buffer delay setting is a fundamental setting of the Die Soundkartenpuffergröße ist eine fundamentale Einstellung der @@ -1166,19 +1187,16 @@ ASIO-Einstellungen Knopf - Fancy Skin - Schicke Oberfläche + Schicke Oberfläche - If enabled, a fancy skin will be applied to the main window. - Falls aktiviert wird eine schicke Oberfläche im Hauptfenster verwendet. + Falls aktiviert wird eine schicke Oberfläche im Hauptfenster verwendet. - Fancy skin check box - Schicke Oberfläche Schalter + Schicke Oberfläche Schalter @@ -1305,7 +1323,7 @@ - + Mono @@ -1315,14 +1333,14 @@ Modus ist die Übertragungsrate etwas höher. Man muss sicher stellen, dass die Internetverbindung die höhere Rate übertragen kann. - + Mono-in/Stereo-out Mono-In/Stereo-Out - + Stereo @@ -1381,6 +1399,21 @@ If the buffer delay settings are disabled, it is prohibited by the audio driver to modify this setting from within the software. On Windows, press the ASIO Setup button to open the driver settings panel. On Linux, use the Jack configuration tool to change the buffer size. Falls keiner der vorgegebenen Puffergrößen ausgeählt ist und alle Einstellungen deaktiviert sind, dann wird eine nicht unterstützte Puffergröße im Soundkartentreiber verwendet. Unter Windows kann man den ASIO-Einstellungen Knopf drücken, um die Treibereinstellungen zu öffnen. Unter Linux kann man ein Jack-Konfigurationswerkzeug verwenden, um die Puffergröße zu verändern. + + + Skin + Oberfläche + + + + Select the skin to be used for the main window. + Wählt die Oberfläche aus, die für das Hauptfenster verwendet werden soll. + + + + Skin combo box + Oberfläche Combo-Box + Selects the number of audio channels to be used for communication between client and server. There are three modes available: @@ -1451,17 +1484,18 @@ Die Upload-Rate hängt von der Soundkartenpuffergröße und die Audiokomprimierung ab. Man muss sicher stellen, dass die Upload-Rate immer kleiner ist als die Rate, die die Internetverbindung zur Verfügung stellt (man kann die Upload-Rate des Internetproviders z.B. mit speedtest.net überprüfen). - + Low Niedrig - + + Normal Normal - + High Hoch @@ -1470,22 +1504,22 @@ Manuell - + Custom Benutzerdefiniert - + All Genres Alle Genres - + Genre Rock Genre Rock - + Genre Jazz Genre Jazz @@ -1494,12 +1528,12 @@ Genre Rock/Jazz - + Genre Classical/Folk/Choir Genre Klassik/Volksmusik/Chor - + Default Standard @@ -1508,23 +1542,23 @@ Standard (Nordamerika) - + preferred bevorzugt - - + + Size: Größe: - + Buffer Delay Puffergröße - + Buffer Delay: Puffergröße: @@ -1533,17 +1567,17 @@ Vordefinierte Adresse - + 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 @@ -1664,22 +1698,26 @@ Pegel für neuen Teilnehmer - + + Skin + Oberfläche + + + % - Fancy Skin - Schicke Oberfläche + Schicke Oberfläche - + Display Channel Levels Zeige Signalpegel - + Custom Central Server Address: Benutzerdefinierte Zentralserveradresse: @@ -1688,24 +1726,24 @@ Zentralserveradresse: - + Audio Stream Rate Netzwerkrate - - - + + + val Wert - + Ping Time Ping-Zeit - + Overall Delay Gesamtverzögerung @@ -2638,42 +2676,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 diff --git a/src/res/translation/translation_es_ES.qm b/src/res/translation/translation_es_ES.qm index 0a4a97b5c3613f0ad9e8142fc60ab46b41429a99..89bebdb926be8c2f3161e81e73b07b9e3cae2abe 100644 GIT binary patch delta 3670 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 delta 4020 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 U&Bp(a3B7UeZQB$2Kf`zZ2Q<&Tx&QzG diff --git a/src/res/translation/translation_es_ES.ts b/src/res/translation/translation_es_ES.ts index 20f8d3d4..84e93f55 100644 --- a/src/res/translation/translation_es_ES.ts +++ b/src/res/translation/translation_es_ES.ts @@ -194,17 +194,17 @@ CAudioMixerBoard - + Server Servidor - + T R Y I N G T O C O N N E C T I N T E N T A N D O C O N E C T A R - + Personal Mix at the Server: Mezcla Personal en el Servidor: @@ -212,7 +212,7 @@ CChannelFader - + Channel Level Nivel Canal @@ -221,12 +221,12 @@ Muestra el nivel de audio pre-fader de este canal. Todos los clientes conectados al servidor tienen un nivel de audio asignado, el mismo para cada cliente. - + Input level of the current audio channel at the server Nivel de entrada del canal de audio actual en el servidor - + Mixer Fader Fader Mezclador @@ -235,17 +235,17 @@ Ajusta el nivel de audio de este canal. Todos los clientes conectados al servidor tienen asignado un fader en el cliente, ajustando la mezcla local. - + Local mix level setting of the current audio channel at the server Ajuste local de la mezcla del canal de audio actual en el servidor - + Status Indicator Indicador de Estado - + Shows a status indication about the client which is assigned to this channel. Supported indicators are: Muestra una indicación del estado del cliente asignado a este canal. Los indicadores soportados son: @@ -254,12 +254,12 @@ Altavoz tachado: Indica que el otro cliente te ha muteado. - + Status indicator label Etiqueta indicador estado - + Panning Paneo @@ -268,17 +268,17 @@ Fija el paneo de Izquierda a Derecha del canal. Solo funciona en estéreo o preferiblemente en modo Entrada mono/Salida estéreo. - + Local panning position of the current audio channel at the server Posición local del paneo del canal de audio actual en el servidor - + With the Mute checkbox, the audio channel can be muted. Activando Mute, se puede mutear el canal de audio. - + Mute button Botón Mute @@ -287,12 +287,12 @@ Activando Solo, todos los demás canales de audio excepto este se mutean. Es posible activar esta función para más de un canal. - + Solo button Botón Solo - + Fader Tag Etiqueta Fader @@ -301,124 +301,135 @@ La etiqueta del fader identifica al cliente conectado. El nombre de la etiqueta, la imagen de tu instrumento y la bandera de tu país se pueden establecer en la ventana principal. - + Displays the pre-fader audio level of this channel. All clients connected to the server will be assigned an audio level, the same value for every client. Muestra el nivel de audio pre-fader de este canal. Todos los clientes conectados al servidor tienen un nivel de audio asignado, el mismo valor para cada cliente. - + Adjusts the audio level of this channel. All clients connected to the server will be assigned an audio fader, displayed at each client, to adjust the local mix. Ajusta el nivel de audio de este canal. Todos los clientes conectados al servidor tendrán asignado un fader, mostrado en cada cliente, para ajustar la mezcla local. - + Speaker with cancellation stroke: Indicates that another client has muted you. Altavoz tachado: Indica que otro cliente te ha muteado. - + Sets the pan from Left to Right of the channel. Works only in stereo or preferably mono in/stereo out mode. Fija el paneo de Izquierda a Derecha del canal. Solo funciona en modo estéreo o preferiblemente en modo Entrada mono/Salida estéreo. - + With the Solo checkbox, the audio channel can be set to solo which means that all other channels except the soloed channel are muted. It is possible to set more than one channel to solo. Activando Solo, todos los demás canales de audio excepto este se mutean. Es posible activar esta función para más de un canal. - + The fader tag identifies the connected client. The tag name, a picture of your instrument and the flag of your country can be set in the main window. La etiqueta del fader identifica al cliente conectado. El nombre de la etiqueta, la imagen de tu instrumento y la bandera de tu país se pueden establecer en la ventana principal. - + Mixer channel instrument picture Imagen mezclador canal instrumento - + Mixer channel label (fader tag) Etiqueta mezclador canal (etiqueta fader) - + Mixer channel country flag Bandera país mezclador canal - + PAN PAN - + MUTE MUTE - + SOLO SOLO - + + M + + + + + S + + + + Alias/Name Alias/Nombre - + Instrument Instrumento - + Location Ubicación - - - + + + Skill Level Nivel Habilidad - + Beginner Principiante - + Intermediate Intermedio - + Expert Experto - + Musician Profile Perfil Músico - - + + Mute Mute + Pan Paneo - - + + Solo Solo @@ -1098,6 +1109,16 @@ Sound Card Buffer Delay Retardo Buffer Tarjeta Audio + + + Fancy + + + + + Compact + + The buffer delay setting is a fundamental setting of the Este parámetro es una parte fundamental de la configuración del software @@ -1178,19 +1199,16 @@ Botón configuración ASIO - Fancy Skin - Interfaz Oscura + Interfaz Oscura - If enabled, a fancy skin will be applied to the main window. - Si se activa, se aplicará un aspecto oscuro a la ventana principal. + Si se activa, se aplicará un aspecto oscuro a la ventana principal. - Fancy skin check box - Activar interfaz oscura + Activar interfaz oscura @@ -1317,7 +1335,7 @@ - + Mono Mono @@ -1327,14 +1345,14 @@ aumentará la tasa de datos. Asegúrate de que tu tasa de subida no excede el valor de subida disponible con tu ancho de banda de Internet. - + Mono-in/Stereo-out Entrada mono/Salida estéreo - + Stereo Estéreo @@ -1393,6 +1411,21 @@ If the buffer delay settings are disabled, it is prohibited by the audio driver to modify this setting from within the software. On Windows, press the ASIO Setup button to open the driver settings panel. On Linux, use the Jack configuration tool to change the buffer size. Si la configuración de retardo de buffers se encuentra deshabilitada, es porque el driver de audio prohíbe la modificación de este parámetro desde dentro del software. En Windows, pulsa el botón de Configuración ASIO para abrir el panel de configuración del driver. En Linux, utiliza la herramienta de configuración de Jack para cambiar el tamaño del buffer. + + + Skin + + + + + Select the skin to be used for the main window. + + + + + Skin combo box + + Selects the number of audio channels to be used for communication between client and server. There are three modes available: @@ -1463,17 +1496,18 @@ La Tasa de Subida de Audio depende del tamaño actual de paquetes de audio y la configuración de compresión de audio. Asegúrate de que la tasa de subida no es mayor que la velocidad de subida disponible (comprueba la tasa de subida de tu conexión a internet, por ej. con speedtest.net). - + Low Baja - + + Normal Normal - + High Alta @@ -1482,12 +1516,12 @@ Manual - + Custom Personalizado - + All Genres Todos los Géneros @@ -1496,22 +1530,22 @@ Género Rock/Jazz - + Genre Classical/Folk/Choir Género Clásica/Folk/Coro - + Genre Rock Género Rock - + Genre Jazz Género Jazz - + Default Por defecto @@ -1520,23 +1554,23 @@ Por defecto (Norteamérica) - + preferred aconsejado - - + + Size: Tamaño: - + Buffer Delay Retardo Buffer - + Buffer Delay: Retardo Buffer: @@ -1545,17 +1579,17 @@ Dirección Preestablecida - + 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 @@ -1676,22 +1710,26 @@ Nivel Cliente Nuevo - + + Skin + + + + % % - Fancy Skin - Intfaz Oscura + Intfaz Oscura - + Display Channel Levels Mostrar Nivel Canales - + Custom Central Server Address: Dirección Personalizada Servidor Central: @@ -1700,24 +1738,24 @@ Dirección Servidor Central: - + Audio Stream Rate Tasa Muestreo Audio - - - + + + val val - + Ping Time Tiempo Ping - + Overall Delay Retardo Total @@ -2654,42 +2692,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 diff --git a/src/res/translation/translation_fr_FR.qm b/src/res/translation/translation_fr_FR.qm index 9674878990486bc62f0a2a6bb0c723e9d3078a3d..6bd57449f25e3791c13d7ba06927fcdd8d8b6bce 100644 GIT binary patch delta 32619 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 delta 3947 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 diff --git a/src/res/translation/translation_fr_FR.ts b/src/res/translation/translation_fr_FR.ts index bd8aea67..5e993b40 100644 --- a/src/res/translation/translation_fr_FR.ts +++ b/src/res/translation/translation_fr_FR.ts @@ -202,17 +202,17 @@ CAudioMixerBoard - + Server Serveur - + 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: Mixage personnel du serveur : @@ -220,7 +220,7 @@ CChannelFader - + Channel Level Niveau de canal @@ -229,12 +229,12 @@ Affiche le niveau audio pré-fader de ce canal. Tous les clients connectés au serveur se verront attribuer un niveau audio, la même valeur pour chaque client. - + Input level of the current audio channel at the server Niveau d'entrée du canal audio actuel sur le serveur - + Mixer Fader Charriot du mixeur @@ -243,17 +243,17 @@ 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. - + Local mix level setting of the current audio channel at the server Réglage du niveau de mixage local du canal audio actuel sur le serveur - + Status Indicator Indicateur d'état - + Shows a status indication about the client which is assigned to this channel. Supported indicators are: Affiche une indication sur l'état du client qui est affecté à ce canal. Les indicateurs pris en charge sont : @@ -262,12 +262,12 @@ Haut-parleur avec barre d'annulation : indique que l'autre client vous a mis en sourdine. - + Status indicator label Étiquette d'indicateur d'état - + Panning Panoramique @@ -276,17 +276,17 @@ Règle la position panoramique du canal de gauche à droite. Fonctionne uniquement en mode stéréo ou de préférence en mode entrée mono/sortie stéréo. - + Local panning position of the current audio channel at the server Position panoramique locale du canal audio actuel sur le serveur - + With the Mute checkbox, the audio channel can be muted. En cochant la case Muet, le canal audio peut être mis en sourdine. - + Mute button Bouton de sourdine @@ -295,12 +295,12 @@ En cochant la case Solo, le canal audio peut être réglé sur solo, ce qui signifie que tous les autres canaux, à l'exception du canal actuel, sont mis en sourdine. Il est possible de mettre plus d'un canal en solo. - + Solo button Bouton de solo - + Fader Tag Étiquette de chariot @@ -309,124 +309,135 @@ 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. - + Displays the pre-fader audio level of this channel. All clients connected to the server will be assigned an audio level, the same value for every client. Affiche le niveau audio pré-fader de ce canal. Tous les clients connectés au serveur se verront attribuer un niveau audio, la même valeur pour chaque client. - + Adjusts the audio level of this channel. All clients connected to the server will be assigned an audio fader, displayed at each client, to adjust the local mix. Ajuste le niveau audio de ce canal. Tous les clients connectés au serveur se verront attribuer un chariot audio, affiché sur chaque client, pour ajuster le mixage local. - + Speaker with cancellation stroke: Indicates that another client has muted you. Haut-parleur avec barré d'annulation : indique qu'un autre client vous a mis en sourdine. - + Sets the pan from Left to Right of the channel. Works only in stereo or preferably mono in/stereo out mode. Règle le panoramique de gauche à droite du canal. Fonctionne uniquement en mode stéréo ou de préférence en mode entrée mono/sortie stéréo. - + With the Solo checkbox, the audio channel can be set to solo which means that all other channels except the soloed channel are muted. It is possible to set more than one channel to solo. Avec la case-à-cocher Solo, le canal audio peut être réglé sur solo, ce qui signifie que tous les autres canaux, sauf le canal en solo, sont coupés. Il est possible de mettre plus d'un canal en solo. - + The fader tag identifies the connected client. The tag name, a picture of your instrument and the flag of your country can be set in the main window. L'étiquette de chariot identifie le client connecté. Le nom de l'étiquette, une photo de votre instrument et le 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 - + PAN PAN - + MUTE MUET - + SOLO SOLO - + + M + + + + + S + + + + Alias/Name Pseudo/nom - + Instrument Instrument - + Location Localisation - - - + + + Skill Level Niveau de compétence - + Beginner Débutant - + Intermediate Intermédiaire - + Expert Expert - + Musician Profile Profil de musicien - - + + Mute Muet + Pan Pan - - + + Solo Solo @@ -1182,19 +1193,16 @@ Bouton-poussoir de paramétrage ASIO - Fancy Skin - Habillage fantaisie + Habillage fantaisie - If enabled, a fancy skin will be applied to the main window. - Si activée, un habillage fantaisie sera appliqué à la fenêtre principale. + Si activée, un habillage fantaisie sera appliqué à la fenêtre principale. - Fancy skin check box - Case-à-cocher pour l'habillage fantaisie + Case-à-cocher pour l'habillage fantaisie @@ -1321,7 +1329,7 @@ - + Mono Mono @@ -1331,14 +1339,14 @@ mode augmentera le débit de données de votre flux. Assurez-vous que votre débit montant ne dépasse pas la vitesse de téléchargement disponible de votre connexion internet. - + Mono-in/Stereo-out Mono-entrée/stéréo-sortie - + Stereo Stéréo @@ -1397,6 +1405,21 @@ If the buffer delay settings are disabled, it is prohibited by the audio driver to modify this setting from within the software. On Windows, press the ASIO Setup button to open the driver settings panel. On Linux, use the Jack configuration tool to change the buffer size. Si les paramètres de délai de la mémoire tampon sont désactivés, il est interdit par le pilote audio de modifier ce paramètre depuis le logiciel. Sous Windows, appuyez sur le bouton Paramètres ASIO pour ouvrir le panneau des paramètres du pilote. Sous Linux, utilisez l'outil de configuration Jack pour modifier la taille de la mémoire tampon. + + + Skin + + + + + Select the skin to be used for the main window. + + + + + Skin combo box + + Selects the number of audio channels to be used for communication between client and server. There are three modes available: @@ -1463,31 +1486,42 @@ Le débit montant audio dépend de la taille actuelle des paquets audio et du réglage de la compression. Assurez-vous que le débit montant n'est pas supérieur à votre vitesse de téléchargement Internet disponible (vérifiez cela avec un service tel que speedtest.net). - + Low Basse - + + Normal Normale - + High Haute + + + Fancy + + + + + Compact + + Manual Manuel - + Custom Personnalisé - + All Genres Tous les genres @@ -1496,22 +1530,22 @@ Genre rock/jazz - + Genre Classical/Folk/Choir Genre classique/folk/choeur - + Genre Rock Genre Rock - + Genre Jazz Genre Jazz - + Default Défaut @@ -1520,23 +1554,23 @@ Défaut (Amérique du Nord) - + preferred préféré - - + + Size: Taille : - + Buffer Delay Délai de temporisation - + Buffer Delay: Délai de temporisation : @@ -1545,17 +1579,17 @@ 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 @@ -1676,22 +1710,26 @@ Niveau de nouveau client - + + Skin + + + + % % - Fancy Skin - Habillage fantaisie + Habillage fantaisie - + Display Channel Levels Afficher les niveaux des canaux - + Custom Central Server Address: Adresse personnalisée du serveur central : @@ -1700,24 +1738,24 @@ Adresse du serveur central : - + Audio Stream Rate Débit du flux audio - - - + + + val val - + Ping Time Temps de réponse - + Overall Delay Délai global @@ -2425,7 +2463,7 @@ If the start minimized on operating system start check box is checked, the server will be started when the operating system starts up and is automatically minimized to a system task bar icon. - Si la case "Démarrage minimisé au démarrage du système d'exploitation" est cochée, le serveur sera démarré au démarrage du système d'exploitation et sera automatiquement réduit à une icône de la barre des tâches du système. + Si la case "Démarrage minimisé au démarrage du système d'exploitation" est cochée, le serveur sera démarré au démarrage du système d'exploitation et sera automatiquement réduit à une icône de la barre des tâches du système. @@ -2642,42 +2680,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 diff --git a/src/res/translation/translation_it_IT.qm b/src/res/translation/translation_it_IT.qm index 4c02decab9f29f76da9a7a2d9559597737b89028..4ae5f3f6e2ccd86c35c4ff3a0e67093994bdbfcc 100644 GIT binary patch delta 3187 zcmX9=dt8n8AAg^x=Q;OFY)z2FcR~7)_9R zT?Kk9gVcwc&-(+?NIMX{7t)yV3|s-pJP;^qf;4s~1A9T5@*xvnA|r!J;gf;PTaZ#r zK$}=d+ay>KtAw=63wX;FQt^DC^cAGztAMP(pt?X-x|P7tcMmY2jf_*B;n~;+nD2pJ zm(Bwn_rY)DSwJbmZ}%b~aS{A(i$JFu8FRP8Y-7NbE%2Xy8?c>(e>vmX8WG@~YXz=( zAfRk5(7geHRhs}sEXECE1!*@hA(R{U=!lSTQWu?wus1J&o`nd1Kt?`kkBH9i0iQ32 zMd=Q#bAhFG-8w5`0^)!<4M@r(L*4Eorz{^BaSL0Qlmec=;@ciqn6N)~d)XZYoi$?{ z_KltdoDzhdyb?WB0U!aU#supw0uUR4XIJ18tgonik{aJSY(Dz+VW z1Ge8+oLkRa!tW{0?JEX$`Y5iyjV4TBD}P+zYYV1=A>mnWU7O*;t6#U;^2OC4)M7|@HHm-$q|P|QwC6IMhDxm zSYUCO!^XldfpRz;SUecG`I*Cu-}pZ8mFT=kU;)F$VXZ=y%EYOG7l48$(X!()aQKBd zcYyUYFtn|>EIyhk`-;o*7E#F~#U%eez!*<4w|O8C<04~%UCe9s3s-*`yW7P4i=UAZ zo48};Wh%W&+_}mO1Z9i6#;qokH^hP~9OcoyIRP8ROYs{3?Qj{>c8Ik@7%;Y6#(De28)vC2AyoXuo=nUTe{~B73e95OO%I^| z67l|-T6#o;_-Fv%|MZUd;?+p{n3rVymlH9lSjJozsY~z_PFSgA_3Ff)+iRtM+t|zR z|CELrC=Rho8fG~J6njX%E#ragZj#^YuKd57G{w$Vjax27C-i23dTH)J7Yh8L^l|GT z?U^SneR7wKMo4M1zXA4kk=7<;0bgvCGONi{&-qezG?|+ARN7eg8_@5Cy+V4&n&2$u z<*`n+UB;MHBDcvdlD4T&Q;HX*ZEF&M+*+xi@)RZYQabxDKQBHgRrXJ#Y?%%#zeyIDhmedDY+VDQKBz!>WuQ#Bq~I=U&i!1 z%CZ7#eS%hb?q(2q2~<`l_NFOYl=m~7=>Bt*4V_uPe_Q3VXN;FOT={pWEY83-gG!OH zheH^zav7ftoZPB%HIw+FjVkZvrJUL)s!^Ttc`B?|1y}e0&cCZBJ4FFq>Qxp`4Tr0{ zYFhI@KuLpYp@o%tPmpoFUA4Fef2*rhxtpnkeQi{mZkN)jzEN$~Gr@hkRe5>VR;ue% zU!8ZO6o;ygZQ^;T6;yXDRKmIksyjzU5Q|jxE#;i*KUEE#xXz=qTL0@~GSFA;c*qx+ z9;Wt6xko#?B4g%cb>E2xd9F@Z_bX<=bP?ifF?m5XKj5* zv8WUO`vB_1*%w)@0-VmNQv;gmYgOv>T};6CmfC)hL-ffc_4(w# zfTd$K##2lvv`EvwW<3M9Xu8Z_4Sd{A<2f;izNpg-cVwb|AsXKf{C#P+W{jc@weXY1 z8aU$^r@m1W@rnyT&SVDfG*(UX4m*%ANo)F-6(o6RJ+=%0+^V(ai`-z2RmP8(YNvcv3LJ{pPH*D6t7h#C ze-Vhkt&N*d$>Ge^#x-!m)zh@`kw3GQTJ8KdYk;i>wF}Jj&l^*EeW*V*A(1$&C`c#)UW&>MrQuo!aAfWej-PRE=IA#lE zOdqD(weEf1093lYLyf@M8M@^BGS#dPDEpn1j@AcP`m*=0^>gaUM3)f#g6lNo3kUS;>p{OvxBsAZ zv&NL`%ReB&dk*O*hgNhq z8|JhlF|$?}mW*bA_c|K3Y<$i$KFqLtbSb45W;peX`Sy?kujfC8KZoR6aTo!%fk@k z+}4B_9yTWI{)b2J3FC^j+~>;g#ube_*|6J2yAvgqTZw z)GiobxJJR delta 3539 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 U|1thYoCHVvc=Nu`tb=F&8&1Cr<^TWy diff --git a/src/res/translation/translation_it_IT.ts b/src/res/translation/translation_it_IT.ts index cbbdadb0..488ca023 100644 --- a/src/res/translation/translation_it_IT.ts +++ b/src/res/translation/translation_it_IT.ts @@ -190,17 +190,17 @@ CAudioMixerBoard - + Server Server - + T R Y I N G T O C O N N E C T I N A T T E S A D I C O N N E S S I O N E - + Personal Mix at the Server: Mixer personale sul Server: @@ -210,25 +210,26 @@ + Pan Bilanciamento - - + + Mute Mute - - + + Solo Solo - + Channel Level Volume @@ -237,12 +238,12 @@ Visualizza il livello audio pre-fader di questo canale. A tutti i client connessi al server verrà assegnato un livello audio, lo stesso valore per ciascun client. - + Input level of the current audio channel at the server Livello di input del canale audio corrente sul server - + Mixer Fader Mixer Fader @@ -251,17 +252,17 @@ Regola il livello audio di questo canale. A tutti i client connessi al server verrà assegnato un fader audio su ciascun client, regolando il mix locale. - + Local mix level setting of the current audio channel at the server Impostazione del livello di volume locale del canale audio corrente sul server - + Status Indicator Indicatore di Stato - + Shows a status indication about the client which is assigned to this channel. Supported indicators are: Visualizza lo stato del client assegnato a questo canale. Gli Stati supportati sono: @@ -270,12 +271,12 @@ Altoparlante segnato: Indica che un altro client ha messo in mute il tuo canale. - + Status indicator label Etichetta dell'indicatore di stato - + Panning Bilanciamento @@ -284,17 +285,17 @@ Imposta il Bilanciamento da Sinistra a Destra del canale. Funzione abilitata in modalità stereo oppure in modalità mono in/stereo out. - + Local panning position of the current audio channel at the server Bilancimento locale del canale audio corrente sul server - + With the Mute checkbox, the audio channel can be muted. Quando il Mute è selezionato, il canale audio è mutato. - + Mute button Pulsante Mute @@ -303,12 +304,12 @@ Quando il Solo è attivo, il canale audio sarà in modalità solista escludendo gli altri canali che non saranno più udibili. E' possibile attivare il solo su più canali per sentirli contemporaneamente. - + Solo button Pulsante Solo - + Fader Tag Tag Fader @@ -317,104 +318,114 @@ Il tag fader identifica il client connesso. Il nome del tag, l'immagine del tuo strumento e una bandiera del tuo paese possono essere impostati nella finestra principale del profilo. - + Displays the pre-fader audio level of this channel. All clients connected to the server will be assigned an audio level, the same value for every client. - + Adjusts the audio level of this channel. All clients connected to the server will be assigned an audio fader, displayed at each client, to adjust the local mix. - + Speaker with cancellation stroke: Indicates that another client has muted you. - + Sets the pan from Left to Right of the channel. Works only in stereo or preferably mono in/stereo out mode. - + With the Solo checkbox, the audio channel can be set to solo which means that all other channels except the soloed channel are muted. It is possible to set more than one channel to solo. - + The fader tag identifies the connected client. The tag name, a picture of your instrument and the flag of your country can be set in the main window. - + Mixer channel instrument picture Immagine dello strumento - + Mixer channel label (fader tag) Etichetta del Canale (fader tag) - + Mixer channel country flag Bandiera del Paese - + PAN Bil. (L / R) - + MUTE MUTE - + SOLO SOLO - + + M + + + + + S + + + + Alias/Name Identificativo/Nome - + Instrument Strumento - + Location Località - - - + + + Skill Level Livello di Preparazione - + Beginner Principiante - + Intermediate Livello Intermedio - + Expert Esperto - + Musician Profile Profilo del Musicista @@ -1158,19 +1169,16 @@ Pulsante del pannello di setup ASIO - Fancy Skin - Tema Fantaia + Tema Fantaia - If enabled, a fancy skin will be applied to the main window. - Se selezionato questo tema verrà applicato alla finestra principale. + Se selezionato questo tema verrà applicato alla finestra principale. - Fancy skin check box - Check Box Tema Fantasia + Check Box Tema Fantasia @@ -1297,7 +1305,7 @@ - + Mono Mono @@ -1307,14 +1315,14 @@ - + Mono-in/Stereo-out Mono-in/Stereo-out - + Stereo Stereo @@ -1373,6 +1381,21 @@ If the buffer delay settings are disabled, it is prohibited by the audio driver to modify this setting from within the software. On Windows, press the ASIO Setup button to open the driver settings panel. On Linux, use the Jack configuration tool to change the buffer size. + + + Skin + + + + + Select the skin to be used for the main window. + + + + + Skin combo box + + Selects the number of audio channels to be used for communication between client and server. There are three modes available: @@ -1439,38 +1462,49 @@ - + Low Low - + + Normal Normal - + High High - + + Fancy + + + + + Compact + + + + preferred consigliato - - + + Size: Livello: - + Buffer Delay Buffer Delay - + Buffer Delay: Buffer Delay: @@ -1479,47 +1513,47 @@ Indirizzo Preferito - + The selected audio device could not be used because of the following error: La scheda audio selezionata non può essere usata per i seguenti motivi: - + The previous driver will be selected. Sarà ripristinato il driver precedentemente usato. - + Ok Ok - + Custom Personalizzato - + All Genres Tutti i Generi - + Genre Rock Genere Rock - + Genre Jazz Genere Jazz - + Genre Classical/Folk/Choir Genere Classica/Folk/Corale - + Default Default @@ -1640,22 +1674,26 @@ Livello Nuovo Client - + + Skin + + + + % % - Fancy Skin - Tema Fantasia + Tema Fantasia - + Display Channel Levels Visualizza Livelli Canali - + Custom Central Server Address: Indirizzo Server Centrale alternativo: @@ -1664,24 +1702,24 @@ Indirizzo Server Centrale: - + Audio Stream Rate Velocità dello Streaming - - - + + + val val - + Ping Time Ping - + Overall Delay Overall Delay @@ -2594,42 +2632,42 @@ - + Unregistered Non registrato - + Bad address Indirizzo Errato - + Registration requested Registrazione richiesta - + Registration failed Registrazione fallita - + Check server version Controlla Versione server - + Registered Registrato - + Central Server full Server Centrale Pieno - + Unknown value Valore sconosciuto diff --git a/src/res/translation/translation_nl_NL.qm b/src/res/translation/translation_nl_NL.qm index 947037daaa409a5a5aa0965ad69cee904e629c83..39f6496f5dcbb6bd51977f852b0d47b4b2645dc3 100644 GIT binary patch delta 2898 zcmX9=e_T!XAAat+=iGbG{Z(ucBT{_**b>E8X~v?Th@$8RDG^#z8e`QJHT|HKM3FYE zkc5~SR#d3XVwkV_ZZu{|er&Cpy!PF`kDb4sd(Qd%cs|ebyx*VOc~t$dQl0mzB@@6< zV6Gi;Ixs-3phKyGp?YE@asTE03tN@z@}Fa@p9az zL`3<;0#O}EE}=q0`XRrL_PK4u$7^cn?j7tOew~CnP;tHk*qDwZo^ybYuH)O>8NR@n z*ZG4O5{7F-XL7Ik=cV#- zeF)@q6+{Tb+`p_;?KxuyY`dYlxRv|N2~u4=QU&a=SKaL9wCq&XPeFgu>3OOLQGCBz zR<#C^=XuA1F9kbGSZ~3m(Hoc_DD*em0?reJA@>r24?Yv#y6*y5YK3_jWN9BMgihcw z2M!jpu$V0N3p+N41HK8uUSAq-8YGmZF;JC#go>BC+iX$rgQ-HrUefc36soMo0tRcL z>cvVRbFy$Uj>{u+jZi!4Gr-?XIPbI!$UQGKorwXoGllzsM}gwuLRS)X_i9%#^qA0X zp+CacLQnEqmQssabKx0{j#t~CS`J*$r~|(v(fBRuq+nN|e}p>YbTshJLiP4TJAvv1 z^|ANdfTrE*&O5FY%qv&4O%fRWMA74)q~(j@{!PHnI5FbWr$E`e;tJPuED?*iHZGDz zxr=K{lITm5nC#1>PQE4<_KX9_6C$p=(BRK{JQ&@*CY4jjEmE$0d-9rZshD#GobX43Yc|@E5 zb}x~<{~XF^NeV8Yz}}ao$ap6%bWeKsWnhcfNSVv_vE> zRMA*V#;#Js-&}C_A5x<)le)NDx*GKt$GG}Qg|KAb)|6+EK#;qp!p+D? zT+mb|OaiK&YHH`uLH$()H=NYeRWOQv?wX6YXR>)+*EA+LvFV-FwC32b(_YlH4W<&F zw=^9c+$XP(=8r+Sz}AymRn9?n^)1=~mVi_iL#KA2PXMs1M?1dfeKskbcFLeqMyW#^ zcwqwYYM^$m%>rQX0Byubnb}X#F6{XW*cYo^6~PmZxusxMlJ>pfeAe~W78cXv(qL`T z-5N&FNn30r!P4tmMdANwcVDt&wkB&Wr;B*M$ky8XFX~xsx3z79_`xnfXZ-OgPaLYV zJ~0VcFiJN%{Q*zru3-9j-I&?c?5;<2W2?Bq>K}CeOPkrm&gnw>G0anAbg>sNkjQog zlaq7_|BMgQt^JJ(^orAc=-0zq$hYXS%ei5SovxsosgIwnyOjDXu+mL7*OEY>AopwD zN~wm*jw?3;OB&^ovu6UYZt=DVyZz z{4QQ2>*VNm9$@1OIW8=f*G7t*{pQP%TYi!A?2~}C$K?DMt@QG!eDHQDC9jo_-J}(x zzmcoIb)sezA=*taf)=*#EW0@I+cSbU51e?$Ly@G15WSN&;c30Qthe|9qox~TOH zeOPvKzP|A=H{9TBPZRfa8X=_F<{Y;&fUy&McBUfcM-+OWHP zCNQGj@bO!ntd=|lH%Nx^kKX3h-(omC(F`2VHk|oNV*RT<42_4I*rBHzEi(GGj6>PcC=juPh>kw_$S8t zsZ_A|qVclMg*WnQRd7g_X^rOsI`Xf@rd`{A z2M!%E9q^>${k|~Oc98IhR0a2*Fx8)H24+N?E-i^BL2J_$TL)l8UsG#4#~t2bdKAg; zZ~SWRd*vxGX_xu6rHoKXrFnp^0(iIHJp6G9`&FRX*~Shi?>4&`vVm3I<|*l!bi~`s zJS~HYxOgfU^1FHVFRUI-k9h?dV#O(Q{DHry{4jG$78j_yZccezMx~?81vW3E;byM6 zmdloJZGMzm1I+r?{5XrmvbE;Uf%ky1tIU5?R&o9#^NYF7JfP9a-v0pqLuFe{a&Tw% z#y_{3($vAKa$&^*c!#pD$j*ClICj1|xwOTX) delta 3256 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 CAudioMixerBoard - + Server Server - + 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: @@ -210,25 +210,26 @@ + Pan Pan - - + + Mute Demp - - + + Solo Solo - + Channel Level Kanaalniveau @@ -237,12 +238,12 @@ Geeft het pre-fader-audioniveau van dit kanaal weer. Alle verbonden clients op de server krijgen een audioniveau toegewezen, dezelfde waarde voor elke client. - + Input level of the current audio channel at the server Invoerniveau van het huidige audiokanaal op de server - + Mixer Fader Mixer Fader @@ -251,42 +252,42 @@ Past het geluidsniveau van dit kanaal aan. Alle verbonden clients op de server krijgen een audiofader toegewezen bij elke client, waarbij de lokale mix wordt aangepast. - + Local mix level setting of the current audio channel at the server Lokale instelling van het mixniveau van het huidige audiokanaal op de server - + Status Indicator - + Shows a status indication about the client which is assigned to this channel. Supported indicators are: - + Status indicator label - + Panning - + Local panning position of the current audio channel at the server - + With the Mute checkbox, the audio channel can be muted. Met het selectievakje Demp kan het audiokanaal worden gedempt. - + Mute button Dempknop @@ -295,12 +296,12 @@ Met het selectievakje Solo kan het audiokanaal worden ingesteld op solo, zodat alle overige kanalen worden gedempt. Het is mogelijk om meer dan één kanaal op solo in te stellen. - + Solo button Soloknop - + Fader Tag Fader tag @@ -309,104 +310,114 @@ De fadertag identificeert de verbonden client. De tagnaam, de afbeelding van uw instrument en een vlag van uw land kunnen in het hoofdvenster worden ingesteld. - + Displays the pre-fader audio level of this channel. All clients connected to the server will be assigned an audio level, the same value for every client. - + Adjusts the audio level of this channel. All clients connected to the server will be assigned an audio fader, displayed at each client, to adjust the local mix. - + Speaker with cancellation stroke: Indicates that another client has muted you. - + Sets the pan from Left to Right of the channel. Works only in stereo or preferably mono in/stereo out mode. - + With the Solo checkbox, the audio channel can be set to solo which means that all other channels except the soloed channel are muted. It is possible to set more than one channel to solo. - + The fader tag identifies the connected client. The tag name, a picture of your instrument and the flag of your country can be set in the main window. - + Mixer channel instrument picture Afbeelding van het mengkanaalinstrument - + Mixer channel label (fader tag) Label van het mengkanaal (faderlabel) - + Mixer channel country flag Landvlag van het kanaal - + PAN - + MUTE DEMP - + SOLO SOLO - + + M + + + + + S + + + + Alias/Name Alias/Naam - + Instrument Instrument - + Location Locatie - - - + + + Skill Level Vaardigheidssniveau - + Beginner Beginner - + Intermediate Gemiddeld - + Expert Gevorderd - + Musician Profile Muzikantenprofiel @@ -1150,19 +1161,16 @@ ASIO-instellingsdrukknop - Fancy Skin - Edele huid + Edele huid - If enabled, a fancy skin will be applied to the main window. - Indien ingeschakeld wordt er een fancy skin op het hoofdvenster aangebracht. + Indien ingeschakeld wordt er een fancy skin op het hoofdvenster aangebracht. - Fancy skin check box - Fancy skin check box + Fancy skin check box @@ -1285,7 +1293,7 @@ - + Mono Mono @@ -1295,14 +1303,14 @@ - + Mono-in/Stereo-out Mono-in/Stereo-out - + Stereo Stereo @@ -1361,6 +1369,21 @@ If the buffer delay settings are disabled, it is prohibited by the audio driver to modify this setting from within the software. On Windows, press the ASIO Setup button to open the driver settings panel. On Linux, use the Jack configuration tool to change the buffer size. + + + Skin + + + + + Select the skin to be used for the main window. + + + + + Skin combo box + + Selects the number of audio channels to be used for communication between client and server. There are three modes available: @@ -1427,51 +1450,62 @@ - + Low Laag - + + Normal Normaal - + High Hoog + + + Fancy + + + + + Compact + + Manual Handmatig - + Custom - + All Genres - + Genre Rock - + Genre Jazz - + Genre Classical/Folk/Choir - + Default Standaard @@ -1480,38 +1514,38 @@ Standaard (Noord-Amerika) - + preferred gewenst - - + + Size: Size: - + Buffer Delay Buffervertraging - + Buffer Delay: Buffervertraging: - + 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 @@ -1632,22 +1666,26 @@ Nieuw client-niveau - + + Skin + + + + % % - Fancy Skin - Fancy Skin + Fancy Skin - + Display Channel Levels Weergave Kanaalniveaus - + Custom Central Server Address: @@ -1656,24 +1694,24 @@ Centraal Serveradres: - + Audio Stream Rate Audio Stream Rate - - - + + + val val - + Ping Time Ping-tijd - + Overall Delay Algehele vertraging @@ -2598,42 +2636,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 diff --git a/src/res/translation/translation_pl_PL.ts b/src/res/translation/translation_pl_PL.ts index 07150e67..80c1f4cf 100644 --- a/src/res/translation/translation_pl_PL.ts +++ b/src/res/translation/translation_pl_PL.ts @@ -158,17 +158,17 @@ CAudioMixerBoard - + Server - + T R Y I N G T O C O N N E C T - + Personal Mix at the Server: @@ -178,187 +178,198 @@ + Pan - - + + Mute - - + + Solo - + Channel Level - + Input level of the current audio channel at the server - + Mixer Fader - + Local mix level setting of the current audio channel at the server - + Status Indicator - + Shows a status indication about the client which is assigned to this channel. Supported indicators are: - + Status indicator label - + Panning - + Local panning position of the current audio channel at the server - + With the Mute checkbox, the audio channel can be muted. - + Mute button - + Solo button - + Fader Tag - + Displays the pre-fader audio level of this channel. All clients connected to the server will be assigned an audio level, the same value for every client. - + Adjusts the audio level of this channel. All clients connected to the server will be assigned an audio fader, displayed at each client, to adjust the local mix. - + Speaker with cancellation stroke: Indicates that another client has muted you. - + Sets the pan from Left to Right of the channel. Works only in stereo or preferably mono in/stereo out mode. - + With the Solo checkbox, the audio channel can be set to solo which means that all other channels except the soloed channel are muted. It is possible to set more than one channel to solo. - + The fader tag identifies the connected client. The tag name, a picture of your instrument and the flag of your country can be set in the main window. - + Mixer channel instrument picture - + Mixer channel label (fader tag) - + Mixer channel country flag - + PAN - + MUTE - + SOLO - + + M + + + + + S + + + + Alias/Name - + Instrument - + Location - - - + + + Skill Level - + Beginner - + Intermediate - + Expert - + Musician Profile @@ -924,21 +935,6 @@ ASIO setup push button - - - Fancy Skin - - - - - If enabled, a fancy skin will be applied to the main window. - - - - - Fancy skin check box - - Display Channel Levels @@ -1046,19 +1042,19 @@ - + Mono - + Mono-in/Stereo-out - + Stereo @@ -1117,6 +1113,21 @@ If the buffer delay settings are disabled, it is prohibited by the audio driver to modify this setting from within the software. On Windows, press the ASIO Setup button to open the driver settings panel. On Linux, use the Jack configuration tool to change the buffer size. + + + Skin + + + + + Select the skin to be used for the main window. + + + + + Skin combo box + + Selects the number of audio channels to be used for communication between client and server. There are three modes available: @@ -1183,83 +1194,94 @@ - + Low - + + Normal - + High - + + Fancy + + + + + Compact + + + + Custom - + All Genres - + Genre Rock - + Genre Jazz - + Genre Classical/Folk/Choir - + Default - + preferred - - + + Size: - + Buffer Delay - + Buffer Delay: - + The selected audio device could not be used because of the following error: - + The previous driver will be selected. - + Ok @@ -1380,44 +1402,44 @@ - + + Skin + + + + % - - Fancy Skin - - - - + Display Channel Levels - + Custom Central Server Address: - + Audio Stream Rate - - - + + + val - + Ping Time - + Overall Delay @@ -2262,42 +2284,42 @@ - + Unregistered - + Bad address - + Registration requested - + Registration failed - + Check server version - + Registered - + Central Server full - + Unknown value diff --git a/src/res/translation/translation_pt_PT.qm b/src/res/translation/translation_pt_PT.qm index 11bc528e6dec652be415b09abaf291934fee36af..52dbe3fcfb2ede979d06d103c2c28cdccf7471cd 100644 GIT binary patch delta 3670 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 EADmN9WdHyG delta 4043 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 CAudioMixerBoard - + Server Servidor - + T 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: Mistura Pessoal no Servidor: @@ -220,7 +220,7 @@ CChannelFader - + Channel Level Nível do Canal @@ -229,12 +229,12 @@ Mostra o nível de áudio pré-fader deste canal. Todos os clientes ligados ao servidor terão atribuído um nível de áudio, o mesmo valor para cada cliente. - + Input level of the current audio channel at the server Nível de entrada deste canal de áudio do servidor - + Mixer Fader Fader da Mistura @@ -243,17 +243,17 @@ Ajusta o nível de áudio deste canal. Por cada cliente ligado ao servidor será atribuído um fader de áudio em todos os clientes, podendo cada um ajustar a sua mistura local. - + Local mix level setting of the current audio channel at the server Configuração do nível de mistura local deste canal de áudio do servidor - + Status Indicator Indicador de Estado - + Shows a status indication about the client which is assigned to this channel. Supported indicators are: Mostra uma indicação de estado sobre o cliente que está atribuído a este canal. Os indicadores suportados são: @@ -262,12 +262,12 @@ Alti-falante com sinal de proibição: Indica que o cliente silenciou o teu canal. - + Status indicator label Etiqueta do indicador de estado - + Panning Panorâmica @@ -276,17 +276,17 @@ Define a posição de panorâmica da esquerda para a direita do canal. Funciona apenas no modo estéreo ou, de preferência, no modo Entrada Mono/Saída Estéreo. - + Local panning position of the current audio channel at the server Posição de panorâmica local do canal de áudio actual no servidor - + With the Mute checkbox, the audio channel can be muted. Com a caixa de seleção Mute, o canal de áudio pode ser silenciado. - + Mute button Botão Mute @@ -295,12 +295,12 @@ Com a caixa de seleção Solo, o canal de áudio pode ser definido como solo, o que significa que todos os outros canais, exceto o canal atual, serão silenciados. É possível definir mais que um canal no modo solo. - + Solo button Botão Solo - + Fader Tag Identificador do Fader @@ -309,124 +309,135 @@ O Identificador do fader identifica o cliente ligado. O nome no identificador, a imagem do instrumento e a bandeira do país podem ser definidos no Meu Perfil. - + Displays the pre-fader audio level of this channel. All clients connected to the server will be assigned an audio level, the same value for every client. Mostra o nível de áudio pré-fader deste canal. A todos os clientes ligados ao servidor será atribuído um nível de áudio, o mesmo valor para cada cliente. - + Adjusts the audio level of this channel. All clients connected to the server will be assigned an audio fader, displayed at each client, to adjust the local mix. Ajusta o nível de áudio deste canal. A todos os clientes ligados ao servidor será atribuído um fader de áudio,exibido em cada cliente, para ajustar a mistura local. - + Speaker with cancellation stroke: Indicates that another client has muted you. Alti-falante com sinal de proibição: Indica que o cliente silenciou o teu canal. - + Sets the pan from Left to Right of the channel. Works only in stereo or preferably mono in/stereo out mode. Define a posição de panorâmica da esquerda para a direita do canal. Funciona apenas no modo estéreo ou, de preferência, no modo Entrada Mono/Saída Estéreo. - + With the Solo checkbox, the audio channel can be set to solo which means that all other channels except the soloed channel are muted. It is possible to set more than one channel to solo. Com a caixa de seleção Solo, o canal de áudio pode ser definido como solo, o que significa que todos os outros canais, exceto o canal atual, serão silenciados. É possível definir mais que um canal no modo solo. - + The fader tag identifies the connected client. The tag name, a picture of your instrument and the flag of your country can be set in the main window. O Identificador do fader identifica o cliente ligado. O nome no identificador, a imagem do instrumento e a bandeira do país podem ser definidos no Meu Perfil. - + Mixer channel instrument picture Imagem do instrumento do canal da mistura - + Mixer channel label (fader tag) Identificação do canal da mistura (identificador do fader) - + Mixer channel country flag Bandeira do país do canal da mistura - + PAN PAN - + MUTE MUTE - + SOLO SOLO - + + M + + + + + S + + + + Alias/Name Nome/Alcunha - + Instrument Instrumento - + Location Localização - - - + + + Skill Level Nível de Habilidade - + Beginner Principiante - + Intermediate Intermediário - + Expert Avançado - + Musician Profile Perfil do músico - - + + Mute Mute + Pan Pan - - + + Solo Solo @@ -1170,19 +1181,16 @@ Botão de configuração do ASIO - Fancy Skin - Skin Sofisticada + Skin Sofisticada - If enabled, a fancy skin will be applied to the main window. - Se ativada, uma skin sofisticada será aplicada à janela principal. + Se ativada, uma skin sofisticada será aplicada à janela principal. - Fancy skin check box - Caixa de ativação da skin sofisticada + Caixa de ativação da skin sofisticada @@ -1309,7 +1317,7 @@ - + Mono Mono @@ -1324,14 +1332,14 @@ A taxa de transmissão do áudio depende do tamanho do pacote de áudio e da configuração de compactação de áudio. Verifique se a taxa de transmissão não é maior que a taxa disponível (verifique a taxa de upload da sua ligação à Internet usando, por exemplo, o speedtest.net). - + Mono-in/Stereo-out Entrada Mono/Saída Estéreo - + Stereo Estéreo @@ -1390,6 +1398,21 @@ If the buffer delay settings are disabled, it is prohibited by the audio driver to modify this setting from within the software. On Windows, press the ASIO Setup button to open the driver settings panel. On Linux, use the Jack configuration tool to change the buffer size. Se as configurações de atraso do buffer estiverem desativadas, é porque o driver de áudio proibe modificar essa configuração a partir da aplicação. No Windows, pressione o botão Configuração do Driver para abrir o painel de configurações do driver. No Linux, use a ferramenta de configuração Jack para alterar o atraso do buffer. + + + Skin + + + + + Select the skin to be used for the main window. + + + + + Skin combo box + + Selects the number of audio channels to be used for communication between client and server. There are three modes available: @@ -1451,41 +1474,52 @@ A latência geral é calculada a partir da latência da ligação atual e do atraso introduzido pelas configurações do buffer. - + Low Baixa - + + Normal Normal - + High Alta + + + Fancy + + + + + Compact + + Manual Manual - + Custom Personalizado - + All Genres Servidor Geral - + Genre Rock Servidor Rock - + Genre Jazz Servidor Jazz @@ -1494,12 +1528,12 @@ Servidor Rock/Jazz - + Genre Classical/Folk/Choir Serv. Clássica/Folclore/Coro - + Default Servidor Padrão @@ -1508,38 +1542,38 @@ Servidor Padrão (America do Norte) - + preferred preferido - - + + Size: Tamanho: - + Buffer Delay Atraso do buffer - + Buffer Delay: Atraso do buffer: - + 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 @@ -1660,22 +1694,26 @@ Nível de Novo Cliente - + + Skin + + + + % % - Fancy Skin - Skin Sofisticada + Skin Sofisticada - + Display Channel Levels Mostrar Níveis de Canais - + Custom Central Server Address: Endereço do Servidor Central Personalizado: @@ -1684,24 +1722,24 @@ Endereço do Servidor Central: - + Audio Stream Rate Taxa de Transmissão de Áudio - - - + + + val val - + Ping Time Latência da Ligação - + Overall Delay Latência Geral @@ -2626,42 +2664,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 From 0d77ccdcc4b9a9e1508a00641c1dbef6e10905ce Mon Sep 17 00:00:00 2001 From: Volker Fischer Date: Thu, 11 Jun 2020 19:58:51 +0200 Subject: [PATCH 02/23] under Mac the slim fader label must be a bit higher so that all have the same length --- src/audiomixerboard.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/audiomixerboard.cpp b/src/audiomixerboard.cpp index 85036207..127711e6 100644 --- a/src/audiomixerboard.cpp +++ b/src/audiomixerboard.cpp @@ -207,7 +207,7 @@ void CChannelFader::SetGUIDesign ( const EGUIDesign eNewDesign ) case GD_SLIMFADER: pLabelPictGrid->addWidget ( plblLabel, 0, Qt::AlignHCenter ); // label below icons - pLabelInstBox->setMinimumHeight ( 80 ); // maximum hight of the instrument+flag+label + pLabelInstBox->setMinimumHeight ( 84 ); // maximum hight of the instrument+flag+label pPan->setFixedSize ( 28, 28 ); pFader->setTickPosition ( QSlider::NoTicks ); pFader->setStyleSheet ( "" ); From fe338049b2e9e8cce292292c34913346d1d2d7f0 Mon Sep 17 00:00:00 2001 From: Peter L Jones Date: Thu, 11 Jun 2020 20:49:50 +0100 Subject: [PATCH 03/23] Add recorder state to console --- src/server.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/server.cpp b/src/server.cpp index e52aa3e8..f968d979 100755 --- a/src/server.cpp +++ b/src/server.cpp @@ -240,6 +240,7 @@ CServer::CServer ( const int iNewMaxNumChan, Logging ( iMaxDaysHistory ), iFrameCount ( 0 ), JamRecorder ( strRecordingDirName ), + bEnableRecording ( false ), bWriteStatusHTMLFile ( false ), HighPrecisionTimer ( bNUseDoubleSystemFrameSize ), ServerListManager ( iPortNumber, @@ -405,7 +406,7 @@ CServer::CServer ( const int iNewMaxNumChan, if ( !strRecordingDirName.isEmpty() ) { bRecorderInitialised = JamRecorder.Init ( this, iServerFrameSizeSamples ); - bEnableRecording = bRecorderInitialised; + SetEnableRecording ( bRecorderInitialised ); } // enable all channels (for the server all channel must be enabled the @@ -665,6 +666,7 @@ void CServer::OnAboutToQuit() void CServer::OnHandledSignal ( int sigNum ) { +qDebug() << "OnHandledSignal" << sigNum; #ifdef _WIN32 // Windows does not actually get OnHandledSignal triggered QCoreApplication::instance()->exit(); @@ -705,7 +707,12 @@ void CServer::SetEnableRecording ( bool bNewEnableRecording ) { if ( bRecorderInitialised ) { + // note that this block executes regardless of whether + // what appears to be a change is being applied, to ensure + // the requested state is the result + bEnableRecording = bNewEnableRecording; + qInfo() << "Recording state" << ( bEnableRecording ? "enabled" : "disabled" ); if ( !bEnableRecording ) { From 4c94633c1a8808553fa3ba0a7723f00f2bd60aae Mon Sep 17 00:00:00 2001 From: Volker Fischer Date: Fri, 12 Jun 2020 18:26:34 +0200 Subject: [PATCH 04/23] clean up the reverberation and panning code in the client --- src/client.cpp | 142 +++++++++---------------------------------------- src/client.h | 6 +-- src/util.cpp | 127 ++++++++++++++++++++++++++----------------- src/util.h | 18 ++++--- 4 files changed, 117 insertions(+), 176 deletions(-) diff --git a/src/client.cpp b/src/client.cpp index 10d3afac..13b42cf2 100755 --- a/src/client.cpp +++ b/src/client.cpp @@ -889,8 +889,9 @@ void CClient::Init() iNumAudioChannels ); // init reverberation - AudioReverbL.Init ( SYSTEM_SAMPLE_RATE_HZ ); - AudioReverbR.Init ( SYSTEM_SAMPLE_RATE_HZ ); + AudioReverb.Init ( eAudioChannelConf, + iStereoBlockSizeSam, + SYSTEM_SAMPLE_RATE_HZ ); // init the sound card conversion buffers if ( bSndCrdConversionBufferRequired ) @@ -973,118 +974,41 @@ void CClient::ProcessAudioDataIntern ( CVector& vecsStereoSndCrd ) // add reverberation effect if activated if ( iReverbLevel != 0 ) { - // calculate attenuation amplification factor - const double dRevLev = static_cast ( iReverbLevel ) / AUD_REVERB_MAX / 4; + AudioReverb.Process ( vecsStereoSndCrd, + bReverbOnLeftChan, + static_cast ( iReverbLevel ) / AUD_REVERB_MAX / 4 ); + } + + // apply pan (audio fader) and mix mono signals + if ( !( ( iAudioInFader == AUD_FADER_IN_MIDDLE ) && ( eAudioChannelConf == CC_STEREO ) ) ) + { + // calculate pan gain in the range 0 to 1, where 0.5 is the middle position + const double dPan = static_cast ( iAudioInFader ) / AUD_FADER_IN_MAX; if ( eAudioChannelConf == CC_STEREO ) { - // for stereo always apply reverberation effect on both channels - for ( i = 0; i < iStereoBlockSizeSam; i += 2 ) - { - // both channels (stereo) - AudioReverbL.ProcessSample ( vecsStereoSndCrd[i], vecsStereoSndCrd[i + 1], dRevLev ); - } - } - else - { - // mono and mono-in/stereo out mode - if ( bReverbOnLeftChan ) - { - for ( i = 0; i < iStereoBlockSizeSam; i += 2 ) - { - // left channel - int16_t sRightDummy = 0; // has to be 0 for mono reverb - AudioReverbL.ProcessSample ( vecsStereoSndCrd[i], sRightDummy, dRevLev ); - } - } - else - { - for ( i = 1; i < iStereoBlockSizeSam; i += 2 ) - { - // right channel - int16_t sRightDummy = 0; // has to be 0 for mono reverb - AudioReverbR.ProcessSample ( vecsStereoSndCrd[i], sRightDummy, dRevLev ); - } - } - } - } + // for stereo only apply pan attenuation on one channel (same as pan in the server) + const double dGainL = std::min ( 0.5, 1 - dPan ) * 2; + const double dGainR = std::min ( 0.5, dPan ) * 2; - // mix both signals depending on the fading setting, convert - // from double to short - if ( iAudioInFader == AUD_FADER_IN_MIDDLE ) - { - // no action require if fader is in the middle and stereo is used - if ( eAudioChannelConf != CC_STEREO ) - { - // mix channels together (store result in first half of the vector) for ( i = 0, j = 0; i < iMonoBlockSizeSam; i++, j += 2 ) { - // for the sum make sure we have more bits available (cast to - // int32), after the normalization by 2, the result will fit - // into the old size so that cast to int16 is safe - vecsStereoSndCrd[i] = static_cast ( - ( static_cast ( vecsStereoSndCrd[j] ) + vecsStereoSndCrd[j + 1] ) / 2 ); - } - } - } - else - { - if ( eAudioChannelConf == CC_STEREO ) - { - // stereo - const double dAttFactStereo = static_cast ( - AUD_FADER_IN_MIDDLE - abs ( AUD_FADER_IN_MIDDLE - iAudioInFader ) ) / AUD_FADER_IN_MIDDLE; - - if ( iAudioInFader > AUD_FADER_IN_MIDDLE ) - { - for ( i = 0, j = 0; i < iMonoBlockSizeSam; i++, j += 2 ) - { - // attenuation on right channel - vecsStereoSndCrd[j + 1] = Double2Short ( dAttFactStereo * vecsStereoSndCrd[j + 1] ); - } - } - else - { - for ( i = 0, j = 0; i < iMonoBlockSizeSam; i++, j += 2 ) - { - // attenuation on left channel - vecsStereoSndCrd[j] = Double2Short ( dAttFactStereo * vecsStereoSndCrd[j] ); - } + // note that the gain is always <= 1, therefore a simple cast is + // ok since we never can get an overload + vecsStereoSndCrd[j + 1] = static_cast ( dGainR * vecsStereoSndCrd[j + 1] ); + vecsStereoSndCrd[j] = static_cast ( dGainL * vecsStereoSndCrd[j] ); } } else { - // mono and mono-in/stereo out mode - // make sure that in the middle position the two channels are - // amplified by 1/2, if the pan is set to one channel, this - // channel should have an amplification of 1 - const double dAttFactMono = static_cast ( - AUD_FADER_IN_MIDDLE - abs ( AUD_FADER_IN_MIDDLE - iAudioInFader ) ) / AUD_FADER_IN_MIDDLE / 2; + // for mono implement a cross-fade between channels and mix them + const double dGainL = 1 - dPan; + const double dGainR = dPan; - const double dAmplFactMono = 0.5 + static_cast ( - abs ( AUD_FADER_IN_MIDDLE - iAudioInFader ) ) / AUD_FADER_IN_MIDDLE / 2; - - if ( iAudioInFader > AUD_FADER_IN_MIDDLE ) + for ( i = 0, j = 0; i < iMonoBlockSizeSam; i++, j += 2 ) { - for ( i = 0, j = 0; i < iMonoBlockSizeSam; i++, j += 2 ) - { - // attenuation on right channel (store result in first half - // of the vector) - vecsStereoSndCrd[i] = Double2Short ( - dAmplFactMono * vecsStereoSndCrd[j] + - dAttFactMono * vecsStereoSndCrd[j + 1] ); - } - } - else - { - for ( i = 0, j = 0; i < iMonoBlockSizeSam; i++, j += 2 ) - { - // attenuation on left channel (store result in first half - // of the vector) - vecsStereoSndCrd[i] = Double2Short ( - dAmplFactMono * vecsStereoSndCrd[j + 1] + - dAttFactMono * vecsStereoSndCrd[j] ); - } + vecsStereoSndCrd[i] = Double2Short ( + dGainL * vecsStereoSndCrd[j] + dGainR * vecsStereoSndCrd[j + 1] ); } } } @@ -1175,20 +1099,6 @@ void CClient::ProcessAudioDataIntern ( CVector& vecsStereoSndCrd ) } } -/* -// TEST -// fid=fopen('c:\\temp\test2.dat','r');x=fread(fid,'int16');fclose(fid); -static FILE* pFileDelay = fopen("c:\\temp\\test2.dat", "wb"); -short sData[2]; -for (i = 0; i < iMonoBlockSizeSam; i++) -{ - sData[0] = (short) vecsStereoSndCrd[i]; - fwrite(&sData, size_t(2), size_t(1), pFileDelay); -} -fflush(pFileDelay); -*/ - - // for muted stream we have to add our local data here if ( bMuteOutStream ) { diff --git a/src/client.h b/src/client.h index d56435c6..b8497bbf 100755 --- a/src/client.h +++ b/src/client.h @@ -151,8 +151,7 @@ public: void SetReverbOnLeftChan ( const bool bIL ) { bReverbOnLeftChan = bIL; - AudioReverbL.Clear(); - AudioReverbR.Clear(); + AudioReverb.Clear(); } void SetDoAutoSockBufSize ( const bool bValue ); @@ -354,8 +353,7 @@ protected: int iAudioInFader; bool bReverbOnLeftChan; int iReverbLevel; - CAudioReverb AudioReverbL; - CAudioReverb AudioReverbR; + CAudioReverb AudioReverb; int iSndCrdPrefFrameSizeFactor; int iSndCrdFrameSizeFactor; diff --git a/src/util.cpp b/src/util.cpp index 98051287..13808bbc 100755 --- a/src/util.cpp +++ b/src/util.cpp @@ -165,20 +165,24 @@ uint32_t CCRC::GetCRC() three series allpass units, followed by four parallel comb filters, and two decorrelation delay lines in parallel at the output. */ -void CAudioReverb::Init ( const int iSampleRate, - const double rT60 ) +void CAudioReverb::Init ( const EAudChanConf eNAudioChannelConf, + const int iNStereoBlockSizeSam, + const int iSampleRate, + const double rT60 ) { - int delay, i; + // store paramters + eAudioChannelConf = eNAudioChannelConf; + iStereoBlockSizeSam = iNStereoBlockSizeSam; // delay lengths for 44100 Hz sample rate - int lengths[9] = { 1116, 1356, 1422, 1617, 225, 341, 441, 211, 179 }; - const double scaler = static_cast ( iSampleRate ) / 44100.0; + int lengths[9] = { 1116, 1356, 1422, 1617, 225, 341, 441, 211, 179 }; + const double scaler = static_cast ( iSampleRate ) / 44100.0; if ( scaler != 1.0 ) { - for ( i = 0; i < 9; i++ ) + for ( int i = 0; i < 9; i++ ) { - delay = static_cast ( floor ( scaler * lengths[i] ) ); + int delay = static_cast ( floor ( scaler * lengths[i] ) ); if ( ( delay & 1 ) == 0 ) { @@ -194,12 +198,12 @@ void CAudioReverb::Init ( const int iSampleRate, } } - for ( i = 0; i < 3; i++ ) + for ( int i = 0; i < 3; i++ ) { allpassDelays[i].Init ( lengths[i + 4] ); } - for ( i = 0; i < 4; i++ ) + for ( int i = 0; i < 4; i++ ) { combDelays[i].Init ( lengths[i] ); combFilters[i].setPole ( 0.2 ); @@ -285,58 +289,81 @@ double CAudioReverb::COnePole::Calc ( const double dIn ) return dLastSample; } -void CAudioReverb::ProcessSample ( int16_t& iInputOutputLeft, - int16_t& iInputOutputRight, - const double dAttenuation ) +void CAudioReverb::Process ( CVector& vecsStereoInOut, + const bool bReverbOnLeftChan, + const double dAttenuation ) { - // compute one output sample - double temp, temp0, temp1, temp2; + double dMixedInput, temp, temp0, temp1, temp2; - // we sum up the stereo input channels (in case mono input is used, a zero - // shall be input for the right channel) - const double dMixedInput = 0.5 * ( iInputOutputLeft + iInputOutputRight ); + for ( int i = 0; i < iStereoBlockSizeSam; i += 2 ) + { + // we sum up the stereo input channels (in case mono input is used, a zero + // shall be input for the right channel) + if ( eAudioChannelConf == CC_STEREO ) + { + dMixedInput = 0.5 * ( vecsStereoInOut[i] + vecsStereoInOut[i + 1] ); + } + else + { + if ( bReverbOnLeftChan ) + { + dMixedInput = vecsStereoInOut[i]; + } + else + { + dMixedInput = vecsStereoInOut[i + 1]; + } + } - temp = allpassDelays[0].Get(); - temp0 = allpassCoefficient * temp; - temp0 += dMixedInput; - allpassDelays[0].Add ( temp0 ); - temp0 = - ( allpassCoefficient * temp0 ) + temp; + temp = allpassDelays[0].Get(); + temp0 = allpassCoefficient * temp; + temp0 += dMixedInput; + allpassDelays[0].Add ( temp0 ); + temp0 = - ( allpassCoefficient * temp0 ) + temp; - temp = allpassDelays[1].Get(); - temp1 = allpassCoefficient * temp; - temp1 += temp0; - allpassDelays[1].Add ( temp1 ); - temp1 = - ( allpassCoefficient * temp1 ) + temp; + temp = allpassDelays[1].Get(); + temp1 = allpassCoefficient * temp; + temp1 += temp0; + allpassDelays[1].Add ( temp1 ); + temp1 = - ( allpassCoefficient * temp1 ) + temp; - temp = allpassDelays[2].Get(); - temp2 = allpassCoefficient * temp; - temp2 += temp1; - allpassDelays[2].Add ( temp2 ); - temp2 = - ( allpassCoefficient * temp2 ) + temp; + temp = allpassDelays[2].Get(); + temp2 = allpassCoefficient * temp; + temp2 += temp1; + allpassDelays[2].Add ( temp2 ); + temp2 = - ( allpassCoefficient * temp2 ) + temp; - const double temp3 = temp2 + combFilters[0].Calc ( combCoefficient[0] * combDelays[0].Get() ); - const double temp4 = temp2 + combFilters[1].Calc ( combCoefficient[1] * combDelays[1].Get() ); - const double temp5 = temp2 + combFilters[2].Calc ( combCoefficient[2] * combDelays[2].Get() ); - const double temp6 = temp2 + combFilters[3].Calc ( combCoefficient[3] * combDelays[3].Get() ); + const double temp3 = temp2 + combFilters[0].Calc ( combCoefficient[0] * combDelays[0].Get() ); + const double temp4 = temp2 + combFilters[1].Calc ( combCoefficient[1] * combDelays[1].Get() ); + const double temp5 = temp2 + combFilters[2].Calc ( combCoefficient[2] * combDelays[2].Get() ); + const double temp6 = temp2 + combFilters[3].Calc ( combCoefficient[3] * combDelays[3].Get() ); - combDelays[0].Add ( temp3 ); - combDelays[1].Add ( temp4 ); - combDelays[2].Add ( temp5 ); - combDelays[3].Add ( temp6 ); + combDelays[0].Add ( temp3 ); + combDelays[1].Add ( temp4 ); + combDelays[2].Add ( temp5 ); + combDelays[3].Add ( temp6 ); - const double filtout = temp3 + temp4 + temp5 + temp6; + const double filtout = temp3 + temp4 + temp5 + temp6; - outLeftDelay.Add ( filtout ); - outRightDelay.Add ( filtout ); + outLeftDelay.Add ( filtout ); + outRightDelay.Add ( filtout ); - // inplace apply the attenuated reverb signal - iInputOutputLeft = Double2Short ( - ( 1.0 - dAttenuation ) * iInputOutputLeft + - 0.5 * dAttenuation * outLeftDelay.Get() ); + // inplace apply the attenuated reverb signal (for stereo always apply + // reverberation effect on both channels) + if ( ( eAudioChannelConf == CC_STEREO ) || bReverbOnLeftChan ) + { + vecsStereoInOut[i] = Double2Short ( + ( 1.0 - dAttenuation ) * vecsStereoInOut[i] + + 0.5 * dAttenuation * outLeftDelay.Get() ); + } - iInputOutputRight = Double2Short ( - ( 1.0 - dAttenuation ) * iInputOutputRight + - 0.5 * dAttenuation * outRightDelay.Get() ); + if ( ( eAudioChannelConf == CC_STEREO ) || !bReverbOnLeftChan ) + { + vecsStereoInOut[i + 1] = Double2Short ( + ( 1.0 - dAttenuation ) * vecsStereoInOut[i + 1] + + 0.5 * dAttenuation * outRightDelay.Get() ); + } + } } diff --git a/src/util.h b/src/util.h index c119dcc6..935ebd02 100755 --- a/src/util.h +++ b/src/util.h @@ -694,8 +694,8 @@ public: } protected: - double UpdateCurLevel ( double dCurLevel, - const short& sMax ); + double UpdateCurLevel ( double dCurLevel, + const short& sMax ); double dCurLevelL; double dCurLevelR; @@ -1098,11 +1098,15 @@ class CAudioReverb public: CAudioReverb() {} - void Init ( const int iSampleRate, const double rT60 = 1.1 ); + void Init ( const EAudChanConf eNAudioChannelConf, + const int iNStereoBlockSizeSam, + const int iSampleRate, + const double rT60 = 1.1 ); + void Clear(); - void ProcessSample ( int16_t& iInputOutputLeft, - int16_t& iInputOutputRight, - const double dAttenuation ); + void Process ( CVector& vecsStereoInOut, + const bool bReverbOnLeftChan, + const double dAttenuation ); protected: void setT60 ( const double rT60, const int iSampleRate ); @@ -1122,6 +1126,8 @@ protected: double dLastSample; }; + EAudChanConf eAudioChannelConf; + int iStereoBlockSizeSam; CFIFO allpassDelays[3]; CFIFO combDelays[4]; COnePole combFilters[4]; From 0aea018a613ed49c8726ebed2b99e7972b825568 Mon Sep 17 00:00:00 2001 From: Alberstein8 Date: Sat, 13 Jun 2020 01:14:43 +0200 Subject: [PATCH 05/23] Addded sort by instrument --- src/audiomixerboard.cpp | 27 ++++++++++ src/audiomixerboard.h | 5 ++ src/clientdlg.cpp | 5 +- src/clientdlg.h | 1 + src/res/translation/translation_de_DE.qm | Bin 99376 -> 99512 bytes src/res/translation/translation_de_DE.ts | 57 ++++++++++++--------- src/res/translation/translation_es_ES.qm | Bin 95947 -> 96083 bytes src/res/translation/translation_es_ES.ts | 61 ++++++++++++----------- 8 files changed, 103 insertions(+), 53 deletions(-) diff --git a/src/audiomixerboard.cpp b/src/audiomixerboard.cpp index 127711e6..8036a358 100644 --- a/src/audiomixerboard.cpp +++ b/src/audiomixerboard.cpp @@ -447,6 +447,9 @@ void CChannelFader::SetChannelInfos ( const CChannelInfo& cChanInfo ) // store original received name strReceivedName = cChanInfo.strName; + // store received instrument for sorting + iReceivedInstrument = cChanInfo.iInstrument; + // break text at predefined position const int iBreakPos = MAX_LEN_FADER_TAG / 2; @@ -769,6 +772,7 @@ void CAudioMixerBoard::HideAll() // use original order of channel (by server ID) ChangeFaderOrder ( false ); + ChangeFaderOrderByInstrument ( false ); // emit status of connected clients emit NumClientsChanged ( 0 ); // -> no clients connected @@ -799,6 +803,29 @@ void CAudioMixerBoard::ChangeFaderOrder ( const bool bDoSort ) } } +void CAudioMixerBoard::ChangeFaderOrderByInstrument ( const bool bDoSort ) +{ + // create a pair list of instruments ID and fader ID for each channel + QList > PairList; + + for ( int i = 0; i < MAX_NUM_CHANNELS; i++ ) + { + PairList << QPair ( vecpChanFader[i]->GetReceivedInstrument(), i ); + } + + // if requested, sort the channels + if ( bDoSort ) + { + qStableSort ( PairList.begin(), PairList.end() ); + } + + // add channels to the layout in the new order + for ( int i = 0; i < MAX_NUM_CHANNELS; i++ ) + { + pMainLayout->insertWidget ( 0, vecpChanFader[PairList[i].second]->GetMainWidget() ); + } +} + void CAudioMixerBoard::ApplyNewConClientList ( CVector& vecChanInfo ) { // we want to set the server name only if the very first faders appear diff --git a/src/audiomixerboard.h b/src/audiomixerboard.h index 1e955ccd..20e4b2c6 100644 --- a/src/audiomixerboard.h +++ b/src/audiomixerboard.h @@ -50,6 +50,7 @@ public: CChannelFader ( QWidget* pNW ); QString GetReceivedName() { return strReceivedName; } + int GetReceivedInstrument() { return iReceivedInstrument; } void SetChannelInfos ( const CChannelInfo& cChanInfo ); void Show() { pFrame->show(); } void Hide() { pFrame->hide(); } @@ -103,6 +104,9 @@ protected: QString strReceivedName; + int iReceivedInstrument; + + bool bOtherChannelIsSolo; bool bIsMyOwnFader; @@ -147,6 +151,7 @@ public: void HideAll(); void ChangeFaderOrder ( const bool bDoSort ); + void ChangeFaderOrderByInstrument (const bool bDoSort ); void ApplyNewConClientList ( CVector& vecChanInfo ); void SetServerName ( const QString& strNewServerName ); void SetGUIDesign ( const EGUIDesign eNewDesign ); diff --git a/src/clientdlg.cpp b/src/clientdlg.cpp index 4b0c5611..89c3d59a 100755 --- a/src/clientdlg.cpp +++ b/src/clientdlg.cpp @@ -282,9 +282,12 @@ CClientDlg::CClientDlg ( CClient* pNCliP, // Edit menu -------------------------------------------------------------- pEditMenu = new QMenu ( tr ( "&Edit" ), this ); - pEditMenu->addAction ( tr ( "&Sort Channel Users by Name" ), this, + pEditMenu->addAction ( tr ( "Sort Channel Users by &Name" ), this, SLOT ( OnSortChannelsByName() ), QKeySequence ( Qt::CTRL + Qt::Key_N ) ); + pEditMenu->addAction ( tr ( "Sort Channel Users by &Instrument" ), this, + SLOT ( OnSortChannelsByInstrument() ), QKeySequence ( Qt::CTRL + Qt::Key_I ) ); + // Main menu bar ----------------------------------------------------------- pMenu = new QMenuBar ( this ); diff --git a/src/clientdlg.h b/src/clientdlg.h index 2489ed33..9767d043 100755 --- a/src/clientdlg.h +++ b/src/clientdlg.h @@ -153,6 +153,7 @@ public slots: void OnOpenChatDialog() { ShowChatWindow(); } void OnOpenAnalyzerConsole() { ShowAnalyzerConsole(); } void OnSortChannelsByName() { MainMixerBoard->ChangeFaderOrder ( true ); } + void OnSortChannelsByInstrument() { MainMixerBoard->ChangeFaderOrderByInstrument ( true ); } void OnSettingsStateChanged ( int value ); void OnChatStateChanged ( int value ); diff --git a/src/res/translation/translation_de_DE.qm b/src/res/translation/translation_de_DE.qm index 92eb290f20a113ac5d1be0b45543673cb1b0ab8a..56d35893528b09673cba8dbe6328a6a9f658fb61 100644 GIT binary patch delta 4086 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 Kk{iZWcKI*H;ld>V delta 4042 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 cJSApeo0J!x+;0|xT CAudioMixerBoard - + Server - + T R Y I N G T O C O N N E C T V E R B I N D U N G S A U F B A U - + Personal Mix at the Server: Eigener Mix am Server: @@ -367,44 +367,44 @@ - + Alias/Name - + Instrument - + Location Standort - - - + + + Skill Level Spielstärke - + Beginner Anfänger - + Intermediate Mittlere Spielstärke - + Expert Experte - + Musician Profile Profil des Musikers @@ -715,7 +715,7 @@ - + C&onnect &Verbinden @@ -760,28 +760,27 @@ B&earbeiten - &Sort Channel Users by Name - &Sortiere Kanäle nach Namen + &Sortiere Kanäle nach Namen - + None Keine - + Center Mitte - + R - + L @@ -856,22 +855,32 @@ Die CPU des Computers ist voll ausgelastet. - + + Sort Channel Users by &Name + Sortiere Kanäle nach &Namen + + + + Sort Channel Users by &Instrument + Sortiere Kanäle nach &Instrument + + + Central Server Zentralserver - + user Musiker - + users Musiker - + D&isconnect &Trennen diff --git a/src/res/translation/translation_es_ES.qm b/src/res/translation/translation_es_ES.qm index 89bebdb926be8c2f3161e81e73b07b9e3cae2abe..0d5c7ce9696e13cf4116ec73ee40adc06777f87f 100644 GIT binary patch delta 4076 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 ul5e7-4NPcn~_j-A-9$o~Q!h}h=< delta 4005 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 vH)UDasFXhQOiBJ{!v=7=MV~B9IqKK{LV|Pk& CAudioMixerBoard - + Server Servidor - + T R Y I N G T O C O N N E C T I N T E N T A N D O C O N E C T A R - + Personal Mix at the Server: Mezcla Personal en el Servidor: @@ -371,44 +371,44 @@ - + Alias/Name Alias/Nombre - + Instrument Instrumento - + Location Ubicación - - - + + + Skill Level Nivel Habilidad - + Beginner Principiante - + Intermediate Intermedio - + Expert Experto - + Musician Profile Perfil Músico @@ -727,7 +727,7 @@ - + C&onnect C&onectar @@ -772,28 +772,23 @@ &Editar - - &Sort Channel Users by Name - &Ordenar Canales por Nombre - - - + None Ninguno - + Center Centro - + R R - + L L @@ -868,22 +863,32 @@ El procesador del cliente o del servidor está al 100%. - + + Sort Channel Users by &Name + Ordenar Canales por &Nombre + + + + Sort Channel Users by &Instrument + Ordenar Canales por &Instrumento + + + Central Server Servidor Central - + user usuario - + users usuarios - + D&isconnect D&esconectar @@ -2350,7 +2355,7 @@ Vocal Bass - Voz bajo + Voz Bajo From e1b982c34c3c86999080755feac3b5eadd0c6f47 Mon Sep 17 00:00:00 2001 From: Volker Fischer Date: Sat, 13 Jun 2020 08:20:03 +0200 Subject: [PATCH 06/23] merge fixes --- src/server.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/server.cpp b/src/server.cpp index f968d979..1df29a55 100755 --- a/src/server.cpp +++ b/src/server.cpp @@ -666,7 +666,10 @@ void CServer::OnAboutToQuit() void CServer::OnHandledSignal ( int sigNum ) { -qDebug() << "OnHandledSignal" << sigNum; + // show the signal number on the command line (note that this does not work for the Windows command line) +// TODO we should use the ConsoleWriterFactory() instead of qDebug() + qDebug() << "OnHandledSignal: " << sigNum; + #ifdef _WIN32 // Windows does not actually get OnHandledSignal triggered QCoreApplication::instance()->exit(); @@ -710,9 +713,12 @@ void CServer::SetEnableRecording ( bool bNewEnableRecording ) // note that this block executes regardless of whether // what appears to be a change is being applied, to ensure // the requested state is the result - bEnableRecording = bNewEnableRecording; - qInfo() << "Recording state" << ( bEnableRecording ? "enabled" : "disabled" ); + +#if QT_VERSION >= QT_VERSION_CHECK(5, 5, 0) +// TODO we should use the ConsoleWriterFactory() instead of qInfo() + qInfo() << "Recording state " << ( bEnableRecording ? "enabled" : "disabled" ); +#endif if ( !bEnableRecording ) { From e4b01fa39511ac3931e37679992185366ef14a54 Mon Sep 17 00:00:00 2001 From: Volker Fischer Date: Sat, 13 Jun 2020 08:31:28 +0200 Subject: [PATCH 07/23] prepare for pull request: #356 --- src/audiomixerboard.cpp | 12 ++++++------ src/audiomixerboard.h | 5 +++-- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/audiomixerboard.cpp b/src/audiomixerboard.cpp index 127711e6..5753cbab 100644 --- a/src/audiomixerboard.cpp +++ b/src/audiomixerboard.cpp @@ -314,7 +314,7 @@ void CChannelFader::Reset() plblInstrument->setToolTip ( "" ); plblCountryFlag->setVisible ( false ); plblCountryFlag->setToolTip ( "" ); - strReceivedName = ""; + cReceivedChanInfo = CChannelInfo(); SetupFaderTag ( SL_NOT_SET ); // set a defined tool tip time out @@ -438,15 +438,15 @@ void CChannelFader::SetChannelLevel ( const uint16_t iLevel ) void CChannelFader::SetChannelInfos ( const CChannelInfo& cChanInfo ) { + // store received channel info + cReceivedChanInfo = cChanInfo; + // init properties for the tool tip int iTTInstrument = CInstPictures::GetNotUsedInstrument(); QLocale::Country eTTCountry = QLocale::AnyCountry; // Label text -------------------------------------------------------------- - // store original received name - strReceivedName = cChanInfo.strName; - // break text at predefined position const int iBreakPos = MAX_LEN_FADER_TAG / 2; @@ -521,9 +521,9 @@ void CChannelFader::SetChannelInfos ( const CChannelInfo& cChanInfo ) QString strToolTip = ""; // alias/name - if ( !strReceivedName.isEmpty() ) + if ( !cChanInfo.strName.isEmpty() ) { - strToolTip += "

" + tr ( "Alias/Name" ) + "

" + strReceivedName; + strToolTip += "

" + tr ( "Alias/Name" ) + "

" + cChanInfo.strName; } // instrument diff --git a/src/audiomixerboard.h b/src/audiomixerboard.h index 1e955ccd..09aeffad 100644 --- a/src/audiomixerboard.h +++ b/src/audiomixerboard.h @@ -49,7 +49,8 @@ class CChannelFader : public QObject public: CChannelFader ( QWidget* pNW ); - QString GetReceivedName() { return strReceivedName; } + QString GetReceivedName() { return cReceivedChanInfo.strName; } + int GetReceivedInstrument() { return cReceivedChanInfo.iInstrument; } void SetChannelInfos ( const CChannelInfo& cChanInfo ); void Show() { pFrame->show(); } void Hide() { pFrame->hide(); } @@ -101,7 +102,7 @@ protected: QLabel* plblInstrument; QLabel* plblCountryFlag; - QString strReceivedName; + CChannelInfo cReceivedChanInfo; bool bOtherChannelIsSolo; bool bIsMyOwnFader; From b078bfd7b8b6d0df2e0af14fa5ad6b97f3dd5d3b Mon Sep 17 00:00:00 2001 From: Volker Fischer Date: Sat, 13 Jun 2020 08:51:05 +0200 Subject: [PATCH 08/23] further preparation for #356 --- src/audiomixerboard.cpp | 17 ++++++++++++++--- src/audiomixerboard.h | 4 +++- src/clientdlg.h | 2 +- src/util.h | 8 ++++++++ 4 files changed, 26 insertions(+), 5 deletions(-) diff --git a/src/audiomixerboard.cpp b/src/audiomixerboard.cpp index 5753cbab..88b198f3 100644 --- a/src/audiomixerboard.cpp +++ b/src/audiomixerboard.cpp @@ -768,20 +768,31 @@ void CAudioMixerBoard::HideAll() iMyChannelID = INVALID_INDEX; // use original order of channel (by server ID) - ChangeFaderOrder ( false ); + ChangeFaderOrder ( false, ST_BY_NAME ); // emit status of connected clients emit NumClientsChanged ( 0 ); // -> no clients connected } -void CAudioMixerBoard::ChangeFaderOrder ( const bool bDoSort ) +void CAudioMixerBoard::ChangeFaderOrder ( const bool bDoSort, + const EChSortType eChSortType ) { // create a pair list of lower strings and fader ID for each channel QList > PairList; for ( int i = 0; i < MAX_NUM_CHANNELS; i++ ) { - PairList << QPair ( vecpChanFader[i]->GetReceivedName().toLower(), i ); + if ( eChSortType == ST_BY_NAME ) + { + PairList << QPair ( vecpChanFader[i]->GetReceivedName().toLower(), i ); + } + else // ST_BY_INSTRUMENT + { + // note that the sorting will not be the same as we would use QPair + // but this is not a problem since the order of the instrument IDs are arbitrary + // anyway + PairList << QPair ( QString::number ( vecpChanFader[i]->GetReceivedInstrument() ), i ); + } } // if requested, sort the channels diff --git a/src/audiomixerboard.h b/src/audiomixerboard.h index 09aeffad..a3321a34 100644 --- a/src/audiomixerboard.h +++ b/src/audiomixerboard.h @@ -147,7 +147,6 @@ public: CAudioMixerBoard ( QWidget* parent = nullptr, Qt::WindowFlags f = nullptr ); void HideAll(); - void ChangeFaderOrder ( const bool bDoSort ); void ApplyNewConClientList ( CVector& vecChanInfo ); void SetServerName ( const QString& strNewServerName ); void SetGUIDesign ( const EGUIDesign eNewDesign ); @@ -160,6 +159,9 @@ public: void SetFaderLevel ( const int iChannelIdx, const int iValue ); + void ChangeFaderOrder ( const bool bDoSort, + const EChSortType eChSortType ); + void SetChannelLevels ( const CVector& vecChannelLevel ); // settings diff --git a/src/clientdlg.h b/src/clientdlg.h index 2489ed33..27531c83 100755 --- a/src/clientdlg.h +++ b/src/clientdlg.h @@ -152,7 +152,7 @@ public slots: void OnOpenGeneralSettings() { ShowGeneralSettings(); } void OnOpenChatDialog() { ShowChatWindow(); } void OnOpenAnalyzerConsole() { ShowAnalyzerConsole(); } - void OnSortChannelsByName() { MainMixerBoard->ChangeFaderOrder ( true ); } + void OnSortChannelsByName() { MainMixerBoard->ChangeFaderOrder ( true, ST_BY_NAME ); } void OnSettingsStateChanged ( int value ); void OnChatStateChanged ( int value ); diff --git a/src/util.h b/src/util.h index 935ebd02..6e24312b 100755 --- a/src/util.h +++ b/src/util.h @@ -563,6 +563,14 @@ enum ELicenceType }; +// Channel sort type ----------------------------------------------------------- +enum EChSortType +{ + ST_BY_NAME = 0, + ST_BY_INSTRUMENT = 1 +}; + + // Central server address type ------------------------------------------------- enum ECSAddType { From 14cf23a1d7bbaf8da0f62378efda5669e6baa741 Mon Sep 17 00:00:00 2001 From: Volker Fischer Date: Sat, 13 Jun 2020 09:27:31 +0200 Subject: [PATCH 09/23] fix: Jamulus Server window too wide #357 --- src/serverdlgbase.ui | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/serverdlgbase.ui b/src/serverdlgbase.ui index e00bb4db..de77a8bd 100755 --- a/src/serverdlgbase.ui +++ b/src/serverdlgbase.ui @@ -69,9 +69,20 @@ + + + + + + + + STATUS + + + @@ -88,13 +99,6 @@ - - - - STATUS - - - From ff31b99dc35fb9065d3c8fdaeb6b3375cc608ba0 Mon Sep 17 00:00:00 2001 From: Volker Fischer Date: Sat, 13 Jun 2020 09:29:51 +0200 Subject: [PATCH 10/23] added Genre label --- src/serverdlgbase.ui | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/serverdlgbase.ui b/src/serverdlgbase.ui index de77a8bd..418a07c3 100755 --- a/src/serverdlgbase.ui +++ b/src/serverdlgbase.ui @@ -7,7 +7,7 @@ 0 0 588 - 415 + 419 @@ -73,6 +73,13 @@ + + + + Genre + + + From 16dc091b48323e95bbc1f911ebd3f83d9b0fcb9d Mon Sep 17 00:00:00 2001 From: Jonathan Date: Sat, 13 Jun 2020 08:58:20 +0100 Subject: [PATCH 11/23] Update for sort order Also a slight clarification --- src/res/homepage/manual.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/res/homepage/manual.md b/src/res/homepage/manual.md index 34dfe39d..c88aa61c 100644 --- a/src/res/homepage/manual.md +++ b/src/res/homepage/manual.md @@ -93,7 +93,7 @@ in a direction where the label above the fader shows L -x, where x is the curren In the audio mixer frame, a fader is shown for each connected client at the server (including yourself). The faders allow you to adjust the level of what you hear without affecting what others hear. -The VU meter shows the input level at the server - that is, the sound you are sending. +The VU meter shows the input level at the server - that is, the sound being sent. If you have set your Audio Channel to Stereo or Stereo Out in your Settings, you will also see a pan control. @@ -103,6 +103,7 @@ Using the **Mute button** prevents the indicated channel being heard in your loc The **Solo button** allows you to hear one or more musicians on their own. Those not soloed will be muted. Note also that those musicians who are not soloed will see a "muted" icon above your fader. +Channels are listed left to right in the order that clients connect until they leave, at which point their "slot" is filled by the next new arrival. You can change the sort order using the Edit option in the application menu. From 0578e8177e0aa906d366b50cbf461ce0e3987310 Mon Sep 17 00:00:00 2001 From: dzpex <65598812+dzpex@users.noreply.github.com> Date: Sat, 13 Jun 2020 13:46:57 +0200 Subject: [PATCH 12/23] New feature translated --- src/res/translation/translation_it_IT.qm | Bin 59515 -> 97906 bytes src/res/translation/translation_it_IT.ts | 202 +++++++++++------------ 2 files changed, 101 insertions(+), 101 deletions(-) diff --git a/src/res/translation/translation_it_IT.qm b/src/res/translation/translation_it_IT.qm index 4ae5f3f6e2ccd86c35c4ff3a0e67093994bdbfcc..b05d00aa8bce9df3e27a64ebf1d77ee495b6ee8e 100644 GIT binary patch delta 32857 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 delta 3607 zcmX9=c|c9+8-C8Y=iGfMGmWA}lch3KmSjm`%xJTuEKxU2*`+Djmu^NkDpD@RXfjb~ zk>%hTOHrhf7~2>-jU^h{Lj4TC*POqed(ZjK_rCA*KJW8=uRieqyC^XXJ~Gw1t|fQV zc}Lrd$ovzxzXQ~30CWQ;R}zi{x?C60IYh+B;e^3}Q-O#s0U}0)0(=-SN&tF#(QjHG zG6M+Q1dNLSENK0NM8f+bx+np|^5sDEdT?v^0^!%dAAZ}w?G%E5Q{d?0>4eD89ALxYH$w!_az@shV1;6L>) zU_1f;Dhg<9Mt~>Lb=3(0m8n3FCIr@P2AF7!8cY?exsITTw6Sw%giIplBI6PI?;F6S z1e2Z^frU1h+~pf!-BReKj=*|b=s&MpZ$MPQOkj2smgf>f-5(&UG7lJHxQT6x$^qBg z*yVhgGWN%AcQ-&1hvHMOfb@Lq9X<}o1^&qJ2l^cpQLn+JZlmctSKOn55mADN6P@@dc)=W;Pv*AFO>Re9`?#=gMnYiy{I80h{5J9$7J;P@|_ zim4>l-`JeB;lLPgcDp}mOM8zkT$u?RKgSk-Zfz$g5m)tOi?`bwfbT}LWx75zb}U=g z9tUIvvWH`+(5z&(q9;{6R>Pihn+5!mz}6m{2FSLsjluhXqE2k~5{*M0SGdv- z7@f)O9JPw5yv`M0rg@)rSj4<$uCzoC^qD6!6fn9<#JT&p>!(R{>_qOCDUmRpGu*bH1eEx3_ii`=eHU?$PhBJ0c(|CR@I1@B|vea^Bs6dTzSN_sO>he*cH}(vUW|I)1SJ zAW-JS`?QY%GQ0D>AG*==?)(H3wQSTORYRXGK``#UzjyHVH4jEweEx)-W7SLQ3G1i*T z&85oaCK01j2x;HUQa)dPlEitA&tFaJHyJMS#WfWqvbX%{Pqbm#0lvon12JI7UyS-l z#u3P04gbu{X%WND^3RTxlTW;tsywd%ww6-sBpr=ckksY~eLrWe^hYZi<9?pf#K~09 zZ(&knP)BmsF4AqL_Y_AjEj&4qjL2QO(@2RJLLW$r2dYVg4bswhAE4rtv|=2IMzv4G zwENP^Vp4yQQd)guG%*z@t%-LdFV{;Sr(4mPFO-XIG;GXSvuTQ=S*0_fT()4M8Y z+D)kH!af3;=z?uHb>tvg@kT&*O$~NCECuiFs+oGlf_wJU7RNs^R zde)xA=_Nb5nNCq9E4!~JZLEJHyMK5HVX3UKy^7{P>mON@11)swB3IvjP7L&xTO9NO zriRMhlOF=Q%Ob8FFYi6}03F9u<$cO1VB#rx;EV>c=)3ZXHZ(Q!3 zX-CNiniZ4Z(|h9@MRZmxot{QT^fM}Gt&JikERpuPrbsh*6D7QrBGYj`urg1P)&7`z zouVkZkq6jJQtZD*z4Dl%IPgbT>g^WA@%qbjDt1s*=xO~L8^u`%V#IE#qPBqyC+kZ^ z)6xb?K%rwQO2dR-%YlP2%Biii@QR;u znm-4`+*QsDs-bz^q@3AA8?Kt7j0yXTdZ|>#{kt02c0f7Lk1X|ixN_$>YaqZ+Sv>VR z8BMFQ^fe`tNouK7(=%x9gEbRN zLV$q{B1W`pri~$L?JPv>;isA1krJG-LbGT%?f*?@&DQMKbRP)S>>gfD^KT!jsd(i^ zJ#iON@YPhEY@n;NOmlX6G#OE)=7O~oiD-c4@iSUiK2-BGlHT{}rj>mp#xmz4Q~R#8jMm3!+s8K$GiP*;fxAg-dvrct zPDy}wvTj)IE1KuAx{*t$=hjBu^z&zE!4Tb+j+DT8mF{u|eK5;icg5-s8B5VD;N~Ua zsBQ)$T(zuXO<`6A!YrEt&Q$BrAf$eMSt6|LK2Bn4cllO0*pp>Vcib+U8hW1JrlYNng0XS4MCkeS zg+y5RdY6qkTEpbZ%!90$xvcqCM`k@^9^}9rXU$u?GKZL)9X*(o9LAOT*1Y^1rkXKF z^ This app enables musicians to perform real-time jam sessions over the internet. - + Dà la possibilità ai musicisti di realizzare sessioni live attraverso internet. There is a server which collects the audio data from each client, mixes the audio data and sends the mix back to each client. - + Il server acquisisce i dati audio di ogni client, mixa i dati audio e li rimanda ad ogni client connesso. This app uses the following libraries, resources or code snippets: - + Questa applicazione usa le seguenti librerie, risorse e parti di codice: Country flag icons by Mark James - + Le icone delle bandiere sono state realizzate da Marl James @@ -124,7 +124,7 @@ Released under the GNU General Public License (GPL) - + Rilasciato sotto licensa GNU General Public License (GPL) Under the GNU General Public License (GPL) @@ -320,32 +320,32 @@ Displays the pre-fader audio level of this channel. All clients connected to the server will be assigned an audio level, the same value for every client. - + Visualizza il livello "pre-fader" di questo canale. Tutti i client connessi al server avranno assegnato un livello audio, lo stesso valore per ogni client. Adjusts the audio level of this channel. All clients connected to the server will be assigned an audio fader, displayed at each client, to adjust the local mix. - + Regola il livello audio di questo canale. A tutti i client connessi sarà assegnatu un fader per regolare il mix audio locale. Speaker with cancellation stroke: Indicates that another client has muted you. - + Altoparlate con il segnale rosso: indica che un altro client ha messo il tuo canale in mute. Sets the pan from Left to Right of the channel. Works only in stereo or preferably mono in/stereo out mode. - + Regola il bilanciamento Sinistro - Destro del canale. Funziona solo se abilitata la funzione stereo oppure "mono-in/stereo-out". With the Solo checkbox, the audio channel can be set to solo which means that all other channels except the soloed channel are muted. It is possible to set more than one channel to solo. - + Se selezionato il pulsate "Solo", il canale audio sarà settato nella modalità di "Solo" ovvero tutti i canali saranno mutati ad eccezione di quelli in modalità "Solo". The fader tag identifies the connected client. The tag name, a picture of your instrument and the flag of your country can be set in the main window. - + La targa sotto il Fader identifica il client connesso. Il nome, l'immagine dello strumento, e la bandiera della nazionalità possono essere settati tramite la finestra del profilo. @@ -380,12 +380,12 @@ M - + M S - + S @@ -654,122 +654,122 @@ This shows the level of the two stereo channels for your audio input. - + Visualizza il livello di input dei due canali stereo. If the application is connected to a server and you play your instrument/sing into the microphone, the VU meter should flicker. If this is not the case, you have probably selected the wrong input channel (e.g. 'line in' instead of the microphone input) or set the input gain too low in the (Windows) audio mixer. - + Se il programma è connesso ad un server e voi state suonando o cantando, il VU-Meter sarà in funzione. Se ciò non accade probabilemnte avete settato un ingresso errato oppure il livello di input è troppo basso. For proper usage of the application, you should not hear your singing/instrument through the loudspeaker or your headphone when the software is not connected.This can be achieved by muting your input audio channel in the Playback mixer (not the Recording mixer!). - + Per un corretto utilizzo dell'applicazione, non è possibile ascoltare il canto o lo strumento attraverso l'altoparlante o le cuffie quando il programma non è collegato. Basta disattivare l'audio del canale di ingresso nel mixer di riproduzione (non nel mixer di registrazione!). Clicking on this button changes the caption of the button from Connect to Disconnect, i.e., it implements a toggle functionality for connecting and disconnecting the application. - + Cliccando su questo pulsante il stato passa da Connesso a Disconnesso, implementa infatti la funzionalità di connessione-disconnessione del programma. Controls the relative levels of the left and right local audio channels. For a mono signal it acts as a pan between the two channels.For example, if a microphone is connected to the right input channel and an instrument is connected to the left input channel which is much louder than the microphone, move the audio fader in a direction where the label above the fader shows - + Controlla i livelli relativi dei canali audio locali sinistro e destro. Per un segnale mono funge da pan tra i due canali. Ad esempio, se un microfono è collegato al canale di ingresso destro e uno strumento è collegato al canale di ingresso sinistro che è molto più forte del microfono, spostare il cursore audio in una direzione in cui viene mostrata l'etichetta sopra il fader Reverb effect - + Effetto Reverbero Reverb can be applied to one local mono audio channel or to both channels in stereo mode. The mono channel selection and the reverb level can be modified. For example, if a microphone signal is fed in to the right audio channel of the sound card and a reverb effect needs to be applied, set the channel selector to right and move the fader upwards until the desired reverb level is reached. - + Il Reverbero può essere applicato sia in modalità mono che stereo. La selezione del canale mono e il livello di riverbero possono essere modificati. Ad esempio, se un segnale del microfono viene immesso nel canale audio destro della scheda audio e deve essere applicato un effetto di riverbero, impostare il selettore di canale su destra e spostare il fader verso l'alto fino a raggiungere il livello di riverbero desiderato. Reverb effect level setting - + Livello dell'effetto di Reverbero Reverb Channel Selection - + Selezione Canale Reverbero With these radio buttons the audio input channel on which the reverb effect is applied can be chosen. Either the left or right input channel can be selected. - + Con questi pulsanti di opzione è possibile scegliere il canale di ingresso audio su cui viene applicato l'effetto riverbero. È possibile selezionare il canale di input sinistro o destro. Left channel selection for reverb - + Canale Sinistro per il Reverbero Right channel selection for reverb - + Canale Destro per il Reverbero Green - + Verde The delay is perfect for a jam session. - + Il delay è perfetto per una live session. Yellow - + Giallo Red - + Rosso Opens a dialog where you can select a server to connect to. If you are connected, pressing this button will end the session. - + Apre una finestra di dialogo in cui è possibile selezionare un server a cui connettersi. Se si è connessi, premere questo pulsante per terminare la sessione. Shows the current audio delay status: - + Visualizza lo stato corrente del delay: A session is still possible but it may be harder to play. - + Una sessione è ancora possibile ma potrebbe essere più difficile suonare. The delay is too large for jamming. - + Il delay è eccessivo per una live session. If this LED indicator turns red, you will not have much fun using the application. - + Se il LED diventa rosso non si avrà una buona esperinza di utilizzo dell'applicazione. The buffers status LED shows the current audio/streaming status. If the light is red, the audio stream is interrupted. This is caused by one of the following problems: - + Il LED di stato del buffer mostra lo stato audio dello streaming corrente. Se la luce è rossa, il flusso audio viene interrotto. Ciò è causato da uno dei seguenti problemi: The sound card's buffer delay (buffer size) is too small (see Settings window). - + Il ritardo della scheda audio(ovvero il buffer size) è troppo basso (vedere i Settaggi della Scheda). The upload or download stream rate is too high for your internet bandwidth. - + La banda passante per lo stream (upload e download) è troppo rispetto alla qualità della connessione internet. @@ -825,12 +825,12 @@ &Edit - + &Modifica &Sort Channel Users by Name - + &Canali in ordine Alfabetico @@ -1312,7 +1312,7 @@ mode will increase your stream's data rate. Make sure your upload rate does not exceed the available upload speed of your internet connection. - + modalità che aumenterà la velocità dei dati del tuo stream. Assicurati che la tua velocità di upload non superi la velocità di upload disponibile per la tua connessione Internet. @@ -1329,137 +1329,137 @@ The jitter buffer compensates for network and sound card timing jitters. The size of the buffer therefore influences the quality of the audio stream (how many dropouts occur) and the overall delay (the longer the buffer, the higher the delay). - + Il Jitter Buffer compensa i ritardi della rete e della scheda audio. La dimensione del buffer influenza quindi la qualità del flusso audio (quando si verificano i dropout) e il ritardo complessivo (più è alto il buffer, maggiore è il ritardo). You can set the jitter buffer size manually for the local client and the remote server. For the local jitter buffer, dropouts in the audio stream are indicated by the light below the jitter buffer size faders. If the light turns to red, a buffer overrun/underrun has taken place and the audio stream is interrupted. - + È possibile impostare manualmente la dimensione delJitter Buffer per il client locale e il server remoto. Per il Jitter Buffer locale, i dropout nel flusso audio sono indicati dalla luce sotto i fader del Jitter Buffer. Se la luce diventa rossa, si è verificato un sovraccarico / underrun del buffer e il flusso audio viene interrotto. If the Auto setting is enabled, the jitter buffers of the local client and the remote server are set automatically based on measurements of the network and sound card timing jitter. If Auto is enabled, the jitter buffer size faders are disabled (they cannot be moved with the mouse). - + Se la modalità "Auto" è abilitata il Jitter Buffer si regolerà automaticamente sulla base di misure sulla rete e sulle latenze della scheda audio. Quando la modalità "Auto" è abilitata i fader saranno disabilitati. If the Auto setting is enabled, the network buffers of the local client and the remote server are set to a conservative value to minimize the audio dropout probability. To tweak the audio delay/latency it is recommended to disable the Auto setting and to lower the jitter buffer size manually by using the sliders until your personal acceptable amount of dropouts is reached. The LED indicator will display the audio dropouts of the local jitter buffer with a red light. - + Se l'impostazione Auto è abilitata, i buffer di rete del client locale e del server remoto vengono impostati su un valore conservativo per ridurre al minimo la probabilità di interruzione dell'audio. Per modificare il ritardo / latenza audio, si consiglia di disabilitare l'impostazione Auto e di ridurre manualmente la dimensione del buffer utilizzando i fader fino a raggiungere una qualità audio accettabile. L'indicatore LED mostrerà i dropout audio del Jitter Buffer locale con una luce rossa. The buffer delay setting is a fundamental setting of this software. This setting has an influence on many connection properties. - + Il Buffer Delay è un settaggio fondamentale per questo programma. Questo settaggio influenza molte propriètà di connessione. 64 samples: The preferred setting. Provides the lowest latency but does not work with all sound cards. - + 64 Campiono: Settaggio preferito. Permette di ottenere latenze bassissime ma non tutto le schede audio supportano questo valore. 128 samples: Should work for most available sound cards. - + 128 Campioni: Valore accettato dalla maggior parde delle schede audio. 256 samples: Should only be used on very slow computers or with a slow internet connection. - + 256 Campioni: Usato su computer vecchi o su connessioni lente. Some sound card drivers do not allow the buffer delay to be changed from within the application. In this case the buffer delay setting is disabled and has to be changed using the sound card driver. On Windows, press the ASIO Setup button to open the driver settings panel. On Linux, use the Jack configuration tool to change the buffer size. - + Alcune driver non permettono il settaggio del buffer delay quando il programma è avviato. In questo caso la scelta del buffer delay è disabilitata è puo essere modificata avviando il software del driver della scheda audio. Su windows cliccare su "ASIO Setup" per aprire i settings del driver ASIO. Su Linux usare la configurazione di Jack per modificare la dimensione del Buffer. If no buffer size is selected and all settings are disabled, an unsupported buffer size is used by the driver. The application will still work with this setting but with restricted performance. - + Si nessuna delle opzioni di Buffer è selezionata vuol dire che una dimensione non supportata è in uso da parte del driver. Il programma continuerà a funzionare con performance limitate. If the buffer delay settings are disabled, it is prohibited by the audio driver to modify this setting from within the software. On Windows, press the ASIO Setup button to open the driver settings panel. On Linux, use the Jack configuration tool to change the buffer size. - + Se le impostazioni di ritardo del buffer sono disabilitate, il driver audio non può modificare questa impostazione dal programma. Su Windows, premi il pulsante ASIO Setup per aprire il pannello delle impostazioni del driver. Su Linux, utilizzare lo strumento di configurazione Jack per modificare la dimensione del buffer. Skin - + Vista Select the skin to be used for the main window. - + Selezione la vista da applicare alla finestra principale. Skin combo box - + Box di selezione Vista Selects the number of audio channels to be used for communication between client and server. There are three modes available: - + Seleziona il numero di canali audio da utilizzare per la comunicazione tra client e server. Sono disponibili tre modalità: and - + e These modes use one and two audio channels respectively. - + Questa modalità usa rispettivamente uno o due canali audio. Mono in/Stereo-out - + Mono in/Stereo-out The audio signal sent to the server is mono but the return signal is stereo. This is useful if the sound card has the instrument on one input channel and the microphone on the other. In that case the two input signals can be mixed to one mono channel but the server mix is heard in stereo. - + Il segnale audio inviato al server è mono ma il segnale di ritorno è stereo. Ciò è utile se la scheda audio ha lo strumento su un canale di ingresso e il microfono sull'altro. In tal caso, i due segnali di ingresso possono essere miscelati su un canale mono ma il mix del server viene ascoltato in stereo. Enabling - + Abilitando In stereo streaming mode, no audio channel selection for the reverb effect will be available on the main window since the effect is applied to both channels in this case. - + Nella modalità stereo, nessuna selezione di canali audio per l'effetto riverbero sarà disponibile nella finestra principale poiché in questo caso l'effetto viene applicato ad entrambi i canali. The higher the audio quality, the higher your audio stream's data rate. Make sure your upload rate does not exceed the available bandwidth of your internet connection. - + Maggiore è la qualità audio, maggiore è la quantità dei dati del flusso audio. Assicurati che la tua velocità di upload non superi la larghezza di banda disponibile della tua connessione Internet. This setting defines the fader level of a newly connected client in percent. If a new client connects to the current server, they will get the specified initial fader level if no other fader level from a previous connection of that client was already stored. - + Questa impostazione definisce il livello di dissolvenza di un client appena connesso in percentuale. Se un nuovo client si connette al server corrente, otterrà il livello di fader iniziale specificato se nessun altro livello di fader da una precedente connessione di quel client era già memorizzato. Leave this blank unless you need to enter the address of a central server other than the default. - + Lasciare vuoto questo campo a meno che non sia necessario immettere l'indirizzo di un server centrale diverso da quello predefinito. The Ping Time is the time required for the audio stream to travel from the client to the server and back again. This delay is introduced by the network and should be about 20-30 ms. If this delay is higher than about 50 ms, your distance to the server is too large or your internet connection is not sufficient. - + Il ping è il tempo necessario affinché il flusso audio passi dal client al server e viceversa. Questo ritardo è introdotto dalla rete e dovrebbe essere di circa 20-30 ms. Se questo ritardo è superiore a circa 50 ms, la distanza dal server è eccessiva o la connessione a Internet non è sufficiente. Overall Delay is calculated from the current Ping Time and the delay introduced by the current buffer settings. - + Il ritardo complessivo viene calcolato dal tempo di ping corrente e dal ritardo introdotto dalle impostazioni del buffer correnti. Audio Upstream Rate depends on the current audio packet size and compression setting. Make sure that the upstream rate is not higher than your available internet upload speed (check this with a service such as speedtest.net). - + L'Upstream audio dipende dalle dimensioni del pacchetto audio e dalle impostazioni di compressione correnti. Assicurati che la velocità di upstream non sia superiore alla velocità della tua connessione (controlla questo con un servizio come speedtest.net). @@ -1480,12 +1480,12 @@ Fancy - + Fantasia Compact - + Compatto @@ -1676,7 +1676,7 @@ Skin - + Vista @@ -1764,17 +1764,17 @@ The Connection Setup window shows a list of available servers. Server operators can optionally list their servers by music genre. Use the List dropdown to select a genre, click on the server you want to join and press the Connect button to connect to it. Alternatively, double click on on the server name. Permanent servers (those that have been listed for longer than 48 hours) are shown in bold. - + La finestra "Connessioni" mostra un elenco di server disponibili. Gli operatori di server possono facoltativamente elencare i loro server per genere musicale. Utilizzare l'elenco a discesa per selezionare un genere, fare clic sul server a cui si desidera accedere e premere il pulsante Connetti per connettersi ad esso. In alternativa, fai doppio clic sul nome del server. I server permanenti (quelli che sono stati elencati per più di 48 ore) sono mostrati in grassetto. If you know the IP address or URL of a server, you can connect to it using the Server name/Address field. An optional port number can be added after the IP address or URL using a colon as a separator, e.g, example.org: - + Se si conosce l'indirizzo IP o l'URL di un server, è possibile connettersi ad esso utilizzando il campo Nome / indirizzo server. Un numero di porta opzionale può essere aggiunto dopo l'indirizzo IP o l'URL usando i due punti come separatore, ad esempio: esempio.org: . The field will also show a list of the most recently used server addresses. - + . Il campo mostrerà anche un elenco degli indirizzi server utilizzati più di recente. @@ -2097,12 +2097,12 @@ Write your name or an alias here so the other musicians you want to play with know who you are. You may also add a picture of the instrument you play and a flag of the country you are located in. Your city and skill level playing your instrument may also be added. - + Scrivi qui il tuo nome o un alias in modo che gli altri musicisti con cui vuoi suonare sappiano chi sei. Puoi anche aggiungere una foto dello strumento che suoni e una bandiera del paese in cui ti trovi. Puoi anche aggiungere la tua città e il tuo livello di abilità nel suonare il tuo strumento. What you set here will appear at your fader on the mixer board when you are connected to a Jamulus server. This tag will also be shown at each client which is connected to the same server as you. - + Ciò che hai impostato apparirà sul tuo fader sulla scheda del mixer quando sei collegato a un server Jamulus. Questo tag verrà mostrato anche su ogni client collegato allo stesso server. @@ -2332,17 +2332,17 @@ Ukulele - + Uculele Bass Ukulele - + Uculele Basso No Name - + Senza Nome
@@ -2422,12 +2422,12 @@ If the start minimized on operating system start check box is checked, the server will be started when the operating system starts up and is automatically minimized to a system task bar icon. - + Se la casella di controllo "Avvia ridotto a icona" all'avvio del sistema operativo è selezionata, il server verrà avviato all'avvio del sistema operativo e verrà automaticamente ridotto a icona a icona nella barra delle attività del sistema. If the Make My Server Public check box is checked, this server registers itself at the central server so that all users of the application can see the server in the connect dialog server list and connect to it. The registration of the server is renewed periodically to make sure that all servers in the connect dialog server list are actually available. - + Se la casella di controllo "Rendi pubblico il mio server" è selezionata, questo server si registra sul server centrale in modo che tutti gli utenti possano vedere il server nell'elenco dei server. La registrazione del server viene rinnovata periodicamente per assicurarsi che tutti i server nell'elenco siano effettivamente disponibili. @@ -2476,7 +2476,7 @@ The server name identifies your server in the connect dialog server list at the clients. - + Il nome del server identifica il tuo server nell'elenco dei server nella finestra di dialogo di connessione sui client. @@ -2516,62 +2516,62 @@ Checkbox to turn on or off server recording - + Spunta per abilitare o disabilitare la registrazione sul server Enable Recorder - + Abilita Registrazione Checked when the recorder is enabled, otherwise unchecked. The recorder will run when a session is in progress, if (set up correctly and) enabled. - + Se selezionato la registrazione è abilitata. La registrazione verrà eseguito quando è in corso una sessione, se (impostato correttamente e abilitato). Current session directory text box (read-only) - + Casella di testo per la Cartella della sessione Corrente (Sola Lettura) Current Session Directory - + Cartella della sessione Corrente Enabled during recording and holds the current recording session directory. Disabled after recording or when the recorder is not enabled. - + Abilitato durante la registrazione e imposta la directory della sessione di registrazione. Disabilitato dopo la registrazione o quando il registratore non è abilitato. Recorder status label - + Etichetta dello stato di Registrazione Recorder Status - + Stato di Registrazione Displays the current status of the recorder. - + Visualizza lo stato del registratore. Request new recording button - + Pulsante per una nuova registrazione New Recording - + Nuova Registrazione During a recording session, the button can be used to start a new recording. - + Durante una sessione di registrazione questo pulsante può essere usato per iniziare una nuova registrazione. @@ -2619,17 +2619,17 @@ Recording - + Registrazione Not recording - + Registrazione Ferma Not enabled - + Non Abilitata @@ -2738,17 +2738,17 @@ Enable jam recorder - + Abilita Registrazione Jam New recording - + Nuova Registrazione Recordings folder - + Cartella di Registrazione @@ -2817,12 +2817,12 @@ Current system audio input device sample rate of %1 Hz is not supported. Please open the Audio-MIDI-Setup in Applications->Utilities and try to set a sample rate of %2 Hz. - La frequenza di campionamento corrente del dispositivo audio in ingresso di %1 Hz non è supportata. Apri Impostazioni-Audio-MIDI in Applicazioni-> Utilità e prova a impostare una frequenza di campionamento di% 2 Hz. + La frequenza di campionamento corrente del dispositivo audio in ingresso di %1 Hz non è supportata. Apri Impostazioni-Audio-MIDI in Applicazioni-> Utilità e prova a impostare una frequenza di campionamento di %2 Hz. Current system audio output device sample rate of %1 Hz is not supported. Please open the Audio-MIDI-Setup in Applications->Utilities and try to set a sample rate of %2 Hz. - La frequenza di campionamento corrente del dispositivo audio in uscita %1 Hz non è supportata. Apri Impostazioni-Audio-MIDI in Applicazioni-> Utilità e prova a impostare una frequenza di campionamento di% 2 Hz. + La frequenza di campionamento corrente del dispositivo audio in uscita %1 Hz non è supportata. Apri Impostazioni-Audio-MIDI in Applicazioni-> Utilità e prova a impostare una frequenza di campionamento di %2 Hz. From 8de92ed5f77828c2cbffd5db94c7108d1bdfd879 Mon Sep 17 00:00:00 2001 From: Alberstein8 Date: Sat, 13 Jun 2020 14:07:09 +0200 Subject: [PATCH 13/23] Sort by instrument, new sortby function with parameter to set order Sort by instrument added, using the same function for sorting by name or instrument --- src/audiomixerboard.cpp | 23 ----------------------- src/clientdlg.h | 2 +- 2 files changed, 1 insertion(+), 24 deletions(-) diff --git a/src/audiomixerboard.cpp b/src/audiomixerboard.cpp index 307a53c8..d40e11bb 100644 --- a/src/audiomixerboard.cpp +++ b/src/audiomixerboard.cpp @@ -813,29 +813,6 @@ void CAudioMixerBoard::ChangeFaderOrder ( const bool bDoSort, } } -void CAudioMixerBoard::ChangeFaderOrderByInstrument ( const bool bDoSort ) -{ - // create a pair list of instruments ID and fader ID for each channel - QList > PairList; - - for ( int i = 0; i < MAX_NUM_CHANNELS; i++ ) - { - PairList << QPair ( vecpChanFader[i]->GetReceivedInstrument(), i ); - } - - // if requested, sort the channels - if ( bDoSort ) - { - qStableSort ( PairList.begin(), PairList.end() ); - } - - // add channels to the layout in the new order - for ( int i = 0; i < MAX_NUM_CHANNELS; i++ ) - { - pMainLayout->insertWidget ( 0, vecpChanFader[PairList[i].second]->GetMainWidget() ); - } -} - void CAudioMixerBoard::ApplyNewConClientList ( CVector& vecChanInfo ) { // we want to set the server name only if the very first faders appear diff --git a/src/clientdlg.h b/src/clientdlg.h index 87c981c7..7b2e9dfa 100755 --- a/src/clientdlg.h +++ b/src/clientdlg.h @@ -153,7 +153,7 @@ public slots: void OnOpenChatDialog() { ShowChatWindow(); } void OnOpenAnalyzerConsole() { ShowAnalyzerConsole(); } void OnSortChannelsByName() { MainMixerBoard->ChangeFaderOrder ( true, ST_BY_NAME ); } - + void OnSortChannelsByInstrument() { MainMixerBoard->ChangeFaderOrder ( true, ST_BY_INSTRUMENT ); } void OnSettingsStateChanged ( int value ); void OnChatStateChanged ( int value ); From 61f25b564402354c93734a4c99dba27d8055ca91 Mon Sep 17 00:00:00 2001 From: Alberstein8 Date: Sat, 13 Jun 2020 14:15:24 +0200 Subject: [PATCH 14/23] Removed iReceivedInstrument decalration --- src/audiomixerboard.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/audiomixerboard.h b/src/audiomixerboard.h index 1ee8d810..08862464 100644 --- a/src/audiomixerboard.h +++ b/src/audiomixerboard.h @@ -105,9 +105,6 @@ protected: CChannelInfo cReceivedChanInfo; - int iReceivedInstrument; - - bool bOtherChannelIsSolo; bool bIsMyOwnFader; From 7c73b93b9f80b813b5e26963e8e7b062165d7cd4 Mon Sep 17 00:00:00 2001 From: Alberstein8 Date: Sat, 13 Jun 2020 14:58:36 +0200 Subject: [PATCH 15/23] Clean some empty lines to match original code --- src/audiomixerboard.cpp | 3 --- src/audiomixerboard.h | 1 - 2 files changed, 4 deletions(-) diff --git a/src/audiomixerboard.cpp b/src/audiomixerboard.cpp index d40e11bb..88b198f3 100644 --- a/src/audiomixerboard.cpp +++ b/src/audiomixerboard.cpp @@ -447,7 +447,6 @@ void CChannelFader::SetChannelInfos ( const CChannelInfo& cChanInfo ) // Label text -------------------------------------------------------------- - // break text at predefined position const int iBreakPos = MAX_LEN_FADER_TAG / 2; @@ -769,10 +768,8 @@ void CAudioMixerBoard::HideAll() iMyChannelID = INVALID_INDEX; // use original order of channel (by server ID) - ChangeFaderOrder ( false, ST_BY_NAME ); - // emit status of connected clients emit NumClientsChanged ( 0 ); // -> no clients connected } diff --git a/src/audiomixerboard.h b/src/audiomixerboard.h index 08862464..a3321a34 100644 --- a/src/audiomixerboard.h +++ b/src/audiomixerboard.h @@ -49,7 +49,6 @@ class CChannelFader : public QObject public: CChannelFader ( QWidget* pNW ); - QString GetReceivedName() { return cReceivedChanInfo.strName; } int GetReceivedInstrument() { return cReceivedChanInfo.iInstrument; } void SetChannelInfos ( const CChannelInfo& cChanInfo ); From 1c89e7590033fcb18985ab649065bd61360fbc0e Mon Sep 17 00:00:00 2001 From: Volker Fischer Date: Sat, 13 Jun 2020 17:41:44 +0200 Subject: [PATCH 16/23] merge fixes --- ChangeLog | 1 + src/util.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/ChangeLog b/ChangeLog index 6df598ff..1baa93cb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -7,6 +7,7 @@ - add new "slim channel" skin, intended for large ensembles (#339) +- support sorting faders by channel instrument, coded by Alberstein8 (#356) diff --git a/src/util.cpp b/src/util.cpp index 13808bbc..b1b4ba8a 100755 --- a/src/util.cpp +++ b/src/util.cpp @@ -425,6 +425,7 @@ CAboutDlg::CAboutDlg ( QWidget* parent ) : QDialog ( parent ) "" "

Jos van den Oever (vandenoever)

" "

Tormod Volden (tormodvolden)

" + "

Alberstein8 (Alberstein8)

" "

Gauthier Fleutot Östervall (fleutot)

" "

Stanislas Michalak (stanislas-m)

" "

JP Cimalando (jpcima)

" From 1e80a8659b09b118ab7160f5376d3f51fa824644 Mon Sep 17 00:00:00 2001 From: Volker Fischer Date: Sat, 13 Jun 2020 17:43:41 +0200 Subject: [PATCH 17/23] update translation files --- src/res/translation/translation_de_DE.ts | 297 +++++++++++----------- src/res/translation/translation_es_ES.ts | 297 +++++++++++----------- src/res/translation/translation_fr_FR.qm | Bin 102210 -> 102064 bytes src/res/translation/translation_fr_FR.ts | 304 ++++++++++++----------- src/res/translation/translation_it_IT.qm | Bin 97906 -> 97784 bytes src/res/translation/translation_it_IT.ts | 304 ++++++++++++----------- src/res/translation/translation_nl_NL.ts | 298 +++++++++++----------- src/res/translation/translation_pl_PL.ts | 298 +++++++++++----------- src/res/translation/translation_pt_PT.qm | Bin 98567 -> 98441 bytes src/res/translation/translation_pt_PT.ts | 304 ++++++++++++----------- 10 files changed, 1087 insertions(+), 1015 deletions(-) diff --git a/src/res/translation/translation_de_DE.ts b/src/res/translation/translation_de_DE.ts index da776a61..6dfdae60 100644 --- a/src/res/translation/translation_de_DE.ts +++ b/src/res/translation/translation_de_DE.ts @@ -28,17 +28,17 @@ verwendet die folgenden Bibliotheken, Ressourcen oder Codeschnipsel: - + Qt cross-platform application framework Qt plattformübergreifender Anwendungsrahmen - + Audio reverberation code by Perry R. Cook and Gary P. Scavone Halleffekt von Perry R. Cook und Gary P. Scavone - + Some pixmaps are from the Einige Bilder sind von @@ -47,82 +47,82 @@ Die Bilder der Länderflaggen sind von Mark James - + This app enables musicians to perform real-time jam sessions over the internet. Diese Software ermöglicht Musikern über das Internet in Echtzeit zu jammen. - + There is a server which collects the audio data from each client, mixes the audio data and sends the mix back to each client. Es gibt einen Server, der die Audiodaten von allen Musikern sammelt, zusammen mischt und wieder an alle verbundenen Musikern zurück schickt. - + This app uses the following libraries, resources or code snippets: Diese Applikation verwendet die folgenden Bibliotheken, Ressourcen oder Codeschnipsel: - + Country flag icons by Mark James Die Bilder der Länderflaggen sind von Mark James - + For details on the contributions check out the Die Details über die Codebeiträge findet man in der - + Github Contributors list Github Liste der Mitwirkenden - + Spanish Spanisch - + French Französisch - + Portuguese Portugiesisch - + Dutch Holländisch - + Italian Italienisch - + German Deutsch - + About Über - + , Version - + Internet Jam Session Software - + Released under the GNU General Public License (GPL) Unter der GNU General Public License (GPL) @@ -190,17 +190,17 @@ CAudioMixerBoard - + Server - + T R Y I N G T O C O N N E C T V E R B I N D U N G S A U F B A U - + Personal Mix at the Server: Eigener Mix am Server: @@ -367,44 +367,44 @@ - + Alias/Name - + Instrument - + Location Standort - - - + + + Skill Level Spielstärke - + Beginner Anfänger - + Intermediate Mittlere Spielstärke - + Expert Experte - + Musician Profile Profil des Musikers @@ -1513,22 +1513,22 @@ Manuell - + Custom Benutzerdefiniert - + All Genres Alle Genres - + Genre Rock Genre Rock - + Genre Jazz Genre Jazz @@ -1537,12 +1537,12 @@ Genre Rock/Jazz - + Genre Classical/Folk/Choir Genre Klassik/Volksmusik/Chor - + Default Standard @@ -1926,28 +1926,28 @@ CHelpMenu - + &Help &Hilfe - - + + Getting &Started... &Erste Schritte... - + Software &Manual... Software&handbuch... - + What's &This Konte&xthilfe - + &About... Ü&ber... @@ -1955,102 +1955,102 @@ CLicenceDlg - + I &agree to the above licence terms Ich &stimme den Lizenzbedingungen zu - + Accept Einwilligen - + Decline Ablehnen - + By connecting to this server and agreeing to this notice, you agree to the following: Durch das Verbinden mit diesem Server und das Akzeptieren des Lizenztextes willigst du folgenden Bedingungen ein: - + You agree that all data, sounds, or other works transmitted to this server are owned and created by you or your licensors, and that you are making these data, sounds or other works available via the following Creative Commons License (for more information on this license, see Sie stimmen zu, dass alle Daten, Klänge oder andere Arbeiten, die zum Server gesendet werden, Ihnen gehören oder von Ihnen selbst oder einem Lizenzgeber erstellt wurden und dass Sie diese Daten, Klänge oder andere Arbeiten unter die folgende Creative Commons Lizenz stellen (Für weitere Informationen über die Lizenz, siehe - + You are free to: Sie dürfen: - + Share Teilen - + copy and redistribute the material in any medium or format das Material in jedwedem Format oder Medium vervielfältigen und weiterverbreiten - + Adapt Bearbeiten - + remix, transform, and build upon the material das Material remixen, verändern und darauf aufbauen - + The licensor cannot revoke these freedoms as long as you follow the license terms. Der Lizenzgeber kann diese Freiheiten nicht widerrufen solange Sie sich an die Lizenzbedingungen halten. - + Under the following terms: Unter folgenden Bedingungen: - + Attribution Namensnennung - + You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use. Sie müssen angemessene Urheber- und Rechteangaben machen, einen Link zur Lizenz beifügen und angeben, ob Änderungen vorgenommen wurden. Diese Angaben dürfen in jeder angemessenen Art und Weise gemacht werden, allerdings nicht so, dass der Eindruck entsteht, der Lizenzgeber unterstütze gerade Sie oder Ihre Nutzung besonders. - + NonCommercial Nicht kommerziell - + You may not use the material for commercial purposes. Sie dürfen das Material nicht für kommerzielle Zwecke nutzen. - + ShareAlike Weitergabe unter gleichen Bedingungen - + If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original. Wenn Sie das Material remixen, verändern oder anderweitig direkt darauf aufbauen, dürfen Sie Ihre Beiträge nur unter derselben Lizenz wie das Original verbreiten. - + No additional restrictions Keine weiteren Einschränkungen - + You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits. Sie dürfen keine zusätzlichen Klauseln oder technische Verfahren einsetzen, die anderen rechtlich irgendetwas untersagen, was die Lizenz erlaubt. @@ -2062,85 +2062,85 @@ Server. Dieses Schild wird auch bei allen anderen Musikern, die mit dem gleichen Server verbunden sind, angezeigt. Wenn der Name leer gelassen wurde, dann wird die IP-Adresse stattdessen angezeigt. - + Alias or name edit box Alias oder Name Eingabefeld - + Instrument picture button Instrumentenbild Knopf - + Country flag button Landesflagge Knopf - + City edit box Stadt Eingabefeld - + Skill level combo box Fähigkeit Auswahlbox - - - + + + None Kein - - + + Musician Profile Musikerprofil - + Alias/Name - + Instrument - + Country Land - + City Stadt - + Skill Können - + &Close &Schließen - + Beginner Anfänger - + Intermediate Mittlere Spielstärke - + Expert Experte @@ -2153,7 +2153,7 @@ Was man hier sieht wird auch am Fader im Mixer angezeigt, wenn du mit einem - + Write your name or an alias here so the other musicians you want to play with know who you are. You may also add a picture of the instrument you play and a flag of the country you are located in. Your city and skill level playing your instrument may also be added. Schreibe den Namen oder Alias hier rein so dass die anderen Musikern mit denen du spielst wissen wer du bist. Zusätzlich kannst du dein Instrument auswählen und eine Flagge des Landes auswählen in dem du dich befindest. Deine Stadt und deine Spielstärke des Instruments kannst du ebenso angeben. @@ -2162,217 +2162,217 @@ Was man hier sieht wird auch am Fader im Mixer angezeigt, wenn du mit einem Server verbunden bist. Dieses Schild wird auch bei allen anderen Musikern, die mit dem gleichen Server verbunden sind, angezeigt. - + What you set here will appear at your fader on the mixer board when you are connected to a Jamulus server. This tag will also be shown at each client which is connected to the same server as you. Was man hier sieht wird auch am Fader im Mixer angezeigt, wenn du mit einem Server verbunden bist. Dieses Schild wird auch bei allen anderen Musikern, die mit dem gleichen Server verbunden sind, angezeigt. - + 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 - + Vocal Bass Gesang Bass - + Vocal Tenor Gesang Tenor - + Vocal Alto Gesang Alt - + Vocal Soprano Gesang Sopran - + Banjo Banjo - + Mandolin Mandoline - + Ukulele - + Bass Ukulele @@ -2685,42 +2685,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 @@ -2734,7 +2734,7 @@ - + Name Name @@ -2759,13 +2759,18 @@ Veröffentliche meinen Server in der Serverliste - - + + Genre + + + + + STATUS - + Custom Central Server Address: Benutzerdefinierte Zentralserveradresse: @@ -2774,37 +2779,37 @@ Zentralserveradresse - + My Server Info Meine Serverinformationen - + Location: City Standort: Stadt - + Location: Country Standort: Land - + Enable jam recorder Aktivere die Aufnahme - + New recording Neue Aufnahme - + Recordings folder Verzeichnis für die Aufnahmen - + TextLabelNameVersion diff --git a/src/res/translation/translation_es_ES.ts b/src/res/translation/translation_es_ES.ts index 1c18d4dd..e8e494ad 100644 --- a/src/res/translation/translation_es_ES.ts +++ b/src/res/translation/translation_es_ES.ts @@ -32,17 +32,17 @@ utiliza las siguientes librerías, recursos o fragmentos de código: - + Qt cross-platform application framework Qt cross-platform application framework - + Audio reverberation code by Perry R. Cook and Gary P. Scavone Código de reverberación de audio de Perry R. Cook y Gary P. Scavone - + Some pixmaps are from the Algunos pixmaps son del @@ -51,82 +51,82 @@ Iconos de banderas nacionales de Mark James - + This app enables musicians to perform real-time jam sessions over the internet. Esta aplicación permite a músicos realizar jam sessions en tiempo real por internet. - + There is a server which collects the audio data from each client, mixes the audio data and sends the mix back to each client. Hay un servidor que recoge el audio de cada cliente, los mezcla y la envía la mezcla de vuelta a cada cliente. - + This app uses the following libraries, resources or code snippets: Esta aplicación utiliza las siguientes librerías, recursos o fragmentos de código: - + Country flag icons by Mark James Iconos de banderas nacionales de Mark James - + For details on the contributions check out the Para más detalles sobre los contribuidores consulta la - + Github Contributors list lista de Contribuidores en Github - + Spanish Español - + French Francés - + Portuguese Portugués - + Dutch Neerlandés - + Italian Italiano - + German Alemán - + About Acerca de - + , Version , Versión - + Internet Jam Session Software Internet Jam Session Software - + Released under the GNU General Public License (GPL) Publicado bajo la GNU General Public License (GPL) @@ -194,17 +194,17 @@ CAudioMixerBoard - + Server Servidor - + T R Y I N G T O C O N N E C T I N T E N T A N D O C O N E C T A R - + Personal Mix at the Server: Mezcla Personal en el Servidor: @@ -371,44 +371,44 @@ - + Alias/Name Alias/Nombre - + Instrument Instrumento - + Location Ubicación - - - + + + Skill Level Nivel Habilidad - + Beginner Principiante - + Intermediate Intermedio - + Expert Experto - + Musician Profile Perfil Músico @@ -1521,12 +1521,12 @@ Manual - + Custom Personalizado - + All Genres Todos los Géneros @@ -1535,22 +1535,22 @@ Género Rock/Jazz - + Genre Classical/Folk/Choir Género Clásica/Folk/Coro - + Genre Rock Género Rock - + Genre Jazz Género Jazz - + Default Por defecto @@ -1942,28 +1942,28 @@ CHelpMenu - + &Help &Ayuda - - + + Getting &Started... Cómo &Empezar... - + Software &Manual... Manual del &Software... - + What's &This Qué es &Esto - + &About... &Acerca de... @@ -1971,102 +1971,102 @@ CLicenceDlg - + I &agree to the above licence terms &Acepto los términos de la licencia arriba expuestos - + Accept Acepto - + Decline No Acepto - + By connecting to this server and agreeing to this notice, you agree to the following: Al conectarte a este servidor y aceptar esta notificación, aceptas lo siguiente: - + You agree that all data, sounds, or other works transmitted to this server are owned and created by you or your licensors, and that you are making these data, sounds or other works available via the following Creative Commons License (for more information on this license, see Ud. declara que todos los datos, audios u otras obras transmitidas a este servidor son la propiedad de Ud. y creadas por Ud. o sus licenciatarios, y que pone a disposición de terceras partes estos datos, audios u otras obras mediante la siguiente Licencia Creative Commons (para más información sobre esta licencia, ver - + You are free to: Ud. es libre de: - + Share Compartir - + copy and redistribute the material in any medium or format copiar y redistribuir el material en cualquier medio o formato - + Adapt Adaptar - + remix, transform, and build upon the material remezclar, transformar y construir a partir del material - + The licensor cannot revoke these freedoms as long as you follow the license terms. El licenciante no puede revocar estas libertades en tanto Ud. siga los términos de la licencia. - + Under the following terms: Bajo los siguientes términos: - + Attribution Atribución - + You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use. Ud. debe dar crédito de manera adecuada, brindar un enlace a la licencia, e indicar si se han realizado cambios. Puede hacerlo en cualquier forma razonable, pero no de forma tal que sugiera que Ud. o su uso tienen el apoyo de la licenciante. - + NonCommercial No-Comercial - + You may not use the material for commercial purposes. No puede utilizar el material con fines comerciales. - + ShareAlike ShareAlike - + If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original. Si remezcla, transforma o construye sobre el material, debe distribuir sus contribuciones bajo la misma licencia que el original. - + No additional restrictions Sin restricciones adicionales - + You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits. No puede aplicar términos legales o medidas tecnológicas que restringan legalmente a otras personas de hacer cualquier cosa permitida por la licencia. @@ -2078,85 +2078,85 @@ Esta etiqueta también se mostrará a cada cliente conectado al mismo servidor que tú. Se se deja vacío, se muestra la dirección IP en su lugar. - + Alias or name edit box Campo para alias o nombre - + Instrument picture button Botón imagen instrumento - + Country flag button Botón bandera país - + City edit box Ciudad - + Skill level combo box Nivel de habilidad - - - + + + None Ninguno - - + + Musician Profile Perfil Músico - + Alias/Name Alias/Nombre - + Instrument Instrumento - + Country País - + City Ciudad - + Skill Habilidad - + &Close &Cerrar - + Beginner Principiante - + Intermediate Intermedio - + Expert Experto @@ -2169,7 +2169,7 @@ Lo que introduzcas aquí aparecerá en tu fader del mezclador cuando te conectes a un servidor - + Write your name or an alias here so the other musicians you want to play with know who you are. You may also add a picture of the instrument you play and a flag of the country you are located in. Your city and skill level playing your instrument may also be added. Escribe tu nombre o alias aquí para que otros músicos con quien quieras tocar te reconozcan. Puedes además añadir una imagen del instrumento que tocas y la bandera del país donde vives. La ciudad donde vives y tu nivel de habilidad con el instrumento también pueden añadirse. @@ -2178,217 +2178,217 @@ Lo que introduzcas aquí aparecerá en tu fader del mezclador cuando te conectes a un servidor. Esta etiqueta también se mostrará en cada cliente conectado al mismo servidor que tú. Si se deja el nombre vacío, se muestra la dirección IP en su lugar. - + What you set here will appear at your fader on the mixer board when you are connected to a Jamulus server. This tag will also be shown at each client which is connected to the same server as you. Lo que introduzcas aquí aparecerá en tu fader del mezclador cuando te conectes a un servidor Jamulus. Esta etiqueta también se mostrará en cada cliente conectado al mismo servidor que tú. - + 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 - + Vocal Bass Voz Bajo - + Vocal Tenor Voz Tenor - + Vocal Alto Voz Alto - + Vocal Soprano Voz Soprano - + Banjo Banjo - + Mandolin Mandolina - + Ukulele Ukulele - + Bass Ukulele Ukulele Barítono @@ -2697,42 +2697,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 @@ -2746,7 +2746,7 @@ - + Name Nombre @@ -2771,13 +2771,18 @@ Mi Servidor es Público (Registra Mi Servidor en la Lista de Servidores) - - + + Genre + + + + + STATUS ESTADO - + Custom Central Server Address: Dirección Personalizada Servidor Central: @@ -2786,37 +2791,37 @@ Dirección Servidor Central: - + My Server Info Info Mi Servidor - + Location: City Ubicación: Ciudad - + Location: Country Ubicación: País - + Enable jam recorder Habilitar grabación Jam - + New recording Nueva grabación - + Recordings folder Carpeta grabaciones - + TextLabelNameVersion TextLabelNameVersion diff --git a/src/res/translation/translation_fr_FR.qm b/src/res/translation/translation_fr_FR.qm index 6bd57449f25e3791c13d7ba06927fcdd8d8b6bce..922678b1da3c995291d271eb8093e33489820d51 100644 GIT binary patch delta 3937 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

XD>Dy2r`EcZ@J1O7;td%wy9Y?@^k z3tO;>?((4Y5Mp4T>>;ftJNK1+R;;4MuUsCPLA6Mp(T-Qg%0b3EZ|TBFdHj>dRFT2* z?6wS>ugdWyp8?0e)f5|V>h?x`9ssgn0@m5-DM=k3$n3wLJiPAQ{OGH zgf8r^_wJq!EPb!{siMHNN&3+#B)&c~^-)(Tu=M%*scQ&#ey5K;f0}HxSD*D0M=dy7 z|GgLws57q3jlS7T o2J0Q5Zy7j=RQy`svO6BEFE@*3qwm2ueV2aAWv}04FXk5f|D$h`vj6}9 delta 4022 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 T&&oLGY_TZW`FOH3>+Ab}1p=(D diff --git a/src/res/translation/translation_fr_FR.ts b/src/res/translation/translation_fr_FR.ts index 5e993b40..916a7929 100644 --- a/src/res/translation/translation_fr_FR.ts +++ b/src/res/translation/translation_fr_FR.ts @@ -32,17 +32,17 @@ utilise les bibliothèques, ressources ou extraits de code suivants : - + Qt cross-platform application framework Cadriciel d'application multiplateforme Qt - + Audio reverberation code by Perry R. Cook and Gary P. Scavone Code de réverbération audio par Perry R. Cook et Gary P. Scavone - + Some pixmaps are from the Certaines images sont issues de @@ -51,82 +51,82 @@ Icônes de drapeaux de pays par Mark James - + This app enables musicians to perform real-time jam sessions over the internet. Cette app permet aux musiciens de faire des bœufs en temps réel sur internet. - + There is a server which collects the audio data from each client, mixes the audio data and sends the mix back to each client. Il y a un serveur qui collecte les données audio de chaque client, les mixe, et renvoie le mixage à chaque client. - + This app uses the following libraries, resources or code snippets: Cette app utilise les bibliothèques, ressources ou extraits de code suivants : - + Country flag icons by Mark James Icônes de drapeaux de pays par Mark James - + For details on the contributions check out the Pour plus de détails sur les contributions, consultez la - + Github Contributors list liste de contributeurs sur github - + Spanish Espagnol - + French Français - + Portuguese Portugais - + Dutch Néerlandais - + Italian Italien - + German Allemand - + About À propos - + , Version , version - + Internet Jam Session Software Logiciels de bœuf sur Internet - + Released under the GNU General Public License (GPL) Publié sous la licence publique générale GNU (GPL) @@ -212,7 +212,7 @@ 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: Mixage personnel du serveur : @@ -723,7 +723,7 @@ - + C&onnect Se c&onnecter @@ -768,28 +768,27 @@ Édit&er - &Sort Channel Users by Name - &Trier les utilisateurs du canal par nom + &Trier les utilisateurs du canal par nom - + None Aucun - + Center Centre - + R D - + L G @@ -864,22 +863,32 @@ Le processeur du client ou du serveur est à 100%. - + + Sort Channel Users by &Name + + + + + Sort Channel Users by &Instrument + + + + Central Server Serveur central - + user utilisateur - + users utilisateurs - + D&isconnect Dé&connecter @@ -1516,12 +1525,12 @@ Manuel - + Custom Personnalisé - + All Genres Tous les genres @@ -1530,22 +1539,22 @@ Genre rock/jazz - + Genre Classical/Folk/Choir Genre classique/folk/choeur - + Genre Rock Genre Rock - + Genre Jazz Genre Jazz - + Default Défaut @@ -1929,28 +1938,28 @@ CHelpMenu - + &Help &Aide - - + + Getting &Started... Premier pa&s... - + Software &Manual... &Manuel du logiciel... - + What's &This Qu'est-ce que c'est ? - + &About... À &propos @@ -1958,102 +1967,102 @@ CLicenceDlg - + I &agree to the above licence terms J'&accepte les conditions de licence ci-dessus - + Accept Accepter - + Decline Décliner - + By connecting to this server and agreeing to this notice, you agree to the following: En vous connectant à ce serveur et en acceptant le présent avis, vous acceptez ce qui suit : - + You agree that all data, sounds, or other works transmitted to this server are owned and created by you or your licensors, and that you are making these data, sounds or other works available via the following Creative Commons License (for more information on this license, see Vous acceptez que toutes les données, sons ou autres œuvres transmises à ce serveur soient détenus et créés par vous ou vos ayant-droits, et que vous rendiez ces données, sons ou autres œuvres disponibles via la licence Creative Commons suivante (pour plus d'informations sur cette licence, voir - + You are free to: Vous êtes libres de : - + Share Partager - + copy and redistribute the material in any medium or format copier et redistribuer le matériel sur tout support ou format - + Adapt Adapter - + remix, transform, and build upon the material remixer, transformer et développer à partir du matériel - + The licensor cannot revoke these freedoms as long as you follow the license terms. Le donneur de licence ne peut pas révoquer ces libertés tant que vous respectez les conditions de la licence. - + Under the following terms: Dans les conditions suivantes : - + Attribution Attribution - + You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use. Vous devez donner un crédit approprié, fournir un lien vers la licence et indiquer si des modifications ont été apportées. Vous pouvez le faire de toute manière raisonnable, mais pas d'une manière qui suggère que le donneur de licence vous cautionne ou cautionne votre utilisation. - + NonCommercial Non commercial - + You may not use the material for commercial purposes. Vous ne pouvez pas utiliser le matériel à des fins commerciales. - + ShareAlike Partager à l'identique - + If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original. Si vous remixez, transformez ou développez à partir du matériel, vous devez distribuer vos contributions sous la même licence que l'original. - + No additional restrictions Aucune restriction supplémentaire - + You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits. Vous ne pouvez pas appliquer des termes juridiques ou des mesures technologiques qui empêchent légalement d'autres personnes de faire ce que la licence autorise. @@ -2065,85 +2074,85 @@ . Cette balise apparaîtra également sur chaque client connecté au même serveur que vous. Si le nom est laissé vide, l'adresse IP est affichée à la place. - + Alias or name edit box Dialogue d'édition de pseudo ou de nom - + Instrument picture button Bouton d'image d'instrument - + Country flag button Bouton de drapeau de pays - + City edit box Dialogue d'édition de ville - + Skill level combo box Choix déroulant de niveau de compétence - - - + + + None Aucune - - + + Musician Profile Profil de musicien - + Alias/Name Pseudo/nom - + Instrument Instrument - + Country Pays - + City Ville - + Skill Compétence - + &Close &Fermer - + Beginner Débutant - + Intermediate Intermédiaire - + Expert Expert @@ -2156,222 +2165,222 @@ Ce que vous réglez ici apparaîtra au niveau de votre fader sur la table de mixage lorsque vous serez connecté à un serveur - + Write your name or an alias here so the other musicians you want to play with know who you are. You may also add a picture of the instrument you play and a flag of the country you are located in. Your city and skill level playing your instrument may also be added. Écrivez votre nom ou un pseudonyme ici pour que les autres musiciens avec lesquels vous voulez jouer sachent qui vous êtes. Vous pouvez également ajouter une photo de l'instrument dont vous jouez et un drapeau du pays dans lequel vous vous trouvez. Vous pouvez également ajouter votre ville et votre niveau de compétence pour jouer de votre instrument. - + What you set here will appear at your fader on the mixer board when you are connected to a Jamulus server. This tag will also be shown at each client which is connected to the same server as you. Ce que vous réglez ici apparaîtra au niveau de votre chariot sur la table de mixage lorsque vous serez connecté à un serveur Jamulus. Cette étiquette sera également affichée dans chaque client qui est connecté au même serveur que vous. - + 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 - + Vocal Bass Voix basse - + Vocal Tenor Voix ténor - + Vocal Alto Voix alto - + Vocal Soprano Voix soprano - + Banjo Banjo - + Mandolin Mandoline - + Ukulele Ukulélé - + Bass Ukulele Ukulélé basse @@ -2680,42 +2689,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 @@ -2729,7 +2738,7 @@ - + Name Nom @@ -2754,13 +2763,18 @@ Rendre mon serveur public (inscrire mon serveur dans la liste des serveurs) - - + + Genre + + + + + STATUS ÉTAT - + Custom Central Server Address: Adresse personnalisée du serveur central : @@ -2769,37 +2783,37 @@ Adresse du serveur central : - + My Server Info Informations de mon serveur - + Location: City Emplacement : ville - + Location: Country Emplacement : pays - + Enable jam recorder Activer l'enregistreur de bœuf - + New recording Nouvel enregistrement - + Recordings folder Dossier des enregistrements - + TextLabelNameVersion diff --git a/src/res/translation/translation_it_IT.qm b/src/res/translation/translation_it_IT.qm index b05d00aa8bce9df3e27a64ebf1d77ee495b6ee8e..fad3e633e9b0a61294ffc6a4d9ec0131c35a5a5b 100644 GIT binary patch delta 4044 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 diff --git a/src/res/translation/translation_it_IT.ts b/src/res/translation/translation_it_IT.ts index 8bcdba05..1fcc8ed6 100644 --- a/src/res/translation/translation_it_IT.ts +++ b/src/res/translation/translation_it_IT.ts @@ -28,17 +28,17 @@ usa le seguenti librerie, risorse o parti di codice: - + Qt cross-platform application framework - + Audio reverberation code by Perry R. Cook and Gary P. Scavone Audio reverberation sviluppato da Perry R. Cook and Gary P. Scavone - + Some pixmaps are from the Alcune pixmaps provengono da @@ -47,82 +47,82 @@ Icone delle bandiere a cura di Mark James - + This app enables musicians to perform real-time jam sessions over the internet. Dà la possibilità ai musicisti di realizzare sessioni live attraverso internet. - + There is a server which collects the audio data from each client, mixes the audio data and sends the mix back to each client. Il server acquisisce i dati audio di ogni client, mixa i dati audio e li rimanda ad ogni client connesso. - + This app uses the following libraries, resources or code snippets: Questa applicazione usa le seguenti librerie, risorse e parti di codice: - + Country flag icons by Mark James Le icone delle bandiere sono state realizzate da Marl James - + For details on the contributions check out the Per maggiori informazioni su chi ha contribuito, visitare - + Github Contributors list Lista dei collaboratori su Github - + Spanish Spagnolo - + French Francese - + Portuguese Portoghese - + Dutch Olandese - + Italian Italiano - + German Tedesco - + About Informazioni su - + , Version , Versione - + Internet Jam Session Software - + Released under the GNU General Public License (GPL) Rilasciato sotto licensa GNU General Public License (GPL) @@ -200,7 +200,7 @@ I N A T T E S A D I C O N N E S S I O N E - + Personal Mix at the Server: Mixer personale sul Server: @@ -560,7 +560,7 @@ - + L L @@ -783,7 +783,7 @@ - + C&onnect C&onnetti @@ -829,41 +829,50 @@ - &Sort Channel Users by Name - &Canali in ordine Alfabetico + Sort Channel Users by &Name + - + + Sort Channel Users by &Instrument + + + + &Sort Channel Users by Name + &Canali in ordine Alfabetico + + + None Nullo - + Center Centro - + R R - + Central Server Server Centrale - + user utente - + users utenti - + D&isconnect D&isconnetti @@ -1528,32 +1537,32 @@ Ok - + Custom Personalizzato - + All Genres Tutti i Generi - + Genre Rock Genere Rock - + Genre Jazz Genere Jazz - + Genre Classical/Folk/Choir Genere Classica/Folk/Corale - + Default Default @@ -1893,28 +1902,28 @@ CHelpMenu - + &Help &Aiuto - - + + Getting &Started... &Introduzione... - + Software &Manual... &Manuale Software... - + What's &This &Cos'è Questo - + &About... I&nformazioni su... @@ -1922,102 +1931,102 @@ CLicenceDlg - + I &agree to the above licence terms &Accetto i termini di licenza - + Accept Accetto - + Decline Declino - + By connecting to this server and agreeing to this notice, you agree to the following: Collegandosi a questo server e accettando questo avviso, si accetta quanto segue: - + You agree that all data, sounds, or other works transmitted to this server are owned and created by you or your licensors, and that you are making these data, sounds or other works available via the following Creative Commons License (for more information on this license, see Dichiari che tutti i dati, audio o altre opere trasmessi a questo server sono di tua proprietà e creati da te o dai tuoi licenziatari e che rendi questi dati, audio o altre opere disponibili a terzi mediante la seguente Licenza Creative Commons (per ulteriori informazioni su questa licenza, vedere - + You are free to: Sei libero di: - + Share Condividere - + copy and redistribute the material in any medium or format copiare e ridistribuire il materiale in qualsiasi supporto o formato - + Adapt Adattare - + remix, transform, and build upon the material remixare, trasformare e modificare il materiale - + The licensor cannot revoke these freedoms as long as you follow the license terms. Il licenziante non può revocare queste libertà fintanto che segui i termini della licenza. - + Under the following terms: Sotto i seguenti requisiti: - + Attribution Attribuzione - + You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use. È necessario accreditare in modo appropriato, fornire un collegamento alla licenza e indicare se sono state apportate modifiche. Puoi farlo in modo ragionevole, ma non in modo tale da suggerire a te o al tuo utilizzo il supporto del licenziante. - + NonCommercial Non Commerciale - + You may not use the material for commercial purposes. Non è possibile utilizzare il materiale a fini commerciali. - + ShareAlike Condividere allo stesso modo - + If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original. Se remixate, trasformate o sviluppate il materiale, dovete distribuire i vostri contributi con la stessa licenza dell'originale. - + No additional restrictions Nessuna restrizione aggiuntiva - + You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits. Non è possibile applicare termini legali o misure tecnologiche che impediscono legalmente ad altre persone di fare qualsiasi cosa consentita dalla licenza. @@ -2025,60 +2034,60 @@ CMusProfDlg - - + + Musician Profile Profilo del Musicista - + Alias/Name Nome/Alias - + Instrument Strumento - + Country Paese - + City Città - + Skill Livello - + &Close &Chiudi - - - + + + None None - + Beginner Principiante - + Intermediate Intermedio - + Expert Esperto @@ -2095,247 +2104,247 @@ questo tag verrà mostrato anche a ciascun client connesso allo stesso server. Se viene lasciato vuoto, verrà visualizzato l'indirizzo IP. - + Write your name or an alias here so the other musicians you want to play with know who you are. You may also add a picture of the instrument you play and a flag of the country you are located in. Your city and skill level playing your instrument may also be added. Scrivi qui il tuo nome o un alias in modo che gli altri musicisti con cui vuoi suonare sappiano chi sei. Puoi anche aggiungere una foto dello strumento che suoni e una bandiera del paese in cui ti trovi. Puoi anche aggiungere la tua città e il tuo livello di abilità nel suonare il tuo strumento. - + What you set here will appear at your fader on the mixer board when you are connected to a Jamulus server. This tag will also be shown at each client which is connected to the same server as you. Ciò che hai impostato apparirà sul tuo fader sulla scheda del mixer quando sei collegato a un server Jamulus. Questo tag verrà mostrato anche su ogni client collegato allo stesso server. - + Alias or name edit box Box di modifica Nome o Alias - + Instrument picture button Immagine dello strumento - + Country flag button Pulsante bandiera del paese - + City edit box Box di modifica Città - + Skill level combo box Livello di Abilità - + Drum Set Batteria - + Djembe Djembe - + Electric Guitar Chitarra elettrica - + Acoustic Guitar Chitarra Acustica - + Bass Guitar Basso Elettrico - + Keyboard Tastiera - + Synthesizer Sintetizzatore - + Grand Piano Grand Piano - + Accordion Fisarmonica - + Vocal Voce - + Microphone Microfono - + Harmonica Armonica - + Trumpet Tromba - + Trombone Trombone - + French Horn Corno Francese - + Tuba Tuba - + Saxophone Sassofono - + Clarinet Clarinet - + Flute Flauto - + Violin Violino - + Cello Cello - + Double Bass Contrabbasso - + Recorder Recorder - + Streamer Streamer - + Listener Ascoltatore - + Guitar+Vocal Chitarra+Voce - + Keyboard+Vocal Tastiera+Voce - + Bodhran Bodhran - + Bassoon Fagotto - + Oboe Oboe - + Harp Arpa - + Viola Viola - + Congas Congas - + Bongo Bongo - + Vocal Bass Voce Basso - + Vocal Tenor Voce Tenore - + Vocal Alto Voce Alto - + Vocal Soprano Voce Soprano - + Banjo Banjo - + Mandolin Mandolino - + Ukulele Uculele - + Bass Ukulele Uculele Basso @@ -2632,42 +2641,42 @@ Non Abilitata - + Unregistered Non registrato - + Bad address Indirizzo Errato - + Registration requested Registrazione richiesta - + Registration failed Registrazione fallita - + Check server version Controlla Versione server - + Registered Registrato - + Central Server full Server Centrale Pieno - + Unknown value Valore sconosciuto @@ -2681,7 +2690,7 @@ - + Name Nome @@ -2706,13 +2715,18 @@ Rendi il server Pubblico (Regista il server nella lista dei server pubblici) - - + + Genre + + + + + STATUS STATO - + Custom Central Server Address: Indirizzo server centrale alternativo: @@ -2721,37 +2735,37 @@ Indirizzo Server Centrale: - + My Server Info Informazioni sul Server - + Location: City Ubicazione: Città - + Location: Country Ubicazione: Paese - + Enable jam recorder Abilita Registrazione Jam - + New recording Nuova Registrazione - + Recordings folder Cartella di Registrazione - + TextLabelNameVersion TextLabelNameVersion diff --git a/src/res/translation/translation_nl_NL.ts b/src/res/translation/translation_nl_NL.ts index 254f8a7b..7b289a7f 100644 --- a/src/res/translation/translation_nl_NL.ts +++ b/src/res/translation/translation_nl_NL.ts @@ -28,17 +28,17 @@ gebruikt de volgende libraries, bronnen of code snippets: - + Qt cross-platform application framework Qt cross-platform applicatieframework - + Audio reverberation code by Perry R. Cook and Gary P. Scavone Audio reverberatiecode door Perry R. Cook en Gary P. Scavone - + Some pixmaps are from the Sommige pixmaps zijn van de @@ -47,82 +47,82 @@ Landvlag-iconen van Mark James - + This app enables musicians to perform real-time jam sessions over the internet. - + There is a server which collects the audio data from each client, mixes the audio data and sends the mix back to each client. - + This app uses the following libraries, resources or code snippets: - + Country flag icons by Mark James - + For details on the contributions check out the Voor details over de bijdragen, zie de - + Github Contributors list Github Bijdragerslijst - + Spanish Spaans - + French Frans - + Portuguese Portugees - + Dutch Nederlands - + Italian - + German Duits - + About Over - + , Version , Versie - + Internet Jam Session Software Internet Jamsessie Software - + Released under the GNU General Public License (GPL) @@ -200,7 +200,7 @@ A A N H E T V E R B I N D E N - + Personal Mix at the Server: @@ -552,7 +552,7 @@ - + L L @@ -775,7 +775,7 @@ - + C&onnect C&onnect @@ -821,41 +821,46 @@ - &Sort Channel Users by Name + Sort Channel Users by &Name - + + Sort Channel Users by &Instrument + + + + None Geen - + Center Centrum - + R R - + Central Server - + user gebruiker - + users gebruikers - + D&isconnect &Afmelden @@ -1480,32 +1485,32 @@ Handmatig - + Custom - + All Genres - + Genre Rock - + Genre Jazz - + Genre Classical/Folk/Choir - + Default Standaard @@ -1885,28 +1890,28 @@ CHelpMenu - + &Help &Hulp - - + + Getting &Started... Aan de slag... - + Software &Manual... Softwarehandleiding... - + What's &This Wat Is Dit - + &About... &Over... @@ -1914,102 +1919,102 @@ CLicenceDlg - + I &agree to the above licence terms Ik stem in met bovenstaande licentievoorwaarden - + Accept Accepteer - + Decline Niet akkoord - + By connecting to this server and agreeing to this notice, you agree to the following: Door verbinding te maken met deze server en akkoord te gaan met deze mededeling, gaat u akkoord met het volgende: - + You agree that all data, sounds, or other works transmitted to this server are owned and created by you or your licensors, and that you are making these data, sounds or other works available via the following Creative Commons License (for more information on this license, see U gaat ermee akkoord dat alle gegevens, geluiden of andere werken die naar deze server worden verzonden, eigendom zijn van en gemaakt zijn door u of uw licentiegevers, en dat u deze gegevens, geluiden of andere werken beschikbaar stelt via de volgende Creative Commons Licentie (voor meer informatie over deze licentie, zie - + You are free to: Je staat vrij om: - + Share het materiaal - + copy and redistribute the material in any medium or format te delen, te kopiëren en te herdistribueren in elk medium of formaat - + Adapt Aanpassen - + remix, transform, and build upon the material remixen, transformeren en bouwen op het materiaal - + The licensor cannot revoke these freedoms as long as you follow the license terms. De licentiegever kan deze vrijheden niet herroepen zolang u zich aan de licentievoorwaarden houdt. - + Under the following terms: Onder de volgende voorwaarden: - + Attribution Naamsvermelding - + You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use. U moet de juiste erkenning geven, een link naar de licentie geven en aangeven of er wijzigingen zijn aangebracht. U mag dit op elke redelijke manier doen, maar niet op een manier die suggereert dat de licentiegever u of uw gebruik goedkeurt. - + NonCommercial Niet-commercieel - + You may not use the material for commercial purposes. U mag het materiaal niet voor commerciële doeleinden gebruiken. - + ShareAlike hareAlike - + If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original. Als u het materiaal remixt, transformeert of uitbouwt, moet u uw bijdragen distribueren onder dezelfde licentie als het origineel. - + No additional restrictions Geen extra beperkingen - + You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits. U mag geen wettelijke voorwaarden of technologische maatregelen toepassen die anderen wettelijk beperken om iets te doen wat de licentie toestaat. @@ -2017,60 +2022,60 @@ CMusProfDlg - - + + Musician Profile Muzikantenprofiel - + Alias/Name Alias/Naam - + Instrument Instrument - + Country Land - + City Stad - + Skill Vaardigheid - + &Close &Sluiten - - - + + + None Geen - + Beginner Beginner - + Intermediate Gemiddeld - + Expert Gevorderd @@ -2087,247 +2092,247 @@ server. Deze tag zal ook verschijnen op elke client die verbonden is met dezelfde server als u. Als de naam leeg is, wordt in plaats daarvan het IP-adres getoond. - + Write your name or an alias here so the other musicians you want to play with know who you are. You may also add a picture of the instrument you play and a flag of the country you are located in. Your city and skill level playing your instrument may also be added. - + What you set here will appear at your fader on the mixer board when you are connected to a Jamulus server. This tag will also be shown at each client which is connected to the same server as you. - + Alias or name edit box Alias of naam bewerkingsvak - + Instrument picture button Afbeelding van het instrument - + Country flag button Landvlag knop - + City edit box Bewerkingsbox voor de stad - + Skill level combo box 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 - + Vocal Bass - + Vocal Tenor - + Vocal Alto - + Vocal Soprano - + Banjo Banjo - + Mandolin Mandoline - + Ukulele - + Bass Ukulele @@ -2636,42 +2641,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 @@ -2685,7 +2690,7 @@ - + Name Naam @@ -2710,13 +2715,18 @@ Maak mijn server openbaar (Registreer mijn server in de lijst met servers) - - + + Genre + + + + + STATUS STATUS - + Custom Central Server Address: @@ -2725,37 +2735,37 @@ Adres Centrale Server: - + My Server Info Mijn serverinfo - + Location: City Locatie: Stad - + Location: Country Locatie: Land - + Enable jam recorder - + New recording - + Recordings folder - + TextLabelNameVersion TextLabelNameVersion diff --git a/src/res/translation/translation_pl_PL.ts b/src/res/translation/translation_pl_PL.ts index 80c1f4cf..d408dab7 100644 --- a/src/res/translation/translation_pl_PL.ts +++ b/src/res/translation/translation_pl_PL.ts @@ -4,97 +4,97 @@ CAboutDlg - + Qt cross-platform application framework - + Audio reverberation code by Perry R. Cook and Gary P. Scavone - + Some pixmaps are from the - + This app enables musicians to perform real-time jam sessions over the internet. - + There is a server which collects the audio data from each client, mixes the audio data and sends the mix back to each client. - + This app uses the following libraries, resources or code snippets: - + Country flag icons by Mark James - + For details on the contributions check out the - + Github Contributors list - + Spanish - + French - + Portuguese - + Dutch - + Italian - + German - + About - + , Version - + Internet Jam Session Software - + Released under the GNU General Public License (GPL) @@ -168,7 +168,7 @@ - + Personal Mix at the Server: @@ -464,7 +464,7 @@ - + L @@ -635,7 +635,7 @@ - + C&onnect @@ -681,41 +681,46 @@ - &Sort Channel Users by Name + Sort Channel Users by &Name - + + Sort Channel Users by &Instrument + + + + None - + Center - + R - + Central Server - + user - + users - + D&isconnect @@ -1220,32 +1225,32 @@ - + Custom - + All Genres - + Genre Rock - + Genre Jazz - + Genre Classical/Folk/Choir - + Default @@ -1593,28 +1598,28 @@ CHelpMenu - + &Help &Pomoc - - + + Getting &Started... - + Software &Manual... - + What's &This - + &About... @@ -1622,102 +1627,102 @@ CLicenceDlg - + I &agree to the above licence terms - + Accept - + Decline - + By connecting to this server and agreeing to this notice, you agree to the following: - + You agree that all data, sounds, or other works transmitted to this server are owned and created by you or your licensors, and that you are making these data, sounds or other works available via the following Creative Commons License (for more information on this license, see - + You are free to: - + Share - + copy and redistribute the material in any medium or format - + Adapt - + remix, transform, and build upon the material - + The licensor cannot revoke these freedoms as long as you follow the license terms. - + Under the following terms: - + Attribution - + You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use. - + NonCommercial - + You may not use the material for commercial purposes. - + ShareAlike - + If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original. - + No additional restrictions - + You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits. @@ -1725,305 +1730,305 @@ CMusProfDlg - - + + Musician Profile - + Alias/Name - + Instrument - + Country Kraj - + City - + Skill - + &Close - - - + + + None - + Beginner - + Intermediate - + Expert - + Write your name or an alias here so the other musicians you want to play with know who you are. You may also add a picture of the instrument you play and a flag of the country you are located in. Your city and skill level playing your instrument may also be added. - + What you set here will appear at your fader on the mixer board when you are connected to a Jamulus server. This tag will also be shown at each client which is connected to the same server as you. - + Alias or name edit box - + Instrument picture button - + Country flag button - + City edit box - + Skill level combo box - + Drum Set - + Djembe - + Electric Guitar - + Acoustic Guitar - + Bass Guitar - + Keyboard - + Synthesizer - + Grand Piano - + Accordion - + Vocal - + Microphone - + Harmonica - + Trumpet - + Trombone - + French Horn - + Tuba - + Saxophone - + Clarinet - + Flute - + Violin - + Cello - + Double Bass - + Recorder - + Streamer - + Listener - + Guitar+Vocal - + Keyboard+Vocal - + Bodhran - + Bassoon - + Oboe - + Harp - + Viola - + Congas - + Bongo - + Vocal Bass - + Vocal Tenor - + Vocal Alto - + Vocal Soprano - + Banjo - + Mandolin - + Ukulele - + Bass Ukulele @@ -2284,42 +2289,42 @@ - + Unregistered - + Bad address - + Registration requested - + Registration failed - + Check server version - + Registered - + Central Server full - + Unknown value @@ -2333,7 +2338,7 @@ - + Name @@ -2358,48 +2363,53 @@ - - + + Genre + + + + + STATUS - + Custom Central Server Address: - + My Server Info - + Location: City - + Location: Country - + Enable jam recorder - + New recording - + Recordings folder - + TextLabelNameVersion diff --git a/src/res/translation/translation_pt_PT.qm b/src/res/translation/translation_pt_PT.qm index 52dbe3fcfb2ede979d06d103c2c28cdccf7471cd..da5729efa190f6048e9a87fad3a50037f467e7ba 100644 GIT binary patch delta 3960 zcmX9>c|eVM7k+;4eV4nu_q|ynP0Bh_sqAYdYl+e#S|!<=MrbUfE;BVI(NLC*lr7Vw zX_)cN7|j>5MX3m1W5_m9n21Or-_iZ+xwqc;_dDk~&w0+d8@>{g*Na;^8)pIN3zY65 zoC=J~H(}VfCcF|s=m$(bZNl)GCalT^gb-kF6ktCZ(4GSP7XW)&fPiqoauE=iK)B6> z;r76+V|2~~VC`DqS`GM3KLf_gXTWDA(jlu&70wK`=BP`!R*e6g#Gawvt0<3c&6f6Y`kRcSV2h(Oi?C%ZyHyC1K1Tp0R>0&Vu zatZo@KLRn+O<494c7;6PkPW-1&cNd)*jHQt23TP7jgNWKIshIV?2?+lML3PAfqZNXCIDl!?2orl!LM;fR=a?=UkyDHdfxEwA zZ6;9|%CNOK3s|=i*(>Sb*?;2TcN4+T5kJ^gQ3hL(>*NUVcE~&Z0!-54=kWnxj<$5C zC$QYjgqK@!wJ$L?yC1F5ZX0NCluCC(DOC|%AX`H2E0W5Rldflf0+jetq4+ev&`Wv}fNkmo1 z1TJ_4Q9r@R#lDRJ>oScquAu|3cjVSJE5Jf0E*Vk8Kr^>FrM_PgX1QWJ7a(Vl$fvtVH0>dD{+>0w{B~f?Malb{AggOOsC+&%$!^TkVwBsT$ zyF1*)!g+xFlzZTJ1k7a!_i6=+DSMO&uXf^I8%a#616<46)j(MY*HY>V6k2huwhch> zzbf%a5P8BNm3ZzMi8e*m{VfGB>xru8@x@?EoK!=?UBUV_s{F2Jkth$SRs;?KMh!1l zC7qZHJYS+po>EQ}9#-u*{5{yLL8_y1Bf&m@topkb9TbzRYPuao{T-ods-YLNE~lU4 zZH&=;sMkd>w>UoRU;~&}7k<3cI&*%lCpG2ve*E^9p+MC{ z6V^xYnZeY|PNz&5n$KsIenmVU;Sa96N^`u1qOj(FF~FI#!ncbKfQ=g^B*&zJ z_1z(CDkG}HED>J>N276 zK3K;DVV|06o|7u<+d#cz^H|6$ISJ&?5zc<7p-e6bC7$nqN4JE^$Tsr55yJJ*kCeVQ zVOgf|0F;&M?)BD^p`6!v=q-;|2FVb=i1g`$OV zoq^n8pV;jl%HxPU7YO`am)LAuZr^H&?FuLWoe_+xv^+4ZW zXvLYN9#lYqwA@mAEhwikHdZ~e8})eRQ1!y|=K!-mO!y&M9sBWl_q*!YMWw`pMjd;7 z3JJPMy}B`#1X`>9W(uu4R~ywE4^aY`rB45aETAz+eMH&>HlTz0Lc()u(U+bYXubKO#mI7a;i4IAiO`}kgJiiy8uV(O?gC(VPrhLE~t#=7J4n?9`~aSnf=v zxvwc7NP&B7($udZrubQ!mV@Lm^?fyO-H3s}2U^1i`hRnjw)gHK!03zofvsxM+V5 zJWh7qO?$#w0RFwJ{nNOKsEB)|Ei!WiKC#oD?Ly|#>4>)ECkjlst}W{j4mPTnw%(Z- z@~PB5){v&h_R{fr)Uw{4bZV6stvtJQW_=vNJTi5|r!5C=7wRUvuLFx%qw}|LptUzt zH-FF=;QdNn?BF7x+Cmq5hY}lmL1$d`*qpl!oXk>lL6TvK^W8Uq;={!?(aX+vx6kO{R9)t-CvY9I5<$J2Ir` zUh_}E#Pf2;rfXpK)pF-wIoe8}%iZIN5r+w~^>?qR=6l+a4fK+&TWAi~bddWubR-un zl^q=7D1o!G$3!*oMS(n}_#axQ(`3IA60MUlSq|Glk;|Lq#f9Cdra|)J2ULpb^W^A1 z>47mSd1)_#P6_)9tM0TC8mEvMU3CfXL0)yEc8}C5VgB1+L5`L>4!Zj0Gm^-_ex16D93M{oA6c#6z2hYCI08{k?Z`ah^k+_$14kY77v|5UQaJ0&Bk8-po4&$=23A8?{i7!&LjPd>;|Tiu z; zz7K1uAnD2y$`B0)m6+T%+L~&WrK)4Vv_d65na*8gsl-1u=1|5Hlyvit>VK&0`$)BW zhO+Msp?#WCbTt*|RjX8+4+k?(QXVG|Gk^T6JWZxd%`KIt?)QNesY-Kx0g3U7(mJD@ znDaOE^vb34+zqb1*8yJ|4el2yFx6he)YT-u{>u!rZ%|;&;x;(hhSC;$Ke delta 4063 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 diff --git a/src/res/translation/translation_pt_PT.ts b/src/res/translation/translation_pt_PT.ts index f834f246..fda43a8f 100644 --- a/src/res/translation/translation_pt_PT.ts +++ b/src/res/translation/translation_pt_PT.ts @@ -32,17 +32,17 @@ utiliza as seguintes bibliotecas, recursos ou partes de código: - + Qt cross-platform application framework Estrutura de aplicações multiplataforma Qt - + Audio reverberation code by Perry R. Cook and Gary P. Scavone Código de reverberação de áudio por Perry R. Cook e Gary P. Scavone - + Some pixmaps are from the Alguns pixmaps são do @@ -51,82 +51,82 @@ Ícones de bandeira do país de Mark James - + This app enables musicians to perform real-time jam sessions over the internet. Esta aplicação permite aos músicos realizar jam sessions em tempo real pela Internet. - + There is a server which collects the audio data from each client, mixes the audio data and sends the mix back to each client. Existe um servidor que reúne os dados de áudio de cada cliente, mistura os dados de áudio e envia a mistura de volta para cada cliente. - + This app uses the following libraries, resources or code snippets: Esta aplicação utiliza as seguintes bibliotecas, recursos ou partes de código: - + Country flag icons by Mark James Ícones das bandeiras dos países por Mark James - + For details on the contributions check out the Para detalhes sobre as contribuições, consulte a - + Github Contributors list lista de colaboradores do Github - + Spanish Espanhol - + French Francês - + Portuguese Português - + Dutch Holandês - + Italian Italiano - + German Alemão - + About Sobre o - + , Version , Versão - + Internet Jam Session Software Programa de Jam Sessions pela Internet - + Released under the GNU General Public License (GPL) Lançado sob a Licença Pública Geral GNU (GPL) @@ -212,7 +212,7 @@ T E N T A N D O L I G A R - + Personal Mix at the Server: Mistura Pessoal no Servidor: @@ -719,7 +719,7 @@ - + C&onnect &Ligar @@ -764,28 +764,27 @@ &Editar - &Sort Channel Users by Name - Ordenar os Canais por &Nome... + Ordenar os Canais por &Nome... - + None Nenhum - + Center Centro - + R R - + L L @@ -860,22 +859,32 @@ O CPU do cliente ou servidor está a 100%. - + + Sort Channel Users by &Name + + + + + Sort Channel Users by &Instrument + + + + Central Server Servidor Central - + user utilizador - + users utilizadores - + D&isconnect Desl&igar @@ -1504,22 +1513,22 @@ Manual - + Custom Personalizado - + All Genres Servidor Geral - + Genre Rock Servidor Rock - + Genre Jazz Servidor Jazz @@ -1528,12 +1537,12 @@ Servidor Rock/Jazz - + Genre Classical/Folk/Choir Serv. Clássica/Folclore/Coro - + Default Servidor Padrão @@ -1913,28 +1922,28 @@ CHelpMenu - + &Help &Ajuda - - + + Getting &Started... Como Começa&r... - + Software &Manual... &Manual do Programa... - + What's &This O que é &isto - + &About... &Sobre... @@ -1942,102 +1951,102 @@ CLicenceDlg - + I &agree to the above licence terms Eu &aceito os termos da licença acima - + Accept Aceitar - + Decline Rejeitar - + By connecting to this server and agreeing to this notice, you agree to the following: Ao ligar-se a este servidor e concordar com este aviso, está a concordar com o seguinte: - + You agree that all data, sounds, or other works transmitted to this server are owned and created by you or your licensors, and that you are making these data, sounds or other works available via the following Creative Commons License (for more information on this license, see Você concorda que todos os dados, sons ou outros trabalhos transmitidos para este servidor pertencem e são criados por você ou por seus licenciadores, e que você está disponibilizando esses dados, sons ou outros trabalhos através da seguinte licença Creative Commons (para obter mais informações sobre esta licença, consulte - + You are free to: Você tem o direito de: - + Share Compartilhar - + copy and redistribute the material in any medium or format copiar e redistribuir o material em qualquer suporte ou formato - + Adapt Adaptar - + remix, transform, and build upon the material remisturar, transformar, e criar a partir do material - + The licensor cannot revoke these freedoms as long as you follow the license terms. O licenciante não pode revogar estes direitos desde que você respeite os termos da licença. - + Under the following terms: De acordo com os termos seguintes: - + Attribution Atribuição - + You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use. Você deve atribuir o devido crédito, fornecer um link para a licença, e indicar se foram feitas alterações. Você pode fazê-lo de qualquer forma razoável, mas não de uma forma que sugira que o licenciante o apoia ou aprova o seu uso. - + NonCommercial NãoComercial - + You may not use the material for commercial purposes. Você não pode usar o material para fins comerciais. - + ShareAlike CompartilhaIgual - + If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original. Se você remisturar, transformar, ou criar a partir do material, tem de distribuir as suas contribuições ao abrigo da mesma licença que o original. - + No additional restrictions Sem restrições adicionais - + You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits. Você não pode aplicar termos jurídicos ou medidas de caráter tecnológico que restrinjam legalmente outros de fazerem algo que a licença permita. @@ -2049,85 +2058,85 @@ . Esta identificação também será exibida em cada cliente ligado ao mesmo servidor que você. Se o nome estiver vazio, o endereço IP será mostrado. - + Alias or name edit box Caixa de edição do nome ou pseudônimo - + Instrument picture button Botão da imagem do instrumento - + Country flag button Botão da bandeira do país - + City edit box Caixa de edição da cidade - + Skill level combo box Caixa do nível de habilidade - - - + + + None Nenhum - - + + Musician Profile Perfil do músico - + Alias/Name Nome/Alcunha - + Instrument Instrumento - + Country País - + City Cidade - + Skill Habilidade - + &Close &Fechar - + Beginner Principiante - + Intermediate Intermediário - + Expert Avançado @@ -2140,222 +2149,222 @@ O que definir aqui aparecerá por baixo do seu fader na secção de mistura quando estiver ligado a um servidor - + Write your name or an alias here so the other musicians you want to play with know who you are. You may also add a picture of the instrument you play and a flag of the country you are located in. Your city and skill level playing your instrument may also be added. Escreva o seu nome ou um pseudónimo aqui para que os outros músicos com quem quer tocar saibam quem você é. Além disso, pode também definir uma imagem do instrumento que toca e uma bandeira do país onde vive. A cidade onde vive e o nível de habilidade com o seu instrumento também podem ser adicionados. - + What you set here will appear at your fader on the mixer board when you are connected to a Jamulus server. This tag will also be shown at each client which is connected to the same server as you. O que definir aqui aparecerá por baixo do seu fader na secção de mistura quando estiver ligado a um servidor Esta etiqueta também será exibida em cada cliente que estiver ligado ao mesmo 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 - + Vocal Bass Voz Baixo - + Vocal Tenor Voz Tenor - + Vocal Alto Voz Alto - + Vocal Soprano Voz Soprano - + Banjo Banjo - + Mandolin Bandolim - + Ukulele Ukulele - + Bass Ukulele Ukulele Baixo @@ -2664,42 +2673,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 @@ -2713,7 +2722,7 @@ - + Name Nome do Servidor @@ -2738,13 +2747,18 @@ Tornar Servidor Público (Registar na Lista de Servidores) - - + + Genre + + + + + STATUS ESTADO - + Custom Central Server Address: Endereço do Servidor Central Personalizado: @@ -2753,37 +2767,37 @@ Endereço do Servidor Central: - + My Server Info Informação do Servidor - + Location: City Localização: Cidade - + Location: Country Localização: País - + Enable jam recorder Activar gravação - + New recording Nova gravação - + Recordings folder Pasta de gravações - + TextLabelNameVersion TextLabelNameVersion From 2285148cb875a3bc940be67a2a06e7e2de7766b2 Mon Sep 17 00:00:00 2001 From: Volker Fischer Date: Sat, 13 Jun 2020 18:15:52 +0200 Subject: [PATCH 18/23] Reference HTML file for welcome message #361 --- src/server.cpp | 18 +++++++++++++++++- src/server.h | 1 + 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/server.cpp b/src/server.cpp index 1df29a55..31e9ef6b 100755 --- a/src/server.cpp +++ b/src/server.cpp @@ -250,7 +250,6 @@ CServer::CServer ( const int iNewMaxNumChan, bNCentServPingServerInList, &ConnLessProtocol ), bAutoRunMinimized ( false ), - strWelcomeMessage ( strNewWelcomeMessage ), eLicenceType ( eNLicenceType ), bDisconnectAllClientsOnQuit ( bNDisconnectAllClientsOnQuit ), pSignalHandler ( CSignalHandler::getSingletonP() ) @@ -402,6 +401,23 @@ CServer::CServer ( const int iNewMaxNumChan, QString().number( static_cast ( iPortNumber ) ) ); } + // manage welcome message: if the welcome message is a valid link to a local + // file, the content of that file is used as the welcome message (#361) + strWelcomeMessage = strNewWelcomeMessage; // first copy text, may be overwritten + if ( QFileInfo ( strNewWelcomeMessage ).exists() ) + { + QFile file ( strNewWelcomeMessage ); + + if ( file.open ( QIODevice::ReadOnly | QIODevice::Text ) ) + { + // use entrie file content for the welcome message + strWelcomeMessage = file.readAll(); + } + } + + // restrict welcome message to maximum allowed length + strWelcomeMessage = strWelcomeMessage.left ( MAX_LEN_CHAT_TEXT ); + // enable jam recording (if requested) - kicks off the thread if ( !strRecordingDirName.isEmpty() ) { diff --git a/src/server.h b/src/server.h index 833ef479..db5dd24a 100755 --- a/src/server.h +++ b/src/server.h @@ -28,6 +28,7 @@ #include #include #include +#include #include #ifdef USE_OPUS_SHARED_LIB # include "opus/opus_custom.h" From e883a51db9bc6870b9dbcbb2e0ab70d92cc337e2 Mon Sep 17 00:00:00 2001 From: Volker Fischer Date: Sun, 14 Jun 2020 08:49:58 +0200 Subject: [PATCH 19/23] support for storing/recovering the server window positions (#357) --- ChangeLog | 1 + src/server.cpp | 1 + src/server.h | 3 +++ src/serverdlg.cpp | 17 +++++++++++++++++ src/serverdlg.h | 23 ++++++++++++----------- src/settings.cpp | 8 ++++++++ 6 files changed, 42 insertions(+), 11 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1baa93cb..603224b3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -9,6 +9,7 @@ - support sorting faders by channel instrument, coded by Alberstein8 (#356) +- support for storing/recovering the server window positions (#357) diff --git a/src/server.cpp b/src/server.cpp index 31e9ef6b..f9266e0b 100755 --- a/src/server.cpp +++ b/src/server.cpp @@ -234,6 +234,7 @@ CServer::CServer ( const int iNewMaxNumChan, const bool bNDisconnectAllClientsOnQuit, const bool bNUseDoubleSystemFrameSize, const ELicenceType eNLicenceType ) : + vecWindowPosMain (), // empty array bUseDoubleSystemFrameSize ( bNUseDoubleSystemFrameSize ), iMaxNumChannels ( iNewMaxNumChan ), Socket ( this, iPortNumber ), diff --git a/src/server.h b/src/server.h index db5dd24a..113c4e69 100755 --- a/src/server.h +++ b/src/server.h @@ -251,6 +251,9 @@ public: void SetLicenceType ( const ELicenceType NLiType ) { eLicenceType = NLiType; } ELicenceType GetLicenceType() { return eLicenceType; } + // window position/state settings + QByteArray vecWindowPosMain; + protected: // access functions for actual channels bool IsConnected ( const int iChanNum ) diff --git a/src/serverdlg.cpp b/src/serverdlg.cpp index e8f8c417..ab43358c 100755 --- a/src/serverdlg.cpp +++ b/src/serverdlg.cpp @@ -332,6 +332,14 @@ lvwClients->setMinimumHeight ( 140 ); layout()->setMenuBar ( pMenu ); + // Window positions -------------------------------------------------------- + // main window + if ( !pServer->vecWindowPosMain.isEmpty() && !pServer->vecWindowPosMain.isNull() ) + { + restoreGeometry ( pServer->vecWindowPosMain ); + } + + // Connections ------------------------------------------------------------- // check boxes QObject::connect ( chbRegisterServer, &QCheckBox::stateChanged, @@ -399,6 +407,15 @@ lvwClients->setMinimumHeight ( 140 ); Timer.start ( GUI_CONTRL_UPDATE_TIME ); } +void CServerDlg::closeEvent ( QCloseEvent* Event ) +{ + // store window positions + pServer->vecWindowPosMain = saveGeometry(); + + // default implementation of this event handler routine + Event->accept(); +} + void CServerDlg::OnStartOnOSStartStateChanged ( int value ) { const bool bCurAutoStartMinState = ( value == Qt::Checked ); diff --git a/src/serverdlg.h b/src/serverdlg.h index 80fe109a..e2ddd336 100755 --- a/src/serverdlg.h +++ b/src/serverdlg.h @@ -58,6 +58,7 @@ public: protected: virtual void changeEvent ( QEvent* pEvent ); + virtual void closeEvent ( QCloseEvent* Event ); void UpdateGUIDependencies(); void UpdateSystemTrayIcon ( const bool bIsActive ); @@ -65,20 +66,20 @@ protected: void ModifyAutoStartEntry ( const bool bDoAutoStart ); void UpdateRecorderStatus( QString sessionDir ); - QTimer Timer; - CServer* pServer; - CSettings* pSettings; + QTimer Timer; + CServer* pServer; + CSettings* pSettings; - CVector vecpListViewItems; - QMutex ListViewMutex; + CVector vecpListViewItems; + QMutex ListViewMutex; - QMenuBar* pMenu; + QMenuBar* pMenu; - bool bSystemTrayIconAvaialbe; - QSystemTrayIcon SystemTrayIcon; - QPixmap BitmapSystemTrayInactive; - QPixmap BitmapSystemTrayActive; - QMenu* pSystemTrayIconMenu; + bool bSystemTrayIconAvaialbe; + QSystemTrayIcon SystemTrayIcon; + QPixmap BitmapSystemTrayInactive; + QPixmap BitmapSystemTrayActive; + QMenu* pSystemTrayIconMenu; public slots: void OnAboutToQuit() { pSettings->Save(); } diff --git a/src/settings.cpp b/src/settings.cpp index 5fba0ea9..0920d18b 100755 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -427,6 +427,10 @@ if ( GetFlagIniSet ( IniXMLDocument, "server", "defcentservaddr", bValue ) ) { pServer->SetLicenceType ( static_cast ( iValue ) ); } + + // window position of the main window + pServer->vecWindowPosMain = FromBase64ToByteArray ( + GetIniSetting ( IniXMLDocument, "server", "winposmain_base64" ) ); } } @@ -666,6 +670,10 @@ void CSettings::Save() // licence type SetNumericIniSet ( IniXMLDocument, "server", "licencetype", static_cast ( pServer->GetLicenceType() ) ); + + // window position of the main window + PutIniSetting ( IniXMLDocument, "server", "winposmain_base64", + ToBase64 ( pServer->vecWindowPosMain ) ); } // prepare file name for storing initialization data in XML file and store From 0f12b32766786218c5e964c7a0cddf5b1565f820 Mon Sep 17 00:00:00 2001 From: Volker Fischer Date: Sun, 14 Jun 2020 11:36:28 +0200 Subject: [PATCH 20/23] update --- ChangeLog | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ChangeLog b/ChangeLog index 603224b3..2c543c83 100644 --- a/ChangeLog +++ b/ChangeLog @@ -11,6 +11,8 @@ - support for storing/recovering the server window positions (#357) +TODO Mac audio interface -> crackling +TODO try to reproduce: Quitting client when server window minimized not handled cleanly #355 From ac140ff8a256e88532aa634a6f708f52a9750d1d Mon Sep 17 00:00:00 2001 From: Volker Fischer Date: Sun, 14 Jun 2020 19:17:50 +0200 Subject: [PATCH 21/23] use actual instrument name for sorting by instrument --- src/audiomixerboard.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/audiomixerboard.cpp b/src/audiomixerboard.cpp index 88b198f3..021b6e22 100644 --- a/src/audiomixerboard.cpp +++ b/src/audiomixerboard.cpp @@ -788,10 +788,7 @@ void CAudioMixerBoard::ChangeFaderOrder ( const bool bDoSort, } else // ST_BY_INSTRUMENT { - // note that the sorting will not be the same as we would use QPair - // but this is not a problem since the order of the instrument IDs are arbitrary - // anyway - PairList << QPair ( QString::number ( vecpChanFader[i]->GetReceivedInstrument() ), i ); + PairList << QPair ( CInstPictures::GetName ( vecpChanFader[i]->GetReceivedInstrument() ), i ); } } From c7080afd0f236c7e3af146cae1cb6bb649003f5d Mon Sep 17 00:00:00 2001 From: Peter L Jones Date: Sun, 14 Jun 2020 18:17:12 +0100 Subject: [PATCH 22/23] Define protocol message for server jam recorder state publishing --- src/protocol.cpp | 46 ++++++++++++++++++++++++++++++++++++++++++++++ src/protocol.h | 4 ++++ src/util.h | 8 ++++++++ 3 files changed, 58 insertions(+) mode change 100644 => 100755 src/protocol.h diff --git a/src/protocol.cpp b/src/protocol.cpp index 32b4de4f..c7810902 100755 --- a/src/protocol.cpp +++ b/src/protocol.cpp @@ -216,6 +216,17 @@ MESSAGES (with connection) note: does not have any data -> n = 0 +- PROTMESSID_RECORDER_STATE: notifies of changes in the server jam recorder state + + +--------------+ + | 1 byte state | + +--------------+ + + state is a value from the enum ERecorderState: + - 0 undefined (not used by protocol messages) + - tbc + + CONNECTION LESS MESSAGES ------------------------ @@ -659,6 +670,10 @@ if ( rand() < ( RAND_MAX / 2 ) ) return false; case PROTMESSID_VERSION_AND_OS: bRet = EvaluateVersionAndOSMes ( vecbyMesBodyData ); break; + + case PROTMESSID_RECORDER_STATE: + bRet = EvaluateRecorderStateMes ( vecbyMesBodyData ); + break; } // immediately send acknowledge message @@ -1544,6 +1559,37 @@ bool CProtocol::EvaluateVersionAndOSMes ( const CVector& vecData ) return false; // no error } +void CProtocol::CreateRecorderStateMes ( const ERecorderState eRecorderState ) +{ + CVector vecData ( 1 ); // 1 byte of data + int iPos = 0; // init position pointer + + // build data vector + // recorder state + PutValOnStream ( vecData, iPos, static_cast ( eRecorderState ), 1 ); + + CreateAndSendMessage ( PROTMESSID_RECORDER_STATE, vecData ); +} + +bool CProtocol::EvaluateRecorderStateMes(const CVector& vecData) +{ + int iPos = 0; // init position pointer + + // check size + if ( vecData.Size() != 1 ) + { + return true; // return error code + } + + // server jam recorder state + const ERecorderState eRecorderState = static_cast ( GetValFromStream ( vecData, iPos, 1 ) ); + + // invoke message action + emit RecorderStateReceived ( eRecorderState ); + + return false; // no error +} + // Connection less messages ---------------------------------------------------- void CProtocol::CreateCLPingMes ( const CHostAddress& InetAddr, const int iMs ) diff --git a/src/protocol.h b/src/protocol.h old mode 100644 new mode 100755 index 0c154e11..2c4a0760 --- a/src/protocol.h +++ b/src/protocol.h @@ -59,6 +59,7 @@ #define PROTMESSID_CHANNEL_PAN 30 // set channel pan for mix #define PROTMESSID_MUTE_STATE_CHANGED 31 // mute state of your signal at another client has changed #define PROTMESSID_CLIENT_ID 32 // current user ID and server status +#define PROTMESSID_RECORDER_STATE 33 // contains the state of the jam recorder (ERecorderState) // message IDs of connection less messages (CLM) // DEFINITION -> start at 1000, end at 1999, see IsConnectionLessMessageID @@ -114,6 +115,7 @@ public: void CreateOpusSupportedMes(); void CreateReqChannelLevelListMes ( const bool bRCL ); void CreateVersionAndOSMes(); + void CreateRecorderStateMes ( const ERecorderState eRecorderState ); void CreateCLPingMes ( const CHostAddress& InetAddr, const int iMs ); void CreateCLPingWithNumClientsMes ( const CHostAddress& InetAddr, @@ -239,6 +241,7 @@ protected: bool EvaluateLicenceRequiredMes ( const CVector& vecData ); bool EvaluateReqChannelLevelListMes ( const CVector& vecData ); bool EvaluateVersionAndOSMes ( const CVector& vecData ); + bool EvaluateRecorderStateMes ( const CVector& vecData ); bool EvaluateCLPingMes ( const CHostAddress& InetAddr, const CVector& vecData ); @@ -302,6 +305,7 @@ signals: void LicenceRequired ( ELicenceType eLicenceType ); void ReqChannelLevelList ( bool bOptIn ); void VersionAndOSReceived ( COSUtil::EOpSystemType eOSType, QString strVersion ); + void RecorderStateReceived ( ERecorderState eRecorderState ); void CLPingReceived ( CHostAddress InetAddr, int iMs ); diff --git a/src/util.h b/src/util.h index 6e24312b..f317aa8e 100755 --- a/src/util.h +++ b/src/util.h @@ -563,6 +563,14 @@ enum ELicenceType }; +// Server jam recorder state enum ---------------------------------------------- +enum ERecorderState +{ + RS_UNDEFINED = 0 + // ... to be defined ... +}; + + // Channel sort type ----------------------------------------------------------- enum EChSortType { From cf543eab7c4e27fe88c2dbbd865bbbbf3dc37868 Mon Sep 17 00:00:00 2001 From: Volker Fischer Date: Sun, 14 Jun 2020 21:00:19 +0200 Subject: [PATCH 23/23] merge fixes --- src/protocol.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/protocol.cpp b/src/protocol.cpp index c7810902..3cc6dab6 100755 --- a/src/protocol.cpp +++ b/src/protocol.cpp @@ -1565,7 +1565,7 @@ void CProtocol::CreateRecorderStateMes ( const ERecorderState eRecorderState ) int iPos = 0; // init position pointer // build data vector - // recorder state + // server jam recorder state (1 byte) PutValOnStream ( vecData, iPos, static_cast ( eRecorderState ), 1 ); CreateAndSendMessage ( PROTMESSID_RECORDER_STATE, vecData ); @@ -1581,11 +1581,17 @@ bool CProtocol::EvaluateRecorderStateMes(const CVector& vecData) return true; // return error code } - // server jam recorder state - const ERecorderState eRecorderState = static_cast ( GetValFromStream ( vecData, iPos, 1 ) ); + // server jam recorder state (1 byte) + const int iRecorderState = + static_cast ( GetValFromStream ( vecData, iPos, 1 ) ); + + if ( iRecorderState != RS_UNDEFINED ) // ... to be defined ... + { + return true; + } // invoke message action - emit RecorderStateReceived ( eRecorderState ); + emit RecorderStateReceived ( static_cast ( iRecorderState ) ); return false; // no error }

Emlyn Bolton (emlynmac)