Merge branch 'master' into feature_panning
# Conflicts: # src/protocol.h
56
Jamulus.pro
|
@ -678,34 +678,34 @@ DISTFILES += ChangeLog \
|
|||
src/res/VRLEDRedSmall.png \
|
||||
src/res/VRLEDYellow.png \
|
||||
src/res/VRLEDYellowSmall.png \
|
||||
src/res/instruments/instraccordeon.png \
|
||||
src/res/instruments/instraguitar.png \
|
||||
src/res/instruments/instrbassguitar.png \
|
||||
src/res/instruments/instrcello.png \
|
||||
src/res/instruments/instrclarinet.png \
|
||||
src/res/instruments/instrdjembe.png \
|
||||
src/res/instruments/instrdoublebass.png \
|
||||
src/res/instruments/instrdrumset.png \
|
||||
src/res/instruments/instreguitar.png \
|
||||
src/res/instruments/instrflute.png \
|
||||
src/res/instruments/instrfrenchhorn.png \
|
||||
src/res/instruments/instrgrandpiano.png \
|
||||
src/res/instruments/instrharmonica.png \
|
||||
src/res/instruments/instrkeyboard.png \
|
||||
src/res/instruments/instrlistener.png \
|
||||
src/res/instruments/instrmicrophone.png \
|
||||
src/res/instruments/instrnone.png \
|
||||
src/res/instruments/instrrecorder.png \
|
||||
src/res/instruments/instrsaxophone.png \
|
||||
src/res/instruments/instrstreamer.png \
|
||||
src/res/instruments/instrsynthesizer.png \
|
||||
src/res/instruments/instrtrombone.png \
|
||||
src/res/instruments/instrtrumpet.png \
|
||||
src/res/instruments/instrtuba.png \
|
||||
src/res/instruments/instrviolin.png \
|
||||
src/res/instruments/instrvocal.png \
|
||||
src/res/instruments/instrguitarvocal.png \
|
||||
src/res/instruments/instrkeyboardvocal.png \
|
||||
src/res/instruments/accordeon.png \
|
||||
src/res/instruments/aguitar.png \
|
||||
src/res/instruments/bassguitar.png \
|
||||
src/res/instruments/cello.png \
|
||||
src/res/instruments/clarinet.png \
|
||||
src/res/instruments/djembe.png \
|
||||
src/res/instruments/doublebass.png \
|
||||
src/res/instruments/drumset.png \
|
||||
src/res/instruments/eguitar.png \
|
||||
src/res/instruments/flute.png \
|
||||
src/res/instruments/frenchhorn.png \
|
||||
src/res/instruments/grandpiano.png \
|
||||
src/res/instruments/harmonica.png \
|
||||
src/res/instruments/keyboard.png \
|
||||
src/res/instruments/listener.png \
|
||||
src/res/instruments/microphone.png \
|
||||
src/res/instruments/none.png \
|
||||
src/res/instruments/recorder.png \
|
||||
src/res/instruments/saxophone.png \
|
||||
src/res/instruments/streamer.png \
|
||||
src/res/instruments/synthesizer.png \
|
||||
src/res/instruments/trombone.png \
|
||||
src/res/instruments/trumpet.png \
|
||||
src/res/instruments/tuba.png \
|
||||
src/res/instruments/violin.png \
|
||||
src/res/instruments/vocal.png \
|
||||
src/res/instruments/guitarvocal.png \
|
||||
src/res/instruments/keyboardvocal.png \
|
||||
src/res/instruments/bodhran.svg \
|
||||
src/res/instruments/bodhran.png \
|
||||
src/res/instruments/bassoon.svg \
|
||||
|
|
|
@ -23,9 +23,6 @@ Depends:
|
|||
${shlibs:Depends},
|
||||
${misc:Depends},
|
||||
adduser,
|
||||
jackd,
|
||||
qt5-default,
|
||||
qtchooser,
|
||||
Description: Low latency Audio Server/Client
|
||||
The Jamulus software enables musicians to perform real-time jam sessions over
|
||||
the internet. There is one server running the Jamulus server software which
|
||||
|
|
|
@ -105,6 +105,7 @@ public:
|
|||
{ Protocol.CreateChanInfoMes ( ChInfo ); }
|
||||
|
||||
void CreateReqChanInfoMes() { Protocol.CreateReqChanInfoMes(); }
|
||||
void CreateVersionAndOSMes() { Protocol.CreateVersionAndOSMes(); }
|
||||
|
||||
void SetGain ( const int iChanID, const double dNewGain );
|
||||
double GetGain ( const int iChanID );
|
||||
|
|
|
@ -161,7 +161,7 @@ MESSAGES (with connection)
|
|||
| 1 byte licence type |
|
||||
+---------------------+
|
||||
|
||||
- PROTMESSID_CLM_REQ_CHANNEL_LEVEL_LIST: Opt in or out of the channel level list
|
||||
- PROTMESSID_REQ_CHANNEL_LEVEL_LIST: Opt in or out of the channel level list
|
||||
|
||||
+---------------+
|
||||
| 1 byte option |
|
||||
|
@ -169,6 +169,12 @@ MESSAGES (with connection)
|
|||
|
||||
option is boolean, true to opt in, false to opt out
|
||||
|
||||
- PROTMESSID_VERSION_AND_OS: Version number and operating system
|
||||
|
||||
+-------------------------+------------------+------------------------------+
|
||||
| 1 byte operating system | 2 bytes number n | n bytes UTF-8 string version |
|
||||
+-------------------------+------------------+------------------------------+
|
||||
|
||||
|
||||
// #### COMPATIBILITY OLD VERSION, TO BE REMOVED ####
|
||||
- PROTMESSID_OPUS_SUPPORTED: Informs that OPUS codec is supported
|
||||
|
@ -619,6 +625,10 @@ if ( rand() < ( RAND_MAX / 2 ) ) return false;
|
|||
case PROTMESSID_REQ_CHANNEL_LEVEL_LIST:
|
||||
bRet = EvaluateReqChannelLevelListMes ( vecbyMesBodyData );
|
||||
break;
|
||||
|
||||
case PROTMESSID_VERSION_AND_OS:
|
||||
bRet = EvaluateVersionAndOSMes ( vecbyMesBodyData );
|
||||
break;
|
||||
}
|
||||
|
||||
// immediately send acknowledge message
|
||||
|
@ -1390,6 +1400,71 @@ bool CProtocol::EvaluateReqChannelLevelListMes ( const CVector<uint8_t>& vecData
|
|||
return false; // no error
|
||||
}
|
||||
|
||||
void CProtocol::CreateVersionAndOSMes()
|
||||
{
|
||||
int iPos = 0; // init position pointer
|
||||
|
||||
// get the version number string
|
||||
const QString strVerion = VERSION;
|
||||
|
||||
// convert version string to utf-8
|
||||
const QByteArray strUTF8Version = strVerion.toUtf8();
|
||||
|
||||
// size of current message body
|
||||
const int iEntrLen =
|
||||
1 /* operating system */ +
|
||||
2 /* version utf-8 string size */ + strUTF8Version.size();
|
||||
|
||||
// build data vector
|
||||
CVector<uint8_t> vecData ( iEntrLen );
|
||||
|
||||
// operating system (1 byte)
|
||||
PutValOnStream ( vecData, iPos,
|
||||
static_cast<uint32_t> ( COSUtil::GetOperatingSystem() ), 1 );
|
||||
|
||||
// version
|
||||
PutStringUTF8OnStream ( vecData, iPos, strUTF8Version );
|
||||
|
||||
CreateAndSendMessage ( PROTMESSID_VERSION_AND_OS, vecData );
|
||||
}
|
||||
|
||||
bool CProtocol::EvaluateVersionAndOSMes ( const CVector<uint8_t>& vecData )
|
||||
{
|
||||
int iPos = 0; // init position pointer
|
||||
const int iDataLen = vecData.Size();
|
||||
|
||||
// check size (the first 1 byte)
|
||||
if ( iDataLen < 1 )
|
||||
{
|
||||
return true; // return error code
|
||||
}
|
||||
|
||||
// operating system (1 byte)
|
||||
const COSUtil::EOpSystemType eOSType =
|
||||
static_cast<COSUtil::EOpSystemType> ( GetValFromStream ( vecData, iPos, 1 ) );
|
||||
|
||||
// version text
|
||||
QString strVersion;
|
||||
if ( GetStringFromStream ( vecData,
|
||||
iPos,
|
||||
MAX_LEN_VERSION_TEXT,
|
||||
strVersion ) )
|
||||
{
|
||||
return true; // return error code
|
||||
}
|
||||
|
||||
// check size: all data is read, the position must now be at the end
|
||||
if ( iPos != iDataLen )
|
||||
{
|
||||
return true; // return error code
|
||||
}
|
||||
|
||||
// invoke message action
|
||||
emit VersionAndOSReceived ( eOSType, strVersion );
|
||||
|
||||
return false; // no error
|
||||
}
|
||||
|
||||
|
||||
// Connection less messages ----------------------------------------------------
|
||||
void CProtocol::CreateCLPingMes ( const CHostAddress& InetAddr, const int iMs )
|
||||
|
|
6
src/protocol.h
Executable file → Normal file
|
@ -55,7 +55,8 @@
|
|||
#define PROTMESSID_OPUS_SUPPORTED 26 // tells that OPUS codec is supported
|
||||
#define PROTMESSID_LICENCE_REQUIRED 27 // licence required
|
||||
#define PROTMESSID_REQ_CHANNEL_LEVEL_LIST 28 // request the channel level list
|
||||
#define PROTMESSID_CHANNEL_PAN 29 // set channel gain for mix
|
||||
#define PROTMESSID_VERSION_AND_OS 29 // version number and operating system
|
||||
#define PROTMESSID_CHANNEL_PAN 30 // set channel pan for mix
|
||||
|
||||
// message IDs of connection less messages (CLM)
|
||||
// DEFINITION -> start at 1000, end at 1999, see IsConnectionLessMessageID
|
||||
|
@ -108,6 +109,7 @@ public:
|
|||
void CreateLicenceRequiredMes ( const ELicenceType eLicenceType );
|
||||
void CreateOpusSupportedMes();
|
||||
void CreateReqChannelLevelListMes ( const bool bRCL );
|
||||
void CreateVersionAndOSMes();
|
||||
|
||||
void CreateCLPingMes ( const CHostAddress& InetAddr, const int iMs );
|
||||
void CreateCLPingWithNumClientsMes ( const CHostAddress& InetAddr,
|
||||
|
@ -230,6 +232,7 @@ protected:
|
|||
bool EvaluateReqNetwTranspPropsMes();
|
||||
bool EvaluateLicenceRequiredMes ( const CVector<uint8_t>& vecData );
|
||||
bool EvaluateReqChannelLevelListMes ( const CVector<uint8_t>& vecData );
|
||||
bool EvaluateVersionAndOSMes ( const CVector<uint8_t>& vecData );
|
||||
|
||||
bool EvaluateCLPingMes ( const CHostAddress& InetAddr,
|
||||
const CVector<uint8_t>& vecData );
|
||||
|
@ -290,6 +293,7 @@ signals:
|
|||
void ReqNetTranspProps();
|
||||
void LicenceRequired ( ELicenceType eLicenceType );
|
||||
void ReqChannelLevelList ( bool bOptIn );
|
||||
void VersionAndOSReceived ( COSUtil::EOpSystemType eOSType, QString strVersion );
|
||||
|
||||
void CLPingReceived ( CHostAddress InetAddr,
|
||||
int iMs );
|
||||
|
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 931 B After Width: | Height: | Size: 931 B |
Before Width: | Height: | Size: 929 B After Width: | Height: | Size: 929 B |
Before Width: | Height: | Size: 587 B After Width: | Height: | Size: 587 B |
Before Width: | Height: | Size: 1,016 B After Width: | Height: | Size: 1,016 B |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 936 B After Width: | Height: | Size: 936 B |
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 955 B After Width: | Height: | Size: 955 B |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 900 B After Width: | Height: | Size: 900 B |
Before Width: | Height: | Size: 917 B After Width: | Height: | Size: 917 B |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
@ -81,12 +81,12 @@
|
|||
<message>
|
||||
<location filename="../../util.cpp" line="414"/>
|
||||
<source>Dutch</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Holländisch</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../util.cpp" line="416"/>
|
||||
<source>German</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Deutsch</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../util.cpp" line="423"/>
|
||||
|
@ -180,7 +180,7 @@
|
|||
<message>
|
||||
<location filename="../../audiomixerboard.cpp" line="658"/>
|
||||
<source>Personal Mix at the Server: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Eigener Mix am Server: </translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -641,7 +641,7 @@
|
|||
<message>
|
||||
<location filename="../../clientdlg.cpp" line="703"/>
|
||||
<source>Central Server</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Zentralserver</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../clientdlg.cpp" line="809"/>
|
||||
|
@ -1151,22 +1151,22 @@
|
|||
<message>
|
||||
<location filename="../../util.h" line="581"/>
|
||||
<source>Custom</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Benutzerdefiniert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../util.h" line="584"/>
|
||||
<source>All Genres</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Alle Genres</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../util.h" line="587"/>
|
||||
<source>Genre Rock</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../util.h" line="590"/>
|
||||
<source>Genre Jazz</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../util.h" line="593"/>
|
||||
|
@ -1201,7 +1201,7 @@
|
|||
<message>
|
||||
<location filename="../../clientsettingsdlg.cpp" line="606"/>
|
||||
<source>Predefined Address</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Vordefinierte Adresse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../clientsettingsdlg.cpp" line="646"/>
|
||||
|
@ -1470,7 +1470,7 @@
|
|||
<message>
|
||||
<location filename="../../connectdlgbase.ui" line="35"/>
|
||||
<source>List</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Liste</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../connectdlgbase.ui" line="45"/>
|
||||
|
@ -1923,22 +1923,22 @@
|
|||
<message>
|
||||
<location filename="../../util.cpp" line="1010"/>
|
||||
<source>Vocal Bass</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Gesang Bass</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../util.cpp" line="1011"/>
|
||||
<source>Vocal Tenor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Gesang Tenor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../util.cpp" line="1012"/>
|
||||
<source>Vocal Alto</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Gesang Alt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../util.cpp" line="1013"/>
|
||||
<source>Vocal Soprano</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Gesang Sopran</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -2104,7 +2104,7 @@
|
|||
<message>
|
||||
<location filename="../../serverdlg.cpp" line="527"/>
|
||||
<source>Predefined Address</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Vordefinierte Adresse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Manual</source>
|
||||
|
|
|
@ -184,7 +184,7 @@
|
|||
<message>
|
||||
<location filename="../../audiomixerboard.cpp" line="658"/>
|
||||
<source>Personal Mix at the Server: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Mezcla Personal en el Servidor: </translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -645,7 +645,7 @@
|
|||
<message>
|
||||
<location filename="../../clientdlg.cpp" line="703"/>
|
||||
<source>Central Server</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Servidor Central</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../clientdlg.cpp" line="809"/>
|
||||
|
@ -1155,22 +1155,22 @@
|
|||
<message>
|
||||
<location filename="../../util.h" line="581"/>
|
||||
<source>Custom</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Personalizado</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../util.h" line="584"/>
|
||||
<source>All Genres</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Todos los Géneros</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../util.h" line="587"/>
|
||||
<source>Genre Rock</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Género Rock</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../util.h" line="590"/>
|
||||
<source>Genre Jazz</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Género Jazz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../util.h" line="593"/>
|
||||
|
@ -1205,7 +1205,7 @@
|
|||
<message>
|
||||
<location filename="../../clientsettingsdlg.cpp" line="606"/>
|
||||
<source>Predefined Address</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Dirección Preestablecida</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../clientsettingsdlg.cpp" line="646"/>
|
||||
|
@ -1478,7 +1478,7 @@
|
|||
<message>
|
||||
<location filename="../../connectdlgbase.ui" line="35"/>
|
||||
<source>List</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Lista</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../connectdlgbase.ui" line="45"/>
|
||||
|
@ -1931,22 +1931,22 @@
|
|||
<message>
|
||||
<location filename="../../util.cpp" line="1010"/>
|
||||
<source>Vocal Bass</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Voz bajo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../util.cpp" line="1011"/>
|
||||
<source>Vocal Tenor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Voz Tenor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../util.cpp" line="1012"/>
|
||||
<source>Vocal Alto</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Voz Alto</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../util.cpp" line="1013"/>
|
||||
<source>Vocal Soprano</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Voz Soprano</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -2112,7 +2112,7 @@
|
|||
<message>
|
||||
<location filename="../../serverdlg.cpp" line="527"/>
|
||||
<source>Predefined Address</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Dirección Preestablecida</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Manual</source>
|
||||
|
|
|
@ -192,7 +192,7 @@
|
|||
<message>
|
||||
<location filename="../../audiomixerboard.cpp" line="658"/>
|
||||
<source>Personal Mix at the Server: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Mixage personnel au serveur : </translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -1163,22 +1163,22 @@
|
|||
<message>
|
||||
<location filename="../../util.h" line="581"/>
|
||||
<source>Custom</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Personnalisé</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../util.h" line="584"/>
|
||||
<source>All Genres</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Tous les genres</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../util.h" line="587"/>
|
||||
<source>Genre Rock</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Genre Rock</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../util.h" line="590"/>
|
||||
<source>Genre Jazz</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Genre Jazz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../util.h" line="593"/>
|
||||
|
@ -1187,7 +1187,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Default (North America)</source>
|
||||
<translation type="vanished">Défault (Amérique du Nord)</translation>
|
||||
<translation type="vanished">Défaut (Amérique du Nord)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../clientsettingsdlg.cpp" line="369"/>
|
||||
|
@ -1482,7 +1482,7 @@
|
|||
<message>
|
||||
<location filename="../../connectdlgbase.ui" line="35"/>
|
||||
<source>List</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Liste</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../connectdlgbase.ui" line="45"/>
|
||||
|
@ -1935,22 +1935,22 @@
|
|||
<message>
|
||||
<location filename="../../util.cpp" line="1010"/>
|
||||
<source>Vocal Bass</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Voix basse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../util.cpp" line="1011"/>
|
||||
<source>Vocal Tenor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Voix ténor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../util.cpp" line="1012"/>
|
||||
<source>Vocal Alto</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Voix alto</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../util.cpp" line="1013"/>
|
||||
<source>Vocal Soprano</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Voix soprano</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -2250,7 +2250,7 @@
|
|||
<message>
|
||||
<location filename="../../../linux/sound.cpp" line="40"/>
|
||||
<source>The Jack server is not running. This software requires a Jack server to run. Normally if the Jack server is not running this software will automatically start the Jack server. It seems that this auto start has not worked. Try to start the Jack server manually.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Le serveur Jack n'est pas démarré. Ce logiciel nécessite un serveur Jack pour fonctionner. Normalement, si le serveur Jack n'est pas en cours d'exécution, ce logiciel démarrera automatiquement le serveur Jack. Il semble que ce démarrage automatique n'ait pas fonctionné. Essayez de démarrer le serveur Jack manuellement.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../linux/sound.cpp" line="60"/>
|
||||
|
@ -2395,7 +2395,7 @@
|
|||
<message>
|
||||
<location filename="../../soundbase.cpp" line="146"/>
|
||||
<source>Please restart the software.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Veuillez redémarrer le logiciel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../soundbase.cpp" line="147"/>
|
||||
|
|
|
@ -36,34 +36,34 @@
|
|||
<file>res/mixerboardbackground.png</file>
|
||||
</qresource>
|
||||
<qresource prefix="/png/instr">
|
||||
<file>res/instruments/instrnone.png</file>
|
||||
<file>res/instruments/instrbassguitar.png</file>
|
||||
<file>res/instruments/instrclarinet.png</file>
|
||||
<file>res/instruments/instrdrumset.png</file>
|
||||
<file>res/instruments/instreguitar.png</file>
|
||||
<file>res/instruments/instrsaxophone.png</file>
|
||||
<file>res/instruments/instrtrumpet.png</file>
|
||||
<file>res/instruments/instrmicrophone.png</file>
|
||||
<file>res/instruments/instrkeyboard.png</file>
|
||||
<file>res/instruments/instrviolin.png</file>
|
||||
<file>res/instruments/instraguitar.png</file>
|
||||
<file>res/instruments/instrflute.png</file>
|
||||
<file>res/instruments/instraccordeon.png</file>
|
||||
<file>res/instruments/instrcello.png</file>
|
||||
<file>res/instruments/instrtrombone.png</file>
|
||||
<file>res/instruments/instrfrenchhorn.png</file>
|
||||
<file>res/instruments/instrtuba.png</file>
|
||||
<file>res/instruments/instrdoublebass.png</file>
|
||||
<file>res/instruments/instrgrandpiano.png</file>
|
||||
<file>res/instruments/instrsynthesizer.png</file>
|
||||
<file>res/instruments/instrvocal.png</file>
|
||||
<file>res/instruments/instrdjembe.png</file>
|
||||
<file>res/instruments/instrharmonica.png</file>
|
||||
<file>res/instruments/instrrecorder.png</file>
|
||||
<file>res/instruments/instrlistener.png</file>
|
||||
<file>res/instruments/instrstreamer.png</file>
|
||||
<file>res/instruments/instrguitarvocal.png</file>
|
||||
<file>res/instruments/instrkeyboardvocal.png</file>
|
||||
<file>res/instruments/none.png</file>
|
||||
<file>res/instruments/bassguitar.png</file>
|
||||
<file>res/instruments/clarinet.png</file>
|
||||
<file>res/instruments/drumset.png</file>
|
||||
<file>res/instruments/eguitar.png</file>
|
||||
<file>res/instruments/saxophone.png</file>
|
||||
<file>res/instruments/trumpet.png</file>
|
||||
<file>res/instruments/microphone.png</file>
|
||||
<file>res/instruments/keyboard.png</file>
|
||||
<file>res/instruments/violin.png</file>
|
||||
<file>res/instruments/aguitar.png</file>
|
||||
<file>res/instruments/flute.png</file>
|
||||
<file>res/instruments/accordeon.png</file>
|
||||
<file>res/instruments/cello.png</file>
|
||||
<file>res/instruments/trombone.png</file>
|
||||
<file>res/instruments/frenchhorn.png</file>
|
||||
<file>res/instruments/tuba.png</file>
|
||||
<file>res/instruments/doublebass.png</file>
|
||||
<file>res/instruments/grandpiano.png</file>
|
||||
<file>res/instruments/synthesizer.png</file>
|
||||
<file>res/instruments/vocal.png</file>
|
||||
<file>res/instruments/djembe.png</file>
|
||||
<file>res/instruments/harmonica.png</file>
|
||||
<file>res/instruments/recorder.png</file>
|
||||
<file>res/instruments/listener.png</file>
|
||||
<file>res/instruments/streamer.png</file>
|
||||
<file>res/instruments/guitarvocal.png</file>
|
||||
<file>res/instruments/keyboardvocal.png</file>
|
||||
<file>res/instruments/bodhran.png</file>
|
||||
<file>res/instruments/bassoon.png</file>
|
||||
<file>res/instruments/oboe.png</file>
|
||||
|
|
|
@ -599,6 +599,9 @@ CreateAndSendChanListForAllConChannels();
|
|||
vecChannels[iChID].CreateLicReqMes ( eLicenceType );
|
||||
}
|
||||
|
||||
// send version info (for, e.g., feature activation in the client)
|
||||
vecChannels[iChID].CreateVersionAndOSMes();
|
||||
|
||||
// reset the conversion buffers
|
||||
DoubleFrameSizeConvBufIn[iChID].Reset();
|
||||
DoubleFrameSizeConvBufOut[iChID].Reset();
|
||||
|
|
56
src/util.cpp
|
@ -973,34 +973,34 @@ CVector<CInstPictures::CInstPictProps>& CInstPictures::GetTable()
|
|||
// instrument picture data base initialization
|
||||
// NOTE: Do not change the order of any instrument in the future!
|
||||
// NOTE: The very first entry is the "not used" element per definition.
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "None" ), ":/png/instr/res/instruments/instrnone.png", IC_OTHER_INSTRUMENT ) ); // special first element
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Drum Set" ), ":/png/instr/res/instruments/instrdrumset.png", IC_PERCUSSION_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Djembe" ), ":/png/instr/res/instruments/instrdjembe.png", IC_PERCUSSION_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Electric Guitar" ), ":/png/instr/res/instruments/instreguitar.png", IC_PLUCKING_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Acoustic Guitar" ), ":/png/instr/res/instruments/instraguitar.png", IC_PLUCKING_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Bass Guitar" ), ":/png/instr/res/instruments/instrbassguitar.png", IC_PLUCKING_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Keyboard" ), ":/png/instr/res/instruments/instrkeyboard.png", IC_KEYBOARD_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Synthesizer" ), ":/png/instr/res/instruments/instrsynthesizer.png", IC_KEYBOARD_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Grand Piano" ), ":/png/instr/res/instruments/instrgrandpiano.png", IC_KEYBOARD_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Accordion" ), ":/png/instr/res/instruments/instraccordeon.png", IC_KEYBOARD_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Vocal" ), ":/png/instr/res/instruments/instrvocal.png", IC_OTHER_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Microphone" ), ":/png/instr/res/instruments/instrmicrophone.png", IC_OTHER_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Harmonica" ), ":/png/instr/res/instruments/instrharmonica.png", IC_WIND_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Trumpet" ), ":/png/instr/res/instruments/instrtrumpet.png", IC_WIND_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Trombone" ), ":/png/instr/res/instruments/instrtrombone.png", IC_WIND_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "French Horn" ), ":/png/instr/res/instruments/instrfrenchhorn.png", IC_WIND_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Tuba" ), ":/png/instr/res/instruments/instrtuba.png", IC_WIND_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Saxophone" ), ":/png/instr/res/instruments/instrsaxophone.png", IC_WIND_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Clarinet" ), ":/png/instr/res/instruments/instrclarinet.png", IC_WIND_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Flute" ), ":/png/instr/res/instruments/instrflute.png", IC_WIND_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Violin" ), ":/png/instr/res/instruments/instrviolin.png", IC_STRING_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Cello" ), ":/png/instr/res/instruments/instrcello.png", IC_STRING_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Double Bass" ), ":/png/instr/res/instruments/instrdoublebass.png", IC_STRING_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Recorder" ), ":/png/instr/res/instruments/instrrecorder.png", IC_OTHER_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Streamer" ), ":/png/instr/res/instruments/instrstreamer.png", IC_OTHER_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Listener" ), ":/png/instr/res/instruments/instrlistener.png", IC_OTHER_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Guitar+Vocal" ), ":/png/instr/res/instruments/instrguitarvocal.png", IC_MULTIPLE_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Keyboard+Vocal" ), ":/png/instr/res/instruments/instrkeyboardvocal.png", IC_MULTIPLE_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "None" ), ":/png/instr/res/instruments/none.png", IC_OTHER_INSTRUMENT ) ); // special first element
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Drum Set" ), ":/png/instr/res/instruments/drumset.png", IC_PERCUSSION_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Djembe" ), ":/png/instr/res/instruments/djembe.png", IC_PERCUSSION_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Electric Guitar" ), ":/png/instr/res/instruments/eguitar.png", IC_PLUCKING_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Acoustic Guitar" ), ":/png/instr/res/instruments/aguitar.png", IC_PLUCKING_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Bass Guitar" ), ":/png/instr/res/instruments/bassguitar.png", IC_PLUCKING_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Keyboard" ), ":/png/instr/res/instruments/keyboard.png", IC_KEYBOARD_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Synthesizer" ), ":/png/instr/res/instruments/synthesizer.png", IC_KEYBOARD_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Grand Piano" ), ":/png/instr/res/instruments/grandpiano.png", IC_KEYBOARD_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Accordion" ), ":/png/instr/res/instruments/accordeon.png", IC_KEYBOARD_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Vocal" ), ":/png/instr/res/instruments/vocal.png", IC_OTHER_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Microphone" ), ":/png/instr/res/instruments/microphone.png", IC_OTHER_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Harmonica" ), ":/png/instr/res/instruments/harmonica.png", IC_WIND_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Trumpet" ), ":/png/instr/res/instruments/trumpet.png", IC_WIND_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Trombone" ), ":/png/instr/res/instruments/trombone.png", IC_WIND_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "French Horn" ), ":/png/instr/res/instruments/frenchhorn.png", IC_WIND_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Tuba" ), ":/png/instr/res/instruments/tuba.png", IC_WIND_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Saxophone" ), ":/png/instr/res/instruments/saxophone.png", IC_WIND_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Clarinet" ), ":/png/instr/res/instruments/clarinet.png", IC_WIND_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Flute" ), ":/png/instr/res/instruments/flute.png", IC_WIND_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Violin" ), ":/png/instr/res/instruments/violin.png", IC_STRING_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Cello" ), ":/png/instr/res/instruments/cello.png", IC_STRING_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Double Bass" ), ":/png/instr/res/instruments/doublebass.png", IC_STRING_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Recorder" ), ":/png/instr/res/instruments/recorder.png", IC_OTHER_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Streamer" ), ":/png/instr/res/instruments/streamer.png", IC_OTHER_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Listener" ), ":/png/instr/res/instruments/listener.png", IC_OTHER_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Guitar+Vocal" ), ":/png/instr/res/instruments/guitarvocal.png", IC_MULTIPLE_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Keyboard+Vocal" ), ":/png/instr/res/instruments/keyboardvocal.png", IC_MULTIPLE_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Bodhran" ), ":/png/instr/res/instruments/bodhran.png", IC_PERCUSSION_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Bassoon" ), ":/png/instr/res/instruments/bassoon.png", IC_WIND_INSTRUMENT ) );
|
||||
vecDataBase.Add ( CInstPictProps ( QCoreApplication::translate ( "CMusProfDlg", "Oboe" ), ":/png/instr/res/instruments/oboe.png", IC_WIND_INSTRUMENT ) );
|
||||
|
|