Merge branch 'master' into feature_panning

# Conflicts:
#	src/protocol.h
This commit is contained in:
Volker Fischer 2020-05-18 19:03:40 +02:00
commit 78413826a5
42 changed files with 210 additions and 130 deletions

View file

@ -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 \

View file

@ -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

View file

@ -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 );

View file

@ -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
View 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 );

View file

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

View file

Before

Width:  |  Height:  |  Size: 931 B

After

Width:  |  Height:  |  Size: 931 B

View file

Before

Width:  |  Height:  |  Size: 929 B

After

Width:  |  Height:  |  Size: 929 B

View file

Before

Width:  |  Height:  |  Size: 587 B

After

Width:  |  Height:  |  Size: 587 B

View file

Before

Width:  |  Height:  |  Size: 1,016 B

After

Width:  |  Height:  |  Size: 1,016 B

View file

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View file

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

Before

Width:  |  Height:  |  Size: 936 B

After

Width:  |  Height:  |  Size: 936 B

View file

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View file

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View file

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

Before

Width:  |  Height:  |  Size: 955 B

After

Width:  |  Height:  |  Size: 955 B

View file

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View file

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View file

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View file

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View file

Before

Width:  |  Height:  |  Size: 900 B

After

Width:  |  Height:  |  Size: 900 B

View file

Before

Width:  |  Height:  |  Size: 917 B

After

Width:  |  Height:  |  Size: 917 B

View file

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

@ -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>

View file

@ -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>

View file

@ -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&apos;est pas démarré. Ce logiciel nécessite un serveur Jack pour fonctionner. Normalement, si le serveur Jack n&apos;est pas en cours d&apos;exécution, ce logiciel démarrera automatiquement le serveur Jack. Il semble que ce démarrage automatique n&apos;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"/>

View file

@ -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>

View 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();

View file

@ -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 ) );