diff --git a/ChangeLog b/ChangeLog index 6df598ff..203b40e5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -7,6 +7,12 @@ - add new "slim channel" skin, intended for large ensembles (#339) +- support sorting faders by channel instrument, coded by Alberstein8 (#356) + +- add server recording indicator, coded by pljones (#295) + +- support for storing/recovering the server window positions (#357) + diff --git a/mac/sound.cpp b/mac/sound.cpp index e006d247..2d69b0ae 100755 --- a/mac/sound.cpp +++ b/mac/sound.cpp @@ -907,7 +907,7 @@ OSStatus CSound::deviceNotification ( AudioDeviceID, pSound->EmitReinitRequestSignal ( RS_RELOAD_RESTART_AND_INIT ); } -/* +/* NOTE that this code does not solve the crackling sound issue if ( inAddresses->mSelector == kAudioDeviceProcessorOverload ) { // xrun handling (it is important to act on xruns under CoreAudio diff --git a/src/audiomixerboard.cpp b/src/audiomixerboard.cpp old mode 100644 new mode 100755 index 88b198f3..97ff7135 --- a/src/audiomixerboard.cpp +++ b/src/audiomixerboard.cpp @@ -619,7 +619,8 @@ CAudioMixerBoard::CAudioMixerBoard ( QWidget* parent, Qt::WindowFlags ) : bIsPanSupported ( false ), bNoFaderVisible ( true ), iMyChannelID ( INVALID_INDEX ), - strServerName ( "" ) + strServerName ( "" ), + eRecorderState ( RS_UNDEFINED ) { // add group box and hboxlayout QHBoxLayout* pGroupBoxLayout = new QHBoxLayout ( this ); @@ -627,6 +628,12 @@ CAudioMixerBoard::CAudioMixerBoard ( QWidget* parent, Qt::WindowFlags ) : pScrollArea = new CMixerBoardScrollArea ( this ); pMainLayout = new QHBoxLayout ( pMixerWidget ); + setAccessibleName ( "Personal Mix at the Server groupbox" ); + setWhatsThis ( "" + tr ( "Personal Mix at the Server" ) + ": " + tr ( + "When connected to a server, the controls here allow you to set your " + "local mix without affecting what others hear from you. The title shows " + "the server name and, when known, whether it is actively recording." ) ); + // set title text (default: no server given) SetServerName ( "" ); @@ -709,6 +716,16 @@ void CAudioMixerBoard::SetServerName ( const QString& strNewServerName ) void CAudioMixerBoard::SetGUIDesign ( const EGUIDesign eNewDesign ) { + // move the channels tighter together in slim fader mode + if ( eNewDesign == GD_SLIMFADER ) + { + pMainLayout->setSpacing ( 2 ); + } + else + { + pMainLayout->setSpacing ( 6 ); // Qt default spacing value + } + // apply GUI design to child GUI controls for ( int i = 0; i < MAX_NUM_CHANNELS; i++ ) { @@ -765,6 +782,7 @@ void CAudioMixerBoard::HideAll() // set flags bIsPanSupported = false; bNoFaderVisible = true; + eRecorderState = RS_UNDEFINED; iMyChannelID = INVALID_INDEX; // use original order of channel (by server ID) @@ -788,10 +806,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 ); } } @@ -810,13 +825,32 @@ void CAudioMixerBoard::ChangeFaderOrder ( const bool bDoSort, } } +void CAudioMixerBoard::UpdateTitle() +{ + QString strTitlePrefix = ""; + + if ( eRecorderState == RS_RECORDING ) + { + strTitlePrefix = "[" + tr ( "RECORDING ACTIVE" ) + "] "; + } + + setTitle ( strTitlePrefix + tr ( "Personal Mix at: " ) + strServerName ); +} + +void CAudioMixerBoard::SetRecorderState ( const ERecorderState newRecorderState ) +{ + // store the new recorder state and update the title + eRecorderState = newRecorderState; + UpdateTitle(); +} + void CAudioMixerBoard::ApplyNewConClientList ( CVector& vecChanInfo ) { // we want to set the server name only if the very first faders appear // in the audio mixer board to show a "try to connect" before if ( bNoFaderVisible ) { - setTitle ( tr ( "Personal Mix at the Server: " ) + strServerName ); + UpdateTitle(); } // get number of connected clients diff --git a/src/audiomixerboard.h b/src/audiomixerboard.h old mode 100644 new mode 100755 index a3321a34..3d8457be --- a/src/audiomixerboard.h +++ b/src/audiomixerboard.h @@ -164,6 +164,8 @@ public: void SetChannelLevels ( const CVector& vecChannelLevel ); + void SetRecorderState ( const ERecorderState newRecorderState ); + // settings CVector vecStoredFaderTags; CVector vecStoredFaderLevels; @@ -196,6 +198,7 @@ protected: void StoreFaderSettings ( CChannelFader* pChanFader ); void UpdateSoloStates(); + void UpdateTitle(); void OnGainValueChanged ( const int iChannelIdx, const double dValue ); @@ -209,6 +212,7 @@ protected: bool bNoFaderVisible; int iMyChannelID; QString strServerName; + ERecorderState eRecorderState; virtual void UpdateGainValue ( const int iChannelIdx, const double dValue, diff --git a/src/channel.cpp b/src/channel.cpp index f5c7419d..924f74d5 100755 --- a/src/channel.cpp +++ b/src/channel.cpp @@ -108,6 +108,9 @@ qRegisterMetaType ( "CHostAddress" ); QObject::connect ( &Protocol, &CProtocol::VersionAndOSReceived, this, &CChannel::VersionAndOSReceived ); + QObject::connect ( &Protocol, &CProtocol::RecorderStateReceived, + this, &CChannel::RecorderStateReceived ); + QObject::connect ( &Protocol, &CProtocol::ReqChannelLevelList, this, &CChannel::OnReqChannelLevelList ); } diff --git a/src/channel.h b/src/channel.h index b56f93ee..723d9ad4 100755 --- a/src/channel.h +++ b/src/channel.h @@ -168,6 +168,9 @@ public: void CreateConClientListMes ( const CVector& vecChanInfo ) { Protocol.CreateConClientListMes ( vecChanInfo ); } + void CreateRecorderStateMes ( const ERecorderState eRecorderState ) + { Protocol.CreateRecorderStateMes ( eRecorderState ); } + CNetworkTransportProps GetNetworkTransportPropsFromCurrentSettings(); bool ChannelLevelsRequired() const { return bChannelLevelsRequired; } @@ -287,6 +290,7 @@ signals: void ReqNetTranspProps(); void LicenceRequired ( ELicenceType eLicenceType ); void VersionAndOSReceived ( COSUtil::EOpSystemType eOSType, QString strVersion ); + void RecorderStateReceived ( ERecorderState eRecorderState ); void Disconnected(); void DetectedCLMessage ( CVector vecbyMesBodyData, diff --git a/src/client.cpp b/src/client.cpp index 13b42cf2..35b8fea5 100755 --- a/src/client.cpp +++ b/src/client.cpp @@ -165,6 +165,9 @@ CClient::CClient ( const quint16 iPortNumber, QObject::connect ( &Channel, &CChannel::VersionAndOSReceived, this, &CClient::VersionAndOSReceived ); + QObject::connect ( &Channel, &CChannel::RecorderStateReceived, + this, &CClient::RecorderStateReceived ); + QObject::connect ( &ConnLessProtocol, &CProtocol::CLMessReadyForSending, this, &CClient::OnSendCLProtMessage ); diff --git a/src/client.h b/src/client.h index b8497bbf..0a576068 100755 --- a/src/client.h +++ b/src/client.h @@ -424,6 +424,7 @@ signals: void LicenceRequired ( ELicenceType eLicenceType ); void VersionAndOSReceived ( COSUtil::EOpSystemType eOSType, QString strVersion ); void PingTimeReceived ( int iPingTime ); + void RecorderStateReceived ( ERecorderState eRecorderState ); void CLServerListReceived ( CHostAddress InetAddr, CVector vecServerInfo ); diff --git a/src/clientdlg.cpp b/src/clientdlg.cpp index 89c3d59a..9c73e8e5 100755 --- a/src/clientdlg.cpp +++ b/src/clientdlg.cpp @@ -472,6 +472,9 @@ CClientDlg::CClientDlg ( CClient* pNCliP, QObject::connect ( pClient, &CClient::MuteStateHasChangedReceived, this, &CClientDlg::OnMuteStateHasChangedReceived ); + QObject::connect ( pClient, &CClient::RecorderStateReceived, + this, &CClientDlg::OnRecorderStateReceived ); + // This connection is a special case. On receiving a licence required message via the // protocol, a modal licence dialog is opened. Since this blocks the thread, we need // a queued connection to make sure the core protocol mechanism is not blocked, too. diff --git a/src/clientdlg.h b/src/clientdlg.h index 7b2e9dfa..4058b6de 100755 --- a/src/clientdlg.h +++ b/src/clientdlg.h @@ -221,6 +221,9 @@ public slots: void OnDisplayChannelLevelsChanged() { MainMixerBoard->SetDisplayChannelLevels ( pClient->GetDisplayChannelLevels() ); } + void OnRecorderStateReceived ( ERecorderState eRecorderState ) + { MainMixerBoard->SetRecorderState ( eRecorderState ); } + void OnAudioChannelsChanged() { UpdateRevSelection(); } void OnNumClientsChanged ( int iNewNumClients ); void OnNewClientLevelChanged() { MainMixerBoard->iNewClientFaderLevel = pClient->iNewClientFaderLevel; } diff --git a/src/protocol.cpp b/src/protocol.cpp index 32b4de4f..61be0026 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,46 @@ 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 + // server jam recorder state (1 byte) + 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 (1 byte) + const int iRecorderState = + static_cast ( GetValFromStream ( vecData, iPos, 1 ) ); + + // note that RS_UNDEFINED is only internally used + if ( ( iRecorderState != RS_NOT_INITIALISED ) && + ( iRecorderState != RS_NOT_ENABLED ) && + ( iRecorderState != RS_RECORDING ) ) + { + return true; + } + + // invoke message action + emit RecorderStateReceived ( static_cast ( iRecorderState ) ); + + 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/res/translation/translation_de_DE.qm b/src/res/translation/translation_de_DE.qm index 56d35893..e697891c 100644 Binary files a/src/res/translation/translation_de_DE.qm and b/src/res/translation/translation_de_DE.qm differ diff --git a/src/res/translation/translation_de_DE.ts b/src/res/translation/translation_de_DE.ts index da776a61..e277548b 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,18 +190,33 @@ CAudioMixerBoard - + + Personal Mix at the Server + + + + + When connected to a server, the controls here allow you to set your local mix without affecting what others hear from you. The title shows the server name and, when known, whether it is actively recording. + + + + 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: + + RECORDING ACTIVE + + + + + Personal Mix at: Eigener Mix am Server: @@ -367,44 +382,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 +730,7 @@ - + C&onnect &Verbinden @@ -769,18 +784,18 @@ Keine - + Center Mitte - + R - + L @@ -865,22 +880,22 @@ Sortiere Kanäle nach &Instrument - + Central Server Zentralserver - + user Musiker - + users Musiker - + D&isconnect &Trennen @@ -1513,22 +1528,22 @@ Manuell - + Custom Benutzerdefiniert - + All Genres Alle Genres - + Genre Rock Genre Rock - + Genre Jazz Genre Jazz @@ -1537,12 +1552,12 @@ Genre Rock/Jazz - + Genre Classical/Folk/Choir Genre Klassik/Volksmusik/Chor - + Default Standard @@ -1926,28 +1941,28 @@ CHelpMenu - + &Help &Hilfe - - + + Getting &Started... &Erste Schritte... - + Software &Manual... Software&handbuch... - + What's &This Konte&xthilfe - + &About... Ü&ber... @@ -1955,102 +1970,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 +2077,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 +2168,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 +2177,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 @@ -2643,22 +2658,22 @@ Server - + Predefined Address Vordefinierte Adresse - + Recording Aufnahme - + Not recording Keine Aufnahme - + Not enabled Nicht aktiviert @@ -2685,42 +2700,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 +2749,7 @@ - + Name Name @@ -2759,13 +2774,18 @@ Veröffentliche meinen Server in der Serverliste - - + + Genre + + + + + STATUS - + Custom Central Server Address: Benutzerdefinierte Zentralserveradresse: @@ -2774,37 +2794,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.qm b/src/res/translation/translation_es_ES.qm index 0d5c7ce9..cbaba548 100644 Binary files a/src/res/translation/translation_es_ES.qm and b/src/res/translation/translation_es_ES.qm differ diff --git a/src/res/translation/translation_es_ES.ts b/src/res/translation/translation_es_ES.ts index 1c18d4dd..46f1aa36 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,18 +194,33 @@ CAudioMixerBoard - + + Personal Mix at the Server + + + + + When connected to a server, the controls here allow you to set your local mix without affecting what others hear from you. The title shows the server name and, when known, whether it is actively recording. + + + + 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: + + RECORDING ACTIVE + + + + + Personal Mix at: Mezcla Personal en el Servidor: @@ -371,44 +386,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 +742,7 @@ - + C&onnect C&onectar @@ -777,18 +792,18 @@ Ninguno - + Center Centro - + R R - + L L @@ -873,22 +888,22 @@ Ordenar Canales por &Instrumento - + Central Server Servidor Central - + user usuario - + users usuarios - + D&isconnect D&esconectar @@ -1521,12 +1536,12 @@ Manual - + Custom Personalizado - + All Genres Todos los Géneros @@ -1535,22 +1550,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 +1957,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 +1986,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 +2093,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 +2184,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 +2193,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 @@ -2655,22 +2670,22 @@ - + Predefined Address Dirección Preestablecida - + Recording Grabando - + Not recording No grabando - + Not enabled No habilitado @@ -2697,42 +2712,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 +2761,7 @@ - + Name Nombre @@ -2771,13 +2786,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 +2806,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 6bd57449..7cd60017 100644 Binary files a/src/res/translation/translation_fr_FR.qm and b/src/res/translation/translation_fr_FR.qm differ diff --git a/src/res/translation/translation_fr_FR.ts b/src/res/translation/translation_fr_FR.ts index 5e993b40..a6856791 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) @@ -202,18 +202,33 @@ CAudioMixerBoard - + + Personal Mix at the Server + + + + + When connected to a server, the controls here allow you to set your local mix without affecting what others hear from you. The title shows the server name and, when known, whether it is actively recording. + + + + 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: + + RECORDING ACTIVE + + + + + Personal Mix at: Mixage personnel du serveur : @@ -723,7 +738,7 @@ - + C&onnect Se c&onnecter @@ -768,28 +783,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 +878,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 +1540,12 @@ Manuel - + Custom Personnalisé - + All Genres Tous les genres @@ -1530,22 +1554,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 +1953,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 +1982,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 +2089,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 +2180,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 @@ -2638,22 +2662,22 @@ serveur - + Predefined Address Adresse prédéfinie - + Recording Enregistrement - + Not recording Ne pas enregistrer - + Not enabled Non activé @@ -2680,42 +2704,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 +2753,7 @@ - + Name Nom @@ -2754,13 +2778,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 +2798,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 4ae5f3f6..11929a8d 100644 Binary files a/src/res/translation/translation_it_IT.qm and b/src/res/translation/translation_it_IT.qm differ diff --git a/src/res/translation/translation_it_IT.ts b/src/res/translation/translation_it_IT.ts index 488ca023..ab4e9633 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,84 +47,84 @@ 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) Under the GNU General Public License (GPL) @@ -190,18 +190,33 @@ CAudioMixerBoard - + + Personal Mix at the Server + + + + + When connected to a server, the controls here allow you to set your local mix without affecting what others hear from you. The title shows the server name and, when known, whether it is actively recording. + + + + 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: + + RECORDING ACTIVE + + + + + Personal Mix at: Mixer personale sul Server: @@ -320,32 +335,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 +395,12 @@ M - + M S - + S @@ -560,7 +575,7 @@ - + L L @@ -654,122 +669,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. @@ -783,7 +798,7 @@ - + C&onnect C&onnetti @@ -825,45 +840,54 @@ &Edit - + &Modifica - &Sort Channel Users by Name + 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 @@ -1312,7 +1336,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 +1353,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 +1504,12 @@ Fancy - + Fantasia Compact - + Compatto @@ -1528,32 +1552,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 @@ -1676,7 +1700,7 @@ Skin - + Vista @@ -1764,17 +1788,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. @@ -1893,28 +1917,28 @@ CHelpMenu - + &Help &Aiuto - - + + Getting &Started... &Introduzione... - + Software &Manual... &Manuale Software... - + What's &This &Cos'è Questo - + &About... I&nformazioni su... @@ -1922,102 +1946,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 +2049,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,254 +2119,254 @@ 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 No Name - + Senza Nome @@ -2422,12 +2446,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 +2500,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 +2540,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. @@ -2612,62 +2636,62 @@ &Finestra - + Predefined Address Indirizzo Predefinito - + Recording - + Registrazione - + Not recording - + Registrazione Ferma - + Not enabled - + 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 +2705,7 @@ - + Name Nome @@ -2706,13 +2730,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 +2750,37 @@ Indirizzo Server Centrale: - + My Server Info Informazioni sul Server - + Location: City Ubicazione: Città - + Location: Country Ubicazione: Paese - + Enable jam recorder - - - - - New recording - + Abilita Registrazione Jam - Recordings folder - + New recording + Nuova Registrazione - + + Recordings folder + Cartella di Registrazione + + + TextLabelNameVersion TextLabelNameVersion @@ -2817,12 +2846,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. diff --git a/src/res/translation/translation_nl_NL.ts b/src/res/translation/translation_nl_NL.ts index 254f8a7b..e5536f94 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) @@ -190,18 +190,33 @@ CAudioMixerBoard - + + Personal Mix at the Server + + + + + When connected to a server, the controls here allow you to set your local mix without affecting what others hear from you. The title shows the server name and, when known, whether it is actively recording. + + + + 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: + + RECORDING ACTIVE + + + + + Personal Mix at: @@ -552,7 +567,7 @@ - + L L @@ -775,7 +790,7 @@ - + C&onnect C&onnect @@ -821,41 +836,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 +1500,32 @@ Handmatig - + Custom - + All Genres - + Genre Rock - + Genre Jazz - + Genre Classical/Folk/Choir - + Default Standaard @@ -1885,28 +1905,28 @@ CHelpMenu - + &Help &Hulp - - + + Getting &Started... Aan de slag... - + Software &Manual... Softwarehandleiding... - + What's &This Wat Is Dit - + &About... &Over... @@ -1914,102 +1934,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 +2037,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 +2107,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 @@ -2594,22 +2614,22 @@ server - + Predefined Address - + Recording - + Not recording - + Not enabled @@ -2636,42 +2656,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 +2705,7 @@ - + Name Naam @@ -2710,13 +2730,18 @@ Maak mijn server openbaar (Registreer mijn server in de lijst met servers) - - + + Genre + + + + + STATUS STATUS - + Custom Central Server Address: @@ -2725,37 +2750,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..8c0cb2bb 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) @@ -158,18 +158,33 @@ CAudioMixerBoard - + + Personal Mix at the Server + + + + + When connected to a server, the controls here allow you to set your local mix without affecting what others hear from you. The title shows the server name and, when known, whether it is actively recording. + + + + Server - + T R Y I N G T O C O N N E C T - - Personal Mix at the Server: + + RECORDING ACTIVE + + + + + Personal Mix at: @@ -464,7 +479,7 @@ - + L @@ -635,7 +650,7 @@ - + C&onnect @@ -681,41 +696,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 +1240,32 @@ - + Custom - + All Genres - + Genre Rock - + Genre Jazz - + Genre Classical/Folk/Choir - + Default @@ -1593,28 +1613,28 @@ CHelpMenu - + &Help &Pomoc - - + + Getting &Started... - + Software &Manual... - + What's &This - + &About... @@ -1622,102 +1642,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 +1745,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 @@ -2239,22 +2259,22 @@ - + Predefined Address - + Recording - + Not recording - + Not enabled @@ -2284,42 +2304,42 @@ - + Unregistered - + Bad address - + Registration requested - + Registration failed - + Check server version - + Registered - + Central Server full - + Unknown value @@ -2333,7 +2353,7 @@ - + Name @@ -2358,48 +2378,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 52dbe3fc..1fca6c2d 100644 Binary files a/src/res/translation/translation_pt_PT.qm and b/src/res/translation/translation_pt_PT.qm differ diff --git a/src/res/translation/translation_pt_PT.ts b/src/res/translation/translation_pt_PT.ts index f834f246..7eb3a462 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) @@ -202,18 +202,33 @@ CAudioMixerBoard - + + Personal Mix at the Server + + + + + When connected to a server, the controls here allow you to set your local mix without affecting what others hear from you. The title shows the server name and, when known, whether it is actively recording. + + + + 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: + + RECORDING ACTIVE + + + + + Personal Mix at: Mistura Pessoal no Servidor: @@ -719,7 +734,7 @@ - + C&onnect &Ligar @@ -764,28 +779,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 +874,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 +1528,22 @@ Manual - + Custom Personalizado - + All Genres Servidor Geral - + Genre Rock Servidor Rock - + Genre Jazz Servidor Jazz @@ -1528,12 +1552,12 @@ Servidor Rock/Jazz - + Genre Classical/Folk/Choir Serv. Clássica/Folclore/Coro - + Default Servidor Padrão @@ -1913,28 +1937,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 +1966,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 +2073,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 +2164,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 @@ -2622,22 +2646,22 @@ - + Predefined Address Endereço Predefinido - + Recording A gravar - + Not recording Não está a gravar - + Not enabled Desactivado @@ -2664,42 +2688,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 +2737,7 @@ - + Name Nome do Servidor @@ -2738,13 +2762,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 +2782,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 diff --git a/src/server.cpp b/src/server.cpp index 1df29a55..8c449e8b 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 ), @@ -250,7 +251,6 @@ CServer::CServer ( const int iNewMaxNumChan, bNCentServPingServerInList, &ConnLessProtocol ), bAutoRunMinimized ( false ), - strWelcomeMessage ( strNewWelcomeMessage ), eLicenceType ( eNLicenceType ), bDisconnectAllClientsOnQuit ( bNDisconnectAllClientsOnQuit ), pSignalHandler ( CSignalHandler::getSingletonP() ) @@ -402,6 +402,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() ) { @@ -593,6 +610,9 @@ void CServer::OnNewConnection ( int iChID, // send version info (for, e.g., feature activation in the client) vecChannels[iChID].CreateVersionAndOSMes(); + // send recording state message on connection + vecChannels[iChID].CreateRecorderStateMes ( GetRecorderState() ); + // reset the conversion buffers DoubleFrameSizeConvBufIn[iChID].Reset(); DoubleFrameSizeConvBufOut[iChID].Reset(); @@ -704,6 +724,9 @@ void CServer::RequestNewRecording() { emit RestartRecorder(); } + + // send recording state message - doesn't hurt + CreateAndSendRecorderStateForAllConChannels(); } void CServer::SetEnableRecording ( bool bNewEnableRecording ) @@ -717,7 +740,7 @@ void CServer::SetEnableRecording ( bool bNewEnableRecording ) #if QT_VERSION >= QT_VERSION_CHECK(5, 5, 0) // TODO we should use the ConsoleWriterFactory() instead of qInfo() - qInfo() << "Recording state " << ( bEnableRecording ? "enabled" : "disabled" ); + qInfo() << "Recording state" << ( bEnableRecording ? "enabled" : "disabled" ); #endif if ( !bEnableRecording ) @@ -730,6 +753,9 @@ void CServer::SetEnableRecording ( bool bNewEnableRecording ) emit StopRecorder(); } } + + // send recording state message + CreateAndSendRecorderStateForAllConChannels(); } void CServer::Start() @@ -1313,6 +1339,42 @@ void CServer::CreateAndSendChatTextForAllConChannels ( const int iCurChanID } } +void CServer::CreateAndSendRecorderStateForAllConChannels() +{ + // get recorder state + ERecorderState eRecorderState = GetRecorderState(); + + // now send recorder state to all connected clients + for ( int i = 0; i < iMaxNumChannels; i++ ) + { + if ( vecChannels[i].IsConnected() ) + { + // send message + vecChannels[i].CreateRecorderStateMes ( eRecorderState ); + } + } +} + +ERecorderState CServer::GetRecorderState() +{ + // return recorder state + if ( bRecorderInitialised ) + { + if ( bEnableRecording ) + { + return RS_RECORDING; + } + else + { + return RS_NOT_ENABLED; + } + } + else + { + return RS_NOT_INITIALISED; + } +} + void CServer::CreateOtherMuteStateChanged ( const int iCurChanID, const int iOtherChanID, const bool bIsMuted ) diff --git a/src/server.h b/src/server.h index 833ef479..5add392a 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" @@ -250,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 ) @@ -269,6 +273,10 @@ protected: virtual void CreateAndSendChatTextForAllConChannels ( const int iCurChanID, const QString& strChatText ); + virtual void CreateAndSendRecorderStateForAllConChannels(); + + ERecorderState GetRecorderState(); + virtual void CreateOtherMuteStateChanged ( const int iCurChanID, const int iOtherChanID, const bool bIsMuted ); 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 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 ) "

Emlyn Bolton (emlynmac)

" "

Jos van den Oever (vandenoever)

" "

Tormod Volden (tormodvolden)

" + "

Alberstein8 (Alberstein8)

" "

Gauthier Fleutot Östervall (fleutot)

" "

Stanislas Michalak (stanislas-m)

" "

JP Cimalando (jpcima)

" diff --git a/src/util.h b/src/util.h index 6e24312b..56c3aa49 100755 --- a/src/util.h +++ b/src/util.h @@ -563,6 +563,16 @@ enum ELicenceType }; +// Server jam recorder state enum ---------------------------------------------- +enum ERecorderState +{ + RS_UNDEFINED = 0, + RS_NOT_INITIALISED = 1, + RS_NOT_ENABLED = 2, + RS_RECORDING = 3 +}; + + // Channel sort type ----------------------------------------------------------- enum EChSortType {