Merge pull request #6 from corrados/master

update
This commit is contained in:
ignotus 2020-05-14 23:03:28 +02:00 committed by GitHub
commit 4c22763f07
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
23 changed files with 3109 additions and 1373 deletions

View File

@ -1,5 +1,14 @@
TODO server list split on query
TODO WIP support internationalization
TODO implement panning for channels (Ticket #52, #145)
TODO show mute state of others
@ -10,17 +19,20 @@
- for CoreAudio and 4 channel input, support mixing channels 1&2 with 3&4
- added bassoon/oboe/harp instrument icons created by dszgit;
- added bassoon/oboe/harp instrument icons created by dszgit,
congas/bongo created by bspeer (Ticket #131)
- link to docs from application Help menu (Ticket #90)
- support Mac CoreAudio aggregated devices (Ticket #138)
- added translations: french by trebmuh, portuguese by Snayler, spanish by ignotus666 (Ticket #77)
- added translations: French by trebmuh, Portuguese by Snayler,
Spanish by ignotus666, Dutch by jerogee, German by corrados (Ticket #77)
- new design for the About dialog (Ticket #189)
- new command line option -d to disconnect all clients on shutdown of the server (Ticket #161)
- bug fix: for mono capture jack audio interface Jamulus complains it
cannot make connections (Ticket #137)
@ -28,14 +40,10 @@
- bug fix: better handling of disconnect message in the client
- note: Jamulus is no longer compatible to Qt4
TODO check if Tickets #130, #168 are really solved by code from pljones
TODO WIP support internationalization
TODO implement panning for channels (Ticket #52, #145)
TODO show mute state of others

View File

@ -18,7 +18,8 @@ QT += widgets \
TRANSLATIONS = src/res/translation/translation_de_DE.ts \
src/res/translation/translation_fr_FR.ts \
src/res/translation/translation_pt_PT.ts \
src/res/translation/translation_es_ES.ts
src/res/translation/translation_es_ES.ts \
src/res/translation/translation_nl_NL.ts
INCLUDEPATH += src
@ -262,7 +263,7 @@ DISTFILES_OBOE += libs/oboe/AUTHORS \
} else:unix {
# we want to compile with C++11
QMAKE_CXXFLAGS += -std=c++11
CONFIG += c++11
# we assume to have lrintf() one moderately modern linux distributions
# would be better to have that tested, though

View File

@ -261,13 +261,11 @@ void CChannelFader::Reset()
strReceivedName = "";
SetupFaderTag ( SL_NOT_SET );
// set a defined tool tip time out (only available in Qt5)
#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
// set a defined tool tip time out
const int iToolTipDurMs = 30000;
plblLabel->setToolTipDuration ( iToolTipDurMs );
plblInstrument->setToolTipDuration ( iToolTipDurMs );
plblCountryFlag->setToolTipDuration ( iToolTipDurMs );
#endif
bOtherChannelIsSolo = false;
}
@ -562,118 +560,9 @@ CAudioMixerBoard::CAudioMixerBoard ( QWidget* parent, Qt::WindowFlags ) :
// Connections -------------------------------------------------------------
#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
connectFaderSignalsToMixerBoardSlots<MAX_NUM_CHANNELS>();
#else
// CODE TAG: MAX_NUM_CHANNELS_TAG
// make sure we have MAX_NUM_CHANNELS connections!!!
QObject::connect ( vecpChanFader[0], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh0 ( double ) ) );
QObject::connect ( vecpChanFader[1], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh1 ( double ) ) );
QObject::connect ( vecpChanFader[2], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh2 ( double ) ) );
QObject::connect ( vecpChanFader[3], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh3 ( double ) ) );
QObject::connect ( vecpChanFader[4], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh4 ( double ) ) );
QObject::connect ( vecpChanFader[5], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh5 ( double ) ) );
QObject::connect ( vecpChanFader[6], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh6 ( double ) ) );
QObject::connect ( vecpChanFader[7], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh7 ( double ) ) );
QObject::connect ( vecpChanFader[8], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh8 ( double ) ) );
QObject::connect ( vecpChanFader[9], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh9 ( double ) ) );
QObject::connect ( vecpChanFader[10], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh10 ( double ) ) );
QObject::connect ( vecpChanFader[11], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh11 ( double ) ) );
QObject::connect ( vecpChanFader[12], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh12 ( double ) ) );
QObject::connect ( vecpChanFader[13], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh13 ( double ) ) );
QObject::connect ( vecpChanFader[14], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh14 ( double ) ) );
QObject::connect ( vecpChanFader[15], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh15 ( double ) ) );
QObject::connect ( vecpChanFader[16], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh16 ( double ) ) );
QObject::connect ( vecpChanFader[17], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh17 ( double ) ) );
QObject::connect ( vecpChanFader[18], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh18 ( double ) ) );
QObject::connect ( vecpChanFader[19], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh19 ( double ) ) );
QObject::connect ( vecpChanFader[20], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh20 ( double ) ) );
QObject::connect ( vecpChanFader[21], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh21 ( double ) ) );
QObject::connect ( vecpChanFader[22], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh22 ( double ) ) );
QObject::connect ( vecpChanFader[23], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh23 ( double ) ) );
QObject::connect ( vecpChanFader[24], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh24 ( double ) ) );
QObject::connect ( vecpChanFader[25], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh25 ( double ) ) );
QObject::connect ( vecpChanFader[26], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh26 ( double ) ) );
QObject::connect ( vecpChanFader[27], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh27 ( double ) ) );
QObject::connect ( vecpChanFader[28], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh28 ( double ) ) );
QObject::connect ( vecpChanFader[29], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh29 ( double ) ) );
QObject::connect ( vecpChanFader[30], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh30 ( double ) ) );
QObject::connect ( vecpChanFader[31], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh31 ( double ) ) );
QObject::connect ( vecpChanFader[32], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh32 ( double ) ) );
QObject::connect ( vecpChanFader[33], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh33 ( double ) ) );
QObject::connect ( vecpChanFader[34], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh34 ( double ) ) );
QObject::connect ( vecpChanFader[35], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh35 ( double ) ) );
QObject::connect ( vecpChanFader[36], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh36 ( double ) ) );
QObject::connect ( vecpChanFader[37], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh37 ( double ) ) );
QObject::connect ( vecpChanFader[38], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh38 ( double ) ) );
QObject::connect ( vecpChanFader[39], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh39 ( double ) ) );
QObject::connect ( vecpChanFader[40], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh40 ( double ) ) );
QObject::connect ( vecpChanFader[41], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh41 ( double ) ) );
QObject::connect ( vecpChanFader[42], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh42 ( double ) ) );
QObject::connect ( vecpChanFader[43], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh43 ( double ) ) );
QObject::connect ( vecpChanFader[44], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh44 ( double ) ) );
QObject::connect ( vecpChanFader[45], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh45 ( double ) ) );
QObject::connect ( vecpChanFader[46], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh46 ( double ) ) );
QObject::connect ( vecpChanFader[47], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh47 ( double ) ) );
QObject::connect ( vecpChanFader[48], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh48 ( double ) ) );
QObject::connect ( vecpChanFader[49], SIGNAL ( gainValueChanged ( double ) ), this, SLOT ( OnGainValueChangedCh49 ( double ) ) );
QObject::connect ( vecpChanFader[0], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[1], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[2], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[3], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[4], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[5], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[6], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[7], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[8], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[9], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[10], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[11], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[12], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[13], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[14], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[15], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[16], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[17], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[18], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[19], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[20], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[21], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[22], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[23], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[24], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[25], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[26], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[27], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[28], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[29], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[30], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[31], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[32], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[33], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[34], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[35], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[36], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[37], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[38], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[39], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[40], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[41], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[42], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[43], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[44], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[45], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[46], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[47], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[48], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
QObject::connect ( vecpChanFader[49], SIGNAL ( soloStateChanged ( int ) ), this, SLOT ( OnChSoloStateChanged() ) );
#endif
}
#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
template<unsigned int slotId>
inline void CAudioMixerBoard::connectFaderSignalsToMixerBoardSlots()
{
@ -694,8 +583,6 @@ inline void CAudioMixerBoard::connectFaderSignalsToMixerBoardSlots()
template<>
inline void CAudioMixerBoard::connectFaderSignalsToMixerBoardSlots<0>() {};
#endif
void CAudioMixerBoard::SetServerName ( const QString& strNewServerName )
{
// store the current server name

View File

@ -101,12 +101,9 @@ signals:
void soloStateChanged ( int value );
};
#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
template<unsigned int slotId>
class CAudioMixerBoardSlots : public CAudioMixerBoardSlots<slotId - 1>
{
public:
void OnChGainValueChanged ( double dValue ) { UpdateGainValue ( slotId - 1, dValue ); }
@ -118,11 +115,6 @@ protected:
template<>
class CAudioMixerBoardSlots<0> {};
#else
template<unsigned int slotId>
class CAudioMixerBoardSlots {};
#endif
class CAudioMixerBoard :
public QScrollArea,
@ -167,78 +159,12 @@ protected:
bool bNoFaderVisible;
QString strServerName;
#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
virtual void UpdateGainValue ( const int iChannelIdx,
const double dValue );
template<unsigned int slotId>
inline void connectFaderSignalsToMixerBoardSlots();
#else
void UpdateGainValue ( const int iChannelIdx,
const double dValue );
#endif
#if QT_VERSION < 0x50000 // MOC does not expand macros in Qt 4, so we cannot use QT_VERSION_CHECK(5, 0, 0)
public slots:
// CODE TAG: MAX_NUM_CHANNELS_TAG
// make sure we have MAX_NUM_CHANNELS connections!!!
void OnGainValueChangedCh0 ( double dValue ) { UpdateGainValue ( 0, dValue ); }
void OnGainValueChangedCh1 ( double dValue ) { UpdateGainValue ( 1, dValue ); }
void OnGainValueChangedCh2 ( double dValue ) { UpdateGainValue ( 2, dValue ); }
void OnGainValueChangedCh3 ( double dValue ) { UpdateGainValue ( 3, dValue ); }
void OnGainValueChangedCh4 ( double dValue ) { UpdateGainValue ( 4, dValue ); }
void OnGainValueChangedCh5 ( double dValue ) { UpdateGainValue ( 5, dValue ); }
void OnGainValueChangedCh6 ( double dValue ) { UpdateGainValue ( 6, dValue ); }
void OnGainValueChangedCh7 ( double dValue ) { UpdateGainValue ( 7, dValue ); }
void OnGainValueChangedCh8 ( double dValue ) { UpdateGainValue ( 8, dValue ); }
void OnGainValueChangedCh9 ( double dValue ) { UpdateGainValue ( 9, dValue ); }
void OnGainValueChangedCh10 ( double dValue ) { UpdateGainValue ( 10, dValue ); }
void OnGainValueChangedCh11 ( double dValue ) { UpdateGainValue ( 11, dValue ); }
void OnGainValueChangedCh12 ( double dValue ) { UpdateGainValue ( 12, dValue ); }
void OnGainValueChangedCh13 ( double dValue ) { UpdateGainValue ( 13, dValue ); }
void OnGainValueChangedCh14 ( double dValue ) { UpdateGainValue ( 14, dValue ); }
void OnGainValueChangedCh15 ( double dValue ) { UpdateGainValue ( 15, dValue ); }
void OnGainValueChangedCh16 ( double dValue ) { UpdateGainValue ( 16, dValue ); }
void OnGainValueChangedCh17 ( double dValue ) { UpdateGainValue ( 17, dValue ); }
void OnGainValueChangedCh18 ( double dValue ) { UpdateGainValue ( 18, dValue ); }
void OnGainValueChangedCh19 ( double dValue ) { UpdateGainValue ( 19, dValue ); }
void OnGainValueChangedCh20 ( double dValue ) { UpdateGainValue ( 20, dValue ); }
void OnGainValueChangedCh21 ( double dValue ) { UpdateGainValue ( 21, dValue ); }
void OnGainValueChangedCh22 ( double dValue ) { UpdateGainValue ( 22, dValue ); }
void OnGainValueChangedCh23 ( double dValue ) { UpdateGainValue ( 23, dValue ); }
void OnGainValueChangedCh24 ( double dValue ) { UpdateGainValue ( 24, dValue ); }
void OnGainValueChangedCh25 ( double dValue ) { UpdateGainValue ( 25, dValue ); }
void OnGainValueChangedCh26 ( double dValue ) { UpdateGainValue ( 26, dValue ); }
void OnGainValueChangedCh27 ( double dValue ) { UpdateGainValue ( 27, dValue ); }
void OnGainValueChangedCh28 ( double dValue ) { UpdateGainValue ( 28, dValue ); }
void OnGainValueChangedCh29 ( double dValue ) { UpdateGainValue ( 29, dValue ); }
void OnGainValueChangedCh30 ( double dValue ) { UpdateGainValue ( 30, dValue ); }
void OnGainValueChangedCh31 ( double dValue ) { UpdateGainValue ( 31, dValue ); }
void OnGainValueChangedCh32 ( double dValue ) { UpdateGainValue ( 32, dValue ); }
void OnGainValueChangedCh33 ( double dValue ) { UpdateGainValue ( 33, dValue ); }
void OnGainValueChangedCh34 ( double dValue ) { UpdateGainValue ( 34, dValue ); }
void OnGainValueChangedCh35 ( double dValue ) { UpdateGainValue ( 35, dValue ); }
void OnGainValueChangedCh36 ( double dValue ) { UpdateGainValue ( 36, dValue ); }
void OnGainValueChangedCh37 ( double dValue ) { UpdateGainValue ( 37, dValue ); }
void OnGainValueChangedCh38 ( double dValue ) { UpdateGainValue ( 38, dValue ); }
void OnGainValueChangedCh39 ( double dValue ) { UpdateGainValue ( 39, dValue ); }
void OnGainValueChangedCh40 ( double dValue ) { UpdateGainValue ( 40, dValue ); }
void OnGainValueChangedCh41 ( double dValue ) { UpdateGainValue ( 41, dValue ); }
void OnGainValueChangedCh42 ( double dValue ) { UpdateGainValue ( 42, dValue ); }
void OnGainValueChangedCh43 ( double dValue ) { UpdateGainValue ( 43, dValue ); }
void OnGainValueChangedCh44 ( double dValue ) { UpdateGainValue ( 44, dValue ); }
void OnGainValueChangedCh45 ( double dValue ) { UpdateGainValue ( 45, dValue ); }
void OnGainValueChangedCh46 ( double dValue ) { UpdateGainValue ( 46, dValue ); }
void OnGainValueChangedCh47 ( double dValue ) { UpdateGainValue ( 47, dValue ); }
void OnGainValueChangedCh48 ( double dValue ) { UpdateGainValue ( 48, dValue ); }
void OnGainValueChangedCh49 ( double dValue ) { UpdateGainValue ( 49, dValue ); }
void OnChSoloStateChanged() { UpdateSoloStates(); }
#endif
signals:
void ChangeChanGain ( int iId, double dGain );
void NumClientsChanged ( int iNewNumClients );

View File

@ -94,11 +94,5 @@ void CChatDlg::AddChatText ( QString strChatText )
txvChatWindow->append ( strChatText );
// notify accessibility plugin that text has changed
QAccessible::updateAccessibility (
#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
txvChatWindow, 0, QAccessible::ValueChanged
#else
new QAccessibleValueChangeEvent ( txvChatWindow, strChatText )
#endif
);
QAccessible::updateAccessibility ( new QAccessibleValueChangeEvent ( txvChatWindow, strChatText ) );
}

View File

@ -173,10 +173,6 @@ LED bar: lbr
#define UPPER_BOUND_SIG_METER ( 0.0 ) // dB
// Maximum number of connected clients at the server.
#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
// If you want to change this paramter you have to modify the code on some places, too! The code tag
// "MAX_NUM_CHANNELS_TAG" shows these places (just search for the tag in the entire code)
#endif
#define MAX_NUM_CHANNELS 50 // max number channels for server
// actual number of used channels in the server

View File

@ -51,36 +51,36 @@ int main ( int argc, char** argv )
// arguments
#if defined( SERVER_BUNDLE ) && ( defined( __APPLE__ ) || defined( __MACOSX ) )
// if we are on MacOS and we are building a server bundle, starts Jamulus in server mode
bool bIsClient = false;
bool bIsClient = false;
#else
bool bIsClient = true;
bool bIsClient = true;
#endif
bool bUseGUI = true;
bool bStartMinimized = false;
bool bShowComplRegConnList = false;
bool bDisconnectAllClients = false;
bool bUseDoubleSystemFrameSize = true; // default is 128 samples frame size
bool bShowAnalyzerConsole = false;
bool bCentServPingServerInList = false;
bool bNoAutoJackConnect = false;
bool bUseTranslation = true;
bool bCustomPortNumberGiven = false;
int iNumServerChannels = DEFAULT_USED_NUM_CHANNELS;
int iMaxDaysHistory = DEFAULT_DAYS_HISTORY;
int iCtrlMIDIChannel = INVALID_MIDI_CH;
quint16 iPortNumber = LLCON_DEFAULT_PORT_NUMBER;
ELicenceType eLicenceType = LT_NO_LICENCE;
QString strConnOnStartupAddress = "";
QString strIniFileName = "";
QString strHTMLStatusFileName = "";
QString strServerName = "";
QString strLoggingFileName = "";
QString strHistoryFileName = "";
QString strRecordingDirName = "";
QString strCentralServer = "";
QString strServerInfo = "";
QString strWelcomeMessage = "";
QString strClientName = APP_NAME;
bool bUseGUI = true;
bool bStartMinimized = false;
bool bShowComplRegConnList = false;
bool bDisconnectAllClientsOnQuit = false;
bool bUseDoubleSystemFrameSize = true; // default is 128 samples frame size
bool bShowAnalyzerConsole = false;
bool bCentServPingServerInList = false;
bool bNoAutoJackConnect = false;
bool bUseTranslation = true;
bool bCustomPortNumberGiven = false;
int iNumServerChannels = DEFAULT_USED_NUM_CHANNELS;
int iMaxDaysHistory = DEFAULT_DAYS_HISTORY;
int iCtrlMIDIChannel = INVALID_MIDI_CH;
quint16 iPortNumber = LLCON_DEFAULT_PORT_NUMBER;
ELicenceType eLicenceType = LT_NO_LICENCE;
QString strConnOnStartupAddress = "";
QString strIniFileName = "";
QString strHTMLStatusFileName = "";
QString strServerName = "";
QString strLoggingFileName = "";
QString strHistoryFileName = "";
QString strRecordingDirName = "";
QString strCentralServer = "";
QString strServerInfo = "";
QString strWelcomeMessage = "";
QString strClientName = APP_NAME;
// QT docu: argv()[0] is the program name, argv()[1] is the first
// argument and argv()[argc()-1] is the last argument.
@ -200,6 +200,18 @@ int main ( int argc, char** argv )
}
// Disconnect all clients on quit --------------------------------------
if ( GetFlagArgument ( argv,
i,
"-d",
"--discononquit" ) )
{
bDisconnectAllClientsOnQuit = true;
tsConsole << "- disconnect all clients on quit" << endl;
continue;
}
// Disabling auto Jack connections -------------------------------------
if ( GetFlagArgument ( argv,
i,
@ -239,20 +251,6 @@ int main ( int argc, char** argv )
}
// Disconnect all clients (emergency mode) -----------------------------
// Undocumented debugging command line argument: Needed to disconnect
// an unwanted client.
if ( GetFlagArgument ( argv,
i,
"--disconnectall", // no short form
"--disconnectall" ) )
{
bDisconnectAllClients = true;
tsConsole << "- disconnect all clients" << endl;
continue;
}
// Show analyzer console -----------------------------------------------
// Undocumented debugging command line argument: Show the analyzer
// console to debug network buffer properties.
@ -626,7 +624,7 @@ int main ( int argc, char** argv )
strWelcomeMessage,
strRecordingDirName,
bCentServPingServerInList,
bDisconnectAllClients,
bDisconnectAllClientsOnQuit,
bUseDoubleSystemFrameSize,
eLicenceType );
if ( bUseGUI )
@ -704,6 +702,7 @@ QString UsageArguments ( char **argv )
" -v, --version output version information and exit\n"
"\nServer only:\n"
" -a, --servername server name, required for HTML status\n"
" -d, --discononquit disconnect all clients on quit\n"
" -D, --histdays number of days of history to display\n"
" -e, --centralserver address of the central server\n"
" -F, --fastupdate use 64 samples frame size mode\n"

View File

@ -136,6 +136,7 @@ MESSAGES (with connection)
- 0: none, no audio coding applied
- 1: CELT
- 2: OPUS
- 3: OPUS64
- "version": version of the audio coder, if not used this value
shall be set to 0
- "audiocod arg": argument for the audio coder, if not used this value

View File

@ -26,7 +26,7 @@
<message>
<location filename="../../util.cpp" line="357"/>
<source> client, mixes the audio data and sends the mix back to each client.</source>
<translation> Teilnehmern sammelt, zusammen mischt und wieder an alle verbundenen Teilnehmer zurück schickt.</translation>
<translation> Musikern sammelt, zusammen mischt und wieder an alle verbundenen Musikern zurück schickt.</translation>
</message>
<message>
<location filename="../../util.cpp" line="375"/>
@ -64,22 +64,47 @@
<translation>Github Liste der Mitwirkenden</translation>
</message>
<message>
<location filename="../../util.cpp" line="418"/>
<location filename="../../util.cpp" line="407"/>
<source>Spanish</source>
<translation>Spanisch</translation>
</message>
<message>
<location filename="../../util.cpp" line="409"/>
<source>French</source>
<translation>Französisch</translation>
</message>
<message>
<location filename="../../util.cpp" line="411"/>
<source>Portuguese</source>
<translation>Portugiesisch</translation>
</message>
<message>
<location filename="../../util.cpp" line="413"/>
<source>Dutch</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../util.cpp" line="415"/>
<source>German</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../util.cpp" line="422"/>
<source>About </source>
<translation>Über </translation>
</message>
<message>
<location filename="../../util.cpp" line="435"/>
<location filename="../../util.cpp" line="439"/>
<source>, Version </source>
<translation></translation>
</message>
<message>
<location filename="../../util.cpp" line="448"/>
<location filename="../../util.cpp" line="452"/>
<source>Internet Jam Session Software</source>
<translation></translation>
</message>
<message>
<location filename="../../util.cpp" line="452"/>
<location filename="../../util.cpp" line="456"/>
<source>Under the GNU General Public License (GPL)</source>
<translation>Unter der GNU General Public License (GPL)</translation>
</message>
@ -143,12 +168,12 @@
<context>
<name>CAudioMixerBoard</name>
<message>
<location filename="../../audiomixerboard.cpp" line="707"/>
<location filename="../../audiomixerboard.cpp" line="594"/>
<source>Server</source>
<translation></translation>
</message>
<message>
<location filename="../../audiomixerboard.cpp" line="716"/>
<location filename="../../audiomixerboard.cpp" line="603"/>
<source>T R Y I N G T O C O N N E C T</source>
<translation>V E R B I N D U N G S A U F B A U</translation>
</message>
@ -163,12 +188,12 @@
<message>
<location filename="../../audiomixerboard.cpp" line="111"/>
<source>Displays the pre-fader audio level of this channel. All connected clients at the server will be assigned an audio level, the same value for each client.</source>
<translation>Zeigt den Audiopegel vor dem Lautstärkeregler des Kanals. Allen verbundenen Teilnehmern am Server wird ein Audiopegel zugewiesen.</translation>
<translation>Zeigt den Audiopegel vor dem Lautstärkeregler des Kanals. Allen verbundenen Musikern am Server wird ein Audiopegel zugewiesen.</translation>
</message>
<message>
<location filename="../../audiomixerboard.cpp" line="113"/>
<source>Input level of the current audio channel at the server</source>
<translation>Eingangspegel des aktuellen Teilnehmerkanals am Server</translation>
<translation>Eingangspegel des aktuellen Musikers am Server</translation>
</message>
<message>
<location filename="../../audiomixerboard.cpp" line="116"/>
@ -178,7 +203,7 @@
<message>
<location filename="../../audiomixerboard.cpp" line="116"/>
<source>Adjusts the audio level of this channel. All connected clients at the server will be assigned an audio fader at each client, adjusting the local mix.</source>
<translation>Regelt die Lautstärke des Kanals. Für alle Teilnehmer, die gerade am Server verbunden sind, wird ein Lautstärkeregler angezeigt. Damit kann man seinen eigenen lokalen Mix erstellen.</translation>
<translation>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.</translation>
</message>
<message>
<location filename="../../audiomixerboard.cpp" line="119"/>
@ -241,44 +266,44 @@
<translation></translation>
</message>
<message>
<location filename="../../audiomixerboard.cpp" line="442"/>
<location filename="../../audiomixerboard.cpp" line="440"/>
<source>Alias/Name</source>
<translation></translation>
</message>
<message>
<location filename="../../audiomixerboard.cpp" line="448"/>
<location filename="../../audiomixerboard.cpp" line="446"/>
<source>Instrument</source>
<translation></translation>
</message>
<message>
<location filename="../../audiomixerboard.cpp" line="456"/>
<location filename="../../audiomixerboard.cpp" line="454"/>
<source>Location</source>
<translation>Standort</translation>
</message>
<message>
<location filename="../../audiomixerboard.cpp" line="478"/>
<location filename="../../audiomixerboard.cpp" line="482"/>
<location filename="../../audiomixerboard.cpp" line="486"/>
<location filename="../../audiomixerboard.cpp" line="476"/>
<location filename="../../audiomixerboard.cpp" line="480"/>
<location filename="../../audiomixerboard.cpp" line="484"/>
<source>Skill Level</source>
<translation>Spielstärke</translation>
</message>
<message>
<location filename="../../audiomixerboard.cpp" line="478"/>
<location filename="../../audiomixerboard.cpp" line="476"/>
<source>Beginner</source>
<translation>Anfänger</translation>
</message>
<message>
<location filename="../../audiomixerboard.cpp" line="482"/>
<location filename="../../audiomixerboard.cpp" line="480"/>
<source>Intermediate</source>
<translation>Mittlere Spielstärke</translation>
</message>
<message>
<location filename="../../audiomixerboard.cpp" line="486"/>
<location filename="../../audiomixerboard.cpp" line="484"/>
<source>Expert</source>
<translation>Experte</translation>
</message>
<message>
<location filename="../../audiomixerboard.cpp" line="497"/>
<location filename="../../audiomixerboard.cpp" line="495"/>
<source>Musician Profile</source>
<translation>Profil des Musikers</translation>
</message>
@ -322,7 +347,7 @@
<message>
<location filename="../../chatdlg.cpp" line="43"/>
<source>Enter the chat message text in the edit box and press enter to send the message to the server which distributes the message to all connected clients. Your message will then show up in the chat window.</source>
<translation>Tippe die Chatnachricht in dieses Feld und drücke anschließend die Eingabetaste um die Nachricht an den Server zu schicken. Der Server verteilt die Nachrichti anschließend an alle Teilnehmer. Die eigene Nachricht wird dann im Chatfenster angezeigt.</translation>
<translation>Tippe die Chatnachricht in dieses Feld und drücke anschließend die Eingabetaste um die Nachricht an den Server zu schicken. Der Server verteilt die Nachricht anschließend an alle Musiker. Die eigene Nachricht wird dann im Chatfenster angezeigt.</translation>
</message>
<message>
<location filename="../../chatdlg.cpp" line="48"/>
@ -383,7 +408,7 @@
<message>
<location filename="../../clientdlg.cpp" line="64"/>
<source> software, you should not hear your singing/instrument in the loudspeaker or your headphone when the </source>
<translation> Software optimal zu nutzen, sollte man sein eigenes Instrument oder Gesant nicht im Lautsprecher oder Kopfhörer hören, wenn die </translation>
<translation> Software optimal zu nutzen, sollte man sein eigenes Instrument oder Gesang nicht im Lautsprecher oder Kopfhörer hören, wenn die </translation>
</message>
<message>
<location filename="../../clientdlg.cpp" line="67"/>
@ -468,7 +493,7 @@
</message>
<message>
<location filename="../../clientdlg.cpp" line="204"/>
<location filename="../../clientdlg.cpp" line="1085"/>
<location filename="../../clientdlg.cpp" line="1075"/>
<source>C&amp;onnect</source>
<translation>&amp;Verbinden</translation>
</message>
@ -480,7 +505,7 @@
<message>
<location filename="../../clientdlg.cpp" line="258"/>
<source>&amp;Connection Setup...</source>
<translation>&amp;Konfiguration der Verbindung...</translation>
<translation>&amp;Verbinden...</translation>
</message>
<message>
<location filename="../../clientdlg.cpp" line="261"/>
@ -609,17 +634,17 @@
<translation>Die CPU des Computers ist voll ausgelastet.</translation>
</message>
<message>
<location filename="../../clientdlg.cpp" line="819"/>
<location filename="../../clientdlg.cpp" line="809"/>
<source>user</source>
<translation>Teilnehmer</translation>
<translation>Musiker</translation>
</message>
<message>
<location filename="../../clientdlg.cpp" line="824"/>
<location filename="../../clientdlg.cpp" line="814"/>
<source>users</source>
<translation>Teilnehmer</translation>
<translation>Musiker</translation>
</message>
<message>
<location filename="../../clientdlg.cpp" line="1061"/>
<location filename="../../clientdlg.cpp" line="1051"/>
<source>D&amp;isconnect</source>
<translation>&amp;Trennen</translation>
</message>
@ -727,7 +752,7 @@
<message>
<location filename="../../clientsettingsdlg.cpp" line="56"/>
<source>In case the auto setting of the jitter buffer is enabled, the network buffers of the local client and the remote server are set to a conservative value to minimize the audio dropout probability. To tweak the audio delay/latency it is recommended to disable the auto setting functionality and to lower the jitter buffer size manually by using the sliders until your personal acceptable limit of the amount of dropouts is reached. The LED indicator will visualize the audio dropouts of the local jitter buffer by a red light.</source>
<translation>Wenn die Automatik zum Einstellen der Netzwerkpuffer aktiviert ist, dann werden die Netzwerkpuffer der Applikation und des entfernten Servers auf einen konservativen Wert eingestellt, um eine möglichst gute Audioqualität zu garantieren. Um die Gesamtverzögerung zu optimieren, bietet es sich an, die Automatik zu deaktivieren und die Netzwerkpuffer etwas kleiner einzustellen. Die Werte sollte man so weit reduzieren, bis die Audioqualität gerade noch der persönlichen Akkzeptanz entspricht. Die LED-Anzeige hilft dabei die Audioaussetzer verursacht durch den lokalen Netzwerkpuffer zu visualisieren (wenn die LED rot leuchtet).</translation>
<translation>Wenn die Automatik zum Einstellen der Netzwerkpuffer aktiviert ist, dann werden die Netzwerkpuffer der Applikation und des entfernten Servers auf einen konservativen Wert eingestellt, um eine möglichst gute Audioqualität zu garantieren. Um die Gesamtverzögerung zu optimieren, bietet es sich an, die Automatik zu deaktivieren und die Netzwerkpuffer etwas kleiner einzustellen. Die Werte sollte man so weit reduzieren, bis die Audioqualität gerade noch der persönlichen Akzeptanz entspricht. Die LED-Anzeige hilft dabei die Audioaussetzer verursacht durch den lokalen Netzwerkpuffer zu visualisieren (wenn die LED rot leuchtet).</translation>
</message>
<message>
<location filename="../../clientsettingsdlg.cpp" line="72"/>
@ -977,7 +1002,7 @@
<message>
<location filename="../../clientsettingsdlg.cpp" line="200"/>
<source>Select the number of audio channels to be used. There are three modes available. The mono and stereo modes use one and two audio channels respectively. In the mono-in/stereo-out mode the audio signal which is sent to the server is mono but the return signal is stereo. This is useful for the case that the sound card puts the instrument on one input channel and the microphone on the other channel. In that case the two input signals can be mixed to one mono channel but the server mix can be heard in stereo.</source>
<translation>Hiermit kann man die Anzahl an Audiokanälen auswählen. Es gibt drei Modi. Die Mono- und Stereomodi verwenden jeweils einen oder zwei Kanäle. Im Mono-In/Stereo-Out Modus wird ein Monosignal zum Server geschickt aber es kommt ein Stereo-Signal zurück vom Server. Dies is nützlich für den Fall, dass man an die Soundkarte ein Instrument an den einen Eingangskanal und ein Mikrofon an den anderen Eingangskanal angeschlossen hat. In diesem Fall können die beiden Signale zusammen gemischt werden und an den Server geschickt werden aber man kann das Stereo-Signal von den anderen Musikern hören.</translation>
<translation>Hiermit kann man die Anzahl an Audiokanälen auswählen. Es gibt drei Modi. Die Mono- und Stereomodi verwenden jeweils einen oder zwei Kanäle. Im Mono-In/Stereo-Out Modus wird ein Monosignal zum Server geschickt aber es kommt ein Stereo-Signal zurück vom Server. Dies ist nützlich für den Fall, dass man an die Soundkarte ein Instrument an den einen Eingangskanal und ein Mikrofon an den anderen Eingangskanal angeschlossen hat. In diesem Fall können die beiden Signale zusammen gemischt werden und an den Server geschickt werden aber man kann das Stereo-Signal von den anderen Musikern hören.</translation>
</message>
<message>
<location filename="../../clientsettingsdlg.cpp" line="209"/>
@ -1181,7 +1206,7 @@
<message>
<location filename="../../clientsettingsdlgbase.ui" line="83"/>
<source>Input Channel Mapping</source>
<translation>Eingangskanalzuweisung</translation>
<translation>Eingangskanalauswahl</translation>
</message>
<message>
<location filename="../../clientsettingsdlgbase.ui" line="103"/>
@ -1198,7 +1223,7 @@
<message>
<location filename="../../clientsettingsdlgbase.ui" line="140"/>
<source>Output Channel Mapping</source>
<translation>Ausgangskanalzuweisung</translation>
<translation>Ausgangskanalauswahl</translation>
</message>
<message>
<location filename="../../clientsettingsdlgbase.ui" line="213"/>
@ -1389,7 +1414,7 @@
<message>
<location filename="../../connectdlg.cpp" line="83"/>
<source>Show All Musicians</source>
<translation>Zeige alle Teilnehmer</translation>
<translation>Zeige alle Musiker</translation>
</message>
<message>
<location filename="../../connectdlg.cpp" line="83"/>
@ -1399,7 +1424,7 @@
<message>
<location filename="../../connectdlg.cpp" line="86"/>
<source>Show all musicians check box</source>
<translation>Zeige alle Teilnehmer Schalter</translation>
<translation>Zeige alle Musiker Schalter</translation>
</message>
</context>
<context>
@ -1417,7 +1442,7 @@
<message>
<location filename="../../connectdlgbase.ui" line="45"/>
<source>Show All Musicians</source>
<translation>Zeige alle Teilnehmer</translation>
<translation>Zeige alle Musiker</translation>
</message>
<message>
<location filename="../../connectdlgbase.ui" line="61"/>
@ -1432,7 +1457,7 @@
<message>
<location filename="../../connectdlgbase.ui" line="71"/>
<source>Musicians</source>
<translation>Teilnehmer</translation>
<translation>Musiker</translation>
</message>
<message>
<location filename="../../connectdlgbase.ui" line="76"/>
@ -1458,28 +1483,28 @@
<context>
<name>CHelpMenu</name>
<message>
<location filename="../../util.cpp" line="835"/>
<location filename="../../util.cpp" line="839"/>
<source>&amp;Help</source>
<translation>&amp;Hilfe</translation>
</message>
<message>
<location filename="../../util.cpp" line="840"/>
<location filename="../../util.cpp" line="845"/>
<location filename="../../util.cpp" line="844"/>
<location filename="../../util.cpp" line="849"/>
<source>Getting &amp;Started...</source>
<translation>&amp;Erste Schritte...</translation>
</message>
<message>
<location filename="../../util.cpp" line="841"/>
<location filename="../../util.cpp" line="845"/>
<source>Software &amp;Manual...</source>
<translation>Software&amp;handbuch...</translation>
</message>
<message>
<location filename="../../util.cpp" line="848"/>
<location filename="../../util.cpp" line="852"/>
<source>What&apos;s &amp;This</source>
<translation>Konte&amp;xthilfe</translation>
</message>
<message>
<location filename="../../util.cpp" line="850"/>
<location filename="../../util.cpp" line="854"/>
<source>&amp;About...</source>
<translation>Ü&amp;ber...</translation>
</message>
@ -1487,102 +1512,102 @@
<context>
<name>CLicenceDlg</name>
<message>
<location filename="../../util.cpp" line="474"/>
<location filename="../../util.cpp" line="478"/>
<source>I &amp;agree to the above licence terms</source>
<translation>Ich &amp;stimme den Lizenzbedingungen zu</translation>
</message>
<message>
<location filename="../../util.cpp" line="475"/>
<location filename="../../util.cpp" line="479"/>
<source>Accept</source>
<translation>Einwilligen</translation>
</message>
<message>
<location filename="../../util.cpp" line="476"/>
<location filename="../../util.cpp" line="480"/>
<source>Decline</source>
<translation>Ablehnen</translation>
</message>
<message>
<location filename="../../util.cpp" line="492"/>
<location filename="../../util.cpp" line="496"/>
<source>By connecting to this server and agreeing to this notice, you agree to the following:</source>
<translation>Durch das Verbinden mit diesem Server und das Akzeptieren des Lizenztextes willigst du folgenden Bedingungen ein:</translation>
</message>
<message>
<location filename="../../util.cpp" line="494"/>
<location filename="../../util.cpp" line="498"/>
<source>You agree that all data, sounds, or other works transmitted to this server are owned and created by you or your licensors, and that you are making these data, sounds or other works available via the following Creative Commons License (for more information on this license, see </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../util.cpp" line="502"/>
<location filename="../../util.cpp" line="506"/>
<source>You are free to:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../util.cpp" line="504"/>
<location filename="../../util.cpp" line="508"/>
<source>Share</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../util.cpp" line="505"/>
<location filename="../../util.cpp" line="509"/>
<source>copy and redistribute the material in any medium or format</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../util.cpp" line="506"/>
<location filename="../../util.cpp" line="510"/>
<source>Adapt</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../util.cpp" line="507"/>
<location filename="../../util.cpp" line="511"/>
<source>remix, transform, and build upon the material</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../util.cpp" line="508"/>
<location filename="../../util.cpp" line="512"/>
<source>The licensor cannot revoke these freedoms as long as you follow the license terms.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../util.cpp" line="510"/>
<location filename="../../util.cpp" line="514"/>
<source>Under the following terms:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../util.cpp" line="512"/>
<location filename="../../util.cpp" line="516"/>
<source>Attribution</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../util.cpp" line="513"/>
<location filename="../../util.cpp" line="517"/>
<source>You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../util.cpp" line="516"/>
<location filename="../../util.cpp" line="520"/>
<source>NonCommercial</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../util.cpp" line="517"/>
<location filename="../../util.cpp" line="521"/>
<source>You may not use the material for commercial purposes.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../util.cpp" line="518"/>
<location filename="../../util.cpp" line="522"/>
<source>ShareAlike</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../util.cpp" line="519"/>
<location filename="../../util.cpp" line="523"/>
<source>If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../util.cpp" line="521"/>
<location filename="../../util.cpp" line="525"/>
<source>No additional restrictions</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../util.cpp" line="522"/>
<location filename="../../util.cpp" line="526"/>
<source>You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.</source>
<translation type="unfinished"></translation>
</message>
@ -1590,270 +1615,270 @@
<context>
<name>CMusProfDlg</name>
<message>
<location filename="../../util.cpp" line="706"/>
<location filename="../../util.cpp" line="710"/>
<source> server. This tag will also show up at each client which is connected to the same server as you. If the name is left empty, the IP address is shown instead.</source>
<translation>-Server. Dieses Schild wird auch bei allen anderen Teilnehmern, die mit dem gleichen Server verbunden sind, angezeigt. Wenn der Name leer gelassen wurde, dann wird die IP-Adresse stattdessen angezeigt.</translation>
<translation>-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.</translation>
</message>
<message>
<location filename="../../util.cpp" line="711"/>
<location filename="../../util.cpp" line="715"/>
<source>Alias or name edit box</source>
<translation>Alias oder Name Eingabefeld</translation>
</message>
<message>
<location filename="../../util.cpp" line="713"/>
<location filename="../../util.cpp" line="717"/>
<source>Instrument picture button</source>
<translation>Instrumentenbild Knopf</translation>
</message>
<message>
<location filename="../../util.cpp" line="715"/>
<location filename="../../util.cpp" line="719"/>
<source>Country flag button</source>
<translation>Landesflagge Knopf</translation>
</message>
<message>
<location filename="../../util.cpp" line="717"/>
<location filename="../../util.cpp" line="721"/>
<source>City edit box</source>
<translation>Stadt Eingabefeld</translation>
</message>
<message>
<location filename="../../util.cpp" line="719"/>
<location filename="../../util.cpp" line="723"/>
<source>Skill level combo box</source>
<translation>Fähigkeit Auswahlbox</translation>
</message>
<message>
<location filename="../../util.cpp" line="664"/>
<location filename="../../util.cpp" line="676"/>
<location filename="../../util.cpp" line="968"/>
<location filename="../../util.cpp" line="668"/>
<location filename="../../util.cpp" line="680"/>
<location filename="../../util.cpp" line="972"/>
<source>None</source>
<translation>Kein</translation>
</message>
<message>
<location filename="../../util.cpp" line="551"/>
<location filename="../../util.cpp" line="699"/>
<location filename="../../util.cpp" line="555"/>
<location filename="../../util.cpp" line="703"/>
<source>Musician Profile</source>
<translation>Musikerprofil</translation>
</message>
<message>
<location filename="../../util.cpp" line="556"/>
<location filename="../../util.cpp" line="560"/>
<source>Alias/Name</source>
<translation></translation>
</message>
<message>
<location filename="../../util.cpp" line="558"/>
<location filename="../../util.cpp" line="562"/>
<source>Instrument</source>
<translation></translation>
</message>
<message>
<location filename="../../util.cpp" line="560"/>
<location filename="../../util.cpp" line="564"/>
<source>Country</source>
<translation>Land</translation>
</message>
<message>
<location filename="../../util.cpp" line="562"/>
<location filename="../../util.cpp" line="566"/>
<source>City</source>
<translation>Stadt</translation>
</message>
<message>
<location filename="../../util.cpp" line="564"/>
<location filename="../../util.cpp" line="568"/>
<source>Skill</source>
<translation>Können</translation>
</message>
<message>
<location filename="../../util.cpp" line="566"/>
<location filename="../../util.cpp" line="570"/>
<source>&amp;Close</source>
<translation>&amp;Schließen</translation>
</message>
<message>
<location filename="../../util.cpp" line="682"/>
<location filename="../../util.cpp" line="686"/>
<source>Beginner</source>
<translation>Anfänger</translation>
</message>
<message>
<location filename="../../util.cpp" line="688"/>
<location filename="../../util.cpp" line="692"/>
<source>Intermediate</source>
<translation>Mittlere Spielstärke</translation>
</message>
<message>
<location filename="../../util.cpp" line="694"/>
<location filename="../../util.cpp" line="698"/>
<source>Expert</source>
<translation>Experte</translation>
</message>
<message>
<location filename="../../util.cpp" line="699"/>
<location filename="../../util.cpp" line="703"/>
<source>Set your name or an alias here so that the other musicians you want to play with know who you are. Additionally you may set an instrument picture of the instrument you play and a flag of the country you are living. The city you live in and the skill level of playing your instrument may also be added.</source>
<translation>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.</translation>
</message>
<message>
<location filename="../../util.cpp" line="704"/>
<location filename="../../util.cpp" line="708"/>
<source>What you set here will appear at your fader on the mixer board when you are connected to a </source>
<translation>Was man hier sieht wird auch am Fader im Mixer angezeigt, wenn du mit einem </translation>
</message>
<message>
<location filename="../../util.cpp" line="969"/>
<location filename="../../util.cpp" line="973"/>
<source>Drum Set</source>
<translation>Schlagzeug</translation>
</message>
<message>
<location filename="../../util.cpp" line="970"/>
<location filename="../../util.cpp" line="974"/>
<source>Djembe</source>
<translation>Djembe</translation>
</message>
<message>
<location filename="../../util.cpp" line="971"/>
<location filename="../../util.cpp" line="975"/>
<source>Electric Guitar</source>
<translation>E-Gitarre</translation>
</message>
<message>
<location filename="../../util.cpp" line="972"/>
<location filename="../../util.cpp" line="976"/>
<source>Acoustic Guitar</source>
<translation>Akustikgitarre</translation>
</message>
<message>
<location filename="../../util.cpp" line="973"/>
<location filename="../../util.cpp" line="977"/>
<source>Bass Guitar</source>
<translation>E-Bass</translation>
</message>
<message>
<location filename="../../util.cpp" line="974"/>
<location filename="../../util.cpp" line="978"/>
<source>Keyboard</source>
<translation>Keyboard</translation>
</message>
<message>
<location filename="../../util.cpp" line="975"/>
<location filename="../../util.cpp" line="979"/>
<source>Synthesizer</source>
<translation>Synthesizer</translation>
</message>
<message>
<location filename="../../util.cpp" line="976"/>
<location filename="../../util.cpp" line="980"/>
<source>Grand Piano</source>
<translation>Flügel</translation>
</message>
<message>
<location filename="../../util.cpp" line="977"/>
<location filename="../../util.cpp" line="981"/>
<source>Accordion</source>
<translation>Akkordeon</translation>
</message>
<message>
<location filename="../../util.cpp" line="978"/>
<location filename="../../util.cpp" line="982"/>
<source>Vocal</source>
<translation>Gesang</translation>
</message>
<message>
<location filename="../../util.cpp" line="979"/>
<location filename="../../util.cpp" line="983"/>
<source>Microphone</source>
<translation>Mikrofon</translation>
</message>
<message>
<location filename="../../util.cpp" line="980"/>
<location filename="../../util.cpp" line="984"/>
<source>Harmonica</source>
<translation>Mundharmonika</translation>
</message>
<message>
<location filename="../../util.cpp" line="981"/>
<location filename="../../util.cpp" line="985"/>
<source>Trumpet</source>
<translation>Trompete</translation>
</message>
<message>
<location filename="../../util.cpp" line="982"/>
<location filename="../../util.cpp" line="986"/>
<source>Trombone</source>
<translation>Posaune</translation>
</message>
<message>
<location filename="../../util.cpp" line="983"/>
<location filename="../../util.cpp" line="987"/>
<source>French Horn</source>
<translation>Waldhorn</translation>
</message>
<message>
<location filename="../../util.cpp" line="984"/>
<location filename="../../util.cpp" line="988"/>
<source>Tuba</source>
<translation>Tuba</translation>
</message>
<message>
<location filename="../../util.cpp" line="985"/>
<location filename="../../util.cpp" line="989"/>
<source>Saxophone</source>
<translation>Saxophon</translation>
</message>
<message>
<location filename="../../util.cpp" line="986"/>
<location filename="../../util.cpp" line="990"/>
<source>Clarinet</source>
<translation>Klarinette</translation>
</message>
<message>
<location filename="../../util.cpp" line="987"/>
<location filename="../../util.cpp" line="991"/>
<source>Flute</source>
<translation>Flöte</translation>
</message>
<message>
<location filename="../../util.cpp" line="988"/>
<location filename="../../util.cpp" line="992"/>
<source>Violin</source>
<translation>Violine</translation>
</message>
<message>
<location filename="../../util.cpp" line="989"/>
<location filename="../../util.cpp" line="993"/>
<source>Cello</source>
<translation>Cello</translation>
</message>
<message>
<location filename="../../util.cpp" line="990"/>
<location filename="../../util.cpp" line="994"/>
<source>Double Bass</source>
<translation>Kontrabass</translation>
</message>
<message>
<location filename="../../util.cpp" line="991"/>
<location filename="../../util.cpp" line="995"/>
<source>Recorder</source>
<translation>Recorder</translation>
</message>
<message>
<location filename="../../util.cpp" line="992"/>
<location filename="../../util.cpp" line="996"/>
<source>Streamer</source>
<translation></translation>
</message>
<message>
<location filename="../../util.cpp" line="993"/>
<location filename="../../util.cpp" line="997"/>
<source>Listener</source>
<translation>Zuhörer</translation>
</message>
<message>
<location filename="../../util.cpp" line="994"/>
<location filename="../../util.cpp" line="998"/>
<source>Guitar+Vocal</source>
<translation>Gitarre+Gesang</translation>
</message>
<message>
<location filename="../../util.cpp" line="995"/>
<location filename="../../util.cpp" line="999"/>
<source>Keyboard+Vocal</source>
<translation>Keyboard+Gesang</translation>
</message>
<message>
<location filename="../../util.cpp" line="996"/>
<location filename="../../util.cpp" line="1000"/>
<source>Bodhran</source>
<translation></translation>
</message>
<message>
<location filename="../../util.cpp" line="997"/>
<location filename="../../util.cpp" line="1001"/>
<source>Bassoon</source>
<translation>Fagott</translation>
</message>
<message>
<location filename="../../util.cpp" line="998"/>
<location filename="../../util.cpp" line="1002"/>
<source>Oboe</source>
<translation>Oboe</translation>
</message>
<message>
<location filename="../../util.cpp" line="999"/>
<location filename="../../util.cpp" line="1003"/>
<source>Harp</source>
<translation>Harfe</translation>
</message>
<message>
<location filename="../../util.cpp" line="1000"/>
<location filename="../../util.cpp" line="1004"/>
<source>Viola</source>
<translation>Viola</translation>
</message>
<message>
<location filename="../../util.cpp" line="1001"/>
<location filename="../../util.cpp" line="1005"/>
<source>Congas</source>
<translation>Congas</translation>
</message>
<message>
<location filename="../../util.cpp" line="1002"/>
<location filename="../../util.cpp" line="1006"/>
<source>Bongo</source>
<translation>Bongos</translation>
</message>
@ -1863,17 +1888,17 @@
<message>
<location filename="../../serverdlg.cpp" line="45"/>
<source>Client List</source>
<translation>Teilnehmerliste</translation>
<translation>Musikerliste</translation>
</message>
<message>
<location filename="../../serverdlg.cpp" line="45"/>
<source>The client list shows all clients which are currently connected to this server. Some information about the clients like the IP address and name are given for each connected client.</source>
<translation>Die Teilnehmerliste zeigt alle gerade mit dem Server verbunden Musiker an. Für jeden Teilnehmer werden zusätzliche Informationen wie die IP-Adresse und Namen angezeigt.</translation>
<translation>Die Musikerliste zeigt alle gerade mit dem Server verbunden Musiker an. Für jeden Musiker werden zusätzliche Informationen wie die IP-Adresse und Namen angezeigt.</translation>
</message>
<message>
<location filename="../../serverdlg.cpp" line="50"/>
<source>Connected clients list view</source>
<translation>Teilnehmerliste</translation>
<translation>Musikerliste</translation>
</message>
<message>
<location filename="../../serverdlg.cpp" line="53"/>
@ -2044,42 +2069,42 @@
<translation>&amp;Fenster</translation>
</message>
<message>
<location filename="../../util.h" line="593"/>
<location filename="../../util.h" line="591"/>
<source>Unregistered</source>
<translation>Nicht registriert</translation>
</message>
<message>
<location filename="../../util.h" line="596"/>
<location filename="../../util.h" line="594"/>
<source>Bad address</source>
<translation>Ungültige Adresse</translation>
</message>
<message>
<location filename="../../util.h" line="599"/>
<location filename="../../util.h" line="597"/>
<source>Registration requested</source>
<translation>Registrierung angefordert</translation>
</message>
<message>
<location filename="../../util.h" line="602"/>
<location filename="../../util.h" line="600"/>
<source>Registration failed</source>
<translation>Registrierung fehlgeschlagen</translation>
</message>
<message>
<location filename="../../util.h" line="605"/>
<location filename="../../util.h" line="603"/>
<source>Check server version</source>
<translation>Überprüfe Version des Servers</translation>
</message>
<message>
<location filename="../../util.h" line="608"/>
<location filename="../../util.h" line="606"/>
<source>Registered</source>
<translation>Registriert</translation>
</message>
<message>
<location filename="../../util.h" line="611"/>
<location filename="../../util.h" line="609"/>
<source>Central Server full</source>
<translation>Zentralserver voll</translation>
</message>
<message>
<location filename="../../util.h" line="614"/>
<location filename="../../util.h" line="612"/>
<source>Unknown value </source>
<translation>Unbekannter Wert </translation>
</message>

View File

@ -68,22 +68,47 @@
<translation>lista de Contribuidores en Github</translation>
</message>
<message>
<location filename="../../util.cpp" line="418"/>
<location filename="../../util.cpp" line="407"/>
<source>Spanish</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../util.cpp" line="409"/>
<source>French</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../util.cpp" line="411"/>
<source>Portuguese</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../util.cpp" line="413"/>
<source>Dutch</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../util.cpp" line="415"/>
<source>German</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../util.cpp" line="422"/>
<source>About </source>
<translation>Acerca de </translation>
</message>
<message>
<location filename="../../util.cpp" line="435"/>
<location filename="../../util.cpp" line="439"/>
<source>, Version </source>
<translation>, Versión </translation>
</message>
<message>
<location filename="../../util.cpp" line="448"/>
<location filename="../../util.cpp" line="452"/>
<source>Internet Jam Session Software</source>
<translation>Internet Jam Session Software</translation>
</message>
<message>
<location filename="../../util.cpp" line="452"/>
<location filename="../../util.cpp" line="456"/>
<source>Under the GNU General Public License (GPL)</source>
<translation>Bajo la GNU General Public License (GPL)</translation>
</message>
@ -147,12 +172,12 @@
<context>
<name>CAudioMixerBoard</name>
<message>
<location filename="../../audiomixerboard.cpp" line="707"/>
<location filename="../../audiomixerboard.cpp" line="594"/>
<source>Server</source>
<translation>Servidor</translation>
</message>
<message>
<location filename="../../audiomixerboard.cpp" line="716"/>
<location filename="../../audiomixerboard.cpp" line="603"/>
<source>T R Y I N G T O C O N N E C T</source>
<translation>I N T E N T A N D O C O N E C T A R</translation>
</message>
@ -245,44 +270,44 @@
<translation>SOLO</translation>
</message>
<message>
<location filename="../../audiomixerboard.cpp" line="442"/>
<location filename="../../audiomixerboard.cpp" line="440"/>
<source>Alias/Name</source>
<translation>Alias/Nombre</translation>
</message>
<message>
<location filename="../../audiomixerboard.cpp" line="448"/>
<location filename="../../audiomixerboard.cpp" line="446"/>
<source>Instrument</source>
<translation>Instrumento</translation>
</message>
<message>
<location filename="../../audiomixerboard.cpp" line="456"/>
<location filename="../../audiomixerboard.cpp" line="454"/>
<source>Location</source>
<translation>Ubicación</translation>
</message>
<message>
<location filename="../../audiomixerboard.cpp" line="478"/>
<location filename="../../audiomixerboard.cpp" line="482"/>
<location filename="../../audiomixerboard.cpp" line="486"/>
<location filename="../../audiomixerboard.cpp" line="476"/>
<location filename="../../audiomixerboard.cpp" line="480"/>
<location filename="../../audiomixerboard.cpp" line="484"/>
<source>Skill Level</source>
<translation>Nivel Habilidad</translation>
</message>
<message>
<location filename="../../audiomixerboard.cpp" line="478"/>
<location filename="../../audiomixerboard.cpp" line="476"/>
<source>Beginner</source>
<translation>Principiante</translation>
</message>
<message>
<location filename="../../audiomixerboard.cpp" line="482"/>
<location filename="../../audiomixerboard.cpp" line="480"/>
<source>Intermediate</source>
<translation>Intermedio</translation>
</message>
<message>
<location filename="../../audiomixerboard.cpp" line="486"/>
<location filename="../../audiomixerboard.cpp" line="484"/>
<source>Expert</source>
<translation>Experto</translation>
</message>
<message>
<location filename="../../audiomixerboard.cpp" line="497"/>
<location filename="../../audiomixerboard.cpp" line="495"/>
<source>Musician Profile</source>
<translation>Perfil Músico</translation>
</message>
@ -472,7 +497,7 @@
</message>
<message>
<location filename="../../clientdlg.cpp" line="204"/>
<location filename="../../clientdlg.cpp" line="1085"/>
<location filename="../../clientdlg.cpp" line="1075"/>
<source>C&amp;onnect</source>
<translation>C&amp;onectar</translation>
</message>
@ -613,17 +638,17 @@
<translation>El procesador del cliente o del servidor está al 100%.</translation>
</message>
<message>
<location filename="../../clientdlg.cpp" line="819"/>
<location filename="../../clientdlg.cpp" line="809"/>
<source>user</source>
<translation>usuario</translation>
</message>
<message>
<location filename="../../clientdlg.cpp" line="824"/>
<location filename="../../clientdlg.cpp" line="814"/>
<source>users</source>
<translation>usuarios</translation>
</message>
<message>
<location filename="../../clientdlg.cpp" line="1061"/>
<location filename="../../clientdlg.cpp" line="1051"/>
<source>D&amp;isconnect</source>
<translation>D&amp;esconectar</translation>
</message>
@ -1356,9 +1381,13 @@
<translation>La dirección IP o URL del servidor ejecutando el software del servidor </translation>
</message>
<message>
<location filename="../../connectdlg.cpp" line="62"/>
<source> server software must be set here. An optional port number can be added after the IP address or URL using a comma as a separator, e.g, example.org:</source>
<translation> debe introducirse aquí. Se puede añadir un número de puerto opcional detrás de la dirección IP o URL utilizando dos puntos como separador, por ej. ejemplo.org:</translation>
<translation type="vanished"> debe introducirse aquí. Se puede añadir un número de puerto opcional detrás de la dirección IP o URL utilizando dos puntos como separador, por ej. ejemplo.org:</translation>
</message>
<message>
<location filename="../../connectdlg.cpp" line="62"/>
<source> server software must be set here. An optional port number can be added after the IP address or URL using a colon as a separator, e.g, example.org:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../connectdlg.cpp" line="66"/>
@ -1462,28 +1491,28 @@
<context>
<name>CHelpMenu</name>
<message>
<location filename="../../util.cpp" line="835"/>
<location filename="../../util.cpp" line="839"/>
<source>&amp;Help</source>
<translation>&amp;Ayuda</translation>
</message>
<message>
<location filename="../../util.cpp" line="840"/>
<location filename="../../util.cpp" line="845"/>
<location filename="../../util.cpp" line="844"/>
<location filename="../../util.cpp" line="849"/>
<source>Getting &amp;Started...</source>
<translation>Cómo &amp;Empezar...</translation>
</message>
<message>
<location filename="../../util.cpp" line="841"/>
<location filename="../../util.cpp" line="845"/>
<source>Software &amp;Manual...</source>
<translation>Manual del &amp;Software...</translation>
</message>
<message>
<location filename="../../util.cpp" line="848"/>
<location filename="../../util.cpp" line="852"/>
<source>What&apos;s &amp;This</source>
<translation>Qué es &amp;Esto</translation>
</message>
<message>
<location filename="../../util.cpp" line="850"/>
<location filename="../../util.cpp" line="854"/>
<source>&amp;About...</source>
<translation>&amp;Acerca de...</translation>
</message>
@ -1491,102 +1520,102 @@
<context>
<name>CLicenceDlg</name>
<message>
<location filename="../../util.cpp" line="474"/>
<location filename="../../util.cpp" line="478"/>
<source>I &amp;agree to the above licence terms</source>
<translation>&amp;Acepto los términos de la licencia arriba expuestos</translation>
</message>
<message>
<location filename="../../util.cpp" line="475"/>
<location filename="../../util.cpp" line="479"/>
<source>Accept</source>
<translation>Acepto</translation>
</message>
<message>
<location filename="../../util.cpp" line="476"/>
<location filename="../../util.cpp" line="480"/>
<source>Decline</source>
<translation>No Acepto</translation>
</message>
<message>
<location filename="../../util.cpp" line="492"/>
<location filename="../../util.cpp" line="496"/>
<source>By connecting to this server and agreeing to this notice, you agree to the following:</source>
<translation>Al conectarte a este servidor y aceptar esta notificación, aceptas lo siguiente:</translation>
</message>
<message>
<location filename="../../util.cpp" line="494"/>
<location filename="../../util.cpp" line="498"/>
<source>You agree that all data, sounds, or other works transmitted to this server are owned and created by you or your licensors, and that you are making these data, sounds or other works available via the following Creative Commons License (for more information on this license, see </source>
<translation>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 </translation>
</message>
<message>
<location filename="../../util.cpp" line="502"/>
<location filename="../../util.cpp" line="506"/>
<source>You are free to:</source>
<translation>Ud. es libre de:</translation>
</message>
<message>
<location filename="../../util.cpp" line="504"/>
<location filename="../../util.cpp" line="508"/>
<source>Share</source>
<translation>Compartir</translation>
</message>
<message>
<location filename="../../util.cpp" line="505"/>
<location filename="../../util.cpp" line="509"/>
<source>copy and redistribute the material in any medium or format</source>
<translation>copiar y redistribuir el material en cualquier medio o formato</translation>
</message>
<message>
<location filename="../../util.cpp" line="506"/>
<location filename="../../util.cpp" line="510"/>
<source>Adapt</source>
<translation>Adaptar</translation>
</message>
<message>
<location filename="../../util.cpp" line="507"/>
<location filename="../../util.cpp" line="511"/>
<source>remix, transform, and build upon the material</source>
<translation>remezclar, transformar y construir a partir del material</translation>
</message>
<message>
<location filename="../../util.cpp" line="508"/>
<location filename="../../util.cpp" line="512"/>
<source>The licensor cannot revoke these freedoms as long as you follow the license terms.</source>
<translation>El licenciante no puede revocar estas libertades en tanto Ud. siga los términos de la licencia.</translation>
</message>
<message>
<location filename="../../util.cpp" line="510"/>
<location filename="../../util.cpp" line="514"/>
<source>Under the following terms:</source>
<translation>Bajo los siguientes términos:</translation>
</message>
<message>
<location filename="../../util.cpp" line="512"/>
<location filename="../../util.cpp" line="516"/>
<source>Attribution</source>
<translation>Atribución</translation>
</message>
<message>
<location filename="../../util.cpp" line="513"/>
<location filename="../../util.cpp" line="517"/>
<source>You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.</source>
<translation>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.</translation>
</message>
<message>
<location filename="../../util.cpp" line="516"/>
<location filename="../../util.cpp" line="520"/>
<source>NonCommercial</source>
<translation>No-Comercial</translation>
</message>
<message>
<location filename="../../util.cpp" line="517"/>
<location filename="../../util.cpp" line="521"/>
<source>You may not use the material for commercial purposes.</source>
<translation>No puede utilizar el material con fines comerciales.</translation>
</message>
<message>
<location filename="../../util.cpp" line="518"/>
<location filename="../../util.cpp" line="522"/>
<source>ShareAlike</source>
<translation>ShareAlike</translation>
</message>
<message>
<location filename="../../util.cpp" line="519"/>
<location filename="../../util.cpp" line="523"/>
<source>If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original.</source>
<translation>Si remezcla, transforma o construye sobre el material, debe distribuir sus contribuciones bajo la misma licencia que el original.</translation>
</message>
<message>
<location filename="../../util.cpp" line="521"/>
<location filename="../../util.cpp" line="525"/>
<source>No additional restrictions</source>
<translation>Sin restricciones adicionales</translation>
</message>
<message>
<location filename="../../util.cpp" line="522"/>
<location filename="../../util.cpp" line="526"/>
<source>You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.</source>
<translation>No puede aplicar términos legales o medidas tecnológicas que restringan legalmente a otras personas de hacer cualquier cosa permitida por la licencia.</translation>
</message>
@ -1594,270 +1623,270 @@
<context>
<name>CMusProfDlg</name>
<message>
<location filename="../../util.cpp" line="706"/>
<location filename="../../util.cpp" line="710"/>
<source> server. This tag will also show up at each client which is connected to the same server as you. If the name is left empty, the IP address is shown instead.</source>
<translation> Esta etiqueta también se mostrará a cada cliente conectado al mismo servidor que . Se se deja vacío, se muestra la dirección IP en su lugar.</translation>
</message>
<message>
<location filename="../../util.cpp" line="711"/>
<location filename="../../util.cpp" line="715"/>
<source>Alias or name edit box</source>
<translation>Campo para alias o nombre</translation>
</message>
<message>
<location filename="../../util.cpp" line="713"/>
<location filename="../../util.cpp" line="717"/>
<source>Instrument picture button</source>
<translation>Botón imagen instrumento</translation>
</message>
<message>
<location filename="../../util.cpp" line="715"/>
<location filename="../../util.cpp" line="719"/>
<source>Country flag button</source>
<translation>Botón bandera país</translation>
</message>
<message>
<location filename="../../util.cpp" line="717"/>
<location filename="../../util.cpp" line="721"/>
<source>City edit box</source>
<translation>Ciudad</translation>
</message>
<message>
<location filename="../../util.cpp" line="719"/>
<location filename="../../util.cpp" line="723"/>
<source>Skill level combo box</source>
<translation>Nivel de habilidad</translation>
</message>
<message>
<location filename="../../util.cpp" line="664"/>
<location filename="../../util.cpp" line="676"/>
<location filename="../../util.cpp" line="968"/>
<location filename="../../util.cpp" line="668"/>
<location filename="../../util.cpp" line="680"/>
<location filename="../../util.cpp" line="972"/>
<source>None</source>
<translation>Ninguno</translation>
</message>
<message>
<location filename="../../util.cpp" line="551"/>
<location filename="../../util.cpp" line="699"/>
<location filename="../../util.cpp" line="555"/>
<location filename="../../util.cpp" line="703"/>
<source>Musician Profile</source>
<translation>Perfil Músico</translation>
</message>
<message>
<location filename="../../util.cpp" line="556"/>
<location filename="../../util.cpp" line="560"/>
<source>Alias/Name</source>
<translation>Alias/Nombre</translation>
</message>
<message>
<location filename="../../util.cpp" line="558"/>
<location filename="../../util.cpp" line="562"/>
<source>Instrument</source>
<translation>Instrumento</translation>
</message>
<message>
<location filename="../../util.cpp" line="560"/>
<location filename="../../util.cpp" line="564"/>
<source>Country</source>
<translation>País</translation>
</message>
<message>
<location filename="../../util.cpp" line="562"/>
<location filename="../../util.cpp" line="566"/>
<source>City</source>
<translation>Ciudad</translation>
</message>
<message>
<location filename="../../util.cpp" line="564"/>
<location filename="../../util.cpp" line="568"/>
<source>Skill</source>
<translation>Habilidad</translation>
</message>
<message>
<location filename="../../util.cpp" line="566"/>
<location filename="../../util.cpp" line="570"/>
<source>&amp;Close</source>
<translation>&amp;Cerrar</translation>
</message>
<message>
<location filename="../../util.cpp" line="682"/>
<location filename="../../util.cpp" line="686"/>
<source>Beginner</source>
<translation>Principiante</translation>
</message>
<message>
<location filename="../../util.cpp" line="688"/>
<location filename="../../util.cpp" line="692"/>
<source>Intermediate</source>
<translation>Intermedio</translation>
</message>
<message>
<location filename="../../util.cpp" line="694"/>
<location filename="../../util.cpp" line="698"/>
<source>Expert</source>
<translation>Experto</translation>
</message>
<message>
<location filename="../../util.cpp" line="699"/>
<location filename="../../util.cpp" line="703"/>
<source>Set your name or an alias here so that the other musicians you want to play with know who you are. Additionally you may set an instrument picture of the instrument you play and a flag of the country you are living. The city you live in and the skill level of playing your instrument may also be added.</source>
<translation>Escribe tu nombre o alias aquí para que los demás 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.</translation>
</message>
<message>
<location filename="../../util.cpp" line="704"/>
<location filename="../../util.cpp" line="708"/>
<source>What you set here will appear at your fader on the mixer board when you are connected to a </source>
<translation>Lo que introduzcas aquí aparecerá en tu fader del mezclador cuando te conectes a un servidor </translation>
</message>
<message>
<location filename="../../util.cpp" line="969"/>
<location filename="../../util.cpp" line="973"/>
<source>Drum Set</source>
<translation>Batería</translation>
</message>
<message>
<location filename="../../util.cpp" line="970"/>
<location filename="../../util.cpp" line="974"/>
<source>Djembe</source>
<translation>Djembé</translation>
</message>
<message>
<location filename="../../util.cpp" line="971"/>
<location filename="../../util.cpp" line="975"/>
<source>Electric Guitar</source>
<translation>Guitarra Eléctrica</translation>
</message>
<message>
<location filename="../../util.cpp" line="972"/>
<location filename="../../util.cpp" line="976"/>
<source>Acoustic Guitar</source>
<translation>Guitarra Acústica</translation>
</message>
<message>
<location filename="../../util.cpp" line="973"/>
<location filename="../../util.cpp" line="977"/>
<source>Bass Guitar</source>
<translation>Bajo Eléctrico</translation>
</message>
<message>
<location filename="../../util.cpp" line="974"/>
<location filename="../../util.cpp" line="978"/>
<source>Keyboard</source>
<translation>Teclado</translation>
</message>
<message>
<location filename="../../util.cpp" line="975"/>
<location filename="../../util.cpp" line="979"/>
<source>Synthesizer</source>
<translation>Sintetizador</translation>
</message>
<message>
<location filename="../../util.cpp" line="976"/>
<location filename="../../util.cpp" line="980"/>
<source>Grand Piano</source>
<translation>Piano de Cola</translation>
</message>
<message>
<location filename="../../util.cpp" line="977"/>
<location filename="../../util.cpp" line="981"/>
<source>Accordion</source>
<translation>Acordeón</translation>
</message>
<message>
<location filename="../../util.cpp" line="978"/>
<location filename="../../util.cpp" line="982"/>
<source>Vocal</source>
<translation>Voz</translation>
</message>
<message>
<location filename="../../util.cpp" line="979"/>
<location filename="../../util.cpp" line="983"/>
<source>Microphone</source>
<translation>Micrófono</translation>
</message>
<message>
<location filename="../../util.cpp" line="980"/>
<location filename="../../util.cpp" line="984"/>
<source>Harmonica</source>
<translation>Armónica</translation>
</message>
<message>
<location filename="../../util.cpp" line="981"/>
<location filename="../../util.cpp" line="985"/>
<source>Trumpet</source>
<translation>Trompeta</translation>
</message>
<message>
<location filename="../../util.cpp" line="982"/>
<location filename="../../util.cpp" line="986"/>
<source>Trombone</source>
<translation>Trombón</translation>
</message>
<message>
<location filename="../../util.cpp" line="983"/>
<location filename="../../util.cpp" line="987"/>
<source>French Horn</source>
<translation>Trompa</translation>
</message>
<message>
<location filename="../../util.cpp" line="984"/>
<location filename="../../util.cpp" line="988"/>
<source>Tuba</source>
<translation>Tuba</translation>
</message>
<message>
<location filename="../../util.cpp" line="985"/>
<location filename="../../util.cpp" line="989"/>
<source>Saxophone</source>
<translation>Saxofón</translation>
</message>
<message>
<location filename="../../util.cpp" line="986"/>
<location filename="../../util.cpp" line="990"/>
<source>Clarinet</source>
<translation>Clarinete</translation>
</message>
<message>
<location filename="../../util.cpp" line="987"/>
<location filename="../../util.cpp" line="991"/>
<source>Flute</source>
<translation>Flauta</translation>
</message>
<message>
<location filename="../../util.cpp" line="988"/>
<location filename="../../util.cpp" line="992"/>
<source>Violin</source>
<translation>Violín</translation>
</message>
<message>
<location filename="../../util.cpp" line="989"/>
<location filename="../../util.cpp" line="993"/>
<source>Cello</source>
<translation>Violonchelo</translation>
</message>
<message>
<location filename="../../util.cpp" line="990"/>
<location filename="../../util.cpp" line="994"/>
<source>Double Bass</source>
<translation>Contrabajo</translation>
</message>
<message>
<location filename="../../util.cpp" line="991"/>
<location filename="../../util.cpp" line="995"/>
<source>Recorder</source>
<translation>Grabadora</translation>
</message>
<message>
<location filename="../../util.cpp" line="992"/>
<location filename="../../util.cpp" line="996"/>
<source>Streamer</source>
<translation>Streamer</translation>
</message>
<message>
<location filename="../../util.cpp" line="993"/>
<location filename="../../util.cpp" line="997"/>
<source>Listener</source>
<translation>Oyente</translation>
</message>
<message>
<location filename="../../util.cpp" line="994"/>
<location filename="../../util.cpp" line="998"/>
<source>Guitar+Vocal</source>
<translation>Guitarra+Voz</translation>
</message>
<message>
<location filename="../../util.cpp" line="995"/>
<location filename="../../util.cpp" line="999"/>
<source>Keyboard+Vocal</source>
<translation>Teclado+Voz</translation>
</message>
<message>
<location filename="../../util.cpp" line="996"/>
<location filename="../../util.cpp" line="1000"/>
<source>Bodhran</source>
<translation>Bodhran</translation>
</message>
<message>
<location filename="../../util.cpp" line="997"/>
<location filename="../../util.cpp" line="1001"/>
<source>Bassoon</source>
<translation>Fagot</translation>
</message>
<message>
<location filename="../../util.cpp" line="998"/>
<location filename="../../util.cpp" line="1002"/>
<source>Oboe</source>
<translation>Oboe</translation>
</message>
<message>
<location filename="../../util.cpp" line="999"/>
<location filename="../../util.cpp" line="1003"/>
<source>Harp</source>
<translation>Arpa</translation>
</message>
<message>
<location filename="../../util.cpp" line="1000"/>
<location filename="../../util.cpp" line="1004"/>
<source>Viola</source>
<translation>Viola</translation>
</message>
<message>
<location filename="../../util.cpp" line="1001"/>
<location filename="../../util.cpp" line="1005"/>
<source>Congas</source>
<translation>Congas</translation>
</message>
<message>
<location filename="../../util.cpp" line="1002"/>
<location filename="../../util.cpp" line="1006"/>
<source>Bongo</source>
<translation>Bongo</translation>
</message>
@ -2048,42 +2077,42 @@
<translation>&amp;Ventana</translation>
</message>
<message>
<location filename="../../util.h" line="593"/>
<location filename="../../util.h" line="591"/>
<source>Unregistered</source>
<translation>Sin registrar</translation>
</message>
<message>
<location filename="../../util.h" line="596"/>
<location filename="../../util.h" line="594"/>
<source>Bad address</source>
<translation>Dirección no válida</translation>
</message>
<message>
<location filename="../../util.h" line="599"/>
<location filename="../../util.h" line="597"/>
<source>Registration requested</source>
<translation>Registro solicitado</translation>
</message>
<message>
<location filename="../../util.h" line="602"/>
<location filename="../../util.h" line="600"/>
<source>Registration failed</source>
<translation>Error de registro</translation>
</message>
<message>
<location filename="../../util.h" line="605"/>
<location filename="../../util.h" line="603"/>
<source>Check server version</source>
<translation>Comprueba la versión del servidor</translation>
</message>
<message>
<location filename="../../util.h" line="608"/>
<location filename="../../util.h" line="606"/>
<source>Registered</source>
<translation>Registrado</translation>
</message>
<message>
<location filename="../../util.h" line="611"/>
<location filename="../../util.h" line="609"/>
<source>Central Server full</source>
<translation>Servidor Central lleno</translation>
</message>
<message>
<location filename="../../util.h" line="614"/>
<location filename="../../util.h" line="612"/>
<source>Unknown value </source>
<translation>Valor desconocido </translation>
</message>

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -68,22 +68,47 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../util.cpp" line="418"/>
<location filename="../../util.cpp" line="407"/>
<source>Spanish</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../util.cpp" line="409"/>
<source>French</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../util.cpp" line="411"/>
<source>Portuguese</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../util.cpp" line="413"/>
<source>Dutch</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../util.cpp" line="415"/>
<source>German</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../util.cpp" line="422"/>
<source>About </source>
<translation>Sobre o </translation>
</message>
<message>
<location filename="../../util.cpp" line="435"/>
<location filename="../../util.cpp" line="439"/>
<source>, Version </source>
<translation>, Versão </translation>
</message>
<message>
<location filename="../../util.cpp" line="448"/>
<location filename="../../util.cpp" line="452"/>
<source>Internet Jam Session Software</source>
<translation>Programa de Jam Sessions pela Internet</translation>
</message>
<message>
<location filename="../../util.cpp" line="452"/>
<location filename="../../util.cpp" line="456"/>
<source>Under the GNU General Public License (GPL)</source>
<translation>Sob a Licença Pública Geral GNU (GPL)</translation>
</message>
@ -155,12 +180,12 @@
<context>
<name>CAudioMixerBoard</name>
<message>
<location filename="../../audiomixerboard.cpp" line="707"/>
<location filename="../../audiomixerboard.cpp" line="594"/>
<source>Server</source>
<translation>Servidor</translation>
</message>
<message>
<location filename="../../audiomixerboard.cpp" line="716"/>
<location filename="../../audiomixerboard.cpp" line="603"/>
<source>T R Y I N G T O C O N N E C T</source>
<translation>T E N T A N D O L I G A R</translation>
</message>
@ -253,44 +278,44 @@
<translation>SOLO</translation>
</message>
<message>
<location filename="../../audiomixerboard.cpp" line="442"/>
<location filename="../../audiomixerboard.cpp" line="440"/>
<source>Alias/Name</source>
<translation>Nome/Alcunha</translation>
</message>
<message>
<location filename="../../audiomixerboard.cpp" line="448"/>
<location filename="../../audiomixerboard.cpp" line="446"/>
<source>Instrument</source>
<translation>Instrumento</translation>
</message>
<message>
<location filename="../../audiomixerboard.cpp" line="456"/>
<location filename="../../audiomixerboard.cpp" line="454"/>
<source>Location</source>
<translation>Localização</translation>
</message>
<message>
<location filename="../../audiomixerboard.cpp" line="478"/>
<location filename="../../audiomixerboard.cpp" line="482"/>
<location filename="../../audiomixerboard.cpp" line="486"/>
<location filename="../../audiomixerboard.cpp" line="476"/>
<location filename="../../audiomixerboard.cpp" line="480"/>
<location filename="../../audiomixerboard.cpp" line="484"/>
<source>Skill Level</source>
<translation>Nível de Habilidade</translation>
</message>
<message>
<location filename="../../audiomixerboard.cpp" line="478"/>
<location filename="../../audiomixerboard.cpp" line="476"/>
<source>Beginner</source>
<translation>Principiante</translation>
</message>
<message>
<location filename="../../audiomixerboard.cpp" line="482"/>
<location filename="../../audiomixerboard.cpp" line="480"/>
<source>Intermediate</source>
<translation>Intermediário</translation>
</message>
<message>
<location filename="../../audiomixerboard.cpp" line="486"/>
<location filename="../../audiomixerboard.cpp" line="484"/>
<source>Expert</source>
<translation>Avançado</translation>
</message>
<message>
<location filename="../../audiomixerboard.cpp" line="497"/>
<location filename="../../audiomixerboard.cpp" line="495"/>
<source>Musician Profile</source>
<translation>Perfil do músico</translation>
</message>
@ -480,7 +505,7 @@
</message>
<message>
<location filename="../../clientdlg.cpp" line="204"/>
<location filename="../../clientdlg.cpp" line="1085"/>
<location filename="../../clientdlg.cpp" line="1075"/>
<source>C&amp;onnect</source>
<translation>&amp;Ligar</translation>
</message>
@ -621,17 +646,17 @@
<translation>O CPU do cliente ou servidor está a 100%.</translation>
</message>
<message>
<location filename="../../clientdlg.cpp" line="819"/>
<location filename="../../clientdlg.cpp" line="809"/>
<source>user</source>
<translation>utilizador</translation>
</message>
<message>
<location filename="../../clientdlg.cpp" line="824"/>
<location filename="../../clientdlg.cpp" line="814"/>
<source>users</source>
<translation>utilizadores</translation>
</message>
<message>
<location filename="../../clientdlg.cpp" line="1061"/>
<location filename="../../clientdlg.cpp" line="1051"/>
<source>D&amp;isconnect</source>
<translation>Desl&amp;igar</translation>
</message>
@ -1470,28 +1495,28 @@
<context>
<name>CHelpMenu</name>
<message>
<location filename="../../util.cpp" line="835"/>
<location filename="../../util.cpp" line="839"/>
<source>&amp;Help</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../util.cpp" line="840"/>
<location filename="../../util.cpp" line="845"/>
<location filename="../../util.cpp" line="844"/>
<location filename="../../util.cpp" line="849"/>
<source>Getting &amp;Started...</source>
<translation>Como Começa&amp;r...</translation>
</message>
<message>
<location filename="../../util.cpp" line="841"/>
<location filename="../../util.cpp" line="845"/>
<source>Software &amp;Manual...</source>
<translation>&amp;Manual do Programa...</translation>
</message>
<message>
<location filename="../../util.cpp" line="848"/>
<location filename="../../util.cpp" line="852"/>
<source>What&apos;s &amp;This</source>
<translation>O que é &amp;isto</translation>
</message>
<message>
<location filename="../../util.cpp" line="850"/>
<location filename="../../util.cpp" line="854"/>
<source>&amp;About...</source>
<translation>&amp;Sobre...</translation>
</message>
@ -1499,102 +1524,102 @@
<context>
<name>CLicenceDlg</name>
<message>
<location filename="../../util.cpp" line="474"/>
<location filename="../../util.cpp" line="478"/>
<source>I &amp;agree to the above licence terms</source>
<translation>Eu &amp;aceito os termos da licença acima</translation>
</message>
<message>
<location filename="../../util.cpp" line="475"/>
<location filename="../../util.cpp" line="479"/>
<source>Accept</source>
<translation>Aceitar</translation>
</message>
<message>
<location filename="../../util.cpp" line="476"/>
<location filename="../../util.cpp" line="480"/>
<source>Decline</source>
<translation>Rejeitar</translation>
</message>
<message>
<location filename="../../util.cpp" line="492"/>
<location filename="../../util.cpp" line="496"/>
<source>By connecting to this server and agreeing to this notice, you agree to the following:</source>
<translation>Ao ligar-se a este servidor e concordar com este aviso, está a concordar com o seguinte:</translation>
</message>
<message>
<location filename="../../util.cpp" line="494"/>
<location filename="../../util.cpp" line="498"/>
<source>You agree that all data, sounds, or other works transmitted to this server are owned and created by you or your licensors, and that you are making these data, sounds or other works available via the following Creative Commons License (for more information on this license, see </source>
<translation>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 </translation>
</message>
<message>
<location filename="../../util.cpp" line="502"/>
<location filename="../../util.cpp" line="506"/>
<source>You are free to:</source>
<translation>Você tem o direito de:</translation>
</message>
<message>
<location filename="../../util.cpp" line="504"/>
<location filename="../../util.cpp" line="508"/>
<source>Share</source>
<translation>Compartilhar</translation>
</message>
<message>
<location filename="../../util.cpp" line="505"/>
<location filename="../../util.cpp" line="509"/>
<source>copy and redistribute the material in any medium or format</source>
<translation>copiar e redistribuir o material em qualquer suporte ou formato</translation>
</message>
<message>
<location filename="../../util.cpp" line="506"/>
<location filename="../../util.cpp" line="510"/>
<source>Adapt</source>
<translation>Adaptar</translation>
</message>
<message>
<location filename="../../util.cpp" line="507"/>
<location filename="../../util.cpp" line="511"/>
<source>remix, transform, and build upon the material</source>
<translation>remisturar, transformar, e criar a partir do material</translation>
</message>
<message>
<location filename="../../util.cpp" line="508"/>
<location filename="../../util.cpp" line="512"/>
<source>The licensor cannot revoke these freedoms as long as you follow the license terms.</source>
<translation>O licenciante não pode revogar estes direitos desde que você respeite os termos da licença.</translation>
</message>
<message>
<location filename="../../util.cpp" line="510"/>
<location filename="../../util.cpp" line="514"/>
<source>Under the following terms:</source>
<translation>De acordo com os termos seguintes:</translation>
</message>
<message>
<location filename="../../util.cpp" line="512"/>
<location filename="../../util.cpp" line="516"/>
<source>Attribution</source>
<translation>Atribuição</translation>
</message>
<message>
<location filename="../../util.cpp" line="513"/>
<location filename="../../util.cpp" line="517"/>
<source>You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.</source>
<translation>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.</translation>
</message>
<message>
<location filename="../../util.cpp" line="516"/>
<location filename="../../util.cpp" line="520"/>
<source>NonCommercial</source>
<translation>NãoComercial</translation>
</message>
<message>
<location filename="../../util.cpp" line="517"/>
<location filename="../../util.cpp" line="521"/>
<source>You may not use the material for commercial purposes.</source>
<translation>Você não pode usar o material para fins comerciais.</translation>
</message>
<message>
<location filename="../../util.cpp" line="518"/>
<location filename="../../util.cpp" line="522"/>
<source>ShareAlike</source>
<translation>CompartilhaIgual</translation>
</message>
<message>
<location filename="../../util.cpp" line="519"/>
<location filename="../../util.cpp" line="523"/>
<source>If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original.</source>
<translation>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.</translation>
</message>
<message>
<location filename="../../util.cpp" line="521"/>
<location filename="../../util.cpp" line="525"/>
<source>No additional restrictions</source>
<translation>Sem restrições adicionais</translation>
</message>
<message>
<location filename="../../util.cpp" line="522"/>
<location filename="../../util.cpp" line="526"/>
<source>You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.</source>
<translation>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.</translation>
</message>
@ -1602,270 +1627,270 @@
<context>
<name>CMusProfDlg</name>
<message>
<location filename="../../util.cpp" line="706"/>
<location filename="../../util.cpp" line="710"/>
<source> server. This tag will also show up at each client which is connected to the same server as you. If the name is left empty, the IP address is shown instead.</source>
<translation>. 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.</translation>
</message>
<message>
<location filename="../../util.cpp" line="711"/>
<location filename="../../util.cpp" line="715"/>
<source>Alias or name edit box</source>
<translation>Caixa de edição do nome ou pseudônimo</translation>
</message>
<message>
<location filename="../../util.cpp" line="713"/>
<location filename="../../util.cpp" line="717"/>
<source>Instrument picture button</source>
<translation>Botão da imagem do instrumento</translation>
</message>
<message>
<location filename="../../util.cpp" line="715"/>
<location filename="../../util.cpp" line="719"/>
<source>Country flag button</source>
<translation>Botão da bandeira do país</translation>
</message>
<message>
<location filename="../../util.cpp" line="717"/>
<location filename="../../util.cpp" line="721"/>
<source>City edit box</source>
<translation>Caixa de edição da cidade</translation>
</message>
<message>
<location filename="../../util.cpp" line="719"/>
<location filename="../../util.cpp" line="723"/>
<source>Skill level combo box</source>
<translation>Caixa do nível de habilidade</translation>
</message>
<message>
<location filename="../../util.cpp" line="664"/>
<location filename="../../util.cpp" line="676"/>
<location filename="../../util.cpp" line="968"/>
<location filename="../../util.cpp" line="668"/>
<location filename="../../util.cpp" line="680"/>
<location filename="../../util.cpp" line="972"/>
<source>None</source>
<translation>Nenhum</translation>
</message>
<message>
<location filename="../../util.cpp" line="551"/>
<location filename="../../util.cpp" line="699"/>
<location filename="../../util.cpp" line="555"/>
<location filename="../../util.cpp" line="703"/>
<source>Musician Profile</source>
<translation>Perfil do músico</translation>
</message>
<message>
<location filename="../../util.cpp" line="556"/>
<location filename="../../util.cpp" line="560"/>
<source>Alias/Name</source>
<translation>Nome/Alcunha</translation>
</message>
<message>
<location filename="../../util.cpp" line="558"/>
<location filename="../../util.cpp" line="562"/>
<source>Instrument</source>
<translation>Instrumento</translation>
</message>
<message>
<location filename="../../util.cpp" line="560"/>
<location filename="../../util.cpp" line="564"/>
<source>Country</source>
<translation>País</translation>
</message>
<message>
<location filename="../../util.cpp" line="562"/>
<location filename="../../util.cpp" line="566"/>
<source>City</source>
<translation>Cidade</translation>
</message>
<message>
<location filename="../../util.cpp" line="564"/>
<location filename="../../util.cpp" line="568"/>
<source>Skill</source>
<translation>Habilidade</translation>
</message>
<message>
<location filename="../../util.cpp" line="566"/>
<location filename="../../util.cpp" line="570"/>
<source>&amp;Close</source>
<translation>&amp;Fechar</translation>
</message>
<message>
<location filename="../../util.cpp" line="682"/>
<location filename="../../util.cpp" line="686"/>
<source>Beginner</source>
<translation>Principiante</translation>
</message>
<message>
<location filename="../../util.cpp" line="688"/>
<location filename="../../util.cpp" line="692"/>
<source>Intermediate</source>
<translation>Intermediário</translation>
</message>
<message>
<location filename="../../util.cpp" line="694"/>
<location filename="../../util.cpp" line="698"/>
<source>Expert</source>
<translation>Avançado</translation>
</message>
<message>
<location filename="../../util.cpp" line="699"/>
<location filename="../../util.cpp" line="703"/>
<source>Set your name or an alias here so that the other musicians you want to play with know who you are. Additionally you may set an instrument picture of the instrument you play and a flag of the country you are living. The city you live in and the skill level of playing your instrument may also be added.</source>
<translation>Defina 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 definir uma imagem do instrumento que toca e uma bandeira do país em que vive. A cidade em que vive e o nível de habilidade com o seu instrumento também podem ser adicionados.</translation>
</message>
<message>
<location filename="../../util.cpp" line="704"/>
<location filename="../../util.cpp" line="708"/>
<source>What you set here will appear at your fader on the mixer board when you are connected to a </source>
<translation>O que definir aqui aparecerá por baixo do seu fader na secção de mistura quando estiver ligado a um servidor </translation>
</message>
<message>
<location filename="../../util.cpp" line="969"/>
<location filename="../../util.cpp" line="973"/>
<source>Drum Set</source>
<translation>Bateria</translation>
</message>
<message>
<location filename="../../util.cpp" line="970"/>
<location filename="../../util.cpp" line="974"/>
<source>Djembe</source>
<translation>Djembe</translation>
</message>
<message>
<location filename="../../util.cpp" line="971"/>
<location filename="../../util.cpp" line="975"/>
<source>Electric Guitar</source>
<translation>Guitarra Elétrica</translation>
</message>
<message>
<location filename="../../util.cpp" line="972"/>
<location filename="../../util.cpp" line="976"/>
<source>Acoustic Guitar</source>
<translation>Guitarra Acústica</translation>
</message>
<message>
<location filename="../../util.cpp" line="973"/>
<location filename="../../util.cpp" line="977"/>
<source>Bass Guitar</source>
<translation>Baixo</translation>
</message>
<message>
<location filename="../../util.cpp" line="974"/>
<location filename="../../util.cpp" line="978"/>
<source>Keyboard</source>
<translation>Teclado</translation>
</message>
<message>
<location filename="../../util.cpp" line="975"/>
<location filename="../../util.cpp" line="979"/>
<source>Synthesizer</source>
<translation>Sintetizador</translation>
</message>
<message>
<location filename="../../util.cpp" line="976"/>
<location filename="../../util.cpp" line="980"/>
<source>Grand Piano</source>
<translation>Piano de Cauda</translation>
</message>
<message>
<location filename="../../util.cpp" line="977"/>
<location filename="../../util.cpp" line="981"/>
<source>Accordion</source>
<translation>Acordeão</translation>
</message>
<message>
<location filename="../../util.cpp" line="978"/>
<location filename="../../util.cpp" line="982"/>
<source>Vocal</source>
<translation>Voz</translation>
</message>
<message>
<location filename="../../util.cpp" line="979"/>
<location filename="../../util.cpp" line="983"/>
<source>Microphone</source>
<translation>Microfone</translation>
</message>
<message>
<location filename="../../util.cpp" line="980"/>
<location filename="../../util.cpp" line="984"/>
<source>Harmonica</source>
<translation>Harmónica</translation>
</message>
<message>
<location filename="../../util.cpp" line="981"/>
<location filename="../../util.cpp" line="985"/>
<source>Trumpet</source>
<translation>Trompete</translation>
</message>
<message>
<location filename="../../util.cpp" line="982"/>
<location filename="../../util.cpp" line="986"/>
<source>Trombone</source>
<translation>Trombone</translation>
</message>
<message>
<location filename="../../util.cpp" line="983"/>
<location filename="../../util.cpp" line="987"/>
<source>French Horn</source>
<translation>Trompa Francesa</translation>
</message>
<message>
<location filename="../../util.cpp" line="984"/>
<location filename="../../util.cpp" line="988"/>
<source>Tuba</source>
<translation>Tuba</translation>
</message>
<message>
<location filename="../../util.cpp" line="985"/>
<location filename="../../util.cpp" line="989"/>
<source>Saxophone</source>
<translation>Saxofone</translation>
</message>
<message>
<location filename="../../util.cpp" line="986"/>
<location filename="../../util.cpp" line="990"/>
<source>Clarinet</source>
<translation>Clarinete</translation>
</message>
<message>
<location filename="../../util.cpp" line="987"/>
<location filename="../../util.cpp" line="991"/>
<source>Flute</source>
<translation>Flauta</translation>
</message>
<message>
<location filename="../../util.cpp" line="988"/>
<location filename="../../util.cpp" line="992"/>
<source>Violin</source>
<translation>Violino</translation>
</message>
<message>
<location filename="../../util.cpp" line="989"/>
<location filename="../../util.cpp" line="993"/>
<source>Cello</source>
<translation>Violoncelo</translation>
</message>
<message>
<location filename="../../util.cpp" line="990"/>
<location filename="../../util.cpp" line="994"/>
<source>Double Bass</source>
<translation>Contrabaixo</translation>
</message>
<message>
<location filename="../../util.cpp" line="991"/>
<location filename="../../util.cpp" line="995"/>
<source>Recorder</source>
<translation>Gravador</translation>
</message>
<message>
<location filename="../../util.cpp" line="992"/>
<location filename="../../util.cpp" line="996"/>
<source>Streamer</source>
<translation>Streamer</translation>
</message>
<message>
<location filename="../../util.cpp" line="993"/>
<location filename="../../util.cpp" line="997"/>
<source>Listener</source>
<translation>Ouvinte</translation>
</message>
<message>
<location filename="../../util.cpp" line="994"/>
<location filename="../../util.cpp" line="998"/>
<source>Guitar+Vocal</source>
<translation>Guitarra+Voz</translation>
</message>
<message>
<location filename="../../util.cpp" line="995"/>
<location filename="../../util.cpp" line="999"/>
<source>Keyboard+Vocal</source>
<translation>Teclado+Voz</translation>
</message>
<message>
<location filename="../../util.cpp" line="996"/>
<location filename="../../util.cpp" line="1000"/>
<source>Bodhran</source>
<translation>Bodhrán</translation>
</message>
<message>
<location filename="../../util.cpp" line="997"/>
<location filename="../../util.cpp" line="1001"/>
<source>Bassoon</source>
<translation>Fagote</translation>
</message>
<message>
<location filename="../../util.cpp" line="998"/>
<location filename="../../util.cpp" line="1002"/>
<source>Oboe</source>
<translation>Oboé</translation>
</message>
<message>
<location filename="../../util.cpp" line="999"/>
<location filename="../../util.cpp" line="1003"/>
<source>Harp</source>
<translation>Harpa</translation>
</message>
<message>
<location filename="../../util.cpp" line="1000"/>
<location filename="../../util.cpp" line="1004"/>
<source>Viola</source>
<translation>Viola de Arco</translation>
</message>
<message>
<location filename="../../util.cpp" line="1001"/>
<location filename="../../util.cpp" line="1005"/>
<source>Congas</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../util.cpp" line="1002"/>
<location filename="../../util.cpp" line="1006"/>
<source>Bongo</source>
<translation type="unfinished"></translation>
</message>
@ -2056,42 +2081,42 @@
<translation>&amp;Janela</translation>
</message>
<message>
<location filename="../../util.h" line="593"/>
<location filename="../../util.h" line="591"/>
<source>Unregistered</source>
<translation>Não Registado</translation>
</message>
<message>
<location filename="../../util.h" line="596"/>
<location filename="../../util.h" line="594"/>
<source>Bad address</source>
<translation>Endereço incorrecto</translation>
</message>
<message>
<location filename="../../util.h" line="599"/>
<location filename="../../util.h" line="597"/>
<source>Registration requested</source>
<translation>Registo solicitado</translation>
</message>
<message>
<location filename="../../util.h" line="602"/>
<location filename="../../util.h" line="600"/>
<source>Registration failed</source>
<translation>Falha no registo</translation>
</message>
<message>
<location filename="../../util.h" line="605"/>
<location filename="../../util.h" line="603"/>
<source>Check server version</source>
<translation>Verifique versão do servidor</translation>
</message>
<message>
<location filename="../../util.h" line="608"/>
<location filename="../../util.h" line="606"/>
<source>Registered</source>
<translation>Registado</translation>
</message>
<message>
<location filename="../../util.h" line="611"/>
<location filename="../../util.h" line="609"/>
<source>Central Server full</source>
<translation>Servidor Central Cheio</translation>
</message>
<message>
<location filename="../../util.h" line="614"/>
<location filename="../../util.h" line="612"/>
<source>Unknown value </source>
<translation>Valor desconhecido </translation>
</message>

View File

@ -11,6 +11,9 @@
<qresource prefix="/translations" lang="es">
<file alias="translation.qm">res/translation/translation_es_ES.qm</file>
</qresource>
<qresource prefix="/translations" lang="nl">
<file alias="translation.qm">res/translation/translation_nl_NL.qm</file>
</qresource>
<qresource prefix="/png/LEDs">
<file>res/CLEDDisabledSmall.png</file>
<file>res/CLEDGreenArrow.png</file>

View File

@ -231,28 +231,28 @@ CServer::CServer ( const int iNewMaxNumChan,
const QString& strNewWelcomeMessage,
const QString& strRecordingDirName,
const bool bNCentServPingServerInList,
const bool bNDisconnectAllClients,
const bool bNDisconnectAllClientsOnQuit,
const bool bNUseDoubleSystemFrameSize,
const ELicenceType eNLicenceType ) :
bUseDoubleSystemFrameSize ( bNUseDoubleSystemFrameSize ),
iMaxNumChannels ( iNewMaxNumChan ),
Socket ( this, iPortNumber ),
Logging ( iMaxDaysHistory ),
JamRecorder ( strRecordingDirName ),
bEnableRecording ( !strRecordingDirName.isEmpty() ),
bWriteStatusHTMLFile ( false ),
HighPrecisionTimer ( bNUseDoubleSystemFrameSize ),
ServerListManager ( iPortNumber,
strCentralServer,
strServerInfo,
iNewMaxNumChan,
bNCentServPingServerInList,
&ConnLessProtocol ),
bAutoRunMinimized ( false ),
strWelcomeMessage ( strNewWelcomeMessage ),
eLicenceType ( eNLicenceType ),
bDisconnectAllClients ( bNDisconnectAllClients ),
pSignalHandler ( CSignalHandler::getSingletonP() )
bUseDoubleSystemFrameSize ( bNUseDoubleSystemFrameSize ),
iMaxNumChannels ( iNewMaxNumChan ),
Socket ( this, iPortNumber ),
Logging ( iMaxDaysHistory ),
JamRecorder ( strRecordingDirName ),
bEnableRecording ( !strRecordingDirName.isEmpty() ),
bWriteStatusHTMLFile ( false ),
HighPrecisionTimer ( bNUseDoubleSystemFrameSize ),
ServerListManager ( iPortNumber,
strCentralServer,
strServerInfo,
iNewMaxNumChan,
bNCentServPingServerInList,
&ConnLessProtocol ),
bAutoRunMinimized ( false ),
strWelcomeMessage ( strNewWelcomeMessage ),
eLicenceType ( eNLicenceType ),
bDisconnectAllClientsOnQuit ( bNDisconnectAllClientsOnQuit ),
pSignalHandler ( CSignalHandler::getSingletonP() )
{
int iOpusError;
int i;
@ -474,281 +474,13 @@ CServer::CServer ( const int iNewMaxNumChan,
SIGNAL ( ShutdownSignal ( int ) ),
this, SLOT ( OnShutdown ( int ) ) );
#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
connectChannelSignalsToServerSlots<MAX_NUM_CHANNELS>();
#else
// CODE TAG: MAX_NUM_CHANNELS_TAG
// make sure we have MAX_NUM_CHANNELS connections!!!
// send message
QObject::connect ( &vecChannels[0], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh0 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[1], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh1 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[2], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh2 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[3], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh3 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[4], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh4 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[5], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh5 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[6], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh6 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[7], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh7 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[8], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh8 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[9], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh9 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[10], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh10 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[11], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh11 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[12], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh12 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[13], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh13 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[14], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh14 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[15], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh15 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[16], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh16 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[17], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh17 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[18], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh18 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[19], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh19 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[20], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh20 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[21], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh21 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[22], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh22 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[23], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh23 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[24], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh24 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[25], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh25 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[26], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh26 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[27], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh27 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[28], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh28 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[29], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh29 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[30], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh30 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[31], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh31 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[32], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh32 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[33], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh33 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[34], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh34 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[35], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh35 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[36], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh36 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[37], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh37 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[38], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh38 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[39], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh39 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[40], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh40 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[41], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh41 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[42], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh42 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[43], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh43 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[44], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh44 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[45], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh45 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[46], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh46 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[47], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh47 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[48], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh48 ( CVector<uint8_t> ) ) );
QObject::connect ( &vecChannels[49], SIGNAL ( MessReadyForSending ( CVector<uint8_t> ) ), this, SLOT ( OnSendProtMessCh49 ( CVector<uint8_t> ) ) );
// request connected clients list
QObject::connect ( &vecChannels[0], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh0() ) );
QObject::connect ( &vecChannels[1], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh1() ) );
QObject::connect ( &vecChannels[2], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh2() ) );
QObject::connect ( &vecChannels[3], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh3() ) );
QObject::connect ( &vecChannels[4], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh4() ) );
QObject::connect ( &vecChannels[5], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh5() ) );
QObject::connect ( &vecChannels[6], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh6() ) );
QObject::connect ( &vecChannels[7], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh7() ) );
QObject::connect ( &vecChannels[8], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh8() ) );
QObject::connect ( &vecChannels[9], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh9() ) );
QObject::connect ( &vecChannels[10], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh10() ) );
QObject::connect ( &vecChannels[11], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh11() ) );
QObject::connect ( &vecChannels[12], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh12() ) );
QObject::connect ( &vecChannels[13], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh13() ) );
QObject::connect ( &vecChannels[14], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh14() ) );
QObject::connect ( &vecChannels[15], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh15() ) );
QObject::connect ( &vecChannels[16], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh16() ) );
QObject::connect ( &vecChannels[17], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh17() ) );
QObject::connect ( &vecChannels[18], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh18() ) );
QObject::connect ( &vecChannels[19], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh19() ) );
QObject::connect ( &vecChannels[20], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh20() ) );
QObject::connect ( &vecChannels[21], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh21() ) );
QObject::connect ( &vecChannels[22], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh22() ) );
QObject::connect ( &vecChannels[23], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh23() ) );
QObject::connect ( &vecChannels[24], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh24() ) );
QObject::connect ( &vecChannels[25], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh25() ) );
QObject::connect ( &vecChannels[26], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh26() ) );
QObject::connect ( &vecChannels[27], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh27() ) );
QObject::connect ( &vecChannels[28], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh28() ) );
QObject::connect ( &vecChannels[29], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh29() ) );
QObject::connect ( &vecChannels[30], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh30() ) );
QObject::connect ( &vecChannels[31], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh31() ) );
QObject::connect ( &vecChannels[32], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh32() ) );
QObject::connect ( &vecChannels[33], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh33() ) );
QObject::connect ( &vecChannels[34], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh34() ) );
QObject::connect ( &vecChannels[35], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh35() ) );
QObject::connect ( &vecChannels[36], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh36() ) );
QObject::connect ( &vecChannels[37], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh37() ) );
QObject::connect ( &vecChannels[38], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh38() ) );
QObject::connect ( &vecChannels[39], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh39() ) );
QObject::connect ( &vecChannels[40], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh40() ) );
QObject::connect ( &vecChannels[41], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh41() ) );
QObject::connect ( &vecChannels[42], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh42() ) );
QObject::connect ( &vecChannels[43], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh43() ) );
QObject::connect ( &vecChannels[44], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh44() ) );
QObject::connect ( &vecChannels[45], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh45() ) );
QObject::connect ( &vecChannels[46], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh46() ) );
QObject::connect ( &vecChannels[47], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh47() ) );
QObject::connect ( &vecChannels[48], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh48() ) );
QObject::connect ( &vecChannels[49], SIGNAL ( ReqConnClientsList() ), this, SLOT ( OnReqConnClientsListCh49() ) );
// channel info has changed
QObject::connect ( &vecChannels[0], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh0() ) );
QObject::connect ( &vecChannels[1], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh1() ) );
QObject::connect ( &vecChannels[2], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh2() ) );
QObject::connect ( &vecChannels[3], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh3() ) );
QObject::connect ( &vecChannels[4], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh4() ) );
QObject::connect ( &vecChannels[5], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh5() ) );
QObject::connect ( &vecChannels[6], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh6() ) );
QObject::connect ( &vecChannels[7], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh7() ) );
QObject::connect ( &vecChannels[8], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh8() ) );
QObject::connect ( &vecChannels[9], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh9() ) );
QObject::connect ( &vecChannels[10], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh10() ) );
QObject::connect ( &vecChannels[11], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh11() ) );
QObject::connect ( &vecChannels[12], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh12() ) );
QObject::connect ( &vecChannels[13], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh13() ) );
QObject::connect ( &vecChannels[14], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh14() ) );
QObject::connect ( &vecChannels[15], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh15() ) );
QObject::connect ( &vecChannels[16], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh16() ) );
QObject::connect ( &vecChannels[17], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh17() ) );
QObject::connect ( &vecChannels[18], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh18() ) );
QObject::connect ( &vecChannels[19], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh19() ) );
QObject::connect ( &vecChannels[20], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh20() ) );
QObject::connect ( &vecChannels[21], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh21() ) );
QObject::connect ( &vecChannels[22], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh22() ) );
QObject::connect ( &vecChannels[23], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh23() ) );
QObject::connect ( &vecChannels[24], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh24() ) );
QObject::connect ( &vecChannels[25], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh25() ) );
QObject::connect ( &vecChannels[26], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh26() ) );
QObject::connect ( &vecChannels[27], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh27() ) );
QObject::connect ( &vecChannels[28], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh28() ) );
QObject::connect ( &vecChannels[29], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh29() ) );
QObject::connect ( &vecChannels[30], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh30() ) );
QObject::connect ( &vecChannels[31], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh31() ) );
QObject::connect ( &vecChannels[32], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh32() ) );
QObject::connect ( &vecChannels[33], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh33() ) );
QObject::connect ( &vecChannels[34], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh34() ) );
QObject::connect ( &vecChannels[35], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh35() ) );
QObject::connect ( &vecChannels[36], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh36() ) );
QObject::connect ( &vecChannels[37], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh37() ) );
QObject::connect ( &vecChannels[38], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh38() ) );
QObject::connect ( &vecChannels[39], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh39() ) );
QObject::connect ( &vecChannels[40], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh40() ) );
QObject::connect ( &vecChannels[41], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh41() ) );
QObject::connect ( &vecChannels[42], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh42() ) );
QObject::connect ( &vecChannels[43], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh43() ) );
QObject::connect ( &vecChannels[44], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh44() ) );
QObject::connect ( &vecChannels[45], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh45() ) );
QObject::connect ( &vecChannels[46], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh46() ) );
QObject::connect ( &vecChannels[47], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh47() ) );
QObject::connect ( &vecChannels[48], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh48() ) );
QObject::connect ( &vecChannels[49], SIGNAL ( ChanInfoHasChanged() ), this, SLOT ( OnChanInfoHasChangedCh49() ) );
// chat text received
QObject::connect ( &vecChannels[0], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh0 ( QString ) ) );
QObject::connect ( &vecChannels[1], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh1 ( QString ) ) );
QObject::connect ( &vecChannels[2], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh2 ( QString ) ) );
QObject::connect ( &vecChannels[3], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh3 ( QString ) ) );
QObject::connect ( &vecChannels[4], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh4 ( QString ) ) );
QObject::connect ( &vecChannels[5], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh5 ( QString ) ) );
QObject::connect ( &vecChannels[6], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh6 ( QString ) ) );
QObject::connect ( &vecChannels[7], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh7 ( QString ) ) );
QObject::connect ( &vecChannels[8], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh8 ( QString ) ) );
QObject::connect ( &vecChannels[9], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh9 ( QString ) ) );
QObject::connect ( &vecChannels[10], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh10 ( QString ) ) );
QObject::connect ( &vecChannels[11], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh11 ( QString ) ) );
QObject::connect ( &vecChannels[12], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh12 ( QString ) ) );
QObject::connect ( &vecChannels[13], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh13 ( QString ) ) );
QObject::connect ( &vecChannels[14], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh14 ( QString ) ) );
QObject::connect ( &vecChannels[15], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh15 ( QString ) ) );
QObject::connect ( &vecChannels[16], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh16 ( QString ) ) );
QObject::connect ( &vecChannels[17], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh17 ( QString ) ) );
QObject::connect ( &vecChannels[18], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh18 ( QString ) ) );
QObject::connect ( &vecChannels[19], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh19 ( QString ) ) );
QObject::connect ( &vecChannels[20], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh20 ( QString ) ) );
QObject::connect ( &vecChannels[21], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh21 ( QString ) ) );
QObject::connect ( &vecChannels[22], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh22 ( QString ) ) );
QObject::connect ( &vecChannels[23], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh23 ( QString ) ) );
QObject::connect ( &vecChannels[24], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh24 ( QString ) ) );
QObject::connect ( &vecChannels[25], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh25 ( QString ) ) );
QObject::connect ( &vecChannels[26], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh26 ( QString ) ) );
QObject::connect ( &vecChannels[27], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh27 ( QString ) ) );
QObject::connect ( &vecChannels[28], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh28 ( QString ) ) );
QObject::connect ( &vecChannels[29], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh29 ( QString ) ) );
QObject::connect ( &vecChannels[30], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh30 ( QString ) ) );
QObject::connect ( &vecChannels[31], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh31 ( QString ) ) );
QObject::connect ( &vecChannels[32], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh32 ( QString ) ) );
QObject::connect ( &vecChannels[33], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh33 ( QString ) ) );
QObject::connect ( &vecChannels[34], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh34 ( QString ) ) );
QObject::connect ( &vecChannels[35], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh35 ( QString ) ) );
QObject::connect ( &vecChannels[36], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh36 ( QString ) ) );
QObject::connect ( &vecChannels[37], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh37 ( QString ) ) );
QObject::connect ( &vecChannels[38], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh38 ( QString ) ) );
QObject::connect ( &vecChannels[39], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh39 ( QString ) ) );
QObject::connect ( &vecChannels[40], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh40 ( QString ) ) );
QObject::connect ( &vecChannels[41], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh41 ( QString ) ) );
QObject::connect ( &vecChannels[42], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh42 ( QString ) ) );
QObject::connect ( &vecChannels[43], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh43 ( QString ) ) );
QObject::connect ( &vecChannels[44], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh44 ( QString ) ) );
QObject::connect ( &vecChannels[45], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh45 ( QString ) ) );
QObject::connect ( &vecChannels[46], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh46 ( QString ) ) );
QObject::connect ( &vecChannels[47], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh47 ( QString ) ) );
QObject::connect ( &vecChannels[48], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh48 ( QString ) ) );
QObject::connect ( &vecChannels[49], SIGNAL ( ChatTextReceived ( QString ) ), this, SLOT ( OnChatTextReceivedCh49 ( QString ) ) );
// auto socket buffer size change
QObject::connect ( &vecChannels[0], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh0 ( int ) ) );
QObject::connect ( &vecChannels[1], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh1 ( int ) ) );
QObject::connect ( &vecChannels[2], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh2 ( int ) ) );
QObject::connect ( &vecChannels[3], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh3 ( int ) ) );
QObject::connect ( &vecChannels[4], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh4 ( int ) ) );
QObject::connect ( &vecChannels[5], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh5 ( int ) ) );
QObject::connect ( &vecChannels[6], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh6 ( int ) ) );
QObject::connect ( &vecChannels[7], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh7 ( int ) ) );
QObject::connect ( &vecChannels[8], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh8 ( int ) ) );
QObject::connect ( &vecChannels[9], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh9 ( int ) ) );
QObject::connect ( &vecChannels[10], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh10 ( int ) ) );
QObject::connect ( &vecChannels[11], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh11 ( int ) ) );
QObject::connect ( &vecChannels[12], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh12 ( int ) ) );
QObject::connect ( &vecChannels[13], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh13 ( int ) ) );
QObject::connect ( &vecChannels[14], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh14 ( int ) ) );
QObject::connect ( &vecChannels[15], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh15 ( int ) ) );
QObject::connect ( &vecChannels[16], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh16 ( int ) ) );
QObject::connect ( &vecChannels[17], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh17 ( int ) ) );
QObject::connect ( &vecChannels[18], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh18 ( int ) ) );
QObject::connect ( &vecChannels[19], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh19 ( int ) ) );
QObject::connect ( &vecChannels[20], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh20 ( int ) ) );
QObject::connect ( &vecChannels[21], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh21 ( int ) ) );
QObject::connect ( &vecChannels[22], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh22 ( int ) ) );
QObject::connect ( &vecChannels[23], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh23 ( int ) ) );
QObject::connect ( &vecChannels[24], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh24 ( int ) ) );
QObject::connect ( &vecChannels[25], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh25 ( int ) ) );
QObject::connect ( &vecChannels[26], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh26 ( int ) ) );
QObject::connect ( &vecChannels[27], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh27 ( int ) ) );
QObject::connect ( &vecChannels[28], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh28 ( int ) ) );
QObject::connect ( &vecChannels[29], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh29 ( int ) ) );
QObject::connect ( &vecChannels[30], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh30 ( int ) ) );
QObject::connect ( &vecChannels[31], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh31 ( int ) ) );
QObject::connect ( &vecChannels[32], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh32 ( int ) ) );
QObject::connect ( &vecChannels[33], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh33 ( int ) ) );
QObject::connect ( &vecChannels[34], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh34 ( int ) ) );
QObject::connect ( &vecChannels[35], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh35 ( int ) ) );
QObject::connect ( &vecChannels[36], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh36 ( int ) ) );
QObject::connect ( &vecChannels[37], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh37 ( int ) ) );
QObject::connect ( &vecChannels[38], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh38 ( int ) ) );
QObject::connect ( &vecChannels[39], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh39 ( int ) ) );
QObject::connect ( &vecChannels[40], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh40 ( int ) ) );
QObject::connect ( &vecChannels[41], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh41 ( int ) ) );
QObject::connect ( &vecChannels[42], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh42 ( int ) ) );
QObject::connect ( &vecChannels[43], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh43 ( int ) ) );
QObject::connect ( &vecChannels[44], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh44 ( int ) ) );
QObject::connect ( &vecChannels[45], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh45 ( int ) ) );
QObject::connect ( &vecChannels[46], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh46 ( int ) ) );
QObject::connect ( &vecChannels[47], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh47 ( int ) ) );
QObject::connect ( &vecChannels[48], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh48 ( int ) ) );
QObject::connect ( &vecChannels[49], SIGNAL ( ServerAutoSockBufSizeChange ( int ) ), this, SLOT ( OnServerAutoSockBufSizeChangeCh49 ( int ) ) );
#endif
// start the socket (it is important to start the socket after all
// initializations and connections)
Socket.Start();
}
#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
template<unsigned int slotId>
inline void CServer::connectChannelSignalsToServerSlots()
{
@ -776,15 +508,15 @@ inline void CServer::connectChannelSignalsToServerSlots()
// channel info has changed
QObject::connect ( &vecChannels[iCurChanID], &CChannel::ChanInfoHasChanged,
this, &CServer::CreateAndSendChanListForAllConChannels );
this, &CServer::CreateAndSendChanListForAllConChannels );
// chat text received
QObject::connect ( &vecChannels[iCurChanID], &CChannel::ChatTextReceived,
this, pOnChatTextReceivedCh );
this, pOnChatTextReceivedCh );
// auto socket buffer size change
QObject::connect ( &vecChannels[iCurChanID], &CChannel::ServerAutoSockBufSizeChange,
this, pOnServerAutoSockBufSizeChangeCh );
this, pOnServerAutoSockBufSizeChangeCh );
connectChannelSignalsToServerSlots<slotId - 1>();
};
@ -798,8 +530,6 @@ void CServer::CreateAndSendJitBufMessage ( const int iCurChanID,
vecChannels[iCurChanID].CreateJitBufMes ( iNNumFra );
}
#endif
void CServer::SendProtMessage ( int iChID, CVector<uint8_t> vecMessage )
{
// the protocol queries me to call the function to send the message
@ -810,14 +540,6 @@ void CServer::SendProtMessage ( int iChID, CVector<uint8_t> vecMessage )
void CServer::OnNewConnection ( int iChID,
CHostAddress RecHostAddr )
{
// in the special case that all clients shall be disconnected, just send the
// disconnect message and leave this function
if ( bDisconnectAllClients )
{
ConnLessProtocol.CreateCLDisconnection ( RecHostAddr );
return;
}
// on a new connection we query the network transport properties for the
// audio packets (to use the correct network block size and audio
// compression properties, etc.)
@ -918,6 +640,22 @@ void CServer::OnCLDisconnection ( CHostAddress InetAddr )
void CServer::OnAboutToQuit()
{
// if enabled, disconnect all clients on quit
if ( bDisconnectAllClientsOnQuit )
{
Mutex.lock();
{
for ( int i = 0; i < iMaxNumChannels; i++ )
{
if ( vecChannels[i].IsConnected() )
{
ConnLessProtocol.CreateCLDisconnection ( vecChannels[i].GetAddress() );
}
}
}
Mutex.unlock(); // release mutex
}
Stop();
// if server was registered at the central server, unregister on shutdown

View File

@ -117,8 +117,6 @@ signals:
};
#endif
#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
template<unsigned int slotId>
class CServerSlots : public CServerSlots<slotId - 1>
{
@ -153,12 +151,6 @@ protected:
template<>
class CServerSlots<0> {};
#else
template<unsigned int slotId>
class CServerSlots {};
#endif
class CServer :
public QObject,
public CServerSlots<MAX_NUM_CHANNELS>
@ -178,7 +170,7 @@ public:
const QString& strNewWelcomeMessage,
const QString& strRecordingDirName,
const bool bNCentServPingServerInList,
const bool bNDisconnectAllClients,
const bool bNDisconnectAllClientsOnQuit,
const bool bNUseDoubleSystemFrameSize,
const ELicenceType eNLicenceType );
@ -258,9 +250,9 @@ protected:
int GetNumberOfConnectedClients();
CVector<CChannelInfo> CreateChannelList();
#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
virtual void CreateAndSendChanListForAllConChannels();
virtual void CreateAndSendChanListForThisChan ( const int iCurChanID );
virtual void CreateAndSendChatTextForAllConChannels ( const int iCurChanID,
const QString& strChatText );
@ -273,17 +265,6 @@ protected:
template<unsigned int slotId>
inline void connectChannelSignalsToServerSlots();
#else
void CreateAndSendChanListForAllConChannels();
void CreateAndSendChanListForThisChan ( const int iCurChanID );
void CreateAndSendChatTextForAllConChannels ( const int iCurChanID,
const QString& strChatText );
void SendProtMessage ( int iChID,
CVector<uint8_t> vecMessage );
#endif
void WriteHTMLChannelList();
void ProcessData ( const CVector<CVector<int16_t> >& vecvecsData,
@ -369,7 +350,7 @@ protected:
// messaging
QString strWelcomeMessage;
ELicenceType eLicenceType;
bool bDisconnectAllClients;
bool bDisconnectAllClientsOnQuit;
CSignalHandler* pSignalHandler;
@ -461,265 +442,4 @@ public slots:
void OnAboutToQuit();
void OnShutdown ( int );
#if QT_VERSION < 0x50000 // MOC does not expand macros in Qt 4, so we cannot use QT_VERSION_CHECK(5, 0, 0)
// CODE TAG: MAX_NUM_CHANNELS_TAG
// make sure we have MAX_NUM_CHANNELS connections!!!
// send message
void OnSendProtMessCh0 ( CVector<uint8_t> mess ) { SendProtMessage ( 0, mess ); }
void OnSendProtMessCh1 ( CVector<uint8_t> mess ) { SendProtMessage ( 1, mess ); }
void OnSendProtMessCh2 ( CVector<uint8_t> mess ) { SendProtMessage ( 2, mess ); }
void OnSendProtMessCh3 ( CVector<uint8_t> mess ) { SendProtMessage ( 3, mess ); }
void OnSendProtMessCh4 ( CVector<uint8_t> mess ) { SendProtMessage ( 4, mess ); }
void OnSendProtMessCh5 ( CVector<uint8_t> mess ) { SendProtMessage ( 5, mess ); }
void OnSendProtMessCh6 ( CVector<uint8_t> mess ) { SendProtMessage ( 6, mess ); }
void OnSendProtMessCh7 ( CVector<uint8_t> mess ) { SendProtMessage ( 7, mess ); }
void OnSendProtMessCh8 ( CVector<uint8_t> mess ) { SendProtMessage ( 8, mess ); }
void OnSendProtMessCh9 ( CVector<uint8_t> mess ) { SendProtMessage ( 9, mess ); }
void OnSendProtMessCh10 ( CVector<uint8_t> mess ) { SendProtMessage ( 10, mess ); }
void OnSendProtMessCh11 ( CVector<uint8_t> mess ) { SendProtMessage ( 11, mess ); }
void OnSendProtMessCh12 ( CVector<uint8_t> mess ) { SendProtMessage ( 12, mess ); }
void OnSendProtMessCh13 ( CVector<uint8_t> mess ) { SendProtMessage ( 13, mess ); }
void OnSendProtMessCh14 ( CVector<uint8_t> mess ) { SendProtMessage ( 14, mess ); }
void OnSendProtMessCh15 ( CVector<uint8_t> mess ) { SendProtMessage ( 15, mess ); }
void OnSendProtMessCh16 ( CVector<uint8_t> mess ) { SendProtMessage ( 16, mess ); }
void OnSendProtMessCh17 ( CVector<uint8_t> mess ) { SendProtMessage ( 17, mess ); }
void OnSendProtMessCh18 ( CVector<uint8_t> mess ) { SendProtMessage ( 18, mess ); }
void OnSendProtMessCh19 ( CVector<uint8_t> mess ) { SendProtMessage ( 19, mess ); }
void OnSendProtMessCh20 ( CVector<uint8_t> mess ) { SendProtMessage ( 20, mess ); }
void OnSendProtMessCh21 ( CVector<uint8_t> mess ) { SendProtMessage ( 21, mess ); }
void OnSendProtMessCh22 ( CVector<uint8_t> mess ) { SendProtMessage ( 22, mess ); }
void OnSendProtMessCh23 ( CVector<uint8_t> mess ) { SendProtMessage ( 23, mess ); }
void OnSendProtMessCh24 ( CVector<uint8_t> mess ) { SendProtMessage ( 24, mess ); }
void OnSendProtMessCh25 ( CVector<uint8_t> mess ) { SendProtMessage ( 25, mess ); }
void OnSendProtMessCh26 ( CVector<uint8_t> mess ) { SendProtMessage ( 26, mess ); }
void OnSendProtMessCh27 ( CVector<uint8_t> mess ) { SendProtMessage ( 27, mess ); }
void OnSendProtMessCh28 ( CVector<uint8_t> mess ) { SendProtMessage ( 28, mess ); }
void OnSendProtMessCh29 ( CVector<uint8_t> mess ) { SendProtMessage ( 29, mess ); }
void OnSendProtMessCh30 ( CVector<uint8_t> mess ) { SendProtMessage ( 30, mess ); }
void OnSendProtMessCh31 ( CVector<uint8_t> mess ) { SendProtMessage ( 31, mess ); }
void OnSendProtMessCh32 ( CVector<uint8_t> mess ) { SendProtMessage ( 32, mess ); }
void OnSendProtMessCh33 ( CVector<uint8_t> mess ) { SendProtMessage ( 33, mess ); }
void OnSendProtMessCh34 ( CVector<uint8_t> mess ) { SendProtMessage ( 34, mess ); }
void OnSendProtMessCh35 ( CVector<uint8_t> mess ) { SendProtMessage ( 35, mess ); }
void OnSendProtMessCh36 ( CVector<uint8_t> mess ) { SendProtMessage ( 36, mess ); }
void OnSendProtMessCh37 ( CVector<uint8_t> mess ) { SendProtMessage ( 37, mess ); }
void OnSendProtMessCh38 ( CVector<uint8_t> mess ) { SendProtMessage ( 38, mess ); }
void OnSendProtMessCh39 ( CVector<uint8_t> mess ) { SendProtMessage ( 39, mess ); }
void OnSendProtMessCh40 ( CVector<uint8_t> mess ) { SendProtMessage ( 40, mess ); }
void OnSendProtMessCh41 ( CVector<uint8_t> mess ) { SendProtMessage ( 41, mess ); }
void OnSendProtMessCh42 ( CVector<uint8_t> mess ) { SendProtMessage ( 42, mess ); }
void OnSendProtMessCh43 ( CVector<uint8_t> mess ) { SendProtMessage ( 43, mess ); }
void OnSendProtMessCh44 ( CVector<uint8_t> mess ) { SendProtMessage ( 44, mess ); }
void OnSendProtMessCh45 ( CVector<uint8_t> mess ) { SendProtMessage ( 45, mess ); }
void OnSendProtMessCh46 ( CVector<uint8_t> mess ) { SendProtMessage ( 46, mess ); }
void OnSendProtMessCh47 ( CVector<uint8_t> mess ) { SendProtMessage ( 47, mess ); }
void OnSendProtMessCh48 ( CVector<uint8_t> mess ) { SendProtMessage ( 48, mess ); }
void OnSendProtMessCh49 ( CVector<uint8_t> mess ) { SendProtMessage ( 49, mess ); }
void OnReqConnClientsListCh0() { CreateAndSendChanListForThisChan ( 0 ); }
void OnReqConnClientsListCh1() { CreateAndSendChanListForThisChan ( 1 ); }
void OnReqConnClientsListCh2() { CreateAndSendChanListForThisChan ( 2 ); }
void OnReqConnClientsListCh3() { CreateAndSendChanListForThisChan ( 3 ); }
void OnReqConnClientsListCh4() { CreateAndSendChanListForThisChan ( 4 ); }
void OnReqConnClientsListCh5() { CreateAndSendChanListForThisChan ( 5 ); }
void OnReqConnClientsListCh6() { CreateAndSendChanListForThisChan ( 6 ); }
void OnReqConnClientsListCh7() { CreateAndSendChanListForThisChan ( 7 ); }
void OnReqConnClientsListCh8() { CreateAndSendChanListForThisChan ( 8 ); }
void OnReqConnClientsListCh9() { CreateAndSendChanListForThisChan ( 9 ); }
void OnReqConnClientsListCh10() { CreateAndSendChanListForThisChan ( 10 ); }
void OnReqConnClientsListCh11() { CreateAndSendChanListForThisChan ( 11 ); }
void OnReqConnClientsListCh12() { CreateAndSendChanListForThisChan ( 12 ); }
void OnReqConnClientsListCh13() { CreateAndSendChanListForThisChan ( 13 ); }
void OnReqConnClientsListCh14() { CreateAndSendChanListForThisChan ( 14 ); }
void OnReqConnClientsListCh15() { CreateAndSendChanListForThisChan ( 15 ); }
void OnReqConnClientsListCh16() { CreateAndSendChanListForThisChan ( 16 ); }
void OnReqConnClientsListCh17() { CreateAndSendChanListForThisChan ( 17 ); }
void OnReqConnClientsListCh18() { CreateAndSendChanListForThisChan ( 18 ); }
void OnReqConnClientsListCh19() { CreateAndSendChanListForThisChan ( 19 ); }
void OnReqConnClientsListCh20() { CreateAndSendChanListForThisChan ( 20 ); }
void OnReqConnClientsListCh21() { CreateAndSendChanListForThisChan ( 21 ); }
void OnReqConnClientsListCh22() { CreateAndSendChanListForThisChan ( 22 ); }
void OnReqConnClientsListCh23() { CreateAndSendChanListForThisChan ( 23 ); }
void OnReqConnClientsListCh24() { CreateAndSendChanListForThisChan ( 24 ); }
void OnReqConnClientsListCh25() { CreateAndSendChanListForThisChan ( 25 ); }
void OnReqConnClientsListCh26() { CreateAndSendChanListForThisChan ( 26 ); }
void OnReqConnClientsListCh27() { CreateAndSendChanListForThisChan ( 27 ); }
void OnReqConnClientsListCh28() { CreateAndSendChanListForThisChan ( 28 ); }
void OnReqConnClientsListCh29() { CreateAndSendChanListForThisChan ( 29 ); }
void OnReqConnClientsListCh30() { CreateAndSendChanListForThisChan ( 30 ); }
void OnReqConnClientsListCh31() { CreateAndSendChanListForThisChan ( 31 ); }
void OnReqConnClientsListCh32() { CreateAndSendChanListForThisChan ( 32 ); }
void OnReqConnClientsListCh33() { CreateAndSendChanListForThisChan ( 33 ); }
void OnReqConnClientsListCh34() { CreateAndSendChanListForThisChan ( 34 ); }
void OnReqConnClientsListCh35() { CreateAndSendChanListForThisChan ( 35 ); }
void OnReqConnClientsListCh36() { CreateAndSendChanListForThisChan ( 36 ); }
void OnReqConnClientsListCh37() { CreateAndSendChanListForThisChan ( 37 ); }
void OnReqConnClientsListCh38() { CreateAndSendChanListForThisChan ( 38 ); }
void OnReqConnClientsListCh39() { CreateAndSendChanListForThisChan ( 39 ); }
void OnReqConnClientsListCh40() { CreateAndSendChanListForThisChan ( 40 ); }
void OnReqConnClientsListCh41() { CreateAndSendChanListForThisChan ( 41 ); }
void OnReqConnClientsListCh42() { CreateAndSendChanListForThisChan ( 42 ); }
void OnReqConnClientsListCh43() { CreateAndSendChanListForThisChan ( 43 ); }
void OnReqConnClientsListCh44() { CreateAndSendChanListForThisChan ( 44 ); }
void OnReqConnClientsListCh45() { CreateAndSendChanListForThisChan ( 45 ); }
void OnReqConnClientsListCh46() { CreateAndSendChanListForThisChan ( 46 ); }
void OnReqConnClientsListCh47() { CreateAndSendChanListForThisChan ( 47 ); }
void OnReqConnClientsListCh48() { CreateAndSendChanListForThisChan ( 48 ); }
void OnReqConnClientsListCh49() { CreateAndSendChanListForThisChan ( 49 ); }
void OnChanInfoHasChangedCh0() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh1() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh2() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh3() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh4() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh5() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh6() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh7() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh8() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh9() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh10() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh11() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh12() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh13() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh14() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh15() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh16() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh17() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh18() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh19() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh20() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh21() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh22() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh23() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh24() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh25() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh26() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh27() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh28() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh29() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh30() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh31() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh32() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh33() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh34() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh35() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh36() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh37() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh38() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh39() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh40() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh41() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh42() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh43() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh44() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh45() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh46() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh47() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh48() { CreateAndSendChanListForAllConChannels(); }
void OnChanInfoHasChangedCh49() { CreateAndSendChanListForAllConChannels(); }
void OnChatTextReceivedCh0 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 0, strChatText ); }
void OnChatTextReceivedCh1 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 1, strChatText ); }
void OnChatTextReceivedCh2 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 2, strChatText ); }
void OnChatTextReceivedCh3 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 3, strChatText ); }
void OnChatTextReceivedCh4 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 4, strChatText ); }
void OnChatTextReceivedCh5 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 5, strChatText ); }
void OnChatTextReceivedCh6 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 6, strChatText ); }
void OnChatTextReceivedCh7 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 7, strChatText ); }
void OnChatTextReceivedCh8 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 8, strChatText ); }
void OnChatTextReceivedCh9 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 9, strChatText ); }
void OnChatTextReceivedCh10 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 10, strChatText ); }
void OnChatTextReceivedCh11 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 11, strChatText ); }
void OnChatTextReceivedCh12 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 12, strChatText ); }
void OnChatTextReceivedCh13 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 13, strChatText ); }
void OnChatTextReceivedCh14 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 14, strChatText ); }
void OnChatTextReceivedCh15 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 15, strChatText ); }
void OnChatTextReceivedCh16 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 16, strChatText ); }
void OnChatTextReceivedCh17 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 17, strChatText ); }
void OnChatTextReceivedCh18 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 18, strChatText ); }
void OnChatTextReceivedCh19 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 19, strChatText ); }
void OnChatTextReceivedCh20 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 20, strChatText ); }
void OnChatTextReceivedCh21 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 21, strChatText ); }
void OnChatTextReceivedCh22 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 22, strChatText ); }
void OnChatTextReceivedCh23 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 23, strChatText ); }
void OnChatTextReceivedCh24 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 24, strChatText ); }
void OnChatTextReceivedCh25 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 25, strChatText ); }
void OnChatTextReceivedCh26 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 26, strChatText ); }
void OnChatTextReceivedCh27 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 27, strChatText ); }
void OnChatTextReceivedCh28 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 28, strChatText ); }
void OnChatTextReceivedCh29 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 29, strChatText ); }
void OnChatTextReceivedCh30 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 30, strChatText ); }
void OnChatTextReceivedCh31 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 31, strChatText ); }
void OnChatTextReceivedCh32 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 32, strChatText ); }
void OnChatTextReceivedCh33 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 33, strChatText ); }
void OnChatTextReceivedCh34 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 34, strChatText ); }
void OnChatTextReceivedCh35 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 35, strChatText ); }
void OnChatTextReceivedCh36 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 36, strChatText ); }
void OnChatTextReceivedCh37 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 37, strChatText ); }
void OnChatTextReceivedCh38 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 38, strChatText ); }
void OnChatTextReceivedCh39 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 39, strChatText ); }
void OnChatTextReceivedCh40 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 40, strChatText ); }
void OnChatTextReceivedCh41 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 41, strChatText ); }
void OnChatTextReceivedCh42 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 42, strChatText ); }
void OnChatTextReceivedCh43 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 43, strChatText ); }
void OnChatTextReceivedCh44 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 44, strChatText ); }
void OnChatTextReceivedCh45 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 45, strChatText ); }
void OnChatTextReceivedCh46 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 46, strChatText ); }
void OnChatTextReceivedCh47 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 47, strChatText ); }
void OnChatTextReceivedCh48 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 48, strChatText ); }
void OnChatTextReceivedCh49 ( QString strChatText ) { CreateAndSendChatTextForAllConChannels ( 49, strChatText ); }
void OnServerAutoSockBufSizeChangeCh0 ( int iNNumFra ) { vecChannels[0].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh1 ( int iNNumFra ) { vecChannels[1].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh2 ( int iNNumFra ) { vecChannels[2].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh3 ( int iNNumFra ) { vecChannels[3].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh4 ( int iNNumFra ) { vecChannels[4].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh5 ( int iNNumFra ) { vecChannels[5].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh6 ( int iNNumFra ) { vecChannels[6].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh7 ( int iNNumFra ) { vecChannels[7].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh8 ( int iNNumFra ) { vecChannels[8].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh9 ( int iNNumFra ) { vecChannels[9].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh10 ( int iNNumFra ) { vecChannels[10].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh11 ( int iNNumFra ) { vecChannels[11].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh12 ( int iNNumFra ) { vecChannels[12].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh13 ( int iNNumFra ) { vecChannels[13].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh14 ( int iNNumFra ) { vecChannels[14].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh15 ( int iNNumFra ) { vecChannels[15].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh16 ( int iNNumFra ) { vecChannels[16].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh17 ( int iNNumFra ) { vecChannels[17].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh18 ( int iNNumFra ) { vecChannels[18].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh19 ( int iNNumFra ) { vecChannels[19].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh20 ( int iNNumFra ) { vecChannels[20].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh21 ( int iNNumFra ) { vecChannels[21].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh22 ( int iNNumFra ) { vecChannels[22].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh23 ( int iNNumFra ) { vecChannels[23].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh24 ( int iNNumFra ) { vecChannels[24].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh25 ( int iNNumFra ) { vecChannels[25].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh26 ( int iNNumFra ) { vecChannels[26].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh27 ( int iNNumFra ) { vecChannels[27].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh28 ( int iNNumFra ) { vecChannels[28].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh29 ( int iNNumFra ) { vecChannels[29].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh30 ( int iNNumFra ) { vecChannels[30].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh31 ( int iNNumFra ) { vecChannels[31].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh32 ( int iNNumFra ) { vecChannels[32].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh33 ( int iNNumFra ) { vecChannels[33].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh34 ( int iNNumFra ) { vecChannels[34].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh35 ( int iNNumFra ) { vecChannels[35].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh36 ( int iNNumFra ) { vecChannels[36].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh37 ( int iNNumFra ) { vecChannels[37].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh38 ( int iNNumFra ) { vecChannels[38].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh39 ( int iNNumFra ) { vecChannels[39].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh40 ( int iNNumFra ) { vecChannels[40].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh41 ( int iNNumFra ) { vecChannels[41].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh42 ( int iNNumFra ) { vecChannels[42].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh43 ( int iNNumFra ) { vecChannels[43].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh44 ( int iNNumFra ) { vecChannels[44].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh45 ( int iNNumFra ) { vecChannels[45].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh46 ( int iNNumFra ) { vecChannels[46].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh47 ( int iNNumFra ) { vecChannels[47].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh48 ( int iNNumFra ) { vecChannels[48].CreateJitBufMes ( iNNumFra ); }
void OnServerAutoSockBufSizeChangeCh49 ( int iNNumFra ) { vecChannels[49].CreateJitBufMes ( iNNumFra ); }
#endif
};

View File

@ -404,12 +404,16 @@ CAboutDlg::CAboutDlg ( QWidget* parent ) : QDialog ( parent )
// translators
txvTranslation->setText (
"<p><b>Spanish</b></p>"
"<p><b>" + tr ( "Spanish" ) + "</b></p>"
"<p>Daryl Hanlon (<a href=""https://github.com/ignotus666"">ignotus666</a>)</p>"
"<p><b>French</b></p>"
"<p><b>" + tr ( "French" ) + "</b></p>"
"<p>Olivier Humbert (<a href=""https://github.com/trebmuh"">trebmuh</a>)</p>"
"<p><b>Portuguese</b></p>"
"<p>Miguel de Matos (<a href=""https://github.com/Snayler"">Snayler</a>)</p>" );
"<p><b>" + tr ( "Portuguese" ) + "</b></p>"
"<p>Miguel de Matos (<a href=""https://github.com/Snayler"">Snayler</a>)</p>"
"<p><b>" + tr ( "Dutch" ) + "</b></p>"
"<p>Jeroen Geertzen (<a href=""https://github.com/jerogee"">jerogee</a>)</p>"
"<p><b>" + tr ( "German" ) + "</b></p>"
"<p>Volker Fischer (<a href=""https://github.com/corrados"">corrados</a>)</p>" );
// set version number in about dialog
lblVersion->setText ( GetVersionAndNameStr() );

View File

@ -39,9 +39,7 @@
#include <QDesktopServices>
#include <QUrl>
#include <QLocale>
#if QT_VERSION >= QT_VERSION_CHECK(4, 7, 0)
# include <QElapsedTimer>
#endif
#include <QElapsedTimer>
#include <vector>
#include <algorithm>
#include "global.h"
@ -1217,7 +1215,6 @@ public:
// Timing measurement ----------------------------------------------------------
// intended for debugging the timing jitter of the sound card or server timer
#if QT_VERSION >= QT_VERSION_CHECK(4, 7, 0)
class CTimingMeas
{
public:
@ -1269,7 +1266,6 @@ protected:
QElapsedTimer ElapsedTimer;
int iCnt;
};
#endif
/******************************************************************************\