diff --git a/ChangeLog b/ChangeLog index 5c1d3a42..bae35ce7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -13,6 +13,8 @@ * added -v/--version command line argument to output version information (Ticket #121) + * added bodhran instrument icon, created by bomm (Ticket #131) + * bug fix: if names given with the -o option were too long, the server registration failed (Ticket #91) * bug fix: audio level changes if Buffer Delay is changed (Ticket #106) @@ -20,14 +22,14 @@ * bug fix: do not reset fader level meters if number of clients change -TODO sometimes I cannot see the central server in the server list - -TODO improve audio drop out behaviour with OPUS64 by tuning the coding rate (it seems that for some coding rates we get loud artifacts on audio drop outs whereas for slightly different rates the behavior is much more pleasent), maybe test with OPUS complexity settings, quality settings, etc to improve PLC - TODO improve input channel mapping and introduce input/output gains with overrange to amplification (separate dialog, replace Pan, etc.) TODO support internationalization +TODO sometimes I cannot see the central server in the server list + +TODO improve audio drop out behaviour with OPUS64 by tuning the coding rate (it seems that for some coding rates we get loud artifacts on audio drop outs whereas for slightly different rates the behavior is much more pleasent), maybe test with OPUS complexity settings, quality settings, etc to improve PLC + TODO try to find a way to catch Windows exceptions in case a 64 bit Jamulus tries to load a 32 bit Jack Audio ASIO dll diff --git a/Jamulus.pro b/Jamulus.pro index 2b360205..e01b8460 100755 --- a/Jamulus.pro +++ b/Jamulus.pro @@ -14,7 +14,8 @@ QT += widgets \ network \ xml -#TRANSLATIONS = src/res/translation_de.ts +#TRANSLATIONS = src/res/translation_de_DE.ts \ +# src/res/translation_fr_FR.ts INCLUDEPATH += src @@ -521,33 +522,35 @@ DISTFILES += ChangeLog \ src/res/VRLEDRedSmall.png \ src/res/VRLEDYellow.png \ src/res/VRLEDYellowSmall.png \ - src/res/instraccordeon.png \ - src/res/instraguitar.png \ - src/res/instrbassguitar.png \ - src/res/instrcello.png \ - src/res/instrclarinet.png \ - src/res/instrdjembe.png \ - src/res/instrdoublebass.png \ - src/res/instrdrumset.png \ - src/res/instreguitar.png \ - src/res/instrflute.png \ - src/res/instrfrenchhorn.png \ - src/res/instrgrandpiano.png \ - src/res/instrharmonica.png \ - src/res/instrkeyboard.png \ - src/res/instrlistener.png \ - src/res/instrmicrophone.png \ - src/res/instrnone.png \ - src/res/instrrecorder.png \ - src/res/instrsaxophone.png \ - src/res/instrstreamer.png \ - src/res/instrsynthesizer.png \ - src/res/instrtrombone.png \ - src/res/instrtrumpet.png \ - src/res/instrtuba.png \ - src/res/instrviolin.png \ - src/res/instrvocal.png \ - src/res/instrguitarvocal.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/bodhran.svg \ + src/res/instruments/bodhran.png \ src/res/flags/flagnone.png \ src/res/flags/ad.png \ src/res/flags/ae.png \ diff --git a/src/res/instraccordeon.png b/src/res/instruments/instraccordeon.png similarity index 100% rename from src/res/instraccordeon.png rename to src/res/instruments/instraccordeon.png diff --git a/src/res/instraguitar.png b/src/res/instruments/instraguitar.png similarity index 100% rename from src/res/instraguitar.png rename to src/res/instruments/instraguitar.png diff --git a/src/res/instrbassguitar.png b/src/res/instruments/instrbassguitar.png similarity index 100% rename from src/res/instrbassguitar.png rename to src/res/instruments/instrbassguitar.png diff --git a/src/res/instrcello.png b/src/res/instruments/instrcello.png similarity index 100% rename from src/res/instrcello.png rename to src/res/instruments/instrcello.png diff --git a/src/res/instrclarinet.png b/src/res/instruments/instrclarinet.png similarity index 100% rename from src/res/instrclarinet.png rename to src/res/instruments/instrclarinet.png diff --git a/src/res/instrdjembe.png b/src/res/instruments/instrdjembe.png similarity index 100% rename from src/res/instrdjembe.png rename to src/res/instruments/instrdjembe.png diff --git a/src/res/instrdoublebass.png b/src/res/instruments/instrdoublebass.png similarity index 100% rename from src/res/instrdoublebass.png rename to src/res/instruments/instrdoublebass.png diff --git a/src/res/instrdrumset.png b/src/res/instruments/instrdrumset.png similarity index 100% rename from src/res/instrdrumset.png rename to src/res/instruments/instrdrumset.png diff --git a/src/res/instreguitar.png b/src/res/instruments/instreguitar.png similarity index 100% rename from src/res/instreguitar.png rename to src/res/instruments/instreguitar.png diff --git a/src/res/instrflute.png b/src/res/instruments/instrflute.png similarity index 100% rename from src/res/instrflute.png rename to src/res/instruments/instrflute.png diff --git a/src/res/instrfrenchhorn.png b/src/res/instruments/instrfrenchhorn.png similarity index 100% rename from src/res/instrfrenchhorn.png rename to src/res/instruments/instrfrenchhorn.png diff --git a/src/res/instrgrandpiano.png b/src/res/instruments/instrgrandpiano.png similarity index 100% rename from src/res/instrgrandpiano.png rename to src/res/instruments/instrgrandpiano.png diff --git a/src/res/instrguitarvocal.png b/src/res/instruments/instrguitarvocal.png similarity index 100% rename from src/res/instrguitarvocal.png rename to src/res/instruments/instrguitarvocal.png diff --git a/src/res/instrharmonica.png b/src/res/instruments/instrharmonica.png similarity index 100% rename from src/res/instrharmonica.png rename to src/res/instruments/instrharmonica.png diff --git a/src/res/instrkeyboard.png b/src/res/instruments/instrkeyboard.png similarity index 100% rename from src/res/instrkeyboard.png rename to src/res/instruments/instrkeyboard.png diff --git a/src/res/instrlistener.png b/src/res/instruments/instrlistener.png similarity index 100% rename from src/res/instrlistener.png rename to src/res/instruments/instrlistener.png diff --git a/src/res/instrmicrophone.png b/src/res/instruments/instrmicrophone.png similarity index 100% rename from src/res/instrmicrophone.png rename to src/res/instruments/instrmicrophone.png diff --git a/src/res/instrnone.png b/src/res/instruments/instrnone.png similarity index 100% rename from src/res/instrnone.png rename to src/res/instruments/instrnone.png diff --git a/src/res/instrrecorder.png b/src/res/instruments/instrrecorder.png similarity index 100% rename from src/res/instrrecorder.png rename to src/res/instruments/instrrecorder.png diff --git a/src/res/instrsaxophone.png b/src/res/instruments/instrsaxophone.png similarity index 100% rename from src/res/instrsaxophone.png rename to src/res/instruments/instrsaxophone.png diff --git a/src/res/instrstreamer.png b/src/res/instruments/instrstreamer.png similarity index 100% rename from src/res/instrstreamer.png rename to src/res/instruments/instrstreamer.png diff --git a/src/res/instrsynthesizer.png b/src/res/instruments/instrsynthesizer.png similarity index 100% rename from src/res/instrsynthesizer.png rename to src/res/instruments/instrsynthesizer.png diff --git a/src/res/instrtrombone.png b/src/res/instruments/instrtrombone.png similarity index 100% rename from src/res/instrtrombone.png rename to src/res/instruments/instrtrombone.png diff --git a/src/res/instrtrumpet.png b/src/res/instruments/instrtrumpet.png similarity index 100% rename from src/res/instrtrumpet.png rename to src/res/instruments/instrtrumpet.png diff --git a/src/res/instrtuba.png b/src/res/instruments/instrtuba.png similarity index 100% rename from src/res/instrtuba.png rename to src/res/instruments/instrtuba.png diff --git a/src/res/instrviolin.png b/src/res/instruments/instrviolin.png similarity index 100% rename from src/res/instrviolin.png rename to src/res/instruments/instrviolin.png diff --git a/src/res/instrvocal.png b/src/res/instruments/instrvocal.png similarity index 100% rename from src/res/instrvocal.png rename to src/res/instruments/instrvocal.png diff --git a/src/resources.qrc b/src/resources.qrc index 1a31c8f2..dac712b4 100755 --- a/src/resources.qrc +++ b/src/resources.qrc @@ -21,33 +21,34 @@ res/mixerboardbackground.png - res/instrnone.png - res/instrbassguitar.png - res/instrclarinet.png - res/instrdrumset.png - res/instreguitar.png - res/instrsaxophone.png - res/instrtrumpet.png - res/instrmicrophone.png - res/instrkeyboard.png - res/instrviolin.png - res/instraguitar.png - res/instrflute.png - res/instraccordeon.png - res/instrcello.png - res/instrtrombone.png - res/instrfrenchhorn.png - res/instrtuba.png - res/instrdoublebass.png - res/instrgrandpiano.png - res/instrsynthesizer.png - res/instrvocal.png - res/instrdjembe.png - res/instrharmonica.png - res/instrrecorder.png - res/instrlistener.png - res/instrstreamer.png - res/instrguitarvocal.png + res/instruments/instrnone.png + res/instruments/instrbassguitar.png + res/instruments/instrclarinet.png + res/instruments/instrdrumset.png + res/instruments/instreguitar.png + res/instruments/instrsaxophone.png + res/instruments/instrtrumpet.png + res/instruments/instrmicrophone.png + res/instruments/instrkeyboard.png + res/instruments/instrviolin.png + res/instruments/instraguitar.png + res/instruments/instrflute.png + res/instruments/instraccordeon.png + res/instruments/instrcello.png + res/instruments/instrtrombone.png + res/instruments/instrfrenchhorn.png + res/instruments/instrtuba.png + res/instruments/instrdoublebass.png + res/instruments/instrgrandpiano.png + res/instruments/instrsynthesizer.png + res/instruments/instrvocal.png + res/instruments/instrdjembe.png + res/instruments/instrharmonica.png + res/instruments/instrrecorder.png + res/instruments/instrlistener.png + res/instruments/instrstreamer.png + res/instruments/instrguitarvocal.png + res/instruments/bodhran.png res/fronticon.png diff --git a/src/util.cpp b/src/util.cpp index 9b1a9c01..f1a23873 100755 --- a/src/util.cpp +++ b/src/util.cpp @@ -935,33 +935,34 @@ CVector& 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 ( "None", ":/png/instr/res/instrnone.png", IC_OTHER_INSTRUMENT ) ); // special first element - vecDataBase.Add ( CInstPictProps ( "Drum Set", ":/png/instr/res/instrdrumset.png", IC_PERCUSSION_INSTRUMENT ) ); - vecDataBase.Add ( CInstPictProps ( "Djembe", ":/png/instr/res/instrdjembe.png", IC_PERCUSSION_INSTRUMENT ) ); - vecDataBase.Add ( CInstPictProps ( "Electric Guitar", ":/png/instr/res/instreguitar.png", IC_PLUCKING_INSTRUMENT ) ); - vecDataBase.Add ( CInstPictProps ( "Acoustic Guitar", ":/png/instr/res/instraguitar.png", IC_PLUCKING_INSTRUMENT ) ); - vecDataBase.Add ( CInstPictProps ( "Bass Guitar", ":/png/instr/res/instrbassguitar.png", IC_PLUCKING_INSTRUMENT ) ); - vecDataBase.Add ( CInstPictProps ( "Keyboard", ":/png/instr/res/instrkeyboard.png", IC_KEYBOARD_INSTRUMENT ) ); - vecDataBase.Add ( CInstPictProps ( "Synthesizer", ":/png/instr/res/instrsynthesizer.png", IC_KEYBOARD_INSTRUMENT ) ); - vecDataBase.Add ( CInstPictProps ( "Grand Piano", ":/png/instr/res/instrgrandpiano.png", IC_KEYBOARD_INSTRUMENT ) ); - vecDataBase.Add ( CInstPictProps ( "Accordion", ":/png/instr/res/instraccordeon.png", IC_KEYBOARD_INSTRUMENT ) ); - vecDataBase.Add ( CInstPictProps ( "Vocal", ":/png/instr/res/instrvocal.png", IC_OTHER_INSTRUMENT ) ); - vecDataBase.Add ( CInstPictProps ( "Microphone", ":/png/instr/res/instrmicrophone.png", IC_OTHER_INSTRUMENT ) ); - vecDataBase.Add ( CInstPictProps ( "Harmonica", ":/png/instr/res/instrharmonica.png", IC_WIND_INSTRUMENT ) ); - vecDataBase.Add ( CInstPictProps ( "Trumpet", ":/png/instr/res/instrtrumpet.png", IC_WIND_INSTRUMENT ) ); - vecDataBase.Add ( CInstPictProps ( "Trombone", ":/png/instr/res/instrtrombone.png", IC_WIND_INSTRUMENT ) ); - vecDataBase.Add ( CInstPictProps ( "French Horn", ":/png/instr/res/instrfrenchhorn.png", IC_WIND_INSTRUMENT ) ); - vecDataBase.Add ( CInstPictProps ( "Tuba", ":/png/instr/res/instrtuba.png", IC_WIND_INSTRUMENT ) ); - vecDataBase.Add ( CInstPictProps ( "Saxophone", ":/png/instr/res/instrsaxophone.png", IC_WIND_INSTRUMENT ) ); - vecDataBase.Add ( CInstPictProps ( "Clarinet", ":/png/instr/res/instrclarinet.png", IC_WIND_INSTRUMENT ) ); - vecDataBase.Add ( CInstPictProps ( "Flute", ":/png/instr/res/instrflute.png", IC_WIND_INSTRUMENT ) ); - vecDataBase.Add ( CInstPictProps ( "Violin", ":/png/instr/res/instrviolin.png", IC_STRING_INSTRUMENT ) ); - vecDataBase.Add ( CInstPictProps ( "Cello", ":/png/instr/res/instrcello.png", IC_STRING_INSTRUMENT ) ); - vecDataBase.Add ( CInstPictProps ( "Double Bass", ":/png/instr/res/instrdoublebass.png", IC_STRING_INSTRUMENT ) ); - vecDataBase.Add ( CInstPictProps ( "Recorder", ":/png/instr/res/instrrecorder.png", IC_OTHER_INSTRUMENT ) ); - vecDataBase.Add ( CInstPictProps ( "Streamer", ":/png/instr/res/instrstreamer.png", IC_OTHER_INSTRUMENT ) ); - vecDataBase.Add ( CInstPictProps ( "Listener", ":/png/instr/res/instrlistener.png", IC_OTHER_INSTRUMENT ) ); - vecDataBase.Add ( CInstPictProps ( "Guitar+Vocal", ":/png/instr/res/instrguitarvocal.png", IC_MULTIPLE_INSTRUMENT ) ); + vecDataBase.Add ( CInstPictProps ( "None", ":/png/instr/res/instruments/instrnone.png", IC_OTHER_INSTRUMENT ) ); // special first element + vecDataBase.Add ( CInstPictProps ( "Drum Set", ":/png/instr/res/instruments/instrdrumset.png", IC_PERCUSSION_INSTRUMENT ) ); + vecDataBase.Add ( CInstPictProps ( "Djembe", ":/png/instr/res/instruments/instrdjembe.png", IC_PERCUSSION_INSTRUMENT ) ); + vecDataBase.Add ( CInstPictProps ( "Electric Guitar", ":/png/instr/res/instruments/instreguitar.png", IC_PLUCKING_INSTRUMENT ) ); + vecDataBase.Add ( CInstPictProps ( "Acoustic Guitar", ":/png/instr/res/instruments/instraguitar.png", IC_PLUCKING_INSTRUMENT ) ); + vecDataBase.Add ( CInstPictProps ( "Bass Guitar", ":/png/instr/res/instruments/instrbassguitar.png", IC_PLUCKING_INSTRUMENT ) ); + vecDataBase.Add ( CInstPictProps ( "Keyboard", ":/png/instr/res/instruments/instrkeyboard.png", IC_KEYBOARD_INSTRUMENT ) ); + vecDataBase.Add ( CInstPictProps ( "Synthesizer", ":/png/instr/res/instruments/instrsynthesizer.png", IC_KEYBOARD_INSTRUMENT ) ); + vecDataBase.Add ( CInstPictProps ( "Grand Piano", ":/png/instr/res/instruments/instrgrandpiano.png", IC_KEYBOARD_INSTRUMENT ) ); + vecDataBase.Add ( CInstPictProps ( "Accordion", ":/png/instr/res/instruments/instraccordeon.png", IC_KEYBOARD_INSTRUMENT ) ); + vecDataBase.Add ( CInstPictProps ( "Vocal", ":/png/instr/res/instruments/instrvocal.png", IC_OTHER_INSTRUMENT ) ); + vecDataBase.Add ( CInstPictProps ( "Microphone", ":/png/instr/res/instruments/instrmicrophone.png", IC_OTHER_INSTRUMENT ) ); + vecDataBase.Add ( CInstPictProps ( "Harmonica", ":/png/instr/res/instruments/instrharmonica.png", IC_WIND_INSTRUMENT ) ); + vecDataBase.Add ( CInstPictProps ( "Trumpet", ":/png/instr/res/instruments/instrtrumpet.png", IC_WIND_INSTRUMENT ) ); + vecDataBase.Add ( CInstPictProps ( "Trombone", ":/png/instr/res/instruments/instrtrombone.png", IC_WIND_INSTRUMENT ) ); + vecDataBase.Add ( CInstPictProps ( "French Horn", ":/png/instr/res/instruments/instrfrenchhorn.png", IC_WIND_INSTRUMENT ) ); + vecDataBase.Add ( CInstPictProps ( "Tuba", ":/png/instr/res/instruments/instrtuba.png", IC_WIND_INSTRUMENT ) ); + vecDataBase.Add ( CInstPictProps ( "Saxophone", ":/png/instr/res/instruments/instrsaxophone.png", IC_WIND_INSTRUMENT ) ); + vecDataBase.Add ( CInstPictProps ( "Clarinet", ":/png/instr/res/instruments/instrclarinet.png", IC_WIND_INSTRUMENT ) ); + vecDataBase.Add ( CInstPictProps ( "Flute", ":/png/instr/res/instruments/instrflute.png", IC_WIND_INSTRUMENT ) ); + vecDataBase.Add ( CInstPictProps ( "Violin", ":/png/instr/res/instruments/instrviolin.png", IC_STRING_INSTRUMENT ) ); + vecDataBase.Add ( CInstPictProps ( "Cello", ":/png/instr/res/instruments/instrcello.png", IC_STRING_INSTRUMENT ) ); + vecDataBase.Add ( CInstPictProps ( "Double Bass", ":/png/instr/res/instruments/instrdoublebass.png", IC_STRING_INSTRUMENT ) ); + vecDataBase.Add ( CInstPictProps ( "Recorder", ":/png/instr/res/instruments/instrrecorder.png", IC_OTHER_INSTRUMENT ) ); + vecDataBase.Add ( CInstPictProps ( "Streamer", ":/png/instr/res/instruments/instrstreamer.png", IC_OTHER_INSTRUMENT ) ); + vecDataBase.Add ( CInstPictProps ( "Listener", ":/png/instr/res/instruments/instrlistener.png", IC_OTHER_INSTRUMENT ) ); + vecDataBase.Add ( CInstPictProps ( "Guitar+Vocal", ":/png/instr/res/instruments/instrguitarvocal.png", IC_MULTIPLE_INSTRUMENT ) ); + vecDataBase.Add ( CInstPictProps ( "Bodhran", ":/png/instr/res/instruments/bodhran.png", IC_PERCUSSION_INSTRUMENT ) ); // now the table is initialized TableIsInitialized = true; diff --git a/windows/sound.cpp b/windows/sound.cpp index 9c5046fe..d33c0f19 100755 --- a/windows/sound.cpp +++ b/windows/sound.cpp @@ -857,6 +857,7 @@ void CSound::bufferSwitch ( long index, ASIOBool ) // call processing callback function pSound->ProcessCallback ( vecsTmpAudioSndCrdStereo ); + // PLAYBACK ------------------------------------------------------------ for ( int i = 0; i < NUM_IN_OUT_CHANNELS; i++ ) {