diff --git a/ChangeLog b/ChangeLog
index 6df598ff..2c543c83 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -7,8 +7,12 @@
- add new "slim channel" skin, intended for large ensembles (#339)
+- support sorting faders by channel instrument, coded by Alberstein8 (#356)
+- support for storing/recovering the server window positions (#357)
+TODO Mac audio interface -> crackling
+TODO try to reproduce: Quitting client when server window minimized not handled cleanly #355
diff --git a/src/audiomixerboard.cpp b/src/audiomixerboard.cpp
index 85036207..021b6e22 100644
--- a/src/audiomixerboard.cpp
+++ b/src/audiomixerboard.cpp
@@ -207,7 +207,7 @@ void CChannelFader::SetGUIDesign ( const EGUIDesign eNewDesign )
case GD_SLIMFADER:
pLabelPictGrid->addWidget ( plblLabel, 0, Qt::AlignHCenter ); // label below icons
- pLabelInstBox->setMinimumHeight ( 80 ); // maximum hight of the instrument+flag+label
+ pLabelInstBox->setMinimumHeight ( 84 ); // maximum hight of the instrument+flag+label
pPan->setFixedSize ( 28, 28 );
pFader->setTickPosition ( QSlider::NoTicks );
pFader->setStyleSheet ( "" );
@@ -314,7 +314,7 @@ void CChannelFader::Reset()
plblInstrument->setToolTip ( "" );
plblCountryFlag->setVisible ( false );
plblCountryFlag->setToolTip ( "" );
- strReceivedName = "";
+ cReceivedChanInfo = CChannelInfo();
SetupFaderTag ( SL_NOT_SET );
// set a defined tool tip time out
@@ -438,15 +438,15 @@ void CChannelFader::SetChannelLevel ( const uint16_t iLevel )
void CChannelFader::SetChannelInfos ( const CChannelInfo& cChanInfo )
{
+ // store received channel info
+ cReceivedChanInfo = cChanInfo;
+
// init properties for the tool tip
int iTTInstrument = CInstPictures::GetNotUsedInstrument();
QLocale::Country eTTCountry = QLocale::AnyCountry;
// Label text --------------------------------------------------------------
- // store original received name
- strReceivedName = cChanInfo.strName;
-
// break text at predefined position
const int iBreakPos = MAX_LEN_FADER_TAG / 2;
@@ -521,9 +521,9 @@ void CChannelFader::SetChannelInfos ( const CChannelInfo& cChanInfo )
QString strToolTip = "";
// alias/name
- if ( !strReceivedName.isEmpty() )
+ if ( !cChanInfo.strName.isEmpty() )
{
- strToolTip += "
" + tr ( "Alias/Name" ) + "
" + strReceivedName;
+ strToolTip += "
" + tr ( "Alias/Name" ) + "
" + cChanInfo.strName;
}
// instrument
@@ -768,20 +768,28 @@ void CAudioMixerBoard::HideAll()
iMyChannelID = INVALID_INDEX;
// use original order of channel (by server ID)
- ChangeFaderOrder ( false );
+ ChangeFaderOrder ( false, ST_BY_NAME );
// emit status of connected clients
emit NumClientsChanged ( 0 ); // -> no clients connected
}
-void CAudioMixerBoard::ChangeFaderOrder ( const bool bDoSort )
+void CAudioMixerBoard::ChangeFaderOrder ( const bool bDoSort,
+ const EChSortType eChSortType )
{
// create a pair list of lower strings and fader ID for each channel
QList > PairList;
for ( int i = 0; i < MAX_NUM_CHANNELS; i++ )
{
- PairList << QPair ( vecpChanFader[i]->GetReceivedName().toLower(), i );
+ if ( eChSortType == ST_BY_NAME )
+ {
+ PairList << QPair ( vecpChanFader[i]->GetReceivedName().toLower(), i );
+ }
+ else // ST_BY_INSTRUMENT
+ {
+ PairList << QPair ( CInstPictures::GetName ( vecpChanFader[i]->GetReceivedInstrument() ), i );
+ }
}
// if requested, sort the channels
diff --git a/src/audiomixerboard.h b/src/audiomixerboard.h
index 1e955ccd..a3321a34 100644
--- a/src/audiomixerboard.h
+++ b/src/audiomixerboard.h
@@ -49,7 +49,8 @@ class CChannelFader : public QObject
public:
CChannelFader ( QWidget* pNW );
- QString GetReceivedName() { return strReceivedName; }
+ QString GetReceivedName() { return cReceivedChanInfo.strName; }
+ int GetReceivedInstrument() { return cReceivedChanInfo.iInstrument; }
void SetChannelInfos ( const CChannelInfo& cChanInfo );
void Show() { pFrame->show(); }
void Hide() { pFrame->hide(); }
@@ -101,7 +102,7 @@ protected:
QLabel* plblInstrument;
QLabel* plblCountryFlag;
- QString strReceivedName;
+ CChannelInfo cReceivedChanInfo;
bool bOtherChannelIsSolo;
bool bIsMyOwnFader;
@@ -146,7 +147,6 @@ public:
CAudioMixerBoard ( QWidget* parent = nullptr, Qt::WindowFlags f = nullptr );
void HideAll();
- void ChangeFaderOrder ( const bool bDoSort );
void ApplyNewConClientList ( CVector& vecChanInfo );
void SetServerName ( const QString& strNewServerName );
void SetGUIDesign ( const EGUIDesign eNewDesign );
@@ -159,6 +159,9 @@ public:
void SetFaderLevel ( const int iChannelIdx,
const int iValue );
+ void ChangeFaderOrder ( const bool bDoSort,
+ const EChSortType eChSortType );
+
void SetChannelLevels ( const CVector& vecChannelLevel );
// settings
diff --git a/src/client.cpp b/src/client.cpp
index 10d3afac..13b42cf2 100755
--- a/src/client.cpp
+++ b/src/client.cpp
@@ -889,8 +889,9 @@ void CClient::Init()
iNumAudioChannels );
// init reverberation
- AudioReverbL.Init ( SYSTEM_SAMPLE_RATE_HZ );
- AudioReverbR.Init ( SYSTEM_SAMPLE_RATE_HZ );
+ AudioReverb.Init ( eAudioChannelConf,
+ iStereoBlockSizeSam,
+ SYSTEM_SAMPLE_RATE_HZ );
// init the sound card conversion buffers
if ( bSndCrdConversionBufferRequired )
@@ -973,118 +974,41 @@ void CClient::ProcessAudioDataIntern ( CVector& vecsStereoSndCrd )
// add reverberation effect if activated
if ( iReverbLevel != 0 )
{
- // calculate attenuation amplification factor
- const double dRevLev = static_cast ( iReverbLevel ) / AUD_REVERB_MAX / 4;
+ AudioReverb.Process ( vecsStereoSndCrd,
+ bReverbOnLeftChan,
+ static_cast ( iReverbLevel ) / AUD_REVERB_MAX / 4 );
+ }
+
+ // apply pan (audio fader) and mix mono signals
+ if ( !( ( iAudioInFader == AUD_FADER_IN_MIDDLE ) && ( eAudioChannelConf == CC_STEREO ) ) )
+ {
+ // calculate pan gain in the range 0 to 1, where 0.5 is the middle position
+ const double dPan = static_cast ( iAudioInFader ) / AUD_FADER_IN_MAX;
if ( eAudioChannelConf == CC_STEREO )
{
- // for stereo always apply reverberation effect on both channels
- for ( i = 0; i < iStereoBlockSizeSam; i += 2 )
- {
- // both channels (stereo)
- AudioReverbL.ProcessSample ( vecsStereoSndCrd[i], vecsStereoSndCrd[i + 1], dRevLev );
- }
- }
- else
- {
- // mono and mono-in/stereo out mode
- if ( bReverbOnLeftChan )
- {
- for ( i = 0; i < iStereoBlockSizeSam; i += 2 )
- {
- // left channel
- int16_t sRightDummy = 0; // has to be 0 for mono reverb
- AudioReverbL.ProcessSample ( vecsStereoSndCrd[i], sRightDummy, dRevLev );
- }
- }
- else
- {
- for ( i = 1; i < iStereoBlockSizeSam; i += 2 )
- {
- // right channel
- int16_t sRightDummy = 0; // has to be 0 for mono reverb
- AudioReverbR.ProcessSample ( vecsStereoSndCrd[i], sRightDummy, dRevLev );
- }
- }
- }
- }
+ // for stereo only apply pan attenuation on one channel (same as pan in the server)
+ const double dGainL = std::min ( 0.5, 1 - dPan ) * 2;
+ const double dGainR = std::min ( 0.5, dPan ) * 2;
- // mix both signals depending on the fading setting, convert
- // from double to short
- if ( iAudioInFader == AUD_FADER_IN_MIDDLE )
- {
- // no action require if fader is in the middle and stereo is used
- if ( eAudioChannelConf != CC_STEREO )
- {
- // mix channels together (store result in first half of the vector)
for ( i = 0, j = 0; i < iMonoBlockSizeSam; i++, j += 2 )
{
- // for the sum make sure we have more bits available (cast to
- // int32), after the normalization by 2, the result will fit
- // into the old size so that cast to int16 is safe
- vecsStereoSndCrd[i] = static_cast (
- ( static_cast ( vecsStereoSndCrd[j] ) + vecsStereoSndCrd[j + 1] ) / 2 );
- }
- }
- }
- else
- {
- if ( eAudioChannelConf == CC_STEREO )
- {
- // stereo
- const double dAttFactStereo = static_cast (
- AUD_FADER_IN_MIDDLE - abs ( AUD_FADER_IN_MIDDLE - iAudioInFader ) ) / AUD_FADER_IN_MIDDLE;
-
- if ( iAudioInFader > AUD_FADER_IN_MIDDLE )
- {
- for ( i = 0, j = 0; i < iMonoBlockSizeSam; i++, j += 2 )
- {
- // attenuation on right channel
- vecsStereoSndCrd[j + 1] = Double2Short ( dAttFactStereo * vecsStereoSndCrd[j + 1] );
- }
- }
- else
- {
- for ( i = 0, j = 0; i < iMonoBlockSizeSam; i++, j += 2 )
- {
- // attenuation on left channel
- vecsStereoSndCrd[j] = Double2Short ( dAttFactStereo * vecsStereoSndCrd[j] );
- }
+ // note that the gain is always <= 1, therefore a simple cast is
+ // ok since we never can get an overload
+ vecsStereoSndCrd[j + 1] = static_cast ( dGainR * vecsStereoSndCrd[j + 1] );
+ vecsStereoSndCrd[j] = static_cast ( dGainL * vecsStereoSndCrd[j] );
}
}
else
{
- // mono and mono-in/stereo out mode
- // make sure that in the middle position the two channels are
- // amplified by 1/2, if the pan is set to one channel, this
- // channel should have an amplification of 1
- const double dAttFactMono = static_cast (
- AUD_FADER_IN_MIDDLE - abs ( AUD_FADER_IN_MIDDLE - iAudioInFader ) ) / AUD_FADER_IN_MIDDLE / 2;
+ // for mono implement a cross-fade between channels and mix them
+ const double dGainL = 1 - dPan;
+ const double dGainR = dPan;
- const double dAmplFactMono = 0.5 + static_cast (
- abs ( AUD_FADER_IN_MIDDLE - iAudioInFader ) ) / AUD_FADER_IN_MIDDLE / 2;
-
- if ( iAudioInFader > AUD_FADER_IN_MIDDLE )
+ for ( i = 0, j = 0; i < iMonoBlockSizeSam; i++, j += 2 )
{
- for ( i = 0, j = 0; i < iMonoBlockSizeSam; i++, j += 2 )
- {
- // attenuation on right channel (store result in first half
- // of the vector)
- vecsStereoSndCrd[i] = Double2Short (
- dAmplFactMono * vecsStereoSndCrd[j] +
- dAttFactMono * vecsStereoSndCrd[j + 1] );
- }
- }
- else
- {
- for ( i = 0, j = 0; i < iMonoBlockSizeSam; i++, j += 2 )
- {
- // attenuation on left channel (store result in first half
- // of the vector)
- vecsStereoSndCrd[i] = Double2Short (
- dAmplFactMono * vecsStereoSndCrd[j + 1] +
- dAttFactMono * vecsStereoSndCrd[j] );
- }
+ vecsStereoSndCrd[i] = Double2Short (
+ dGainL * vecsStereoSndCrd[j] + dGainR * vecsStereoSndCrd[j + 1] );
}
}
}
@@ -1175,20 +1099,6 @@ void CClient::ProcessAudioDataIntern ( CVector& vecsStereoSndCrd )
}
}
-/*
-// TEST
-// fid=fopen('c:\\temp\test2.dat','r');x=fread(fid,'int16');fclose(fid);
-static FILE* pFileDelay = fopen("c:\\temp\\test2.dat", "wb");
-short sData[2];
-for (i = 0; i < iMonoBlockSizeSam; i++)
-{
- sData[0] = (short) vecsStereoSndCrd[i];
- fwrite(&sData, size_t(2), size_t(1), pFileDelay);
-}
-fflush(pFileDelay);
-*/
-
-
// for muted stream we have to add our local data here
if ( bMuteOutStream )
{
diff --git a/src/client.h b/src/client.h
index d56435c6..b8497bbf 100755
--- a/src/client.h
+++ b/src/client.h
@@ -151,8 +151,7 @@ public:
void SetReverbOnLeftChan ( const bool bIL )
{
bReverbOnLeftChan = bIL;
- AudioReverbL.Clear();
- AudioReverbR.Clear();
+ AudioReverb.Clear();
}
void SetDoAutoSockBufSize ( const bool bValue );
@@ -354,8 +353,7 @@ protected:
int iAudioInFader;
bool bReverbOnLeftChan;
int iReverbLevel;
- CAudioReverb AudioReverbL;
- CAudioReverb AudioReverbR;
+ CAudioReverb AudioReverb;
int iSndCrdPrefFrameSizeFactor;
int iSndCrdFrameSizeFactor;
diff --git a/src/clientdlg.cpp b/src/clientdlg.cpp
index 4b0c5611..89c3d59a 100755
--- a/src/clientdlg.cpp
+++ b/src/clientdlg.cpp
@@ -282,9 +282,12 @@ CClientDlg::CClientDlg ( CClient* pNCliP,
// Edit menu --------------------------------------------------------------
pEditMenu = new QMenu ( tr ( "&Edit" ), this );
- pEditMenu->addAction ( tr ( "&Sort Channel Users by Name" ), this,
+ pEditMenu->addAction ( tr ( "Sort Channel Users by &Name" ), this,
SLOT ( OnSortChannelsByName() ), QKeySequence ( Qt::CTRL + Qt::Key_N ) );
+ pEditMenu->addAction ( tr ( "Sort Channel Users by &Instrument" ), this,
+ SLOT ( OnSortChannelsByInstrument() ), QKeySequence ( Qt::CTRL + Qt::Key_I ) );
+
// Main menu bar -----------------------------------------------------------
pMenu = new QMenuBar ( this );
diff --git a/src/clientdlg.h b/src/clientdlg.h
index 2489ed33..7b2e9dfa 100755
--- a/src/clientdlg.h
+++ b/src/clientdlg.h
@@ -152,7 +152,8 @@ public slots:
void OnOpenGeneralSettings() { ShowGeneralSettings(); }
void OnOpenChatDialog() { ShowChatWindow(); }
void OnOpenAnalyzerConsole() { ShowAnalyzerConsole(); }
- void OnSortChannelsByName() { MainMixerBoard->ChangeFaderOrder ( true ); }
+ void OnSortChannelsByName() { MainMixerBoard->ChangeFaderOrder ( true, ST_BY_NAME ); }
+ void OnSortChannelsByInstrument() { MainMixerBoard->ChangeFaderOrder ( true, ST_BY_INSTRUMENT ); }
void OnSettingsStateChanged ( int value );
void OnChatStateChanged ( int value );
diff --git a/src/clientsettingsdlg.cpp b/src/clientsettingsdlg.cpp
index 0f0ce05f..26315b8e 100755
--- a/src/clientsettingsdlg.cpp
+++ b/src/clientsettingsdlg.cpp
@@ -331,9 +331,9 @@ CClientSettingsDlg::CClientSettingsDlg ( CClient* pNCliP, QWidget* parent,
// GUI design (skin) combo box
cbxSkin->clear();
- cbxSkin->addItem ( tr ( "Normal" ) ); // GD_STANDARD
- cbxSkin->addItem ( tr ( "Fancy" ) ); // GD_ORIGINAL
- cbxSkin->addItem ( tr ( "Slim Channel" ) ); // GD_SLIMFADER
+ cbxSkin->addItem ( tr ( "Normal" ) ); // GD_STANDARD
+ cbxSkin->addItem ( tr ( "Fancy" ) ); // GD_ORIGINAL
+ cbxSkin->addItem ( tr ( "Compact" ) ); // GD_SLIMFADER
cbxSkin->setCurrentIndex ( static_cast ( pClient->GetGUIDesign() ) );
// custom central server address
diff --git a/src/protocol.cpp b/src/protocol.cpp
index 32b4de4f..3cc6dab6 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,43 @@ 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 ) );
+
+ if ( iRecorderState != RS_UNDEFINED ) // ... to be defined ...
+ {
+ 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/homepage/manual.md b/src/res/homepage/manual.md
index 34dfe39d..c88aa61c 100644
--- a/src/res/homepage/manual.md
+++ b/src/res/homepage/manual.md
@@ -93,7 +93,7 @@ in a direction where the label above the fader shows L -x, where x is the curren
In the audio mixer frame, a fader is shown for each connected client at the server (including yourself).
The faders allow you to adjust the level of what you hear without affecting what others hear.
-The VU meter shows the input level at the server - that is, the sound you are sending.
+The VU meter shows the input level at the server - that is, the sound being sent.
If you have set your Audio Channel to Stereo or Stereo Out in your Settings, you will also see a pan control.
@@ -103,6 +103,7 @@ Using the **Mute button** prevents the indicated channel being heard in your loc
The **Solo button** allows you to hear one or more musicians on their own. Those not soloed will be muted. Note also that those musicians who are not soloed will see a "muted" icon above your fader.
+Channels are listed left to right in the order that clients connect until they leave, at which point their "slot" is filled by the next new arrival. You can change the sort order using the Edit option in the application menu.
diff --git a/src/res/translation/translation_de_DE.qm b/src/res/translation/translation_de_DE.qm
index 8c0751c9..56d35893 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 090d653c..6dfdae60 100644
--- a/src/res/translation/translation_de_DE.ts
+++ b/src/res/translation/translation_de_DE.ts
@@ -28,17 +28,17 @@
verwendet die folgenden Bibliotheken, Ressourcen oder Codeschnipsel:
-
+ Qt plattformübergreifender Anwendungsrahmen
-
+ Halleffekt von Perry R. Cook und Gary P. Scavone
-
+ Einige Bilder sind von
@@ -47,82 +47,82 @@
Die Bilder der Länderflaggen sind von Mark James
-
+ Diese Software ermöglicht Musikern über das Internet in Echtzeit zu jammen.
-
+ Es gibt einen Server, der die Audiodaten von allen Musikern sammelt, zusammen mischt und wieder an alle verbundenen Musikern zurück schickt.
-
+ Diese Applikation verwendet die folgenden Bibliotheken, Ressourcen oder Codeschnipsel:
-
+ Die Bilder der Länderflaggen sind von Mark James
-
+ Die Details über die Codebeiträge findet man in der
-
+ Github Liste der Mitwirkenden
-
+ Spanisch
-
+ Französisch
-
+ Portugiesisch
-
+ Holländisch
-
+ Italienisch
-
+ Deutsch
-
+ Über
-
+
-
+
-
+ Unter der GNU General Public License (GPL)
@@ -190,17 +190,17 @@
CAudioMixerBoard
-
+
-
+ V E R B I N D U N G S A U F B A U
-
+ Eigener Mix am Server:
@@ -208,7 +208,7 @@
CChannelFader
-
+ Kanalpegel
@@ -217,12 +217,12 @@
Zeigt den Audiopegel vor dem Lautstärkeregler des Kanals. Allen verbundenen Musikern am Server wird ein Audiopegel zugewiesen.
-
+ Eingangspegel des aktuellen Musikers am Server
-
+ Kanalregler
@@ -231,17 +231,17 @@
Regelt die Lautstärke des Kanals. Für alle Musiker, die gerade am Server verbunden sind, wird ein Lautstärkeregler angezeigt. Damit kann man seinen eigenen lokalen Mix erstellen.
-
+ Lokale Mixerpegeleinstellung des aktuellen Kanals am Server
-
+ Statusanzeige
-
+ Zeigt den Status über den Musiker, der dem Kanal zugewiesen ist. Unterstützte Indikatoren sind:
@@ -250,12 +250,12 @@
Durchgestrichener Lautsprecher: Zeigt an, dass der andere Musiker dich stummgeschaltet hat.
-
+ Statusanzeige
-
+ Pan
@@ -264,17 +264,17 @@
Legt die Pan-Position von Links nach Rechts fest. Der Pan funktioniert nur im Stereo oder Mono-In/Stereo-Out Modus.
-
+ Lokale Pan-Position von dem aktuellen Audiokanal am Server
-
+ Mit dem Mute-Schalter kann man den Kanal stumm schalten.
-
+ Mute Schalter
@@ -283,12 +283,12 @@
Bei aktiviertem Solo Status hört man nur diesen Kanal. Alle anderen Kanäle sind stumm geschaltet. Es ist möglich mehrere Kanäle auf Solo zu stellen. Dann hört man nur die Kanäle, die auf Solo gestellt wurden.
-
+ Solo Schalter
-
+ Kanalbeschriftung
@@ -297,124 +297,135 @@
Mit der Kanalbeschriftung wird der verbundene Teilnehmen identifiziert. Der Name, ein Bild des Instruments und eine Flagge des eigenen Landes kann im eigenen Profil ausgewählt werden.
-
+ Zeigt den Audiopegel vor dem Lautstärkeregler des Kanals. Allen verbundenen Musikern am Server wird ein Audiopegel zugewiesen.
-
+ Regelt die Lautstärke des Kanals. Für alle Musiker, die gerade am Server verbunden sind, wird ein Lautstärkeregler angezeigt. Damit kann man seinen eigenen lokalen Mix erstellen.
-
+ Durchgestrichener Lautsprecher: Zeigt an, dass der andere Musiker dich stummgeschaltet hat.
-
+ Legt die Pan-Position von Links nach Rechts fest. Der Pan funktioniert nur im Stereo oder Mono-In/Stereo-Out Modus.
-
+ Bei aktiviertem Solo Status hört man nur diesen Kanal. Alle anderen Kanäle sind stumm geschaltet. Es ist möglich mehrere Kanäle auf Solo zu stellen. Dann hört man nur die Kanäle, die auf Solo gestellt wurden.
-
+ Mit der Kanalbeschriftung wird der verbundene Teilnehmen identifiziert. Der Name, ein Bild des Instruments und eine Flagge des eigenen Landes kann im eigenen Profil ausgewählt werden.
-
+ Mixerkanal Instrumentenbild
-
+ Mixerkanalbeschriftung
-
+ Mixerkanal Landesflagge
-
+
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+ Standort
-
-
-
+
+
+ Spielstärke
-
+ Anfänger
-
+ Mittlere Spielstärke
-
+ Experte
-
+ Profil des Musikers
-
-
+
+
+
-
-
+
+
@@ -704,7 +715,7 @@
-
+ &Verbinden
@@ -749,28 +760,27 @@
B&earbeiten
-
- &Sortiere Kanäle nach Namen
+ &Sortiere Kanäle nach Namen
-
+ Keine
-
+ Mitte
-
+
-
+
@@ -845,22 +855,32 @@
Die CPU des Computers ist voll ausgelastet.
-
+
+
+ Sortiere Kanäle nach &Namen
+
+
+
+
+ Sortiere Kanäle nach &Instrument
+
+
+ Zentralserver
-
+ Musiker
-
+ Musiker
-
+ &Trennen
@@ -1086,6 +1106,16 @@
Soundkarten Puffergröße
+
+
+
+ Schick
+
+
+
+
+ Kompakt
+ Die Soundkartenpuffergröße ist eine fundamentale Einstellung der
@@ -1166,19 +1196,16 @@
ASIO-Einstellungen Knopf
-
- Schicke Oberfläche
+ Schicke Oberfläche
-
- Falls aktiviert wird eine schicke Oberfläche im Hauptfenster verwendet.
+ Falls aktiviert wird eine schicke Oberfläche im Hauptfenster verwendet.
-
- Schicke Oberfläche Schalter
+ Schicke Oberfläche Schalter
@@ -1305,7 +1332,7 @@
-
+
@@ -1315,14 +1342,14 @@
Modus ist die Übertragungsrate etwas höher. Man muss sicher stellen, dass die Internetverbindung die höhere Rate übertragen kann.
-
+ Mono-In/Stereo-Out
-
+
@@ -1381,6 +1408,21 @@
Falls keiner der vorgegebenen Puffergrößen ausgeählt ist und alle Einstellungen deaktiviert sind, dann wird eine nicht unterstützte Puffergröße im Soundkartentreiber verwendet. Unter Windows kann man den ASIO-Einstellungen Knopf drücken, um die Treibereinstellungen zu öffnen. Unter Linux kann man ein Jack-Konfigurationswerkzeug verwenden, um die Puffergröße zu verändern.
+
+
+
+ Oberfläche
+
+
+
+
+ Wählt die Oberfläche aus, die für das Hauptfenster verwendet werden soll.
+
+
+
+
+ Oberfläche Combo-Box
+
@@ -1451,17 +1493,18 @@
Die Upload-Rate hängt von der Soundkartenpuffergröße und die Audiokomprimierung ab. Man muss sicher stellen, dass die Upload-Rate immer kleiner ist als die Rate, die die Internetverbindung zur Verfügung stellt (man kann die Upload-Rate des Internetproviders z.B. mit speedtest.net überprüfen).
-
+ Niedrig
-
+
+ Normal
-
+ Hoch
@@ -1470,22 +1513,22 @@
Manuell
-
+ Benutzerdefiniert
-
+ Alle Genres
-
+ Genre Rock
-
+ Genre Jazz
@@ -1494,12 +1537,12 @@
Genre Rock/Jazz
-
+ Genre Klassik/Volksmusik/Chor
-
+ Standard
@@ -1508,23 +1551,23 @@
Standard (Nordamerika)
-
+ bevorzugt
-
-
+
+ Größe:
-
+ Puffergröße
-
+ Puffergröße:
@@ -1533,17 +1576,17 @@
Vordefinierte Adresse
-
+ Das ausgewählte Audiogerät kann aus folgendem Grund nicht verwendet werden:
-
+ Der vorherige Treiber wird wieder ausgewählt.
-
+
@@ -1664,22 +1707,26 @@
Pegel für neuen Teilnehmer
-
+
+
+ Oberfläche
+
+
+
-
- Schicke Oberfläche
+ Schicke Oberfläche
-
+ Zeige Signalpegel
-
+ Benutzerdefinierte Zentralserveradresse:
@@ -1688,24 +1735,24 @@
Zentralserveradresse:
-
+ Netzwerkrate
-
-
-
+
+
+ Wert
-
+ Ping-Zeit
-
+ Gesamtverzögerung
@@ -1879,28 +1926,28 @@
CHelpMenu
-
+ &Hilfe
-
-
+
+ &Erste Schritte...
-
+ Software&handbuch...
-
+ Konte&xthilfe
-
+ Ü&ber...
@@ -1908,102 +1955,102 @@
CLicenceDlg
-
+ Ich &stimme den Lizenzbedingungen zu
-
+ Einwilligen
-
+ Ablehnen
-
+ Durch das Verbinden mit diesem Server und das Akzeptieren des Lizenztextes willigst du folgenden Bedingungen ein:
-
+ 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
-
+ Sie dürfen:
-
+ Teilen
-
+ das Material in jedwedem Format oder Medium vervielfältigen und weiterverbreiten
-
+ Bearbeiten
-
+ das Material remixen, verändern und darauf aufbauen
-
+ Der Lizenzgeber kann diese Freiheiten nicht widerrufen solange Sie sich an die Lizenzbedingungen halten.
-
+ Unter folgenden Bedingungen:
-
+ Namensnennung
-
+ 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.
-
+ Nicht kommerziell
-
+ Sie dürfen das Material nicht für kommerzielle Zwecke nutzen.
-
+ Weitergabe unter gleichen Bedingungen
-
+ 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.
-
+ Keine weiteren Einschränkungen
-
+ Sie dürfen keine zusätzlichen Klauseln oder technische Verfahren einsetzen, die anderen rechtlich irgendetwas untersagen, was die Lizenz erlaubt.
@@ -2015,85 +2062,85 @@
Server. Dieses Schild wird auch bei allen anderen Musikern, die mit dem gleichen Server verbunden sind, angezeigt. Wenn der Name leer gelassen wurde, dann wird die IP-Adresse stattdessen angezeigt.
-
+ Alias oder Name Eingabefeld
-
+ Instrumentenbild Knopf
-
+ Landesflagge Knopf
-
+ Stadt Eingabefeld
-
+ Fähigkeit Auswahlbox
-
-
-
+
+
+ Kein
-
-
+
+ Musikerprofil
-
+
-
+
-
+ Land
-
+ Stadt
-
+ Können
-
+ &Schließen
-
+ Anfänger
-
+ Mittlere Spielstärke
-
+ Experte
@@ -2106,7 +2153,7 @@
Was man hier sieht wird auch am Fader im Mixer angezeigt, wenn du mit einem
-
+ 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.
@@ -2115,217 +2162,217 @@
Was man hier sieht wird auch am Fader im Mixer angezeigt, wenn du mit einem Server verbunden bist. Dieses Schild wird auch bei allen anderen Musikern, die mit dem gleichen Server verbunden sind, angezeigt.
-
+ 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.
-
+ Schlagzeug
-
+ Djembe
-
+ E-Gitarre
-
+ Akustikgitarre
-
+ E-Bass
-
+ Keyboard
-
+ Synthesizer
-
+ Flügel
-
+ Akkordeon
-
+ Gesang
-
+ Mikrofon
-
+ Mundharmonika
-
+ Trompete
-
+ Posaune
-
+ Waldhorn
-
+ Tuba
-
+ Saxophon
-
+ Klarinette
-
+ Flöte
-
+ Violine
-
+ Cello
-
+ Kontrabass
-
+ Recorder
-
+
-
+ Zuhörer
-
+ Gitarre+Gesang
-
+ Keyboard+Gesang
-
+
-
+ Fagott
-
+ Oboe
-
+ Harfe
-
+ Viola
-
+ Congas
-
+ Bongos
-
+ Gesang Bass
-
+ Gesang Tenor
-
+ Gesang Alt
-
+ Gesang Sopran
-
+ Banjo
-
+ Mandoline
-
+
-
+
@@ -2638,42 +2685,42 @@
&Fenster
-
+ Nicht registriert
-
+ Ungültige Adresse
-
+ Registrierung angefordert
-
+ Registrierung fehlgeschlagen
-
+ Überprüfe Version des Servers
-
+ Registriert
-
+ Zentralserver voll
-
+ Unbekannter Wert
@@ -2687,7 +2734,7 @@
-
+ Name
@@ -2712,13 +2759,18 @@
Veröffentliche meinen Server in der Serverliste
-
-
+
+
+
+
+
+
+
-
+ Benutzerdefinierte Zentralserveradresse:
@@ -2727,37 +2779,37 @@
Zentralserveradresse
-
+ Meine Serverinformationen
-
+ Standort: Stadt
-
+ Standort: Land
-
+ Aktivere die Aufnahme
-
+ Neue Aufnahme
-
+ Verzeichnis für die Aufnahmen
-
+
diff --git a/src/res/translation/translation_es_ES.qm b/src/res/translation/translation_es_ES.qm
index 0a4a97b5..0d5c7ce9 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 20f8d3d4..e8e494ad 100644
--- a/src/res/translation/translation_es_ES.ts
+++ b/src/res/translation/translation_es_ES.ts
@@ -32,17 +32,17 @@
utiliza las siguientes librerías, recursos o fragmentos de código:
-
+ Qt cross-platform application framework
-
+ Código de reverberación de audio de Perry R. Cook y Gary P. Scavone
-
+ Algunos pixmaps son del
@@ -51,82 +51,82 @@
Iconos de banderas nacionales de Mark James
-
+ Esta aplicación permite a músicos realizar jam sessions en tiempo real por internet.
-
+ Hay un servidor que recoge el audio de cada cliente, los mezcla y la envía la mezcla de vuelta a cada cliente.
-
+ Esta aplicación utiliza las siguientes librerías, recursos o fragmentos de código:
-
+ Iconos de banderas nacionales de Mark James
-
+ Para más detalles sobre los contribuidores consulta la
-
+ lista de Contribuidores en Github
-
+ Español
-
+ Francés
-
+ Portugués
-
+ Neerlandés
-
+ Italiano
-
+ Alemán
-
+ Acerca de
-
+ , Versión
-
+ Internet Jam Session Software
-
+ Publicado bajo la GNU General Public License (GPL)
@@ -194,17 +194,17 @@
CAudioMixerBoard
-
+ Servidor
-
+ I N T E N T A N D O C O N E C T A R
-
+ Mezcla Personal en el Servidor:
@@ -212,7 +212,7 @@
CChannelFader
-
+ Nivel Canal
@@ -221,12 +221,12 @@
Muestra el nivel de audio pre-fader de este canal. Todos los clientes conectados al servidor tienen un nivel de audio asignado, el mismo para cada cliente.
-
+ Nivel de entrada del canal de audio actual en el servidor
-
+ Fader Mezclador
@@ -235,17 +235,17 @@
Ajusta el nivel de audio de este canal. Todos los clientes conectados al servidor tienen asignado un fader en el cliente, ajustando la mezcla local.
-
+ Ajuste local de la mezcla del canal de audio actual en el servidor
-
+ Indicador de Estado
-
+ Muestra una indicación del estado del cliente asignado a este canal. Los indicadores soportados son:
@@ -254,12 +254,12 @@
Altavoz tachado: Indica que el otro cliente te ha muteado.
-
+ Etiqueta indicador estado
-
+ Paneo
@@ -268,17 +268,17 @@
Fija el paneo de Izquierda a Derecha del canal. Solo funciona en estéreo o preferiblemente en modo Entrada mono/Salida estéreo.
-
+ Posición local del paneo del canal de audio actual en el servidor
-
+ Activando Mute, se puede mutear el canal de audio.
-
+ Botón Mute
@@ -287,12 +287,12 @@
Activando Solo, todos los demás canales de audio excepto este se mutean. Es posible activar esta función para más de un canal.
-
+ Botón Solo
-
+ Etiqueta Fader
@@ -301,124 +301,135 @@
La etiqueta del fader identifica al cliente conectado. El nombre de la etiqueta, la imagen de tu instrumento y la bandera de tu país se pueden establecer en la ventana principal.
-
+ Muestra el nivel de audio pre-fader de este canal. Todos los clientes conectados al servidor tienen un nivel de audio asignado, el mismo valor para cada cliente.
-
+ Ajusta el nivel de audio de este canal. Todos los clientes conectados al servidor tendrán asignado un fader, mostrado en cada cliente, para ajustar la mezcla local.
-
+ Altavoz tachado: Indica que otro cliente te ha muteado.
-
+ Fija el paneo de Izquierda a Derecha del canal. Solo funciona en modo estéreo o preferiblemente en modo Entrada mono/Salida estéreo.
-
+ Activando Solo, todos los demás canales de audio excepto este se mutean. Es posible activar esta función para más de un canal.
-
+ La etiqueta del fader identifica al cliente conectado. El nombre de la etiqueta, la imagen de tu instrumento y la bandera de tu país se pueden establecer en la ventana principal.
-
+ Imagen mezclador canal instrumento
-
+ Etiqueta mezclador canal (etiqueta fader)
-
+ Bandera país mezclador canal
-
+ PAN
-
+ MUTE
-
+ SOLO
-
+
+
+
+
+
+
+
+
+
+
+ Alias/Nombre
-
+ Instrumento
-
+ Ubicación
-
-
-
+
+
+ Nivel Habilidad
-
+ Principiante
-
+ Intermedio
-
+ Experto
-
+ Perfil Músico
-
-
+
+ Mute
+ Paneo
-
-
+
+ Solo
@@ -716,7 +727,7 @@
-
+ C&onectar
@@ -761,28 +772,23 @@
&Editar
-
-
- &Ordenar Canales por Nombre
-
-
-
+ Ninguno
-
+ Centro
-
+ R
-
+ L
@@ -857,22 +863,32 @@
El procesador del cliente o del servidor está al 100%.
-
+
+
+ Ordenar Canales por &Nombre
+
+
+
+
+ Ordenar Canales por &Instrumento
+
+
+ Servidor Central
-
+ usuario
-
+ usuarios
-
+ D&esconectar
@@ -1098,6 +1114,16 @@
Retardo Buffer Tarjeta Audio
+
+
+
+
+
+
+
+
+
+ Este parámetro es una parte fundamental de la configuración del software
@@ -1178,19 +1204,16 @@
Botón configuración ASIO
-
- Interfaz Oscura
+ Interfaz Oscura
-
- Si se activa, se aplicará un aspecto oscuro a la ventana principal.
+ Si se activa, se aplicará un aspecto oscuro a la ventana principal.
-
- Activar interfaz oscura
+ Activar interfaz oscura
@@ -1317,7 +1340,7 @@
-
+ Mono
@@ -1327,14 +1350,14 @@
aumentará la tasa de datos. Asegúrate de que tu tasa de subida no excede el valor de subida disponible con tu ancho de banda de Internet.
-
+ Entrada mono/Salida estéreo
-
+ Estéreo
@@ -1393,6 +1416,21 @@
Si la configuración de retardo de buffers se encuentra deshabilitada, es porque el driver de audio prohíbe la modificación de este parámetro desde dentro del software. En Windows, pulsa el botón de Configuración ASIO para abrir el panel de configuración del driver. En Linux, utiliza la herramienta de configuración de Jack para cambiar el tamaño del buffer.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1463,17 +1501,18 @@
La Tasa de Subida de Audio depende del tamaño actual de paquetes de audio y la configuración de compresión de audio. Asegúrate de que la tasa de subida no es mayor que la velocidad de subida disponible (comprueba la tasa de subida de tu conexión a internet, por ej. con speedtest.net).
-
+ Baja
-
+
+ Normal
-
+ Alta
@@ -1482,12 +1521,12 @@
Manual
-
+ Personalizado
-
+ Todos los Géneros
@@ -1496,22 +1535,22 @@
Género Rock/Jazz
-
+ Género Clásica/Folk/Coro
-
+ Género Rock
-
+ Género Jazz
-
+ Por defecto
@@ -1520,23 +1559,23 @@
Por defecto (Norteamérica)
-
+ aconsejado
-
-
+
+ Tamaño:
-
+ Retardo Buffer
-
+ Retardo Buffer:
@@ -1545,17 +1584,17 @@
Dirección Preestablecida
-
+ El dispositivo de audio seleccionado no puede utilizarse a causa del siguiente error:
-
+ Se utilizará el driver anterior.
-
+ Ok
@@ -1676,22 +1715,26 @@
Nivel Cliente Nuevo
-
+
+
+
+
+
+ %
-
- Intfaz Oscura
+ Intfaz Oscura
-
+ Mostrar Nivel Canales
-
+ Dirección Personalizada Servidor Central:
@@ -1700,24 +1743,24 @@
Dirección Servidor Central:
-
+ Tasa Muestreo Audio
-
-
-
+
+
+ val
-
+ Tiempo Ping
-
+ Retardo Total
@@ -1899,28 +1942,28 @@
CHelpMenu
-
+ &Ayuda
-
-
+
+ Cómo &Empezar...
-
+ Manual del &Software...
-
+ Qué es &Esto
-
+ &Acerca de...
@@ -1928,102 +1971,102 @@
CLicenceDlg
-
+ &Acepto los términos de la licencia arriba expuestos
-
+ Acepto
-
+ No Acepto
-
+ Al conectarte a este servidor y aceptar esta notificación, aceptas lo siguiente:
-
+ 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
-
+ Ud. es libre de:
-
+ Compartir
-
+ copiar y redistribuir el material en cualquier medio o formato
-
+ Adaptar
-
+ remezclar, transformar y construir a partir del material
-
+ El licenciante no puede revocar estas libertades en tanto Ud. siga los términos de la licencia.
-
+ Bajo los siguientes términos:
-
+ Atribución
-
+ 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.
-
+ No-Comercial
-
+ No puede utilizar el material con fines comerciales.
-
+ ShareAlike
-
+ Si remezcla, transforma o construye sobre el material, debe distribuir sus contribuciones bajo la misma licencia que el original.
-
+ Sin restricciones adicionales
-
+ No puede aplicar términos legales o medidas tecnológicas que restringan legalmente a otras personas de hacer cualquier cosa permitida por la licencia.
@@ -2035,85 +2078,85 @@
Esta etiqueta también se mostrará a cada cliente conectado al mismo servidor que tú. Se se deja vacío, se muestra la dirección IP en su lugar.
-
+ Campo para alias o nombre
-
+ Botón imagen instrumento
-
+ Botón bandera país
-
+ Ciudad
-
+ Nivel de habilidad
-
-
-
+
+
+ Ninguno
-
-
+
+ Perfil Músico
-
+ Alias/Nombre
-
+ Instrumento
-
+ País
-
+ Ciudad
-
+ Habilidad
-
+ &Cerrar
-
+ Principiante
-
+ Intermedio
-
+ Experto
@@ -2126,7 +2169,7 @@
Lo que introduzcas aquí aparecerá en tu fader del mezclador cuando te conectes a un servidor
-
+ 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.
@@ -2135,217 +2178,217 @@
Lo que introduzcas aquí aparecerá en tu fader del mezclador cuando te conectes a un servidor. Esta etiqueta también se mostrará en cada cliente conectado al mismo servidor que tú. Si se deja el nombre vacío, se muestra la dirección IP en su lugar.
-
+ 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ú.
-
+ Batería
-
+ Djembé
-
+ Guitarra Eléctrica
-
+ Guitarra Acústica
-
+ Bajo Eléctrico
-
+ Teclado
-
+ Sintetizador
-
+ Piano de Cola
-
+ Acordeón
-
+ Voz
-
+ Micrófono
-
+ Armónica
-
+ Trompeta
-
+ Trombón
-
+ Trompa
-
+ Tuba
-
+ Saxofón
-
+ Clarinete
-
+ Flauta
-
+ Violín
-
+ Violonchelo
-
+ Contrabajo
-
+ Grabadora
-
+ Streamer
-
+ Oyente
-
+ Guitarra+Voz
-
+ Teclado+Voz
-
+ Bodhran
-
+ Fagot
-
+ Oboe
-
+ Arpa
-
+ Viola
-
+ Congas
-
+ Bongo
-
+
- Voz bajo
+ Voz Bajo
-
+ Voz Tenor
-
+ Voz Alto
-
+ Voz Soprano
-
+ Banjo
-
+ Mandolina
-
+ Ukulele
-
+ Ukulele Barítono
@@ -2654,42 +2697,42 @@
&Ventana
-
+ Sin registrar
-
+ Dirección no válida
-
+ Registro solicitado
-
+ Error de registro
-
+ Comprueba la versión del servidor
-
+ Registrado
-
+ Servidor Central lleno
-
+ Valor desconocido
@@ -2703,7 +2746,7 @@
-
+ Nombre
@@ -2728,13 +2771,18 @@
Mi Servidor es Público (Registra Mi Servidor en la Lista de Servidores)
-
-
+
+
+
+
+
+
+ ESTADO
-
+ Dirección Personalizada Servidor Central:
@@ -2743,37 +2791,37 @@
Dirección Servidor Central:
-
+ Info Mi Servidor
-
+ Ubicación: Ciudad
-
+ Ubicación: País
-
+ Habilitar grabación Jam
-
+ Nueva grabación
-
+ Carpeta grabaciones
-
+ TextLabelNameVersion
diff --git a/src/res/translation/translation_fr_FR.qm b/src/res/translation/translation_fr_FR.qm
index 96748789..922678b1 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 bd8aea67..916a7929 100644
--- a/src/res/translation/translation_fr_FR.ts
+++ b/src/res/translation/translation_fr_FR.ts
@@ -32,17 +32,17 @@
utilise les bibliothèques, ressources ou extraits de code suivants :
-
+ Cadriciel d'application multiplateforme Qt
-
+ Code de réverbération audio par Perry R. Cook et Gary P. Scavone
-
+ Certaines images sont issues de
@@ -51,82 +51,82 @@
Icônes de drapeaux de pays par Mark James
-
+ Cette app permet aux musiciens de faire des bœufs en temps réel sur internet.
-
+ Il y a un serveur qui collecte les données audio de chaque client, les mixe, et renvoie le mixage à chaque client.
-
+ Cette app utilise les bibliothèques, ressources ou extraits de code suivants :
-
+ Icônes de drapeaux de pays par Mark James
-
+ Pour plus de détails sur les contributions, consultez la
-
+ liste de contributeurs sur github
-
+ Espagnol
-
+ Français
-
+ Portugais
-
+ Néerlandais
-
+ Italien
-
+ Allemand
-
+ À propos
-
+ , version
-
+ Logiciels de bœuf sur Internet
-
+ Publié sous la licence publique générale GNU (GPL)
@@ -202,17 +202,17 @@
CAudioMixerBoard
-
+ Serveur
-
+ T E N T A T I V E D E C O N N E X I O N
-
+ Mixage personnel du serveur :
@@ -220,7 +220,7 @@
CChannelFader
-
+ Niveau de canal
@@ -229,12 +229,12 @@
Affiche le niveau audio pré-fader de ce canal. Tous les clients connectés au serveur se verront attribuer un niveau audio, la même valeur pour chaque client.
-
+ Niveau d'entrée du canal audio actuel sur le serveur
-
+ Charriot du mixeur
@@ -243,17 +243,17 @@
Règle le niveau audio de ce canal. Tous les clients connectés au serveur se verront attribuer un chariot audio à chaque client, ce qui permettra d'ajuster le mixage local.
-
+ Réglage du niveau de mixage local du canal audio actuel sur le serveur
-
+ Indicateur d'état
-
+ Affiche une indication sur l'état du client qui est affecté à ce canal. Les indicateurs pris en charge sont :
@@ -262,12 +262,12 @@
Haut-parleur avec barre d'annulation : indique que l'autre client vous a mis en sourdine.
-
+ Étiquette d'indicateur d'état
-
+ Panoramique
@@ -276,17 +276,17 @@
Règle la position panoramique du canal de gauche à droite. Fonctionne uniquement en mode stéréo ou de préférence en mode entrée mono/sortie stéréo.
-
+ Position panoramique locale du canal audio actuel sur le serveur
-
+ En cochant la case Muet, le canal audio peut être mis en sourdine.
-
+ Bouton de sourdine
@@ -295,12 +295,12 @@
En cochant la case Solo, le canal audio peut être réglé sur solo, ce qui signifie que tous les autres canaux, à l'exception du canal actuel, sont mis en sourdine. Il est possible de mettre plus d'un canal en solo.
-
+ Bouton de solo
-
+ Étiquette de chariot
@@ -309,124 +309,135 @@
L'étiquette de chariot identifie le client connecté. Le nom du tag, la photo de votre instrument et un drapeau de votre pays peuvent être définis dans la fenêtre principale.
-
+ Affiche le niveau audio pré-fader de ce canal. Tous les clients connectés au serveur se verront attribuer un niveau audio, la même valeur pour chaque client.
-
+ Ajuste le niveau audio de ce canal. Tous les clients connectés au serveur se verront attribuer un chariot audio, affiché sur chaque client, pour ajuster le mixage local.
-
+ Haut-parleur avec barré d'annulation : indique qu'un autre client vous a mis en sourdine.
-
+ Règle le panoramique de gauche à droite du canal. Fonctionne uniquement en mode stéréo ou de préférence en mode entrée mono/sortie stéréo.
-
+ Avec la case-à-cocher Solo, le canal audio peut être réglé sur solo, ce qui signifie que tous les autres canaux, sauf le canal en solo, sont coupés. Il est possible de mettre plus d'un canal en solo.
-
+ L'étiquette de chariot identifie le client connecté. Le nom de l'étiquette, une photo de votre instrument et le drapeau de votre pays peuvent être définis dans la fenêtre principale.
-
+ Image d'instrument de canal de mixeur
-
+ Label de canal de mixeur (étiquette de chariot)
-
+ Drapeau de pays de canal de mixeur
-
+ PAN
-
+ MUET
-
+ SOLO
-
+
+
+
+
+
+
+
+
+
+
+ Pseudo/nom
-
+ Instrument
-
+ Localisation
-
-
-
+
+
+ Niveau de compétence
-
+ Débutant
-
+ Intermédiaire
-
+ Expert
-
+ Profil de musicien
-
-
+
+ Muet
+ Pan
-
-
+
+ Solo
@@ -712,7 +723,7 @@
-
+ Se c&onnecter
@@ -757,28 +768,27 @@
Édit&er
-
- &Trier les utilisateurs du canal par nom
+ &Trier les utilisateurs du canal par nom
-
+ Aucun
-
+ Centre
-
+ D
-
+ G
@@ -853,22 +863,32 @@
Le processeur du client ou du serveur est à 100%.
-
+
+
+
+
+
+
+
+
+
+
+ Serveur central
-
+ utilisateur
-
+ utilisateurs
-
+ Dé&connecter
@@ -1182,19 +1202,16 @@
Bouton-poussoir de paramétrage ASIO
-
- Habillage fantaisie
+ Habillage fantaisie
-
- Si activée, un habillage fantaisie sera appliqué à la fenêtre principale.
+ Si activée, un habillage fantaisie sera appliqué à la fenêtre principale.
-
- Case-à-cocher pour l'habillage fantaisie
+ Case-à-cocher pour l'habillage fantaisie
@@ -1321,7 +1338,7 @@
-
+ Mono
@@ -1331,14 +1348,14 @@
mode augmentera le débit de données de votre flux. Assurez-vous que votre débit montant ne dépasse pas la vitesse de téléchargement disponible de votre connexion internet.
-
+ Mono-entrée/stéréo-sortie
-
+ Stéréo
@@ -1397,6 +1414,21 @@
Si les paramètres de délai de la mémoire tampon sont désactivés, il est interdit par le pilote audio de modifier ce paramètre depuis le logiciel. Sous Windows, appuyez sur le bouton Paramètres ASIO pour ouvrir le panneau des paramètres du pilote. Sous Linux, utilisez l'outil de configuration Jack pour modifier la taille de la mémoire tampon.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1463,31 +1495,42 @@
Le débit montant audio dépend de la taille actuelle des paquets audio et du réglage de la compression. Assurez-vous que le débit montant n'est pas supérieur à votre vitesse de téléchargement Internet disponible (vérifiez cela avec un service tel que speedtest.net).
-
+ Basse
-
+
+ Normale
-
+ Haute
+
+
+
+
+
+
+
+
+
+ Manuel
-
+ Personnalisé
-
+ Tous les genres
@@ -1496,22 +1539,22 @@
Genre rock/jazz
-
+ Genre classique/folk/choeur
-
+ Genre Rock
-
+ Genre Jazz
-
+ Défaut
@@ -1520,23 +1563,23 @@
Défaut (Amérique du Nord)
-
+ préféré
-
-
+
+ Taille :
-
+ Délai de temporisation
-
+ Délai de temporisation :
@@ -1545,17 +1588,17 @@
Adresse prédéfinie
-
+ Le périphérique audio sélectionné n'a pas pu être utilisé en raison de l'erreur suivante :
-
+ Le pilote précédent sera sélectionné.
-
+ Ok
@@ -1676,22 +1719,26 @@
Niveau de nouveau client
-
+
+
+
+
+
+ %
-
- Habillage fantaisie
+ Habillage fantaisie
-
+ Afficher les niveaux des canaux
-
+ Adresse personnalisée du serveur central :
@@ -1700,24 +1747,24 @@
Adresse du serveur central :
-
+ Débit du flux audio
-
-
-
+
+
+ val
-
+ Temps de réponse
-
+ Délai global
@@ -1891,28 +1938,28 @@
CHelpMenu
-
+ &Aide
-
-
+
+ Premier pa&s...
-
+ &Manuel du logiciel...
-
+ Qu'est-ce que c'est ?
-
+ À &propos
@@ -1920,102 +1967,102 @@
CLicenceDlg
-
+ J'&accepte les conditions de licence ci-dessus
-
+ Accepter
-
+ Décliner
-
+ En vous connectant à ce serveur et en acceptant le présent avis, vous acceptez ce qui suit :
-
+ 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
-
+ Vous êtes libres de :
-
+ Partager
-
+ copier et redistribuer le matériel sur tout support ou format
-
+ Adapter
-
+ remixer, transformer et développer à partir du matériel
-
+ Le donneur de licence ne peut pas révoquer ces libertés tant que vous respectez les conditions de la licence.
-
+ Dans les conditions suivantes :
-
+ Attribution
-
+ 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.
-
+ Non commercial
-
+ Vous ne pouvez pas utiliser le matériel à des fins commerciales.
-
+ Partager à l'identique
-
+ Si vous remixez, transformez ou développez à partir du matériel, vous devez distribuer vos contributions sous la même licence que l'original.
-
+ Aucune restriction supplémentaire
-
+ 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.
@@ -2027,85 +2074,85 @@
. Cette balise apparaîtra également sur chaque client connecté au même serveur que vous. Si le nom est laissé vide, l'adresse IP est affichée à la place.
-
+ Dialogue d'édition de pseudo ou de nom
-
+ Bouton d'image d'instrument
-
+ Bouton de drapeau de pays
-
+ Dialogue d'édition de ville
-
+ Choix déroulant de niveau de compétence
-
-
-
+
+
+ Aucune
-
-
+
+ Profil de musicien
-
+ Pseudo/nom
-
+ Instrument
-
+ Pays
-
+ Ville
-
+ Compétence
-
+ &Fermer
-
+ Débutant
-
+ Intermédiaire
-
+ Expert
@@ -2118,222 +2165,222 @@
Ce que vous réglez ici apparaîtra au niveau de votre fader sur la table de mixage lorsque vous serez connecté à un serveur
-
+ É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.
-
+ 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.
-
+ Batterie
-
+ Djembé
-
+ Guitare électrique
-
+ Guitare accoustique
-
+ Guitare basse
-
+ Clavier
-
+ Synthétiseur
-
+ Piano à queue
-
+ Accordéon
-
+ Voix
-
+ Microphone
-
+ Harmonica
-
+ Trompette
-
+ Trombone
-
+ Cor d'harmonie
-
+ Tuba
-
+ Saxophone
-
+ Clarinette
-
+ Flute
-
+ Violon
-
+ Violoncelle
-
+ Contrebasse
-
+ Enregistreur
-
+ Diffuseur
-
+ Auditeur
-
+ Guitare+voix
-
+ Clavier+voix
-
+ Bodhran
-
+ Basson
-
+ Hautbois
-
+ Harpe
-
+ Alto
-
+ Congas
-
+ Bongo
-
+ Voix basse
-
+ Voix ténor
-
+ Voix alto
-
+ Voix soprano
-
+ Banjo
-
+ Mandoline
-
+ Ukulélé
-
+ Ukulélé basse
@@ -2425,7 +2472,7 @@
- Si la case "Démarrage minimisé au démarrage du système d'exploitation" est cochée, le serveur sera démarré au démarrage du système d'exploitation et sera automatiquement réduit à une icône de la barre des tâches du système.
+ Si la case "Démarrage minimisé au démarrage du système d'exploitation" est cochée, le serveur sera démarré au démarrage du système d'exploitation et sera automatiquement réduit à une icône de la barre des tâches du système.
@@ -2642,42 +2689,42 @@
&Fenêtre
-
+ Non inscrit
-
+ Mauvaise adresse
-
+ Inscription demandée
-
+ Échec de l'inscription
-
+ Vérifier la version du serveur
-
+ Inscrit
-
+ Serveur central rempli
-
+ Valeur inconnue
@@ -2691,7 +2738,7 @@
-
+ Nom
@@ -2716,13 +2763,18 @@
Rendre mon serveur public (inscrire mon serveur dans la liste des serveurs)
-
-
+
+
+
+
+
+
+ ÉTAT
-
+ Adresse personnalisée du serveur central :
@@ -2731,37 +2783,37 @@
Adresse du serveur central :
-
+ Informations de mon serveur
-
+ Emplacement : ville
-
+ Emplacement : pays
-
+ Activer l'enregistreur de bœuf
-
+ Nouvel enregistrement
-
+ Dossier des enregistrements
-
+
diff --git a/src/res/translation/translation_it_IT.qm b/src/res/translation/translation_it_IT.qm
index 4c02deca..fad3e633 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 cbbdadb0..1fcc8ed6 100644
--- a/src/res/translation/translation_it_IT.ts
+++ b/src/res/translation/translation_it_IT.ts
@@ -28,17 +28,17 @@
usa le seguenti librerie, risorse o parti di codice:
-
+
-
+ Audio reverberation sviluppato da Perry R. Cook and Gary P. Scavone
-
+ Alcune pixmaps provengono da
@@ -47,84 +47,84 @@
Icone delle bandiere a cura di Mark James
-
+
-
+ Dà la possibilità ai musicisti di realizzare sessioni live attraverso internet.
-
+
-
+ Il server acquisisce i dati audio di ogni client, mixa i dati audio e li rimanda ad ogni client connesso.
-
+
-
+ Questa applicazione usa le seguenti librerie, risorse e parti di codice:
-
+
-
+ Le icone delle bandiere sono state realizzate da Marl James
-
+ Per maggiori informazioni su chi ha contribuito, visitare
-
+ Lista dei collaboratori su Github
-
+ Spagnolo
-
+ Francese
-
+ Portoghese
-
+ Olandese
-
+ Italiano
-
+ Tedesco
-
+ Informazioni su
-
+ , Versione
-
+
-
+
-
+ Rilasciato sotto licensa GNU General Public License (GPL)
@@ -190,17 +190,17 @@
CAudioMixerBoard
-
+ Server
-
+ I N A T T E S A D I C O N N E S S I O N E
-
+ Mixer personale sul Server:
@@ -210,25 +210,26 @@
+ Bilanciamento
-
-
+
+ Mute
-
-
+
+ Solo
-
+ Volume
@@ -237,12 +238,12 @@
Visualizza il livello audio pre-fader di questo canale. A tutti i client connessi al server verrà assegnato un livello audio, lo stesso valore per ciascun client.
-
+ Livello di input del canale audio corrente sul server
-
+ Mixer Fader
@@ -251,17 +252,17 @@
Regola il livello audio di questo canale. A tutti i client connessi al server verrà assegnato un fader audio su ciascun client, regolando il mix locale.
-
+ Impostazione del livello di volume locale del canale audio corrente sul server
-
+ Indicatore di Stato
-
+ Visualizza lo stato del client assegnato a questo canale. Gli Stati supportati sono:
@@ -270,12 +271,12 @@
Altoparlante segnato: Indica che un altro client ha messo in mute il tuo canale.
-
+ Etichetta dell'indicatore di stato
-
+ Bilanciamento
@@ -284,17 +285,17 @@
Imposta il Bilanciamento da Sinistra a Destra del canale. Funzione abilitata in modalità stereo oppure in modalità mono in/stereo out.
-
+ Bilancimento locale del canale audio corrente sul server
-
+ Quando il Mute è selezionato, il canale audio è mutato.
-
+ Pulsante Mute
@@ -303,12 +304,12 @@
Quando il Solo è attivo, il canale audio sarà in modalità solista escludendo gli altri canali che non saranno più udibili. E' possibile attivare il solo su più canali per sentirli contemporaneamente.
-
+ Pulsante Solo
-
+ Tag Fader
@@ -317,104 +318,114 @@
Il tag fader identifica il client connesso. Il nome del tag, l'immagine del tuo strumento e una bandiera del tuo paese possono essere impostati nella finestra principale del profilo.
-
+
-
+ 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.
-
+
-
+ Regola il livello audio di questo canale. A tutti i client connessi sarà assegnatu un fader per regolare il mix audio locale.
+
+
+
+
+ Altoparlate con il segnale rosso: indica che un altro client ha messo il tuo canale in mute.
-
-
-
-
-
-
+ Regola il bilanciamento Sinistro - Destro del canale. Funziona solo se abilitata la funzione stereo oppure "mono-in/stereo-out".
-
+
-
+ 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".
+
+
+
+
+ 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.
-
-
-
-
- Immagine dello strumento
-
+ Etichetta del Canale (fader tag)
-
+ Bandiera del Paese
-
+ Bil. (L / R)
-
+ MUTE
-
+ SOLO
-
+
+
+ M
+
+
+
+
+ S
+
+
+ Identificativo/Nome
-
+ Strumento
-
+ Località
-
-
-
+
+
+ Livello di Preparazione
-
+ Principiante
-
+ Livello Intermedio
-
+ Esperto
-
+ Profilo del Musicista
@@ -549,7 +560,7 @@
-
+ L
@@ -643,122 +654,122 @@
-
+ Visualizza il livello di input dei due canali stereo.
-
+ 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.
-
+ 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!).
-
+ Cliccando su questo pulsante il stato passa da Connesso a Disconnesso, implementa infatti la funzionalità di connessione-disconnessione del programma.
-
+ 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
-
+ Effetto Reverbero
-
+ 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.
-
+ Livello dell'effetto di Reverbero
-
+ Selezione Canale Reverbero
-
+ 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.
-
+ Canale Sinistro per il Reverbero
-
+ Canale Destro per il Reverbero
-
+ Verde
-
+ Il delay è perfetto per una live session.
-
+ Giallo
-
+ Rosso
-
+ Apre una finestra di dialogo in cui è possibile selezionare un server a cui connettersi. Se si è connessi, premere questo pulsante per terminare la sessione.
-
+ Visualizza lo stato corrente del delay:
-
+ Una sessione è ancora possibile ma potrebbe essere più difficile suonare.
-
+ Il delay è eccessivo per una live session.
-
+ Se il LED diventa rosso non si avrà una buona esperinza di utilizzo dell'applicazione.
-
+ 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:
-
+ Il ritardo della scheda audio(ovvero il buffer size) è troppo basso (vedere i Settaggi della Scheda).
-
+ La banda passante per lo stream (upload e download) è troppo rispetto alla qualità della connessione internet.
@@ -772,7 +783,7 @@
-
+ C&onnetti
@@ -814,45 +825,54 @@
-
+ &Modifica
-
+
-
+
+
+
+
+
+
+ &Canali in ordine Alfabetico
+
+
+ Nullo
-
+ Centro
-
+ R
-
+ Server Centrale
-
+ utente
-
+ utenti
-
+ D&isconnetti
@@ -1158,19 +1178,16 @@
Pulsante del pannello di setup ASIO
-
- Tema Fantaia
+ Tema Fantaia
-
- Se selezionato questo tema verrà applicato alla finestra principale.
+ Se selezionato questo tema verrà applicato alla finestra principale.
-
- Check Box Tema Fantasia
+ Check Box Tema Fantasia
@@ -1297,180 +1314,206 @@
-
+ Mono
-
+ 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.
-
+ Mono-in/Stereo-out
-
+ Stereo
-
+ 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).
-
+ È 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.
-
+ 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.
-
+ 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.
-
+ Il Buffer Delay è un settaggio fondamentale per questo programma. Questo settaggio influenza molte propriètà di connessione.
-
+ 64 Campiono: Settaggio preferito. Permette di ottenere latenze bassissime ma non tutto le schede audio supportano questo valore.
-
+ 128 Campioni: Valore accettato dalla maggior parde delle schede audio.
-
+ 256 Campioni: Usato su computer vecchi o su connessioni lente.
-
+ 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.
-
+ 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.
-
+ 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.
+
+
+
+
+ Vista
+
+
+
+
+ Selezione la vista da applicare alla finestra principale.
+
+
+
+
+ Box di selezione Vista
-
+ Seleziona il numero di canali audio da utilizzare per la comunicazione tra client e server. Sono disponibili tre modalità:
-
+ e
-
+ Questa modalità usa rispettivamente uno o due canali audio.
-
+ Mono in/Stereo-out
-
+ 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.
-
+ Abilitando
-
+ 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.
-
+ 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.
-
+ 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.
-
+ Lasciare vuoto questo campo a meno che non sia necessario immettere l'indirizzo di un server centrale diverso da quello predefinito.
-
+ 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.
-
+ Il ritardo complessivo viene calcolato dal tempo di ping corrente e dal ritardo introdotto dalle impostazioni del buffer correnti.
-
+ 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).
-
+ Low
-
+
+ Normal
-
+ High
-
+
+
+ Fantasia
+
+
+
+
+ Compatto
+
+
+ consigliato
-
-
+
+ Livello:
-
+ Buffer Delay
-
+ Buffer Delay:
@@ -1479,47 +1522,47 @@
Indirizzo Preferito
-
+ La scheda audio selezionata non può essere usata per i seguenti motivi:
-
+ Sarà ripristinato il driver precedentemente usato.
-
+ Ok
-
+ Personalizzato
-
+ Tutti i Generi
-
+ Genere Rock
-
+ Genere Jazz
-
+ Genere Classica/Folk/Corale
-
+ Default
@@ -1640,22 +1683,26 @@
Livello Nuovo Client
-
+
+
+ Vista
+
+
+ %
-
- Tema Fantasia
+ Tema Fantasia
-
+ Visualizza Livelli Canali
-
+ Indirizzo Server Centrale alternativo:
@@ -1664,24 +1711,24 @@
Indirizzo Server Centrale:
-
+ Velocità dello Streaming
-
-
-
+
+
+ val
-
+ Ping
-
+ Overall Delay
@@ -1726,17 +1773,17 @@
-
+ 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.
-
+ 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:
-
+ . Il campo mostrerà anche un elenco degli indirizzi server utilizzati più di recente.
@@ -1855,28 +1902,28 @@
CHelpMenu
-
+ &Aiuto
-
-
+
+ &Introduzione...
-
+ &Manuale Software...
-
+ &Cos'è Questo
-
+ I&nformazioni su...
@@ -1884,102 +1931,102 @@
CLicenceDlg
-
+ &Accetto i termini di licenza
-
+ Accetto
-
+ Declino
-
+ Collegandosi a questo server e accettando questo avviso, si accetta quanto segue:
-
+ 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
-
+ Sei libero di:
-
+ Condividere
-
+ copiare e ridistribuire il materiale in qualsiasi supporto o formato
-
+ Adattare
-
+ remixare, trasformare e modificare il materiale
-
+ Il licenziante non può revocare queste libertà fintanto che segui i termini della licenza.
-
+ Sotto i seguenti requisiti:
-
+ Attribuzione
-
+ È 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.
-
+ Non Commerciale
-
+ Non è possibile utilizzare il materiale a fini commerciali.
-
+ Condividere allo stesso modo
-
+ Se remixate, trasformate o sviluppate il materiale, dovete distribuire i vostri contributi con la stessa licenza dell'originale.
-
+ Nessuna restrizione aggiuntiva
-
+ Non è possibile applicare termini legali o misure tecnologiche che impediscono legalmente ad altre persone di fare qualsiasi cosa consentita dalla licenza.
@@ -1987,60 +2034,60 @@
CMusProfDlg
-
-
+
+ Profilo del Musicista
-
+ Nome/Alias
-
+ Strumento
-
+ Paese
-
+ Città
-
+ Livello
-
+ &Chiudi
-
-
-
+
+
+ None
-
+ Principiante
-
+ Intermedio
-
+ Esperto
@@ -2057,254 +2104,254 @@
questo tag verrà mostrato anche a ciascun client connesso allo stesso server. Se viene lasciato vuoto, verrà visualizzato l'indirizzo IP.
-
+
-
+ 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.
-
+
-
+ 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.
-
+ Box di modifica Nome o Alias
-
+ Immagine dello strumento
-
+ Pulsante bandiera del paese
-
+ Box di modifica Città
-
+ Livello di Abilità
-
+ Batteria
-
+ Djembe
-
+ Chitarra elettrica
-
+ Chitarra Acustica
-
+ Basso Elettrico
-
+ Tastiera
-
+ Sintetizzatore
-
+ Grand Piano
-
+ Fisarmonica
-
+ Voce
-
+ Microfono
-
+ Armonica
-
+ Tromba
-
+ Trombone
-
+ Corno Francese
-
+ Tuba
-
+ Sassofono
-
+ Clarinet
-
+ Flauto
-
+ Violino
-
+ Cello
-
+ Contrabbasso
-
+ Recorder
-
+ Streamer
-
+ Ascoltatore
-
+ Chitarra+Voce
-
+ Tastiera+Voce
-
+ Bodhran
-
+ Fagotto
-
+ Oboe
-
+ Arpa
-
+ Viola
-
+ Congas
-
+ Bongo
-
+ Voce Basso
-
+ Voce Tenore
-
+ Voce Alto
-
+ Voce Soprano
-
+ Banjo
-
+ Mandolino
-
+
-
+ Uculele
-
+
-
+ Uculele Basso
-
+ Senza Nome
@@ -2384,12 +2431,12 @@
-
+ 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.
-
+ 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.
@@ -2438,7 +2485,7 @@
-
+ Il nome del server identifica il tuo server nell'elenco dei server nella finestra di dialogo di connessione sui client.
@@ -2478,62 +2525,62 @@
-
+ Spunta per abilitare o disabilitare la registrazione sul server
-
+ Abilita Registrazione
-
+ Se selezionato la registrazione è abilitata. La registrazione verrà eseguito quando è in corso una sessione, se (impostato correttamente e abilitato).
-
+ Casella di testo per la Cartella della sessione Corrente (Sola Lettura)
-
+ Cartella della sessione Corrente
-
+ Abilitato durante la registrazione e imposta la directory della sessione di registrazione. Disabilitato dopo la registrazione o quando il registratore non è abilitato.
-
+ Etichetta dello stato di Registrazione
-
+ Stato di Registrazione
-
+ Visualizza lo stato del registratore.
-
+ Pulsante per una nuova registrazione
-
+ Nuova Registrazione
-
+ Durante una sessione di registrazione questo pulsante può essere usato per iniziare una nuova registrazione.
@@ -2581,55 +2628,55 @@
-
+ Registrazione
-
+ Registrazione Ferma
-
+ Non Abilitata
-
+ Non registrato
-
+ Indirizzo Errato
-
+ Registrazione richiesta
-
+ Registrazione fallita
-
+ Controlla Versione server
-
+ Registrato
-
+ Server Centrale Pieno
-
+ Valore sconosciuto
@@ -2643,7 +2690,7 @@
-
+ Nome
@@ -2668,13 +2715,18 @@
Rendi il server Pubblico (Regista il server nella lista dei server pubblici)
-
-
+
+
+
+
+
+
+ STATO
-
+ Indirizzo server centrale alternativo:
@@ -2683,37 +2735,37 @@
Indirizzo Server Centrale:
-
+ Informazioni sul Server
-
+ Ubicazione: Città
-
+ Ubicazione: Paese
-
+
-
-
-
-
-
-
+ Abilita Registrazione Jam
-
-
+
+ Nuova Registrazione
-
+
+
+ Cartella di Registrazione
+
+
+ TextLabelNameVersion
@@ -2779,12 +2831,12 @@
- 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.
- 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.qm b/src/res/translation/translation_nl_NL.qm
index 947037da..39f6496f 100644
Binary files a/src/res/translation/translation_nl_NL.qm and b/src/res/translation/translation_nl_NL.qm differ
diff --git a/src/res/translation/translation_nl_NL.ts b/src/res/translation/translation_nl_NL.ts
index 098b9d35..7b289a7f 100644
--- a/src/res/translation/translation_nl_NL.ts
+++ b/src/res/translation/translation_nl_NL.ts
@@ -28,17 +28,17 @@
gebruikt de volgende libraries, bronnen of code snippets:
-
+ Qt cross-platform applicatieframework
-
+ Audio reverberatiecode door Perry R. Cook en Gary P. Scavone
-
+ Sommige pixmaps zijn van de
@@ -47,82 +47,82 @@
Landvlag-iconen van Mark James
-
+
-
+
-
+
-
+
-
+ Voor details over de bijdragen, zie de
-
+ Github Bijdragerslijst
-
+ Spaans
-
+ Frans
-
+ Portugees
-
+ Nederlands
-
+
-
+ Duits
-
+ Over
-
+ , Versie
-
+ Internet Jamsessie Software
-
+
@@ -190,17 +190,17 @@
CAudioMixerBoard
-
+ Server
-
+ A A N H E T V E R B I N D E N
-
+
@@ -210,25 +210,26 @@
+ Pan
-
-
+
+ Demp
-
-
+
+ Solo
-
+ Kanaalniveau
@@ -237,12 +238,12 @@
Geeft het pre-fader-audioniveau van dit kanaal weer. Alle verbonden clients op de server krijgen een audioniveau toegewezen, dezelfde waarde voor elke client.
-
+ Invoerniveau van het huidige audiokanaal op de server
-
+ Mixer Fader
@@ -251,42 +252,42 @@
Past het geluidsniveau van dit kanaal aan. Alle verbonden clients op de server krijgen een audiofader toegewezen bij elke client, waarbij de lokale mix wordt aangepast.
-
+ Lokale instelling van het mixniveau van het huidige audiokanaal op de server
-
+
-
+
-
+
-
+
-
+
-
+ Met het selectievakje Demp kan het audiokanaal worden gedempt.
-
+ Dempknop
@@ -295,12 +296,12 @@
Met het selectievakje Solo kan het audiokanaal worden ingesteld op solo, zodat alle overige kanalen worden gedempt. Het is mogelijk om meer dan één kanaal op solo in te stellen.
-
+ Soloknop
-
+ Fader tag
@@ -309,104 +310,114 @@
De fadertag identificeert de verbonden client. De tagnaam, de afbeelding van uw instrument en een vlag van uw land kunnen in het hoofdvenster worden ingesteld.
-
+
-
+
-
+
-
+
-
+
-
+
-
+ Afbeelding van het mengkanaalinstrument
-
+ Label van het mengkanaal (faderlabel)
-
+ Landvlag van het kanaal
-
+
-
+ DEMP
-
+ SOLO
-
+
+
+
+
+
+
+
+
+
+
+ Alias/Naam
-
+ Instrument
-
+ Locatie
-
-
-
+
+
+ Vaardigheidssniveau
-
+ Beginner
-
+ Gemiddeld
-
+ Gevorderd
-
+ Muzikantenprofiel
@@ -541,7 +552,7 @@
-
+ L
@@ -764,7 +775,7 @@
-
+ C&onnect
@@ -810,41 +821,46 @@
-
+
-
+
+
+
+
+
+ Geen
-
+ Centrum
-
+ R
-
+
-
+ gebruiker
-
+ gebruikers
-
+ &Afmelden
@@ -1150,19 +1166,16 @@
ASIO-instellingsdrukknop
-
- Edele huid
+ Edele huid
-
- Indien ingeschakeld wordt er een fancy skin op het hoofdvenster aangebracht.
+ Indien ingeschakeld wordt er een fancy skin op het hoofdvenster aangebracht.
-
- Fancy skin check box
+ Fancy skin check box
@@ -1285,7 +1298,7 @@
-
+ Mono
@@ -1295,14 +1308,14 @@
-
+ Mono-in/Stereo-out
-
+ Stereo
@@ -1361,6 +1374,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1427,51 +1455,62 @@
-
+ Laag
-
+
+ Normaal
-
+ Hoog
+
+
+
+
+
+
+
+
+
+ Handmatig
-
+
-
+
-
+
-
+
-
+
-
+ Standaard
@@ -1480,38 +1519,38 @@
Standaard (Noord-Amerika)
-
+ gewenst
-
-
+
+ Size:
-
+ Buffervertraging
-
+ Buffervertraging:
-
+ Het geselecteerde audioapparaat kon niet worden gebruikt vanwege de volgende fout:
-
+ Het vorige stuurprogramma wordt geselecteerd.
-
+ Ok
@@ -1632,22 +1671,26 @@
Nieuw client-niveau
-
+
+
+
+
+
+ %
-
- Fancy Skin
+ Fancy Skin
-
+ Weergave Kanaalniveaus
-
+
@@ -1656,24 +1699,24 @@
Centraal Serveradres:
-
+ Audio Stream Rate
-
-
-
+
+
+ val
-
+ Ping-tijd
-
+ Algehele vertraging
@@ -1847,28 +1890,28 @@
CHelpMenu
-
+ &Hulp
-
-
+
+ Aan de slag...
-
+ Softwarehandleiding...
-
+ Wat Is Dit
-
+ &Over...
@@ -1876,102 +1919,102 @@
CLicenceDlg
-
+ Ik stem in met bovenstaande licentievoorwaarden
-
+ Accepteer
-
+ Niet akkoord
-
+ Door verbinding te maken met deze server en akkoord te gaan met deze mededeling, gaat u akkoord met het volgende:
-
+ 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
-
+ Je staat vrij om:
-
+ het materiaal
-
+ te delen, te kopiëren en te herdistribueren in elk medium of formaat
-
+ Aanpassen
-
+ remixen, transformeren en bouwen op het materiaal
-
+ De licentiegever kan deze vrijheden niet herroepen zolang u zich aan de licentievoorwaarden houdt.
-
+ Onder de volgende voorwaarden:
-
+ Naamsvermelding
-
+ 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.
-
+ Niet-commercieel
-
+ U mag het materiaal niet voor commerciële doeleinden gebruiken.
-
+ hareAlike
-
+ Als u het materiaal remixt, transformeert of uitbouwt, moet u uw bijdragen distribueren onder dezelfde licentie als het origineel.
-
+ Geen extra beperkingen
-
+ U mag geen wettelijke voorwaarden of technologische maatregelen toepassen die anderen wettelijk beperken om iets te doen wat de licentie toestaat.
@@ -1979,60 +2022,60 @@
CMusProfDlg
-
-
+
+ Muzikantenprofiel
-
+ Alias/Naam
-
+ Instrument
-
+ Land
-
+ Stad
-
+ Vaardigheid
-
+ &Sluiten
-
-
-
+
+
+ Geen
-
+ Beginner
-
+ Gemiddeld
-
+ Gevorderd
@@ -2049,247 +2092,247 @@
server. Deze tag zal ook verschijnen op elke client die verbonden is met dezelfde server als u. Als de naam leeg is, wordt in plaats daarvan het IP-adres getoond.
-
+
-
+
-
+ Alias of naam bewerkingsvak
-
+ Afbeelding van het instrument
-
+ Landvlag knop
-
+ Bewerkingsbox voor de stad
-
+ Combo-box voor vaardigheidsniveau
-
+ Drumstel
-
+ Djembe
-
+ Elektrische Gitaar
-
+ Akoestische Gitaar
-
+ Basgitaar
-
+ Toetsenbord
-
+ Synthesizer
-
+ Piano
-
+ Accordeon
-
+ Vocaal
-
+ Microfoon
-
+ Harmonica
-
+ Trompet
-
+ Trombone
-
+ Hoorn
-
+ Tuba
-
+ Saxofoon
-
+ Klarinet
-
+ Fluit
-
+ Viool
-
+ Cello
-
+ Contrabas
-
+ Opnemer
-
+ Streamer
-
+ Luisteraar
-
+ Gitaar+Vocaal
-
+ Toetsenbord+Vocaal
-
+ Bodhran
-
+ Fagot
-
+ Hobo
-
+ Harp
-
+ Viola
-
+ Congas
-
+ Bongo
-
+
-
+
-
+
-
+
-
+ Banjo
-
+ Mandoline
-
+
-
+
@@ -2598,42 +2641,42 @@
&Window
-
+ Niet geregistreerd
-
+ Slecht adres
-
+ Aanmelding gevraagd
-
+ Registratie is mislukt
-
+ Controleer de versie van de server
-
+ Geregistreerd
-
+ Centrale server vol
-
+ Onbekende waarde
@@ -2647,7 +2690,7 @@
-
+ Naam
@@ -2672,13 +2715,18 @@
Maak mijn server openbaar (Registreer mijn server in de lijst met servers)
-
-
+
+
+
+
+
+
+ STATUS
-
+
@@ -2687,37 +2735,37 @@
Adres Centrale Server:
-
+ Mijn serverinfo
-
+ Locatie: Stad
-
+ Locatie: Land
-
+
-
+
-
+
-
+ TextLabelNameVersion
diff --git a/src/res/translation/translation_pl_PL.ts b/src/res/translation/translation_pl_PL.ts
index 07150e67..d408dab7 100644
--- a/src/res/translation/translation_pl_PL.ts
+++ b/src/res/translation/translation_pl_PL.ts
@@ -4,97 +4,97 @@
CAboutDlg
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -158,17 +158,17 @@
CAudioMixerBoard
-
+
-
+
-
+
@@ -178,187 +178,198 @@
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
@@ -453,7 +464,7 @@
-
+
@@ -624,7 +635,7 @@
-
+
@@ -670,41 +681,46 @@
-
+
-
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -924,21 +940,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -1046,19 +1047,19 @@
-
+
-
+
-
+
@@ -1117,6 +1118,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1183,83 +1199,94 @@
-
+
-
+
+
-
+
-
-
+
+
-
-
-
-
-
-
-
+
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
@@ -1380,44 +1407,44 @@
-
+
+
+
+
+
+
-
-
-
-
-
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
@@ -1571,28 +1598,28 @@
CHelpMenu
-
+ &Pomoc
-
-
+
+
-
+
-
+
-
+
@@ -1600,102 +1627,102 @@
CLicenceDlg
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -1703,305 +1730,305 @@
CMusProfDlg
-
-
+
+
-
+
-
+
-
+ Kraj
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -2262,42 +2289,42 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -2311,7 +2338,7 @@
-
+
@@ -2336,48 +2363,53 @@
-
-
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
diff --git a/src/res/translation/translation_pt_PT.qm b/src/res/translation/translation_pt_PT.qm
index 11bc528e..da5729ef 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 efc7df3b..fda43a8f 100644
--- a/src/res/translation/translation_pt_PT.ts
+++ b/src/res/translation/translation_pt_PT.ts
@@ -32,17 +32,17 @@
utiliza as seguintes bibliotecas, recursos ou partes de código:
-
+ Estrutura de aplicações multiplataforma Qt
-
+ Código de reverberação de áudio por Perry R. Cook e Gary P. Scavone
-
+ Alguns pixmaps são do
@@ -51,82 +51,82 @@
Ícones de bandeira do país de Mark James
-
+ Esta aplicação permite aos músicos realizar jam sessions em tempo real pela Internet.
-
+ 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.
-
+ Esta aplicação utiliza as seguintes bibliotecas, recursos ou partes de código:
-
+ Ícones das bandeiras dos países por Mark James
-
+ Para detalhes sobre as contribuições, consulte a
-
+ lista de colaboradores do Github
-
+ Espanhol
-
+ Francês
-
+ Português
-
+ Holandês
-
+ Italiano
-
+ Alemão
-
+ Sobre o
-
+ , Versão
-
+ Programa de Jam Sessions pela Internet
-
+ Lançado sob a Licença Pública Geral GNU (GPL)
@@ -202,17 +202,17 @@
CAudioMixerBoard
-
+ Servidor
-
+ T E N T A N D O L I G A R
-
+ Mistura Pessoal no Servidor:
@@ -220,7 +220,7 @@
CChannelFader
-
+ Nível do Canal
@@ -229,12 +229,12 @@
Mostra o nível de áudio pré-fader deste canal. Todos os clientes ligados ao servidor terão atribuído um nível de áudio, o mesmo valor para cada cliente.
-
+ Nível de entrada deste canal de áudio do servidor
-
+ Fader da Mistura
@@ -243,17 +243,17 @@
Ajusta o nível de áudio deste canal. Por cada cliente ligado ao servidor será atribuído um fader de áudio em todos os clientes, podendo cada um ajustar a sua mistura local.
-
+ Configuração do nível de mistura local deste canal de áudio do servidor
-
+ Indicador de Estado
-
+ Mostra uma indicação de estado sobre o cliente que está atribuído a este canal. Os indicadores suportados são:
@@ -262,12 +262,12 @@
Alti-falante com sinal de proibição: Indica que o cliente silenciou o teu canal.
-
+ Etiqueta do indicador de estado
-
+ Panorâmica
@@ -276,17 +276,17 @@
Define a posição de panorâmica da esquerda para a direita do canal. Funciona apenas no modo estéreo ou, de preferência, no modo Entrada Mono/Saída Estéreo.
-
+ Posição de panorâmica local do canal de áudio actual no servidor
-
+ Com a caixa de seleção Mute, o canal de áudio pode ser silenciado.
-
+ Botão Mute
@@ -295,12 +295,12 @@
Com a caixa de seleção Solo, o canal de áudio pode ser definido como solo, o que significa que todos os outros canais, exceto o canal atual, serão silenciados. É possível definir mais que um canal no modo solo.
-
+ Botão Solo
-
+ Identificador do Fader
@@ -309,124 +309,135 @@
O Identificador do fader identifica o cliente ligado. O nome no identificador, a imagem do instrumento e a bandeira do país podem ser definidos no Meu Perfil.
-
+ Mostra o nível de áudio pré-fader deste canal. A todos os clientes ligados ao servidor será atribuído um nível de áudio, o mesmo valor para cada cliente.
-
+ Ajusta o nível de áudio deste canal. A todos os clientes ligados ao servidor será atribuído um fader de áudio,exibido em cada cliente, para ajustar a mistura local.
-
+ Alti-falante com sinal de proibição: Indica que o cliente silenciou o teu canal.
-
+ Define a posição de panorâmica da esquerda para a direita do canal. Funciona apenas no modo estéreo ou, de preferência, no modo Entrada Mono/Saída Estéreo.
-
+ Com a caixa de seleção Solo, o canal de áudio pode ser definido como solo, o que significa que todos os outros canais, exceto o canal atual, serão silenciados. É possível definir mais que um canal no modo solo.
-
+ O Identificador do fader identifica o cliente ligado. O nome no identificador, a imagem do instrumento e a bandeira do país podem ser definidos no Meu Perfil.
-
+ Imagem do instrumento do canal da mistura
-
+ Identificação do canal da mistura (identificador do fader)
-
+ Bandeira do país do canal da mistura
-
+ PAN
-
+ MUTE
-
+ SOLO
-
+
+
+
+
+
+
+
+
+
+
+ Nome/Alcunha
-
+ Instrumento
-
+ Localização
-
-
-
+
+
+ Nível de Habilidade
-
+ Principiante
-
+ Intermediário
-
+ Avançado
-
+ Perfil do músico
-
-
+
+ Mute
+ Pan
-
-
+
+ Solo
@@ -708,7 +719,7 @@
-
+ &Ligar
@@ -753,28 +764,27 @@
&Editar
-
- Ordenar os Canais por &Nome...
+ Ordenar os Canais por &Nome...
-
+ Nenhum
-
+ Centro
-
+ R
-
+ L
@@ -849,22 +859,32 @@
O CPU do cliente ou servidor está a 100%.
-
+
+
+
+
+
+
+
+
+
+
+ Servidor Central
-
+ utilizador
-
+ utilizadores
-
+ Desl&igar
@@ -1170,19 +1190,16 @@
Botão de configuração do ASIO
-
- Skin Sofisticada
+ Skin Sofisticada
-
- Se ativada, uma skin sofisticada será aplicada à janela principal.
+ Se ativada, uma skin sofisticada será aplicada à janela principal.
-
- Caixa de ativação da skin sofisticada
+ Caixa de ativação da skin sofisticada
@@ -1309,7 +1326,7 @@
-
+ Mono
@@ -1324,14 +1341,14 @@
A taxa de transmissão do áudio depende do tamanho do pacote de áudio e da configuração de compactação de áudio. Verifique se a taxa de transmissão não é maior que a taxa disponível (verifique a taxa de upload da sua ligação à Internet usando, por exemplo, o speedtest.net).
-
+ Entrada Mono/Saída Estéreo
-
+ Estéreo
@@ -1390,6 +1407,21 @@
Se as configurações de atraso do buffer estiverem desativadas, é porque o driver de áudio proibe modificar essa configuração a partir da aplicação. No Windows, pressione o botão Configuração do Driver para abrir o painel de configurações do driver. No Linux, use a ferramenta de configuração Jack para alterar o atraso do buffer.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1451,41 +1483,52 @@
A latência geral é calculada a partir da latência da ligação atual e do atraso introduzido pelas configurações do buffer.
-
+ Baixa
-
+
+ Normal
-
+ Alta
+
+
+
+
+
+
+
+
+
+ Manual
-
+ Personalizado
-
+ Servidor Geral
-
+ Servidor Rock
-
+ Servidor Jazz
@@ -1494,12 +1537,12 @@
Servidor Rock/Jazz
-
+ Serv. Clássica/Folclore/Coro
-
+ Servidor Padrão
@@ -1508,38 +1551,38 @@
Servidor Padrão (America do Norte)
-
+ preferido
-
-
+
+ Tamanho:
-
+ Atraso do buffer
-
+ Atraso do buffer:
-
+ O dispositivo de áudio selecionado não pôde ser usado devido ao seguinte erro:
-
+ O driver anterior será selecionado.
-
+ Ok
@@ -1660,22 +1703,26 @@
Nível de Novo Cliente
-
+
+
+
+
+
+ %
-
- Skin Sofisticada
+ Skin Sofisticada
-
+ Mostrar Níveis de Canais
-
+ Endereço do Servidor Central Personalizado:
@@ -1684,24 +1731,24 @@
Endereço do Servidor Central:
-
+ Taxa de Transmissão de Áudio
-
-
-
+
+
+ val
-
+ Latência da Ligação
-
+ Latência Geral
@@ -1875,28 +1922,28 @@
CHelpMenu
-
+ &Ajuda
-
-
+
+ Como Começa&r...
-
+ &Manual do Programa...
-
+ O que é &isto
-
+ &Sobre...
@@ -1904,102 +1951,102 @@
CLicenceDlg
-
+ Eu &aceito os termos da licença acima
-
+ Aceitar
-
+ Rejeitar
-
+ Ao ligar-se a este servidor e concordar com este aviso, está a concordar com o seguinte:
-
+ 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
-
+ Você tem o direito de:
-
+ Compartilhar
-
+ copiar e redistribuir o material em qualquer suporte ou formato
-
+ Adaptar
-
+ remisturar, transformar, e criar a partir do material
-
+ O licenciante não pode revogar estes direitos desde que você respeite os termos da licença.
-
+ De acordo com os termos seguintes:
-
+ Atribuição
-
+ 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.
-
+ NãoComercial
-
+ Você não pode usar o material para fins comerciais.
-
+ CompartilhaIgual
-
+ 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.
-
+ Sem restrições adicionais
-
+ 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.
@@ -2011,85 +2058,85 @@
. Esta identificação também será exibida em cada cliente ligado ao mesmo servidor que você. Se o nome estiver vazio, o endereço IP será mostrado.
-
+ Caixa de edição do nome ou pseudônimo
-
+ Botão da imagem do instrumento
-
+ Botão da bandeira do país
-
+ Caixa de edição da cidade
-
+ Caixa do nível de habilidade
-
-
-
+
+
+ Nenhum
-
-
+
+ Perfil do músico
-
+ Nome/Alcunha
-
+ Instrumento
-
+ País
-
+ Cidade
-
+ Habilidade
-
+ &Fechar
-
+ Principiante
-
+ Intermediário
-
+ Avançado
@@ -2102,222 +2149,222 @@
O que definir aqui aparecerá por baixo do seu fader na secção de mistura quando estiver ligado a um servidor
-
+ 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.
-
+ 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.
-
+ Bateria
-
+ Djembe
-
+ Guitarra Elétrica
-
+ Guitarra Acústica
-
+ Baixo
-
+ Teclado
-
+ Sintetizador
-
+ Piano de Cauda
-
+ Acordeão
-
+ Voz
-
+ Microfone
-
+ Harmónica
-
+ Trompete
-
+ Trombone
-
+ Trompa Francesa
-
+ Tuba
-
+ Saxofone
-
+ Clarinete
-
+ Flauta
-
+ Violino
-
+ Violoncelo
-
+ Contrabaixo
-
+ Gravador
-
+ Streamer
-
+ Ouvinte
-
+ Guitarra+Voz
-
+ Teclado+Voz
-
+ Bodhrán
-
+ Fagote
-
+ Oboé
-
+ Harpa
-
+ Viola de Arco
-
+ Congas
-
+ Bongo
-
+ Voz Baixo
-
+ Voz Tenor
-
+ Voz Alto
-
+ Voz Soprano
-
+ Banjo
-
+ Bandolim
-
+ Ukulele
-
+ Ukulele Baixo
@@ -2626,42 +2673,42 @@
&Janela
-
+ Não Registado
-
+ Endereço incorrecto
-
+ Registo solicitado
-
+ Falha no registo
-
+ Verifique versão do servidor
-
+ Registado
-
+ Servidor Central Cheio
-
+ Valor desconhecido
@@ -2675,7 +2722,7 @@
-
+ Nome do Servidor
@@ -2700,13 +2747,18 @@
Tornar Servidor Público (Registar na Lista de Servidores)
-
-
+
+
+
+
+
+
+ ESTADO
-
+ Endereço do Servidor Central Personalizado:
@@ -2715,37 +2767,37 @@
Endereço do Servidor Central:
-
+ Informação do Servidor
-
+ Localização: Cidade
-
+ Localização: País
-
+ Activar gravação
-
+ Nova gravação
-
+ Pasta de gravações
-
+ TextLabelNameVersion
diff --git a/src/server.cpp b/src/server.cpp
index e52aa3e8..f9266e0b 100755
--- a/src/server.cpp
+++ b/src/server.cpp
@@ -234,12 +234,14 @@ CServer::CServer ( const int iNewMaxNumChan,
const bool bNDisconnectAllClientsOnQuit,
const bool bNUseDoubleSystemFrameSize,
const ELicenceType eNLicenceType ) :
+ vecWindowPosMain (), // empty array
bUseDoubleSystemFrameSize ( bNUseDoubleSystemFrameSize ),
iMaxNumChannels ( iNewMaxNumChan ),
Socket ( this, iPortNumber ),
Logging ( iMaxDaysHistory ),
iFrameCount ( 0 ),
JamRecorder ( strRecordingDirName ),
+ bEnableRecording ( false ),
bWriteStatusHTMLFile ( false ),
HighPrecisionTimer ( bNUseDoubleSystemFrameSize ),
ServerListManager ( iPortNumber,
@@ -249,7 +251,6 @@ CServer::CServer ( const int iNewMaxNumChan,
bNCentServPingServerInList,
&ConnLessProtocol ),
bAutoRunMinimized ( false ),
- strWelcomeMessage ( strNewWelcomeMessage ),
eLicenceType ( eNLicenceType ),
bDisconnectAllClientsOnQuit ( bNDisconnectAllClientsOnQuit ),
pSignalHandler ( CSignalHandler::getSingletonP() )
@@ -401,11 +402,28 @@ 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() )
{
bRecorderInitialised = JamRecorder.Init ( this, iServerFrameSizeSamples );
- bEnableRecording = bRecorderInitialised;
+ SetEnableRecording ( bRecorderInitialised );
}
// enable all channels (for the server all channel must be enabled the
@@ -665,6 +683,10 @@ void CServer::OnAboutToQuit()
void CServer::OnHandledSignal ( int sigNum )
{
+ // show the signal number on the command line (note that this does not work for the Windows command line)
+// TODO we should use the ConsoleWriterFactory() instead of qDebug()
+ qDebug() << "OnHandledSignal: " << sigNum;
+
#ifdef _WIN32
// Windows does not actually get OnHandledSignal triggered
QCoreApplication::instance()->exit();
@@ -705,8 +727,16 @@ void CServer::SetEnableRecording ( bool bNewEnableRecording )
{
if ( bRecorderInitialised )
{
+ // note that this block executes regardless of whether
+ // what appears to be a change is being applied, to ensure
+ // the requested state is the result
bEnableRecording = bNewEnableRecording;
+#if QT_VERSION >= QT_VERSION_CHECK(5, 5, 0)
+// TODO we should use the ConsoleWriterFactory() instead of qInfo()
+ qInfo() << "Recording state " << ( bEnableRecording ? "enabled" : "disabled" );
+#endif
+
if ( !bEnableRecording )
{
emit StopRecorder();
diff --git a/src/server.h b/src/server.h
index 833ef479..113c4e69 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 )
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/serverdlgbase.ui b/src/serverdlgbase.ui
index e00bb4db..418a07c3 100755
--- a/src/serverdlgbase.ui
+++ b/src/serverdlgbase.ui
@@ -7,7 +7,7 @@
00588
- 415
+ 419
@@ -69,9 +69,27 @@
+
+
+
+
+
+
+
+ Genre
+
+
+
+
+
+
+ STATUS
+
+
+
@@ -88,13 +106,6 @@
-
-
-
- STATUS
-
-
-
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 98051287..b1b4ba8a 100755
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -165,20 +165,24 @@ uint32_t CCRC::GetCRC()
three series allpass units, followed by four parallel comb filters, and two
decorrelation delay lines in parallel at the output.
*/
-void CAudioReverb::Init ( const int iSampleRate,
- const double rT60 )
+void CAudioReverb::Init ( const EAudChanConf eNAudioChannelConf,
+ const int iNStereoBlockSizeSam,
+ const int iSampleRate,
+ const double rT60 )
{
- int delay, i;
+ // store paramters
+ eAudioChannelConf = eNAudioChannelConf;
+ iStereoBlockSizeSam = iNStereoBlockSizeSam;
// delay lengths for 44100 Hz sample rate
- int lengths[9] = { 1116, 1356, 1422, 1617, 225, 341, 441, 211, 179 };
- const double scaler = static_cast ( iSampleRate ) / 44100.0;
+ int lengths[9] = { 1116, 1356, 1422, 1617, 225, 341, 441, 211, 179 };
+ const double scaler = static_cast ( iSampleRate ) / 44100.0;
if ( scaler != 1.0 )
{
- for ( i = 0; i < 9; i++ )
+ for ( int i = 0; i < 9; i++ )
{
- delay = static_cast ( floor ( scaler * lengths[i] ) );
+ int delay = static_cast ( floor ( scaler * lengths[i] ) );
if ( ( delay & 1 ) == 0 )
{
@@ -194,12 +198,12 @@ void CAudioReverb::Init ( const int iSampleRate,
}
}
- for ( i = 0; i < 3; i++ )
+ for ( int i = 0; i < 3; i++ )
{
allpassDelays[i].Init ( lengths[i + 4] );
}
- for ( i = 0; i < 4; i++ )
+ for ( int i = 0; i < 4; i++ )
{
combDelays[i].Init ( lengths[i] );
combFilters[i].setPole ( 0.2 );
@@ -285,58 +289,81 @@ double CAudioReverb::COnePole::Calc ( const double dIn )
return dLastSample;
}
-void CAudioReverb::ProcessSample ( int16_t& iInputOutputLeft,
- int16_t& iInputOutputRight,
- const double dAttenuation )
+void CAudioReverb::Process ( CVector& vecsStereoInOut,
+ const bool bReverbOnLeftChan,
+ const double dAttenuation )
{
- // compute one output sample
- double temp, temp0, temp1, temp2;
+ double dMixedInput, temp, temp0, temp1, temp2;
- // we sum up the stereo input channels (in case mono input is used, a zero
- // shall be input for the right channel)
- const double dMixedInput = 0.5 * ( iInputOutputLeft + iInputOutputRight );
+ for ( int i = 0; i < iStereoBlockSizeSam; i += 2 )
+ {
+ // we sum up the stereo input channels (in case mono input is used, a zero
+ // shall be input for the right channel)
+ if ( eAudioChannelConf == CC_STEREO )
+ {
+ dMixedInput = 0.5 * ( vecsStereoInOut[i] + vecsStereoInOut[i + 1] );
+ }
+ else
+ {
+ if ( bReverbOnLeftChan )
+ {
+ dMixedInput = vecsStereoInOut[i];
+ }
+ else
+ {
+ dMixedInput = vecsStereoInOut[i + 1];
+ }
+ }
- temp = allpassDelays[0].Get();
- temp0 = allpassCoefficient * temp;
- temp0 += dMixedInput;
- allpassDelays[0].Add ( temp0 );
- temp0 = - ( allpassCoefficient * temp0 ) + temp;
+ temp = allpassDelays[0].Get();
+ temp0 = allpassCoefficient * temp;
+ temp0 += dMixedInput;
+ allpassDelays[0].Add ( temp0 );
+ temp0 = - ( allpassCoefficient * temp0 ) + temp;
- temp = allpassDelays[1].Get();
- temp1 = allpassCoefficient * temp;
- temp1 += temp0;
- allpassDelays[1].Add ( temp1 );
- temp1 = - ( allpassCoefficient * temp1 ) + temp;
+ temp = allpassDelays[1].Get();
+ temp1 = allpassCoefficient * temp;
+ temp1 += temp0;
+ allpassDelays[1].Add ( temp1 );
+ temp1 = - ( allpassCoefficient * temp1 ) + temp;
- temp = allpassDelays[2].Get();
- temp2 = allpassCoefficient * temp;
- temp2 += temp1;
- allpassDelays[2].Add ( temp2 );
- temp2 = - ( allpassCoefficient * temp2 ) + temp;
+ temp = allpassDelays[2].Get();
+ temp2 = allpassCoefficient * temp;
+ temp2 += temp1;
+ allpassDelays[2].Add ( temp2 );
+ temp2 = - ( allpassCoefficient * temp2 ) + temp;
- const double temp3 = temp2 + combFilters[0].Calc ( combCoefficient[0] * combDelays[0].Get() );
- const double temp4 = temp2 + combFilters[1].Calc ( combCoefficient[1] * combDelays[1].Get() );
- const double temp5 = temp2 + combFilters[2].Calc ( combCoefficient[2] * combDelays[2].Get() );
- const double temp6 = temp2 + combFilters[3].Calc ( combCoefficient[3] * combDelays[3].Get() );
+ const double temp3 = temp2 + combFilters[0].Calc ( combCoefficient[0] * combDelays[0].Get() );
+ const double temp4 = temp2 + combFilters[1].Calc ( combCoefficient[1] * combDelays[1].Get() );
+ const double temp5 = temp2 + combFilters[2].Calc ( combCoefficient[2] * combDelays[2].Get() );
+ const double temp6 = temp2 + combFilters[3].Calc ( combCoefficient[3] * combDelays[3].Get() );
- combDelays[0].Add ( temp3 );
- combDelays[1].Add ( temp4 );
- combDelays[2].Add ( temp5 );
- combDelays[3].Add ( temp6 );
+ combDelays[0].Add ( temp3 );
+ combDelays[1].Add ( temp4 );
+ combDelays[2].Add ( temp5 );
+ combDelays[3].Add ( temp6 );
- const double filtout = temp3 + temp4 + temp5 + temp6;
+ const double filtout = temp3 + temp4 + temp5 + temp6;
- outLeftDelay.Add ( filtout );
- outRightDelay.Add ( filtout );
+ outLeftDelay.Add ( filtout );
+ outRightDelay.Add ( filtout );
- // inplace apply the attenuated reverb signal
- iInputOutputLeft = Double2Short (
- ( 1.0 - dAttenuation ) * iInputOutputLeft +
- 0.5 * dAttenuation * outLeftDelay.Get() );
+ // inplace apply the attenuated reverb signal (for stereo always apply
+ // reverberation effect on both channels)
+ if ( ( eAudioChannelConf == CC_STEREO ) || bReverbOnLeftChan )
+ {
+ vecsStereoInOut[i] = Double2Short (
+ ( 1.0 - dAttenuation ) * vecsStereoInOut[i] +
+ 0.5 * dAttenuation * outLeftDelay.Get() );
+ }
- iInputOutputRight = Double2Short (
- ( 1.0 - dAttenuation ) * iInputOutputRight +
- 0.5 * dAttenuation * outRightDelay.Get() );
+ if ( ( eAudioChannelConf == CC_STEREO ) || !bReverbOnLeftChan )
+ {
+ vecsStereoInOut[i + 1] = Double2Short (
+ ( 1.0 - dAttenuation ) * vecsStereoInOut[i + 1] +
+ 0.5 * dAttenuation * outRightDelay.Get() );
+ }
+ }
}
@@ -398,6 +425,7 @@ CAboutDlg::CAboutDlg ( QWidget* parent ) : QDialog ( parent )
"