diff --git a/src/claudia_database.py b/src/claudia_database.py
index 9cf75c6..47b2afd 100644
--- a/src/claudia_database.py
+++ b/src/claudia_database.py
@@ -15,6 +15,9 @@ LEVEL_NSM = "NSM"
TEMPLATE_YES = "Yes"
TEMPLATE_NO = "No"
+# -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+# DAW
+
# (L, D, L, V, VST-Mode, T, M, MIDI-Mode) -> ( LADSPA, DSSI, LV2, VST, VST-Mode, Transport, MIDI, MIDI-Mode)
list_DAW = [
@@ -58,26 +61,36 @@ list_DAW = [
( "traverso", "Traverso", "DAW", "traverso", "traverso", TEMPLATE_NO, LEVEL_0, "OpenSource", (1, 0, 1, 0, "", 1, 0, ""), ("file:///usr/share/kxstudio/docs/traverso-manual-0.49.0.pdf", "http://traverso-daw.org/") ),
]
+iDAW_Package, iDAW_AppName, iDAW_Type, iDAW_Binary, iDAW_Icon, iDAW_Template, iDAW_Level, iDAW_RelModel, iDAW_Features, iDAW_Docs = range(0, len(list_DAW[0]))
+
+# -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+# Host
+
# (I, L, D, L, V, VST-Mode, MIDI-Mode) -> (Internal, LADSPA, DSSI, LV2, VST, VST-Mode, MIDI-Mode)
list_Host = [
- # Package AppName Ins? FX? Binary Icon Template? Level Rel.-Model (I, L, D, L, V, VST-Mode, MIDI-Mode) (doc-file, website)
- ( "calf-plugins", "Calf Jack Host", "Yes", "Yes", "calfjackhost", "calf", TEMPLATE_NO, LEVEL_0, "OpenSource", (1, 0, 0, 0, 0, "", "JACK"), ("", "http://calf.sourceforge.net/") ),
- ( "calf-plugins-git", "Calf Jack Host (GIT)", "Yes", "Yes", "calfjackhost", "calf", TEMPLATE_YES, LEVEL_1, "OpenSource", (1, 0, 0, 0, 0, "", "JACK"), ("file:///usr/share/doc/calf/Calf.html", "http://calf.sourceforge.net/") ),
+ # Package AppName Ins? FX? Binary Icon Template? Level Rel.-Model (I, L, D, L, V, VST-Mode, MIDI-Mode) (doc-file, website)
+ ( "calf-plugins", "Calf Jack Host", "Yes", "Yes", "calfjackhost", "calf", TEMPLATE_NO, LEVEL_0, "OpenSource", (1, 0, 0, 0, 0, "", "JACK"), ("", "http://calf.sourceforge.net/") ),
+ ( "calf-plugins-git", "Calf Jack Host (GIT)", "Yes", "Yes", "calfjackhost", "calf", TEMPLATE_YES, LEVEL_1, "OpenSource", (1, 0, 0, 0, 0, "", "JACK"), ("file:///usr/share/doc/calf/Calf.html", "http://calf.sourceforge.net/") ),
- ( "carla", "Carla", "Yes", "Yes", "carla", "carla", TEMPLATE_NO, LEVEL_1, "OpenSource", (0, 1, 1, 1, 1, "Native", "JACK"), ("", "http://kxstudio.sourceforge.net/KXStudio:Applications:Carla") ),
+ ( "carla", "Carla", "Yes", "Yes", "carla", "carla", TEMPLATE_NO, LEVEL_1, "OpenSource", (0, 1, 1, 1, 1, "Native", "JACK"), ("", "http://kxstudio.sourceforge.net/KXStudio:Applications:Carla") ),
- ( "festige", "FeSTige", "Yes", "Yes", "festige", "festige", TEMPLATE_NO, LEVEL_1, "OpenSource", (0, 0, 0, 0, 1, "Windows", "ALSA | JACK"), ("", "http://festige.sourceforge.net/") ),
+ ( "festige", "FeSTige", "Yes", "Yes", "festige", "festige", TEMPLATE_NO, LEVEL_1, "OpenSource", (0, 0, 0, 0, 1, "Windows", "ALSA | JACK"), ("", "http://festige.sourceforge.net/") ),
- #( "ingen", "Ingen", "Yes", "Yes", "ingen -eg", "ingen", TEMPLATE_NO, LEVEL_JS, "OpenSource", (1, 0, 0, 1, 0, "", "JACK"), ("", "http://drobilla.net/blog/software/ingen/") ),
- ( "ingen-svn", "Ingen (SVN)", "Yes", "Yes", "ingen-svn -eg", "ingen", TEMPLATE_NO, LEVEL_JS, "OpenSource", (1, 0, 0, 1, 0, "", "JACK"), ("", "http://drobilla.net/blog/software/ingen/") ),
+ #( "ingen", "Ingen", "Yes", "Yes", "ingen -eg", "ingen", TEMPLATE_NO, LEVEL_JS, "OpenSource", (1, 0, 0, 1, 0, "", "JACK"), ("", "http://drobilla.net/blog/software/ingen/") ),
+ ( "ingen-svn", "Ingen (SVN)", "Yes", "Yes", "ingen-svn -eg", "ingen", TEMPLATE_NO, LEVEL_JS, "OpenSource", (1, 0, 0, 1, 0, "", "JACK"), ("", "http://drobilla.net/blog/software/ingen/") ),
- ( "jack-rack", "Jack Rack", "No", "Yes", "jack-rack", "jack-rack", TEMPLATE_NO, LEVEL_0, "OpenSource", (0, 1, 0, 0, 0, "", "ALSA"), ("", "http://jack-rack.sourceforge.net/") ),
+ ( "jack-rack", "Jack Rack", "No", "Yes", "jack-rack", "jack-rack", TEMPLATE_NO, LEVEL_0, "OpenSource", (0, 1, 0, 0, 0, "", "ALSA"), ("", "http://jack-rack.sourceforge.net/") ),
- ( "zynjacku", "LV2 Rack", "No", "Yes", "lv2rack", "zynjacku", TEMPLATE_NO, LEVEL_LASH, "OpenSource", (0, 0, 0, 1, 0, "", "JACK"), ("", "http://home.gna.org/zynjacku/") ),
- ( "zynjacku", "ZynJackU", "Yes", "No", "zynjacku", "zynjacku", TEMPLATE_NO, LEVEL_LASH, "OpenSource", (0, 0, 0, 1, 0, "", "JACK"), ("", "http://home.gna.org/zynjacku/") ),
+ ( "zynjacku", "LV2 Rack", "No", "Yes", "lv2rack", "zynjacku", TEMPLATE_NO, LEVEL_LASH, "OpenSource", (0, 0, 0, 1, 0, "", "JACK"), ("", "http://home.gna.org/zynjacku/") ),
+ ( "zynjacku", "ZynJackU", "Yes", "No", "zynjacku", "zynjacku", TEMPLATE_NO, LEVEL_LASH, "OpenSource", (0, 0, 0, 1, 0, "", "JACK"), ("", "http://home.gna.org/zynjacku/") ),
]
+iHost_Package, iHost_AppName, iHost_Ins, iHost_FX, iHost_Binary, iHost_Icon, iHost_Template, iHost_Level, iHost_RelModel, iHost_Features, iDAW_Docs = range(0, len(list_Host[0]))
+
+# -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+# Instrument
+
# (F, I, MIDI-Mode) -> (Built-in FX, Audio Input, MIDI-Mode)
list_Instrument = [
@@ -86,7 +99,7 @@ list_Instrument = [
( "amsynth", "Amsynth", "Synth", "amsynth", "amsynth", TEMPLATE_NO, LEVEL_0, "OpenSource", (1, 0, "ALSA"), ("", "") ),
- ( "azr3-jack", "AZR3", "Synth", "azr3", "azr3", TEMPLATE_NO, LEVEL_0, "OpenSource", (0, 0, "Jack"), ("", "http://ll-plugins.nongnu.org/azr3/") ),
+ ( "azr3-jack", "AZR3", "Synth", "azr3", "azr3", TEMPLATE_NO, LEVEL_0, "OpenSource", (0, 0, "JACK"), ("", "http://ll-plugins.nongnu.org/azr3/") ),
( "distrho-plugin-ports", "Vex", "Synth", "vex", generic_audio_icon, TEMPLATE_NO, LEVEL_0, "OpenSource", (1, 1, "ALSA"), ("", "") ),
( "highlife", "HighLife", "Sampler", "highlife", generic_audio_icon, TEMPLATE_NO, LEVEL_0, "OpenSource", (1, 1, "ALSA"), ("", "http://www.discodsp.com/highlife/") ),
@@ -95,9 +108,9 @@ list_Instrument = [
( "tal-plugins", "TAL NoiseMaker", "Synth", "TAL-NoiseMaker", "tal_plugins", TEMPLATE_NO, LEVEL_0, "OpenSource", (1, 1, "ALSA"), ("", "http://kunz.corrupt.ch/products/tal-noisemaker") ),
( "wolpertinger", "Wolpertinger", "Synth", "Wolpertinger", "wolpertinger", TEMPLATE_NO, LEVEL_0, "OpenSource", (1, 0, "ALSA"), ("", "http://tumbetoene.tuxfamily.org") ),
- ( "foo-yc20", "Foo YC20", "Synth", "foo-yc20", "foo-yc20", TEMPLATE_NO, LEVEL_0, "OpenSource", (0, 0, "Jack"), ("", "http://code.google.com/p/foo-yc20/") ),
+ ( "foo-yc20", "Foo YC20", "Synth", "foo-yc20", "foo-yc20", TEMPLATE_NO, LEVEL_0, "OpenSource", (0, 0, "JACK"), ("", "http://code.google.com/p/foo-yc20/") ),
- ( "jsampler", "JSampler Fantasia", "Sampler", "jsampler-bin", "jsampler", TEMPLATE_NO, LEVEL_0, "OpenSource", (0, 0, "Jack + ALSA"), ("file:///usr/share/kxstudio/docs/jsampler/jsampler.html", "http://www.linuxsampler.org/") ),
+ ( "jsampler", "JSampler Fantasia", "Sampler", "jsampler-bin", "jsampler", TEMPLATE_NO, LEVEL_0, "OpenSource", (0, 0, "ALSA + JACK"), ("file:///usr/share/kxstudio/docs/jsampler/jsampler.html", "http://www.linuxsampler.org/") ),
( "loomer-plugins", "Aspect", "Synth", "Aspect", "loomer", TEMPLATE_NO, LEVEL_0, "Demo", (1, 1, "ALSA"), ("file:///usr/share/doc/loomer-plugins/Aspect Manual.pdf.gz", "http://www.loomer.co.uk/aspect.htm") ),
( "loomer-plugins", "Sequent", "Synth", "Sequent", "loomer", TEMPLATE_NO, LEVEL_0, "Demo", (1, 1, "ALSA"), ("file:///usr/share/doc/loomer-plugins/Sequent Manual.pdf.gz", "http://www.loomer.co.uk/sequent.htm") ),
@@ -105,22 +118,27 @@ list_Instrument = [
( "phasex", "Phasex", "Synth", "phasex", "phasex", TEMPLATE_NO, LEVEL_0, "OpenSource", (1, 1, "ALSA"), ("file:///usr/share/phasex/help/parameters.help", "") ),
- ( "pianoteq", "Pianoteq", "Synth", "Pianoteq", "pianoteq", TEMPLATE_NO, LEVEL_0, "Demo", (1, 0, "Jack + ALSA"), ("file:///usr/local/bin/Documentation/pianoteq-english.pdf", "http://www.pianoteq.com/pianoteq3_standard") ),
- ( "pianoteq-play", "Pianoteq Play", "Synth", "Pianoteq-PLAY", "pianoteq", TEMPLATE_NO, LEVEL_0, "Demo", (1, 0, "Jack + ALSA"), ("file:///usr/local/bin/Documentation/pianoteq-english.pdf", "http://www.pianoteq.com/pianoteq3_play") ),
+ ( "pianoteq", "Pianoteq", "Synth", "Pianoteq", "pianoteq", TEMPLATE_NO, LEVEL_0, "Demo", (1, 0, "ALSA + JACK"), ("file:///usr/local/bin/Documentation/pianoteq-english.pdf", "http://www.pianoteq.com/pianoteq3_standard") ),
+ ( "pianoteq-play", "Pianoteq Play", "Synth", "Pianoteq-PLAY", "pianoteq", TEMPLATE_NO, LEVEL_0, "Demo", (1, 0, "ALSA + JACK"), ("file:///usr/local/bin/Documentation/pianoteq-english.pdf", "http://www.pianoteq.com/pianoteq3_play") ),
- ( "qsampler", "Qsampler", "Sampler", "qsampler", "qsampler", TEMPLATE_NO, LEVEL_1, "OpenSource", (0, 0, "Jack + ALSA"), ("", "http://qsampler.sourceforge.net/") ),
+ ( "qsampler", "Qsampler", "Sampler", "qsampler", "qsampler", TEMPLATE_NO, LEVEL_1, "OpenSource", (0, 0, "ALSA + JACK"), ("", "http://qsampler.sourceforge.net/") ),
- ( "qsynth", "Qsynth", "SoundFont Player", "qsynth -a jack -m jack", "qsynth", TEMPLATE_NO, LEVEL_0, "OpenSource", (1, 0, "Jack | ALSA"), ("", "http://qsynth.sourceforge.net/") ),
+ ( "qsynth", "Qsynth", "SoundFont Player", "qsynth -a jack -m jack", "qsynth", TEMPLATE_NO, LEVEL_0, "OpenSource", (1, 0, "ALSA | JACK"), ("", "http://qsynth.sourceforge.net/") ),
- ( "yoshimi", "Yoshimi", "Synth", "yoshimi -j -J", "yoshimi", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 0, "Jack | ALSA"), ("", "http://yoshimi.sourceforge.net/") ),
+ ( "yoshimi", "Yoshimi", "Synth", "yoshimi -j -J", "yoshimi", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 0, "ALSA | JACK"), ("", "http://yoshimi.sourceforge.net/") ),
- ( "zynaddsubfx", "ZynAddSubFX", "Synth", "zynaddsubfx", "zynaddsubfx", TEMPLATE_NO, LEVEL_0, "OpenSource", (1, 0, "Jack + ALSA"), ("", "http://zynaddsubfx.sourceforge.net/") ),
+ ( "zynaddsubfx", "ZynAddSubFX", "Synth", "zynaddsubfx", "zynaddsubfx", TEMPLATE_NO, LEVEL_0, "OpenSource", (1, 0, "ALSA + JACK"), ("", "http://zynaddsubfx.sourceforge.net/") ),
]
+iInstrument_Package, iInstrument_AppName, iInstrument_Type, iInstrument_Binary, iInstrument_Icon, iInstrument_Template, iInstrument_Level, iInstrument_RelModel, iInstrument_Features, iInstrument_Docs = range(0, len(list_Instrument[0]))
+
+# -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+# Bristol
+
# Need name: bit99, bit100
list_Bristol = [
- # Package AppName Type Short-name Icon Template? Level Rel.-Model (F, I, MIDI-Mode) (doc-file, website)
+ # Package AppName Type Short-name Icon Template? Level Rel.-Model (F, I, MIDI-Mode) (doc-file, website)
( "bristol", "Moog Voyager", "Synth", "explorer", "bristol_explorer", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "http://bristol.sourceforge.net/explorer.html") ),
( "bristol", "Moog Mini", "Synth", "mini", "bristol_mini", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "http://bristol.sourceforge.net/mini.html") ),
( "bristol", "Sequential Circuits Prophet-52", "Synth", "prophet52", "bristol_prophet52", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "http://bristol.sourceforge.net/prophet52.html") ),
@@ -165,6 +183,11 @@ list_Bristol = [
#( "bristol", "Bristol Realtime Mixer", "Synth", "mixer", "bristol_mixer", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "http://bristol.sourceforge.net/mixer.html") ),
]
+iBristol_Package, iBristol_AppName, iBristol_Type, iBristol_ShortName, iBristol_Icon, iBristol_Template, iBristol_Level, iBristol_RelModel, iBristol_Features, iBristol_Docs = range(0, len(list_Bristol[0]))
+
+# -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+# Effect
+
# (S, MIDI-Mode) -> (Stereo, MIDI-Mode)
list_Effect = [
@@ -176,7 +199,7 @@ list_Effect = [
( "distrho-plugins", "3 BandEQ", "EQ", "3BandEQ", "distrho_plugins", TEMPLATE_NO, LEVEL_0, "OpenSource", (1, "ALSA"), ("", "") ),
( "distrho-plugins", "Ping Pong Pan", "Pan", "PingPongPan", "distrho_plugins", TEMPLATE_NO, LEVEL_0, "OpenSource", (1, "ALSA"), ("", "") ),
- ( "distrho-plugins", "Stereo Audio Gain", "Amplifier", "StereoAudioGain", "distrho_plugins", TEMPLATE_NO, LEVEL_0, "OpenSource", (1, "ALSA"), ("", "") ),
+ #( "distrho-plugins", "Stereo Audio Gain", "Amplifier", "StereoAudioGain", "distrho_plugins", TEMPLATE_NO, LEVEL_0, "OpenSource", (1, "ALSA"), ("", "") ),
( "distrho-plugin-ports", "Argotlunar", "Granularor", "argotlunar", generic_audio_icon, TEMPLATE_NO, LEVEL_0, "OpenSource", (1, "ALSA"), ("", "http://argotlunar.info/") ),
( "distrho-plugin-ports", "BitMangler", "Misc", "bitmangler", generic_audio_icon, TEMPLATE_NO, LEVEL_0, "OpenSource", (1, "ALSA"), ("", "") ),
@@ -228,79 +251,88 @@ list_Effect = [
( "tal-plugins", "TAL Vocoder 2", "Vocoder", "TAL-Vocoder-2", "tal_plugins", TEMPLATE_NO, LEVEL_0, "OpenSource", (1, "ALSA"), ("", "http://kunz.corrupt.ch/products/tal-vocoder") ),
]
+iEffect_Package, iEffect_AppName, iEffect_Type, iEffect_Binary, iEffect_Icon, iEffect_Template, iEffect_Level, iEffect_RelModel, iEffect_Features, iEffect_Docs = range(0, len(list_Effect[0]))
+
+# -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+# Tool
+
+# (MIDI-Mode, T) -> (MIDI-Mode, Transport)
+
list_Tool = [
- # Package AppName Type Binary Icon Save || Level || Release Model || Features[ midi-mode, tranport ] || Doc[ doc, website ]
- ( "a2jmidid", "ALSA -> Jack MIDI", "Bridge", "a2j -e", generic_midi_icon, TEMPLATE_NO, LEVEL_0, "OpenSource", ("Jack", 0), ("", "http://home.gna.org/a2jmidid/") ),
+ # Package AppName Type Binary Icon Template? Level Rel.-Model (MIDI-Mode, T) (doc, website)
+ ( "a2jmidid", "ALSA -> Jack MIDI", "Bridge", "a2j -e", generic_midi_icon, TEMPLATE_NO, LEVEL_0, "OpenSource", ("JACK", 0), ("", "http://home.gna.org/a2jmidid/") ),
- ( "arpage", "Arpage", "MIDI Arpeggiator", "arpage", "arpage", TEMPLATE_NO, LEVEL_0, "OpenSource", ("Jack", 1), ("", "") ),
- ( "arpage", "Zonage", "MIDI Mapper", "zonage", "zonage", TEMPLATE_NO, LEVEL_0, "OpenSource", ("Jack", 0), ("", "") ),
+ ( "arpage", "Arpage", "MIDI Arpeggiator", "arpage", "arpage", TEMPLATE_NO, LEVEL_0, "OpenSource", ("JACK", 1), ("", "") ),
+ ( "arpage", "Zonage", "MIDI Mapper", "zonage", "zonage", TEMPLATE_NO, LEVEL_0, "OpenSource", ("JACK", 0), ("", "") ),
- ( "audacity", "Audacity", "Audio Editor", "audacity", "audacity", TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 0), ("", "http://audacity.sourceforge.net/") ),
+ ( "audacity", "Audacity", "Audio Editor", "audacity", "audacity", TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 0), ("", "http://audacity.sourceforge.net/") ),
- ( "cadence", "Cadence", "Multi-Feature", "cadence", "cadence", TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 0), ("", "") ),
- ( "cadence-py3-tools", "JACK XY Controller", "XY Controller", "jack_xycontroller", generic_audio_icon, TEMPLATE_NO, LEVEL_0, "OpenSource", ("Jack", 0), ("", "") ),
- ( "catia", "Catia", "Patch Bay", "catia", "catia", TEMPLATE_NO, LEVEL_0, "OpenSource", ("Jack", 1), ("", "") ),
- ( "claudia", "Claudia", "Session Handler", "claudia", "claudia", TEMPLATE_NO, LEVEL_0, "OpenSource", ("Jack", 1), ("", "") ),
- ( "carla-control", "Carla OSC Control", "OSC Control", "carla-control", "carla-control", TEMPLATE_NO, LEVEL_0, "OpenSource", ("Jack", 1), ("", "") ),
+ ( "cadence", "Cadence", "Multi-Feature", "cadence", "cadence", TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 0), ("", "") ),
+ ( "cadence-py3-tools", "JACK XY Controller", "XY Controller", "jack_xycontroller", generic_audio_icon, TEMPLATE_NO, LEVEL_0, "OpenSource", ("JACK", 0), ("", "") ),
+ ( "catia", "Catia", "Patch Bay", "catia", "catia", TEMPLATE_NO, LEVEL_0, "OpenSource", ("JACK", 1), ("", "") ),
+ ( "claudia", "Claudia", "Session Handler", "claudia", "claudia", TEMPLATE_NO, LEVEL_0, "OpenSource", ("JACK", 1), ("", "") ),
+ ( "carla-control", "Carla OSC Control", "OSC Control", "carla-control", "carla-control", TEMPLATE_NO, LEVEL_0, "OpenSource", ("JACK", 1), ("", "") ),
- ( "drumstick-tools", "Drumstick Virtual Piano", "Virtual Keyboard", "drumstick-vpiano", "drumstick", TEMPLATE_NO, LEVEL_0, "OpenSource", ("ALSA", 0), ("", "http://drumstick.sourceforge.net/") ),
+ ( "drumstick-tools", "Drumstick Virtual Piano", "Virtual Keyboard", "drumstick-vpiano", "drumstick", TEMPLATE_NO, LEVEL_0, "OpenSource", ("ALSA", 0), ("", "http://drumstick.sourceforge.net/") ),
- ( "fmit", "Music Instrument Tuner", "Instrument Tuner", "fmit", generic_audio_icon, TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 0), ("", "") ),
+ ( "fmit", "Music Instrument Tuner", "Instrument Tuner", "fmit", generic_audio_icon, TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 0), ("", "") ),
- ( "gigedit", "Gigedit", "Instrument Editor", "gigedit", generic_audio_icon, TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 0), ("/usr/share/doc/gigedit/gigedit_quickstart.html", "") ),
+ ( "gigedit", "Gigedit", "Instrument Editor", "gigedit", generic_audio_icon, TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 0), ("/usr/share/doc/gigedit/gigedit_quickstart.html", "") ),
- ( "gjacktransport", "GJackClock", "Transport Tool", "gjackclock", "gjackclock", TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 1), ("", "") ),
- ( "gjacktransport", "GJackTransport", "Transport Tool", "gjacktransport", "gjacktransport", TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 1), ("", "") ),
+ ( "gjacktransport", "GJackClock", "Transport Tool", "gjackclock", "gjackclock", TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 1), ("", "") ),
+ ( "gjacktransport", "GJackTransport", "Transport Tool", "gjacktransport", "gjacktransport", TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 1), ("", "") ),
- ( "gladish", "LADI Session Handler", "Session Handler", "gladish", "gladish", TEMPLATE_NO, LEVEL_0, "OpenSource", ("Jack", 0), ("", "http://www.ladish.org") ),
+ ( "gladish", "LADI Session Handler", "Session Handler", "gladish", "gladish", TEMPLATE_NO, LEVEL_0, "OpenSource", ("JACK", 0), ("", "http://www.ladish.org") ),
- ( "gninjam", "Gtk NINJAM client", "Music Collaboration", "gninjam", generic_audio_icon, TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 1), ("", "") ),
+ ( "gninjam", "Gtk NINJAM client", "Music Collaboration", "gninjam", generic_audio_icon, TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 1), ("", "") ),
- ( "jack-capture", "Jack Capture", "Recorder", "jack_capture_gui2", "media-record", TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 0), ("", "") ),
+ ( "jack-capture", "Jack Capture", "Recorder", "jack_capture_gui2", "media-record", TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 0), ("", "") ),
- ( "jack-keyboard", "Jack Keyboard", "Virtual Keyboard", "jack-keyboard", "jack-keyboard", TEMPLATE_NO, LEVEL_0, "OpenSource", ("Jack", 0), ("file:///usr/share/kxstudio/docs/jack-keyboard/manual.html", "http://jack-keyboard.sourceforge.net/") ),
+ ( "jack-keyboard", "Jack Keyboard", "Virtual Keyboard", "jack-keyboard", "jack-keyboard", TEMPLATE_NO, LEVEL_0, "OpenSource", ("JACK", 0), ("file:///usr/share/kxstudio/docs/jack-keyboard/manual.html", "http://jack-keyboard.sourceforge.net/") ),
- ( "jack-mixer", "Jack Mixer", "Mixer", "jack_mixer", "jack_mixer", TEMPLATE_NO, LEVEL_1, "OpenSource", ("Jack", 0), ("", "http://home.gna.org/jackmixer/") ),
+ ( "jack-mixer", "Jack Mixer", "Mixer", "jack_mixer", "jack_mixer", TEMPLATE_NO, LEVEL_1, "OpenSource", ("JACK", 0), ("", "http://home.gna.org/jackmixer/") ),
- ( "jack-trans2midi", "Jack-Transport -> MIDI Clock", "Bridge", "trans2midi", generic_midi_icon, TEMPLATE_NO, LEVEL_0, "OpenSource", ("Jack", 1), ("", "") ),
+ ( "jack-trans2midi", "Jack-Transport -> MIDI Clock", "Bridge", "trans2midi", generic_midi_icon, TEMPLATE_NO, LEVEL_0, "OpenSource", ("JACK", 1), ("", "") ),
- ( "kmetronome", "KMetronome", "Metronome", "kmetronome", "kmetronome", TEMPLATE_NO, LEVEL_0, "OpenSource", ("ALSA", 0), ("", "http://kmetronome.sourceforge.net/kmetronome.shtml") ),
- ( "kmidimon", "KMidimon", "Monitor", "kmidimon", "kmidimon", TEMPLATE_NO, LEVEL_0, "OpenSource", ("ALSA", 0), ("", "http://kmidimon.sourceforge.net/") ),
+ ( "kmetronome", "KMetronome", "Metronome", "kmetronome", "kmetronome", TEMPLATE_NO, LEVEL_0, "OpenSource", ("ALSA", 0), ("", "http://kmetronome.sourceforge.net/kmetronome.shtml") ),
+ ( "kmidimon", "KMidimon", "Monitor", "kmidimon", "kmidimon", TEMPLATE_NO, LEVEL_0, "OpenSource", ("ALSA", 0), ("", "http://kmidimon.sourceforge.net/") ),
- ( "laditools", "LADI Log", "Log Viewer", "ladilog", "ladilog", TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 0), ("", "") ),
- ( "laditools", "LADI Tray", "Session Handler", "laditray", "laditray", TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 0), ("", "") ),
+ ( "laditools", "LADI Log", "Log Viewer", "ladilog", "ladilog", TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 0), ("", "") ),
+ ( "laditools", "LADI Tray", "Session Handler", "laditray", "laditray", TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 0), ("", "") ),
- ( "linuxdsp-plugins", "linuxDSP JACK Patch Bay", "Patch Bay", "jp1_x86-64 || jp1_i686", "linuxdsp", TEMPLATE_NO, LEVEL_0, "FreeWare", ("Jack", 0), ("file:///usr/share/doc/linuxdsp-plugins/JP1/manual.pdf.gz", "http://www.linuxdsp.co.uk/download/jack/download_jp1_jack/index.html") ),
+ ( "linuxdsp-plugins", "linuxDSP JACK Patch Bay", "Patch Bay", "jp1_x86-64 || jp1_i686", "linuxdsp", TEMPLATE_NO, LEVEL_0, "FreeWare", ("JACK", 0), ("file:///usr/share/doc/linuxdsp-plugins/JP1/manual.pdf.gz", "http://www.linuxdsp.co.uk/download/jack/download_jp1_jack/index.html") ),
- ( "lives", "LiVES", "VJ / Video Editor", "lives", "lives", TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 1), ("", "http://lives.sourceforge.net/") ),
+ ( "lives", "LiVES", "VJ / Video Editor", "lives", "lives", TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 1), ("", "http://lives.sourceforge.net/") ),
- ( "ltc2amidi", "LTC -> MIDI Clock", "Bridge", "ltc2amidi", generic_midi_icon, TEMPLATE_NO, LEVEL_0, "OpenSource", ("ALSA", 0), ("", "") ),
+ ( "ltc2amidi", "LTC -> MIDI Clock", "Bridge", "ltc2amidi", generic_midi_icon, TEMPLATE_NO, LEVEL_0, "OpenSource", ("ALSA", 0), ("", "") ),
- ( "mhwaveedit", "MhWaveEdit", "Audio Editor", "mhwaveedit", "mhwaveedit", TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 0), ("", "http://gna.org/projects/mhwaveedit/") ),
+ ( "mhwaveedit", "MhWaveEdit", "Audio Editor", "mhwaveedit", "mhwaveedit", TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 0), ("", "http://gna.org/projects/mhwaveedit/") ),
- ( "mixxx", "Mixxx", "DJ", "mixxx", "mixxx", TEMPLATE_NO, LEVEL_0, "OpenSource", ("ALSA", 0), ("file:///usr/share/kxstudio/docs/Mixxx-Manual.pdf", "http://mixxx.sourceforge.net/") ),
+ ( "mixxx", "Mixxx", "DJ", "mixxx", "mixxx", TEMPLATE_NO, LEVEL_0, "OpenSource", ("ALSA", 0), ("file:///usr/share/kxstudio/docs/Mixxx-Manual.pdf", "http://mixxx.sourceforge.net/") ),
- ( "non-mixer", "Non-Mixer", "Mixer", "non-mixer", "non-mixer", TEMPLATE_NO, LEVEL_0, "OpenSource", ("CV", 0), ("file:///usr/share/doc/non-mixer/MANUAL.html", "http://non-daw.tuxfamily.org/") ),
+ ( "non-mixer", "Non-Mixer", "Mixer", "non-mixer", "non-mixer", TEMPLATE_NO, LEVEL_0, "OpenSource", ("CV", 0), ("file:///usr/share/doc/non-mixer/MANUAL.html", "http://non-daw.tuxfamily.org/") ),
- ( "openmovieeditor", "OpenMovieEditor", "Video Editor", "openmovieeditor", "openmovieeditor", TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 1), ("file:///usr/share/kxstudio/docs/openmovieeditor/tutorial.html", "http://www.openmovieeditor.org/") ),
+ ( "openmovieeditor", "OpenMovieEditor", "Video Editor", "openmovieeditor", "openmovieeditor", TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 1), ("file:///usr/share/kxstudio/docs/openmovieeditor/tutorial.html", "http://www.openmovieeditor.org/") ),
- ( "oomidi-2011", "OpenOctave Studio", "Session Handler", "oostudio-2011", "oomidi-2011", TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 0), ("", "https://github.com/ccherrett/oom/wiki/OOStudio") ),
+ ( "oomidi-2011", "OpenOctave Studio", "Session Handler", "oostudio-2011", "oomidi-2011", TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 0), ("", "https://github.com/ccherrett/oom/wiki/OOStudio") ),
- ( "patchage", "Patchage", "Patch Bay", "patchage", "patchage", TEMPLATE_NO, LEVEL_0, "OpenSource", ("Jack + ALSA", 0), ("", "http://drobilla.net/blog/software/patchage/") ),
- ( "patchage", "Patchage (ALSA Only)", "Patch Bay", "patchage -J", "patchage", TEMPLATE_NO, LEVEL_0, "OpenSource", ("ALSA", 0), ("", "http://drobilla.net/blog/software/patchage/") ),
- ( "patchage-svn", "Patchage (SVN)", "Patch Bay", "patchage-svn", "/opt/drobilla-lad/share/icons/hicolor/48x48/apps/patchage.png", TEMPLATE_NO, LEVEL_0, "OpenSource", ("Jack + ALSA", 0), ("", "http://drobilla.net/blog/software/patchage/") ),
- ( "patchage-svn", "Patchage (SVN, ALSA Only)", "Patch Bay", "patchage-svn -J", "/opt/drobilla-lad/share/icons/hicolor/48x48/apps/patchage.png", TEMPLATE_NO, LEVEL_0, "OpenSource", ("Jack + ALSA", 0), ("", "http://drobilla.net/blog/software/patchage/") ),
+ ( "patchage", "Patchage", "Patch Bay", "patchage", "patchage", TEMPLATE_NO, LEVEL_0, "OpenSource", ("ALSA + JACK", 0), ("", "http://drobilla.net/blog/software/patchage/") ),
+ ( "patchage", "Patchage (ALSA Only)", "Patch Bay", "patchage -J", "patchage", TEMPLATE_NO, LEVEL_0, "OpenSource", ("ALSA", 0), ("", "http://drobilla.net/blog/software/patchage/") ),
+ ( "patchage-svn", "Patchage (SVN)", "Patch Bay", "patchage-svn", "patchage", TEMPLATE_NO, LEVEL_0, "OpenSource", ("ALSA + JACK", 0), ("", "http://drobilla.net/blog/software/patchage/") ),
+ ( "patchage-svn", "Patchage (SVN, ALSA Only)", "Patch Bay", "patchage-svn -J", "patchage", TEMPLATE_NO, LEVEL_0, "OpenSource", ("ALSA + JACK", 0), ("", "http://drobilla.net/blog/software/patchage/") ),
- ( "qjackctl", "QJackControl", "Jack Control", "qjackctl", "qjackctl", TEMPLATE_NO, LEVEL_0, "OpenSource", ("Jack + ALSA", 1), ("", "") ),
+ ( "qjackctl", "QJackControl", "Jack Control", "qjackctl", "qjackctl", TEMPLATE_NO, LEVEL_0, "OpenSource", ("ALSA + JACK", 1), ("", "") ),
- ( "qamix", "QAMix", "Mixer", "qamix", "qamix", TEMPLATE_NO, LEVEL_0, "OpenSource", ("ALSA", 0), ("", "") ),
- ( "qarecord", "QARecord", "Recorder", "qarecord --jack", "qarecord_48", TEMPLATE_NO, LEVEL_0, "OpenSource", ("ALSA", 0), ("", "") ),
- ( "qmidiarp", "QMidiArp", "MIDI Arpeggiator", "qmidiarp", generic_midi_icon, TEMPLATE_NO, LEVEL_0, "OpenSource", ("ALSA", 0), ("", "") ),
+ ( "qamix", "QAMix", "Mixer", "qamix", "qamix", TEMPLATE_NO, LEVEL_0, "OpenSource", ("ALSA", 0), ("", "") ),
+ ( "qarecord", "QARecord", "Recorder", "qarecord --jack", "qarecord_48", TEMPLATE_NO, LEVEL_0, "OpenSource", ("ALSA", 0), ("", "") ),
+ ( "qmidiarp", "QMidiArp", "MIDI Arpeggiator", "qmidiarp", generic_midi_icon, TEMPLATE_NO, LEVEL_0, "OpenSource", ("ALSA", 0), ("", "") ),
- ( "timemachine", "TimeMachine", "Recorder", "timemachine", "timemachine", TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 0), ("", "http://plugin.org.uk/timemachine/") ),
+ ( "timemachine", "TimeMachine", "Recorder", "timemachine", "timemachine", TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 0), ("", "http://plugin.org.uk/timemachine/") ),
- ( "vmpk", "Virtual MIDI Piano Keyboard", "Virtual Keyboard", "vmpk", "vmpk", TEMPLATE_NO, LEVEL_0, "OpenSource", ("ALSA", 0), ("file:///usr/share/vmpk/help.html", "http://vmpk.sourceforge.net/") ),
+ ( "vmpk", "Virtual MIDI Piano Keyboard", "Virtual Keyboard", "vmpk", "vmpk", TEMPLATE_NO, LEVEL_0, "OpenSource", ("ALSA", 0), ("file:///usr/share/vmpk/help.html", "http://vmpk.sourceforge.net/") ),
- ( "xjadeo", "XJadeo", "Video Player", "qjadeo", "qjadeo", TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 1), ("", "http://xjadeo.sourceforge.net/") ),
+ ( "xjadeo", "XJadeo", "Video Player", "qjadeo", "qjadeo", TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 1), ("", "http://xjadeo.sourceforge.net/") ),
]
+iTool_Package, iTool_AppName, iTool_Type, iTool_Binary, iTool_Icon, iTool_Template, iTool_Level, iTool_RelModel, iTool_Features, iTool_Docs = range(0, len(list_Tool[0]))
+
diff --git a/src/claudia_launcher.py b/src/claudia_launcher.py
index 1b5def8..dc3f11b 100755
--- a/src/claudia_launcher.py
+++ b/src/claudia_launcher.py
@@ -2,9 +2,8 @@
# -*- coding: utf-8 -*-
# Imports (Global)
-import os, sys
from PyQt4.QtCore import pyqtSlot, Qt, QTimer, QSettings
-from PyQt4.QtGui import QIcon, QMainWindow, QTableWidgetItem, QWidget
+from PyQt4.QtGui import QMainWindow, QTableWidgetItem, QWidget
from subprocess import getoutput
from random import randint
@@ -17,17 +16,17 @@ from shared import *
SHOW_ALL = False
# Tab Indexes
-TAB_INDEX_DAW = 0
-TAB_INDEX_HOST = 1
+TAB_INDEX_DAW = 0
+TAB_INDEX_HOST = 1
TAB_INDEX_INSTRUMENT = 2
-TAB_INDEX_BRISTOL = 3
-TAB_INDEX_EFFECT = 4
-TAB_INDEX_TOOL = 5
+TAB_INDEX_BRISTOL = 3
+TAB_INDEX_EFFECT = 4
+TAB_INDEX_TOOL = 5
EXTRA_ICON_PATHS = [
- "/usr/share/icons",
- "/usr/share/pixmaps",
- "/usr/local/share/pixmaps"
+ "/usr/share/icons",
+ "/usr/share/pixmaps",
+ "/usr/local/share/pixmaps"
]
# XIcon class
@@ -40,25 +39,25 @@ class XIcon(object):
icon_paths.append(path)
QIcon.setThemeSearchPaths(icon_paths)
- def getIcon(self, name, size=48):
- if (os.path.exists(name)):
- icon = QIcon(name)
+ def getIcon(self, name):
+ if os.path.exists(name):
+ icon = QIcon(name)
else:
- icon = QIcon.fromTheme(name)
-
- if (icon.isNull()):
- for iEXTRA_PATH in EXTRA_ICON_PATHS:
- if os.path.exists(os.path.join(iEXTRA_PATH, name + ".png")):
- icon = QIcon(os.path.join(iEXTRA_PATH, name + ".png"))
- break
- elif os.path.exists(os.path.join(iEXTRA_PATH, name + ".svg")):
- icon = QIcon(os.path.join(iEXTRA_PATH, name + ".svg"))
- break
- elif os.path.exists(os.path.join(iEXTRA_PATH, name + ".xpm")):
- icon = QIcon(os.path.join(iEXTRA_PATH, name + ".xpm"))
- break
- else:
- print("XIcon::Failed to find icon for %s" % name)
+ icon = QIcon.fromTheme(name)
+
+ if icon.isNull():
+ for iEXTRA_PATH in EXTRA_ICON_PATHS:
+ if os.path.exists(os.path.join(iEXTRA_PATH, name + ".png")):
+ icon = QIcon(os.path.join(iEXTRA_PATH, name + ".png"))
+ break
+ elif os.path.exists(os.path.join(iEXTRA_PATH, name + ".svg")):
+ icon = QIcon(os.path.join(iEXTRA_PATH, name + ".svg"))
+ break
+ elif os.path.exists(os.path.join(iEXTRA_PATH, name + ".xpm")):
+ icon = QIcon(os.path.join(iEXTRA_PATH, name + ".xpm"))
+ break
+ else:
+ print("XIcon::Failed to find icon for %s" % name)
return icon
@@ -92,15 +91,15 @@ class ClaudiaLauncher(QWidget, ui_claudia_launcher.Ui_ClaudiaLauncherW):
# For the custom icons
self.ClaudiaIcons = XIcon()
- if (os.path.exists(os.path.join(sys.path[0], "..", "icons"))):
- self.ClaudiaIcons.addIconPath(os.path.join(sys.path[0], "..", "icons"))
- elif (os.path.exists(os.path.join(sys.path[0], "..", "data", "icons"))):
- self.ClaudiaIcons.addIconPath(os.path.join(sys.path[0], "..", "data", "icons"))
+ if os.path.exists(os.path.join(sys.path[0], "..", "icons")):
+ self.ClaudiaIcons.addIconPath(os.path.join(sys.path[0], "..", "icons"))
+ elif os.path.exists(os.path.join(sys.path[0], "..", "data", "icons")):
+ self.ClaudiaIcons.addIconPath(os.path.join(sys.path[0], "..", "data", "icons"))
QIcon.setThemeName("claudia-hicolor")
- self.icon_yes = QIcon(self.getIcon("dialog-ok-apply", 16))
- self.icon_no = QIcon(self.getIcon("dialog-cancel", 16))
+ self.icon_yes = QIcon(self.getIcon("dialog-ok-apply"))
+ self.icon_no = QIcon(self.getIcon("dialog-cancel"))
self.clearInfo_DAW()
self.clearInfo_Host()
@@ -130,119 +129,119 @@ class ClaudiaLauncher(QWidget, ui_claudia_launcher.Ui_ClaudiaLauncherW):
tab_index = self.tabWidget.currentIndex()
column_name = 2 if (tab_index == TAB_INDEX_BRISTOL) else 1
- if (tab_index == TAB_INDEX_DAW):
- listSel = self.listDAW
- elif (tab_index == TAB_INDEX_HOST):
- listSel = self.listHost
- elif (tab_index == TAB_INDEX_INSTRUMENT):
- listSel = self.listInstrument
- elif (tab_index == TAB_INDEX_BRISTOL):
- listSel = self.listBristol
- elif (tab_index == TAB_INDEX_EFFECT):
- listSel = self.listEffect
- elif (tab_index == TAB_INDEX_TOOL):
- listSel = self.listTool
+ if tab_index == TAB_INDEX_DAW:
+ listSel = self.listDAW
+ elif tab_index == TAB_INDEX_HOST:
+ listSel = self.listHost
+ elif tab_index == TAB_INDEX_INSTRUMENT:
+ listSel = self.listInstrument
+ elif tab_index == TAB_INDEX_BRISTOL:
+ listSel = self.listBristol
+ elif tab_index == TAB_INDEX_EFFECT:
+ listSel = self.listEffect
+ elif tab_index == TAB_INDEX_TOOL:
+ listSel = self.listTool
else:
- return ""
+ return ""
return listSel.item(listSel.currentRow(), column_name).text()
def getBinaryFromAppName(self, appname):
for Package, AppName, Type, Binary, Icon, Save, Level, License, Features, Docs in database.list_DAW:
- if (appname == AppName):
- return Binary
+ if appname == AppName:
+ return Binary
for Package, AppName, Instruments, Effects, Binary, Icon, Save, Level, License, Features, Docs in database.list_Host:
- if (appname == AppName):
- return Binary
+ if appname == AppName:
+ return Binary
for Package, AppName, Type, Binary, Icon, Save, Level, License, Features, Docs in database.list_Instrument:
- if (appname == AppName):
- return Binary
+ if appname == AppName:
+ return Binary
for Package, AppName, Type, ShortName, Icon, Save, Level, License, Features, Docs in database.list_Bristol:
- if (appname == AppName):
- return "startBristol -audio jack -midi jack -%s" % ShortName
+ if appname == AppName:
+ return "startBristol -audio jack -midi jack -%s" % ShortName
for Package, AppName, Type, Binary, Icon, Save, Level, License, Features, Docs in database.list_Effect:
- if (appname == AppName):
- return Binary
+ if appname == AppName:
+ return Binary
for Package, AppName, Type, Binary, Icon, Save, Level, License, Features, Docs in database.list_Tool:
- if (appname == AppName):
- return Binary
+ if appname == AppName:
+ return Binary
print("Failed to find binary from App name")
return ""
def startApp(self, app=None):
- if (not app):
- app = self.getSelectedApp()
+ if not app:
+ app = self.getSelectedApp()
binary = self.getBinaryFromAppName(app)
os.system("cd '%s' && %s &" % (self.callback_getProjectFolder(), binary))
def addAppToLADISH(self, app=None):
- if (not app):
- app = self.getSelectedApp()
+ if not app:
+ app = self.getSelectedApp()
binary = self.getBinaryFromAppName(app)
- if (binary.startswith("startBristol")):
- self.createAppTemplate("bristol", app, binary)
+ if binary.startswith("startBristol"):
+ self.createAppTemplate("bristol", app, binary)
- elif (app == "Ardour 2.8"):
- self.createAppTemplate("ardour2", app, binary)
+ elif app == "Ardour 2.8":
+ self.createAppTemplate("ardour2", app, binary)
- elif (app == "Ardour 3.0"):
- self.createAppTemplate("ardour3", app, binary)
+ elif app == "Ardour 3.0":
+ self.createAppTemplate("ardour3", app, binary)
- elif (app == "Calf Jack Host (GIT)"):
- self.createAppTemplate("calfjackhost", app, binary)
+ elif app == "Calf Jack Host (GIT)":
+ self.createAppTemplate("calfjackhost", app, binary)
#elif (app in ("Hydrogen", "Hydrogen (SVN)")):
- #self.createAppTemplate("hydrogen", app, binary)
+ #self.createAppTemplate("hydrogen", app, binary)
#elif (app == "Jack Mixer"):
- #self.createAppTemplate("jack-mixer", app, binary)
+ #self.createAppTemplate("jack-mixer", app, binary)
#elif (app == "Jack Rack"):
- #self.createAppTemplate("jack-rack", app, binary)
+ #self.createAppTemplate("jack-rack", app, binary)
#elif (app == "Jacker"):
- #self.createAppTemplate("jacker", app, binary)
+ #self.createAppTemplate("jacker", app, binary)
#elif (app == "Jamin"):
- #self.createAppTemplate("jamin", app, binary)
+ #self.createAppTemplate("jamin", app, binary)
#elif (app == "Non-DAW"):
- #self.createAppTemplate("non-daw", app, binary)
+ #self.createAppTemplate("non-daw", app, binary)
#elif (app == "Non-Mixer"):
- #self.createAppTemplate("non-mixer", app, binary)
+ #self.createAppTemplate("non-mixer", app, binary)
#elif (app == "Non-Sequencer"):
- #self.createAppTemplate("non-sequencer", app, binary)
+ #self.createAppTemplate("non-sequencer", app, binary)
#elif (app == "Qsampler"):
- #self.createAppTemplate("qsampler", app, binary)
+ #self.createAppTemplate("qsampler", app, binary)
#elif (app in ("Qtractor", "Qtractor (SVN)")):
- #self.createAppTemplate("qtractor", app, binary)
+ #self.createAppTemplate("qtractor", app, binary)
#elif (app == "Renoise"):
- #self.createAppTemplate("renoise", app, binary)
+ #self.createAppTemplate("renoise", app, binary)
#elif (app == "Rosegarden"):
- #self.createAppTemplate("rosegarden", app, binary)
+ #self.createAppTemplate("rosegarden", app, binary)
#elif (app == "Seq24"):
- #self.createAppTemplate("seq24", app, binary)
+ #self.createAppTemplate("seq24", app, binary)
#elif (app == "Yoshimi"):
- #self.createAppTemplate("yoshimi", app, binary)
+ #self.createAppTemplate("yoshimi", app, binary)
else:
- appBus = self.callback_getAppBus()
- appBus.RunCustom2(False, binary, app, "0")
+ appBus = self.callback_getAppBus()
+ appBus.RunCustom2(False, binary, app, "0")
def createAppTemplate(self, app, app_name, binary):
rand_check = randint(1, 99999)
@@ -255,260 +254,260 @@ class ClaudiaLauncher(QWidget, ui_claudia_launcher.Ui_ClaudiaLauncherW):
tmplte_cmd = ""
tmplte_lvl = "0"
- if (os.path.exists(os.path.join(sys.path[0], "..", "templates"))):
- tmplte_dir = os.path.join(sys.path[0], "..", "templates")
- elif (os.path.exists(os.path.join(sys.path[0], "..", "data", "templates"))):
- tmplte_dir = os.path.join(sys.path[0], "..", "data", "templates")
+ if os.path.exists(os.path.join(sys.path[0], "..", "templates")):
+ tmplte_dir = os.path.join(sys.path[0], "..", "templates")
+ elif os.path.exists(os.path.join(sys.path[0], "..", "data", "templates")):
+ tmplte_dir = os.path.join(sys.path[0], "..", "data", "templates")
else:
- app = None
- tmplte_cmd = binary
- print("Failed to find template dir")
-
- if (not os.path.exists(proj_folder)):
- os.mkdir(proj_folder)
-
- if (app == "bristol"):
- module = binary.replace("startBristol -audio jack -midi jack -", "")
- tmplte_folder = os.path.join(proj_folder, "bristol_%s_%i" % (module, rand_check))
- os.mkdir(tmplte_folder)
-
- if (self.callback_isLadishRoom()):
- tmplte_folder = os.path.basename(tmplte_folder)
+ app = None
+ tmplte_cmd = binary
+ print("Failed to find template dir")
+
+ if not os.path.exists(proj_folder):
+ os.mkdir(proj_folder)
+
+ if app == "bristol":
+ module = binary.replace("startBristol -audio jack -midi jack -", "")
+ tmplte_folder = os.path.join(proj_folder, "bristol_%s_%i" % (module, rand_check))
+ os.mkdir(tmplte_folder)
+
+ if self.callback_isLadishRoom():
+ tmplte_folder = os.path.basename(tmplte_folder)
- tmplte_cmd = binary
- tmplte_cmd += " -emulate %s" % module
- tmplte_cmd += " -cache '%s'" % tmplte_folder
- tmplte_cmd += " -memdump '%s'" % tmplte_folder
- tmplte_cmd += " -import '%s'" % os.path.join(tmplte_folder, "memory")
- tmplte_cmd += " -exec"
- tmplte_lvl = "1"
+ tmplte_cmd = binary
+ tmplte_cmd += " -emulate %s" % module
+ tmplte_cmd += " -cache '%s'" % tmplte_folder
+ tmplte_cmd += " -memdump '%s'" % tmplte_folder
+ tmplte_cmd += " -import '%s'" % os.path.join(tmplte_folder, "memory")
+ tmplte_cmd += " -exec"
+ tmplte_lvl = "1"
- elif (app == "ardour2"):
- tmplte_folder = os.path.join(proj_folder, "Ardour2_%i" % rand_check)
- tmplte_file = os.path.join(tmplte_folder, "Ardour2_%i.ardour" % rand_check)
- os.mkdir(tmplte_folder)
+ elif app == "ardour2":
+ tmplte_folder = os.path.join(proj_folder, "Ardour2_%i" % rand_check)
+ tmplte_file = os.path.join(tmplte_folder, "Ardour2_%i.ardour" % rand_check)
+ os.mkdir(tmplte_folder)
- # Create template
- os.system("cp '%s' '%s'" % (os.path.join(tmplte_dir, "Ardour2", "Ardour2.ardour"), tmplte_file))
- os.system("cp '%s' '%s'" % (os.path.join(tmplte_dir, "Ardour2", "instant.xml"), tmplte_folder))
- os.mkdir(os.path.join(tmplte_folder, "analysis"))
- os.mkdir(os.path.join(tmplte_folder, "dead_sounds"))
- os.mkdir(os.path.join(tmplte_folder, "export"))
- os.mkdir(os.path.join(tmplte_folder, "interchange"))
- os.mkdir(os.path.join(tmplte_folder, "interchange", "Ardour"))
- os.mkdir(os.path.join(tmplte_folder, "interchange", "Ardour", "audiofiles"))
- os.mkdir(os.path.join(tmplte_folder, "peaks"))
+ os.system("cp '%s' '%s'" % (os.path.join(tmplte_dir, "Ardour2", "Ardour2.ardour"), tmplte_file))
+ os.system("cp '%s' '%s'" % (os.path.join(tmplte_dir, "Ardour2", "instant.xml"), tmplte_folder))
+ os.mkdir(os.path.join(tmplte_folder, "analysis"))
+ os.mkdir(os.path.join(tmplte_folder, "dead_sounds"))
+ os.mkdir(os.path.join(tmplte_folder, "export"))
+ os.mkdir(os.path.join(tmplte_folder, "interchange"))
+ os.mkdir(os.path.join(tmplte_folder, "interchange", "Ardour"))
+ os.mkdir(os.path.join(tmplte_folder, "interchange", "Ardour", "audiofiles"))
+ os.mkdir(os.path.join(tmplte_folder, "peaks"))
- tmplte_cmd = binary
- tmplte_cmd += " '%s'" % os.path.basename(tmplte_folder) if self.callback_isLadishRoom() else tmplte_folder
- tmplte_lvl = "1"
+ tmplte_cmd = binary
+ tmplte_cmd += " '%s'" % os.path.basename(tmplte_folder) if self.callback_isLadishRoom() else tmplte_folder
+ tmplte_lvl = "1"
- elif (app == "ardour3"):
- tmplte_folder = os.path.join(proj_folder, "Ardour3_%i" % rand_check)
- tmplte_file = os.path.join(tmplte_folder, "Ardour3_%i.ardour" % rand_check)
- os.mkdir(tmplte_folder)
+ elif app == "ardour3":
+ tmplte_folder = os.path.join(proj_folder, "Ardour3_%i" % rand_check)
+ tmplte_file = os.path.join(tmplte_folder, "Ardour3_%i.ardour" % rand_check)
+ os.mkdir(tmplte_folder)
- # Create template
- os.system("cp '%s' '%s'" % (os.path.join(tmplte_dir, "Ardour3", "Ardour3.ardour"), tmplte_file))
- os.system("cp '%s' '%s'" % (os.path.join(tmplte_dir, "Ardour3", "instant.xml"), tmplte_folder))
- os.mkdir(os.path.join(tmplte_folder, "analysis"))
- os.mkdir(os.path.join(tmplte_folder, "dead"))
- os.mkdir(os.path.join(tmplte_folder, "export"))
- os.mkdir(os.path.join(tmplte_folder, "externals"))
- os.mkdir(os.path.join(tmplte_folder, "interchange"))
- os.mkdir(os.path.join(tmplte_folder, "interchange", "Ardour3"))
- os.mkdir(os.path.join(tmplte_folder, "interchange", "Ardour3", "audiofiles"))
- os.mkdir(os.path.join(tmplte_folder, "interchange", "Ardour3", "midifiles"))
- os.mkdir(os.path.join(tmplte_folder, "peaks"))
- os.mkdir(os.path.join(tmplte_folder, "plugins"))
+ # Create template
+ os.system("cp '%s' '%s'" % (os.path.join(tmplte_dir, "Ardour3", "Ardour3.ardour"), tmplte_file))
+ os.system("cp '%s' '%s'" % (os.path.join(tmplte_dir, "Ardour3", "instant.xml"), tmplte_folder))
+ os.mkdir(os.path.join(tmplte_folder, "analysis"))
+ os.mkdir(os.path.join(tmplte_folder, "dead"))
+ os.mkdir(os.path.join(tmplte_folder, "export"))
+ os.mkdir(os.path.join(tmplte_folder, "externals"))
+ os.mkdir(os.path.join(tmplte_folder, "interchange"))
+ os.mkdir(os.path.join(tmplte_folder, "interchange", "Ardour3"))
+ os.mkdir(os.path.join(tmplte_folder, "interchange", "Ardour3", "audiofiles"))
+ os.mkdir(os.path.join(tmplte_folder, "interchange", "Ardour3", "midifiles"))
+ os.mkdir(os.path.join(tmplte_folder, "peaks"))
+ os.mkdir(os.path.join(tmplte_folder, "plugins"))
- tmplte_cmd = binary
- tmplte_cmd += " '%s'" % os.path.basename(tmplte_folder) if self.callback_isLadishRoom() else tmplte_folder
+ tmplte_cmd = binary
+ tmplte_cmd += " '%s'" % os.path.basename(tmplte_folder) if self.callback_isLadishRoom() else tmplte_folder
- if (self.callback_isLadishRoom()):
- tmplte_lvl = "jacksession"
+ if self.callback_isLadishRoom():
+ tmplte_lvl = "jacksession"
- elif (app == "calfjackhost"):
- tmplte_file = os.path.join(proj_folder, "CalfJackHost_%i" % (rand_check))
+ elif app == "calfjackhost":
+ tmplte_file = os.path.join(proj_folder, "CalfJackHost_%i" % rand_check)
- # Create template
- os.system("cp '%s' '%s'" % (os.path.join(tmplte_dir, "CalfJackHost"), tmplte_file))
+ # Create template
+ os.system("cp '%s' '%s'" % (os.path.join(tmplte_dir, "CalfJackHost"), tmplte_file))
- tmplte_cmd = binary
- tmplte_cmd += " --load '%s'" % os.path.basename(tmplte_file) if self.callback_isLadishRoom() else tmplte_file
- tmplte_lvl = "1"
+ tmplte_cmd = binary
+ tmplte_cmd += " --load '%s'" % os.path.basename(tmplte_file) if self.callback_isLadishRoom() else tmplte_file
+ tmplte_lvl = "1"
- #elif (app == "hydrogen"):
- #tmplte_file = os.path.join(proj_folder, "Hydrogen_%i.h2song" % (rand_check))
+ #elif (app == "hydrogen"):
+ #tmplte_file = os.path.join(proj_folder, "Hydrogen_%i.h2song" % (rand_check))
- ## Create template
- #os.system("cp '%s' '%s'" % (os.path.join(sys.path[0], "..", "templates", "Hydrogen.h2song"), tmplte_file))
+ ## Create template
+ #os.system("cp '%s' '%s'" % (os.path.join(sys.path[0], "..", "templates", "Hydrogen.h2song"), tmplte_file))
- #tmplte_cmd = binary
- #tmplte_cmd += " -s '%s'" % (os.path.basename(tmplte_file) if self.callback_isLadishRoom() else tmplte_file)
+ #tmplte_cmd = binary
+ #tmplte_cmd += " -s '%s'" % (os.path.basename(tmplte_file) if self.callback_isLadishRoom() else tmplte_file)
- #tmplte_lvl = "1"
+ #tmplte_lvl = "1"
- #elif (app == "jack-mixer"):
- #tmplte_file_r = os.path.join(proj_folder, "Jack-Mixer_%i.xml" % (rand_check))
+ #elif (app == "jack-mixer"):
+ #tmplte_file_r = os.path.join(proj_folder, "Jack-Mixer_%i.xml" % (rand_check))
- ## Create template
- #os.system("cp '%s' '%s'" % (os.path.join(sys.path[0], "..", "templates", "Jack-Mixer.xml"), tmplte_file_r))
+ ## Create template
+ #os.system("cp '%s' '%s'" % (os.path.join(sys.path[0], "..", "templates", "Jack-Mixer.xml"), tmplte_file_r))
- #tmplte_cmd = binary
- #tmplte_cmd += " -c '%s'" % (os.path.basename(tmplte_file_r) if self.callback_isLadishRoom() else tmplte_file_r)
+ #tmplte_cmd = binary
+ #tmplte_cmd += " -c '%s'" % (os.path.basename(tmplte_file_r) if self.callback_isLadishRoom() else tmplte_file_r)
- #tmplte_lvl = "1"
+ #tmplte_lvl = "1"
- #elif (app == "jack-rack"):
- #tmplte_file = os.path.join(proj_folder, "Jack-Rack_%i.xml" % (rand_check))
+ #elif (app == "jack-rack"):
+ #tmplte_file = os.path.join(proj_folder, "Jack-Rack_%i.xml" % (rand_check))
- ## Create template
- #os.system("cp '%s' '%s'" % (os.path.join(sys.path[0], "..", "templates", "Jack-Rack.xml"), tmplte_file))
+ ## Create template
+ #os.system("cp '%s' '%s'" % (os.path.join(sys.path[0], "..", "templates", "Jack-Rack.xml"), tmplte_file))
- #tmplte_cmd = binary
- #tmplte_cmd += " -s '%s'" % (os.path.basename(tmplte_file) if self.callback_isLadishRoom() else tmplte_file)
+ #tmplte_cmd = binary
+ #tmplte_cmd += " -s '%s'" % (os.path.basename(tmplte_file) if self.callback_isLadishRoom() else tmplte_file)
- #elif (app == "jacker"):
- #tmplte_file = os.path.join(proj_folder, "Jacker_%i.jsong" % (rand_check))
+ #elif (app == "jacker"):
+ #tmplte_file = os.path.join(proj_folder, "Jacker_%i.jsong" % (rand_check))
- ## Create template
- #os.system("cp '%s' '%s'" % (os.path.join(sys.path[0], "..", "templates", "Jacker.jsong"), tmplte_file))
+ ## Create template
+ #os.system("cp '%s' '%s'" % (os.path.join(sys.path[0], "..", "templates", "Jacker.jsong"), tmplte_file))
- #tmplte_cmd = binary
- #tmplte_cmd += " '%s'" % (os.path.basename(tmplte_file) if self.callback_isLadishRoom() else tmplte_file)
+ #tmplte_cmd = binary
+ #tmplte_cmd += " '%s'" % (os.path.basename(tmplte_file) if self.callback_isLadishRoom() else tmplte_file)
- ## No decimal bpm support
- #proj_bpm = proj_bpm.split(".")[0]
+ ## No decimal bpm support
+ #proj_bpm = proj_bpm.split(".")[0]
- #tmplte_lvl = "1"
+ #tmplte_lvl = "1"
- #elif (app == "jamin"):
- #tmplte_file_r = os.path.join(proj_folder, "Jamin_%i.jam" % (rand_check))
+ #elif (app == "jamin"):
+ #tmplte_file_r = os.path.join(proj_folder, "Jamin_%i.jam" % (rand_check))
- ## Create template
- #os.system("cp '%s' '%s'" % (os.path.join(sys.path[0], "..", "templates", "Jamin.jam"), tmplte_file_r))
+ ## Create template
+ #os.system("cp '%s' '%s'" % (os.path.join(sys.path[0], "..", "templates", "Jamin.jam"), tmplte_file_r))
- #tmplte_cmd = binary
- #tmplte_cmd += " -f '%s'" % (os.path.basename(tmplte_file_r) if self.callback_isLadishRoom() else tmplte_file_r)
+ #tmplte_cmd = binary
+ #tmplte_cmd += " -f '%s'" % (os.path.basename(tmplte_file_r) if self.callback_isLadishRoom() else tmplte_file_r)
- #elif (app == "muse"):
- #tmplte_file_r = os.path.join(proj_folder, "MusE_%i.med" % (rand_check))
+ #elif (app == "muse"):
+ #tmplte_file_r = os.path.join(proj_folder, "MusE_%i.med" % (rand_check))
- ## Create template
- #os.system("cp '%s' '%s'" % (os.path.join(sys.path[0], "..", "templates", "MusE.med"), tmplte_file_r))
+ ## Create template
+ #os.system("cp '%s' '%s'" % (os.path.join(sys.path[0], "..", "templates", "MusE.med"), tmplte_file_r))
- #tmplte_cmd = binary
- #tmplte_cmd += " '%s'" % (os.path.basename(tmplte_file_r) if self.callback_isLadishRoom() else tmplte_file_r)
+ #tmplte_cmd = binary
+ #tmplte_cmd += " '%s'" % (os.path.basename(tmplte_file_r) if self.callback_isLadishRoom() else tmplte_file_r)
- #elif (app == "non-daw"):
- #tmplte_folder = os.path.join(proj_folder, "Non-DAW_%i" % (rand_check))
+ #elif (app == "non-daw"):
+ #tmplte_folder = os.path.join(proj_folder, "Non-DAW_%i" % (rand_check))
- ## Create template
- #os.system("cp -r '%s' '%s'" % (os.path.join(sys.path[0], "..", "templates", "Non-DAW"), tmplte_folder))
- #os.mkdir(os.path.join(tmplte_folder, "sources"))
+ ## Create template
+ #os.system("cp -r '%s' '%s'" % (os.path.join(sys.path[0], "..", "templates", "Non-DAW"), tmplte_folder))
+ #os.mkdir(os.path.join(tmplte_folder, "sources"))
- #os.system('sed -i "s/X_SR_X-KLAUDIA-X_SR_X/%s/" "%s"' % (proj_srate, os.path.join(tmplte_folder, "info")))
- #os.system('sed -i "s/X_BPM_X-KLAUDIA-X_BPM_X/%s/" "%s"' % (proj_bpm, os.path.join(tmplte_folder, "history")))
+ #os.system('sed -i "s/X_SR_X-KLAUDIA-X_SR_X/%s/" "%s"' % (proj_srate, os.path.join(tmplte_folder, "info")))
+ #os.system('sed -i "s/X_BPM_X-KLAUDIA-X_BPM_X/%s/" "%s"' % (proj_bpm, os.path.join(tmplte_folder, "history")))
- #tmplte_cmd = binary
- #tmplte_cmd += " '%s'" % (os.path.basename(tmplte_folder) if self.callback_isLadishRoom() else tmplte_folder)
+ #tmplte_cmd = binary
+ #tmplte_cmd += " '%s'" % (os.path.basename(tmplte_folder) if self.callback_isLadishRoom() else tmplte_folder)
- #elif (app == "non-mixer"):
- #tmplte_folder = os.path.join(proj_folder, "Non-Mixer_%i" % (rand_check))
+ #elif (app == "non-mixer"):
+ #tmplte_folder = os.path.join(proj_folder, "Non-Mixer_%i" % (rand_check))
- ## Create template
- #os.system("cp -r '%s' '%s'" % (os.path.join(sys.path[0], "..", "templates", "Non-Mixer"), tmplte_folder))
+ ## Create template
+ #os.system("cp -r '%s' '%s'" % (os.path.join(sys.path[0], "..", "templates", "Non-Mixer"), tmplte_folder))
- #tmplte_cmd = binary
- #tmplte_cmd += " '%s'" % (os.path.basename(tmplte_folder) if self.callback_isLadishRoom() else tmplte_folder)
+ #tmplte_cmd = binary
+ #tmplte_cmd += " '%s'" % (os.path.basename(tmplte_folder) if self.callback_isLadishRoom() else tmplte_folder)
- #elif (app == "non-sequencer"):
- #tmplte_file_r = os.path.join(proj_folder, "Non-Sequencer_%i.non" % (rand_check))
+ #elif (app == "non-sequencer"):
+ #tmplte_file_r = os.path.join(proj_folder, "Non-Sequencer_%i.non" % (rand_check))
- ## Create template
- #os.system("cp '%s' '%s'" % (os.path.join(sys.path[0], "..", "templates", "Non-Sequencer.non"), tmplte_file_r))
+ ## Create template
+ #os.system("cp '%s' '%s'" % (os.path.join(sys.path[0], "..", "templates", "Non-Sequencer.non"), tmplte_file_r))
- #tmplte_cmd = binary
- #tmplte_cmd += " '%s'" % (os.path.basename(tmplte_file_r) if self.callback_isLadishRoom() else tmplte_file_r)
+ #tmplte_cmd = binary
+ #tmplte_cmd += " '%s'" % (os.path.basename(tmplte_file_r) if self.callback_isLadishRoom() else tmplte_file_r)
- #elif (app == "qsampler"):
- #tmplte_file_r = os.path.join(proj_folder, "Qsampler_%i.lscp" % (rand_check))
+ #elif (app == "qsampler"):
+ #tmplte_file_r = os.path.join(proj_folder, "Qsampler_%i.lscp" % (rand_check))
- ## Create template
- #os.system("cp '%s' '%s'" % (os.path.join(sys.path[0], "..", "templates", "Qsampler.lscp"), tmplte_file_r))
+ ## Create template
+ #os.system("cp '%s' '%s'" % (os.path.join(sys.path[0], "..", "templates", "Qsampler.lscp"), tmplte_file_r))
- #tmplte_cmd = binary
- #tmplte_cmd += " '%s'" % (os.path.basename(tmplte_file_r) if self.callback_isLadishRoom() else tmplte_file_r)
+ #tmplte_cmd = binary
+ #tmplte_cmd += " '%s'" % (os.path.basename(tmplte_file_r) if self.callback_isLadishRoom() else tmplte_file_r)
- #tmplte_lvl = "1" if (app_name == "Qsampler (SVN)") else "0"
+ #tmplte_lvl = "1" if (app_name == "Qsampler (SVN)") else "0"
- #elif (app == "qtractor"):
- #tmplte_file = os.path.join(proj_folder, "Qtractor_%i.qtr" % (rand_check))
+ #elif (app == "qtractor"):
+ #tmplte_file = os.path.join(proj_folder, "Qtractor_%i.qtr" % (rand_check))
- ## Create template
- #os.system("cp '%s' '%s'" % (os.path.join(sys.path[0], "..", "templates", "Qtractor.qtr"), tmplte_file))
+ ## Create template
+ #os.system("cp '%s' '%s'" % (os.path.join(sys.path[0], "..", "templates", "Qtractor.qtr"), tmplte_file))
- #tmplte_cmd = binary
- #tmplte_cmd += " '%s'" % (os.path.basename(tmplte_file) if self.callback_isLadishRoom() else tmplte_file)
+ #tmplte_cmd = binary
+ #tmplte_cmd += " '%s'" % (os.path.basename(tmplte_file) if self.callback_isLadishRoom() else tmplte_file)
- #tmplte_lvl = "1"
+ #tmplte_lvl = "1"
- #elif (app == "renoise"):
- #tmplte_file_r = os.path.join(proj_folder, "Renoise_%i.xrns" % (rand_check))
- #tmplte_folder = os.path.join(proj_folder, "tmp_renoise_%i" % (rand_check))
+ #elif (app == "renoise"):
+ #tmplte_file_r = os.path.join(proj_folder, "Renoise_%i.xrns" % (rand_check))
+ #tmplte_folder = os.path.join(proj_folder, "tmp_renoise_%i" % (rand_check))
- ## Create template
- #os.mkdir(tmplte_folder)
- #os.system("cp '%s' '%s'" % (os.path.join(sys.path[0], "..", "templates", "Renoise.xml"), tmplte_folder))
- #os.system('sed -i "s/X_SR_X-KLAUDIA-X_SR_X/%s/" "%s"' % (proj_srate, os.path.join(tmplte_folder, "Renoise.xml")))
- #os.system("cd '%s' && mv Renoise.xml Song.xml && zip '%s' Song.xml" % (tmplte_folder, tmplte_file_r))
- #os.system("rm -rf '%s'" % (tmplte_folder))
+ ## Create template
+ #os.mkdir(tmplte_folder)
+ #os.system("cp '%s' '%s'" % (os.path.join(sys.path[0], "..", "templates", "Renoise.xml"), tmplte_folder))
+ #os.system('sed -i "s/X_SR_X-KLAUDIA-X_SR_X/%s/" "%s"' % (proj_srate, os.path.join(tmplte_folder, "Renoise.xml")))
+ #os.system("cd '%s' && mv Renoise.xml Song.xml && zip '%s' Song.xml" % (tmplte_folder, tmplte_file_r))
+ #os.system("rm -rf '%s'" % (tmplte_folder))
- #tmplte_cmd = binary
- #tmplte_cmd += " '%s'" % (os.path.basename(tmplte_file_r) if self.callback_isLadishRoom() else tmplte_file_r)
+ #tmplte_cmd = binary
+ #tmplte_cmd += " '%s'" % (os.path.basename(tmplte_file_r) if self.callback_isLadishRoom() else tmplte_file_r)
- #elif (app == "rosegarden"):
- #tmplte_file = os.path.join(proj_folder, "Rosegarden_%i.rg" % (rand_check))
+ #elif (app == "rosegarden"):
+ #tmplte_file = os.path.join(proj_folder, "Rosegarden_%i.rg" % (rand_check))
- ## Create template
- #os.system("cp '%s' '%s'" % (os.path.join(sys.path[0], "..", "templates", "Rosegarden.rg"), tmplte_file))
+ ## Create template
+ #os.system("cp '%s' '%s'" % (os.path.join(sys.path[0], "..", "templates", "Rosegarden.rg"), tmplte_file))
- #tmplte_cmd = binary
- #tmplte_cmd += " '%s'" % (os.path.basename(tmplte_file) if self.callback_isLadishRoom() else tmplte_file)
+ #tmplte_cmd = binary
+ #tmplte_cmd += " '%s'" % (os.path.basename(tmplte_file) if self.callback_isLadishRoom() else tmplte_file)
- #tmplte_lvl = "1"
+ #tmplte_lvl = "1"
- #elif (app == "seq24"):
- #tmplte_file_r = os.path.join(proj_folder, "Seq24_%i.midi" % (rand_check))
+ #elif (app == "seq24"):
+ #tmplte_file_r = os.path.join(proj_folder, "Seq24_%i.midi" % (rand_check))
- ## Create template
- #os.system("cp '%s' '%s'" % (os.path.join(sys.path[0], "..", "templates", "Seq24.midi"), tmplte_file_r))
+ ## Create template
+ #os.system("cp '%s' '%s'" % (os.path.join(sys.path[0], "..", "templates", "Seq24.midi"), tmplte_file_r))
- #tmplte_cmd = binary
- #tmplte_cmd += " '%s'" % (os.path.basename(tmplte_file_r) if self.callback_isLadishRoom() else tmplte_file_r)
+ #tmplte_cmd = binary
+ #tmplte_cmd += " '%s'" % (os.path.basename(tmplte_file_r) if self.callback_isLadishRoom() else tmplte_file_r)
- #tmplte_lvl = "1"
+ #tmplte_lvl = "1"
- #elif (app == "yoshimi"):
- #tmplte_file = os.path.join(proj_folder, "Yoshimi_%i.state" % (rand_check))
+ #elif (app == "yoshimi"):
+ #tmplte_file = os.path.join(proj_folder, "Yoshimi_%i.state" % (rand_check))
- ## Create template
- #os.system("cp '%s' '%s'" % (os.path.join(sys.path[0], "..", "templates", "Yoshimi.state"), tmplte_file))
+ ## Create template
+ #os.system("cp '%s' '%s'" % (os.path.join(sys.path[0], "..", "templates", "Yoshimi.state"), tmplte_file))
- #tmplte_cmd = binary
- #tmplte_cmd += " --state='%s'" % (os.path.basename(tmplte_file) if self.callback_isLadishRoom() else tmplte_file)
+ #tmplte_cmd = binary
+ #tmplte_cmd += " --state='%s'" % (os.path.basename(tmplte_file) if self.callback_isLadishRoom() else tmplte_file)
- #tmplte_lvl = "1"
+ #tmplte_lvl = "1"
- #else:
- #print("ERROR: Failed to parse app name")
- #return
+ #else:
+ #print("ERROR: Failed to parse app name")
+ #return
- if (tmplte_file != None):
- os.system('sed -i "s/X_SR_X-CLAUDIA-X_SR_X/%s/" "%s"' % (proj_srate, tmplte_file))
- os.system('sed -i "s/X_BPM_X-CLAUDIA-X_BPM_X/%s/" "%s"' % (proj_bpm, tmplte_file))
- os.system('sed -i "s/X_FOLDER_X-CLAUDIA-X_FOLDER_X/%s/" "%s"' % (proj_folder.replace("/", "\/").replace("$", "\$"), tmplte_file))
+ if tmplte_file != None:
+ os.system('sed -i "s/X_SR_X-CLAUDIA-X_SR_X/%s/" "%s"' % (proj_srate, tmplte_file))
+ os.system('sed -i "s/X_BPM_X-CLAUDIA-X_BPM_X/%s/" "%s"' % (proj_bpm, tmplte_file))
+ os.system('sed -i "s/X_FOLDER_X-CLAUDIA-X_FOLDER_X/%s/" "%s"' % (
+ proj_folder.replace("/", "\/").replace("$", "\$"), tmplte_file))
appBus = self.callback_getAppBus()
appBus.RunCustom2(False, tmplte_cmd, app_name, tmplte_lvl)
@@ -519,11 +518,11 @@ class ClaudiaLauncher(QWidget, ui_claudia_launcher.Ui_ClaudiaLauncherW):
def settings(self):
return self._settings
- def getIcon(self, icon, size=48):
- return self.ClaudiaIcons.getIcon(icon, size)
+ def getIcon(self, icon):
+ return self.ClaudiaIcons.getIcon(icon)
- def getIconForYesNo(self, yesno, size=16):
- return self.icon_yes if (yesno) else self.icon_no
+ def getIconForYesNo(self, yesno):
+ return self.icon_yes if yesno else self.icon_no
def setCallbackApp(self, parent, settings, ladish_only):
self._parent = parent
@@ -599,48 +598,48 @@ class ClaudiaLauncher(QWidget, ui_claudia_launcher.Ui_ClaudiaLauncherW):
self.url_website_daw.setVisible(bool(web))
self.label_no_help_daw.setVisible(not(doc or web))
- if (doc): self.setDocUrl(self.url_documentation_daw, doc)
- if (web): self.setWebUrl(self.url_website_daw, web)
+ if doc: self.setDocUrl(self.url_documentation_daw, doc)
+ if web: self.setWebUrl(self.url_website_daw, web)
def showDoc_Host(self, doc, web):
self.url_documentation_host.setVisible(bool(doc))
self.url_website_host.setVisible(bool(web))
self.label_no_help_host.setVisible(not(doc or web))
- if (doc): self.setDocUrl(self.url_documentation_host, doc)
- if (web): self.setWebUrl(self.url_website_host, web)
+ if doc: self.setDocUrl(self.url_documentation_host, doc)
+ if web: self.setWebUrl(self.url_website_host, web)
def showDoc_Instrument(self, doc, web):
self.url_documentation_ins.setVisible(bool(doc))
self.url_website_ins.setVisible(bool(web))
self.label_no_help_ins.setVisible(not(doc or web))
- if (doc): self.setDocUrl(self.url_documentation_ins, doc)
- if (web): self.setWebUrl(self.url_website_ins, web)
+ if doc: self.setDocUrl(self.url_documentation_ins, doc)
+ if web: self.setWebUrl(self.url_website_ins, web)
def showDoc_Bristol(self, doc, web):
self.url_documentation_bristol.setVisible(bool(doc))
self.url_website_bristol.setVisible(bool(web))
self.label_no_help_bristol.setVisible(not(doc or web))
- if (doc): self.setDocUrl(self.url_documentation_bristol, doc)
- if (web): self.setWebUrl(self.url_website_bristol, web)
+ if doc: self.setDocUrl(self.url_documentation_bristol, doc)
+ if web: self.setWebUrl(self.url_website_bristol, web)
def showDoc_Effect(self, doc, web):
self.url_documentation_effect.setVisible(bool(doc))
self.url_website_effect.setVisible(bool(web))
self.label_no_help_effect.setVisible(not(doc or web))
- if (doc): self.setDocUrl(self.url_documentation_effect, doc)
- if (web): self.setWebUrl(self.url_website_effect, web)
+ if doc: self.setDocUrl(self.url_documentation_effect, doc)
+ if web: self.setWebUrl(self.url_website_effect, web)
def showDoc_Tool(self, doc, web):
self.url_documentation_tool.setVisible(bool(doc))
self.url_website_tool.setVisible(bool(web))
self.label_no_help_tool.setVisible(not(doc or web))
- if (doc): self.setDocUrl(self.url_documentation_tool, doc)
- if (web): self.setWebUrl(self.url_website_tool, web)
+ if doc: self.setDocUrl(self.url_documentation_tool, doc)
+ if web: self.setWebUrl(self.url_website_tool, web)
def setDocUrl(self, item, link):
item.setText(self.tr("Documentation" % link))
@@ -656,156 +655,152 @@ class ClaudiaLauncher(QWidget, ui_claudia_launcher.Ui_ClaudiaLauncherW):
self.listEffect.clearContents()
self.listTool.clearContents()
for x in range(self.listDAW.rowCount()):
- self.listDAW.removeRow(0)
+ self.listDAW.removeRow(0)
for x in range(self.listHost.rowCount()):
- self.listHost.removeRow(0)
+ self.listHost.removeRow(0)
for x in range(self.listInstrument.rowCount()):
- self.listInstrument.removeRow(0)
+ self.listInstrument.removeRow(0)
for x in range(self.listBristol.rowCount()):
- self.listBristol.removeRow(0)
+ self.listBristol.removeRow(0)
for x in range(self.listEffect.rowCount()):
- self.listEffect.removeRow(0)
+ self.listEffect.removeRow(0)
for x in range(self.listTool.rowCount()):
- self.listTool.removeRow(0)
+ self.listTool.removeRow(0)
def refreshAll(self):
self.clearAll()
+ pkglist = []
- if (not SHOW_ALL):
- pkglist = []
-
- if (os.path.exists("/usr/bin/yaourt")):
- pkg_out = getoutput("/usr/bin/yaourt -Qsq").split("\n")
- for package in pkg_out:
- pkglist.append(package)
-
- elif (os.path.exists("/usr/bin/pacman")):
- pkg_out = getoutput("/usr/bin/pacman -Qsq").split("\n")
- for package in pkg_out:
- pkglist.append(package)
+ if not SHOW_ALL:
+ if os.path.exists("/usr/bin/yaourt"):
+ pkg_out = getoutput("/usr/bin/yaourt -Qsq").split("\n")
+ for package in pkg_out:
+ pkglist.append(package)
- elif (os.path.exists("/usr/bin/dpkg-query")):
- pkg_out = getoutput("/usr/bin/dpkg-query -W --showformat='${Package}\n'").split("\n")
- for package in pkg_out:
- pkglist.append(package)
+ elif os.path.exists("/usr/bin/pacman"):
+ pkg_out = getoutput("/usr/bin/pacman -Qsq").split("\n")
+ for package in pkg_out:
+ pkglist.append(package)
- elif (os.path.exists("/usr/bin/equery")):
- pkg_out = getoutput("/usr/bin/equery list").split("\n")
+ elif os.path.exists("/usr/bin/dpkg-query"):
+ pkg_out = getoutput("/usr/bin/dpkg-query -W --showformat='${Package}\n'").split("\n")
+ for package in pkg_out:
+ pkglist.append(package)
- if (not SHOW_ALL and not "bristol" in pkglist):
- self.tabWidget.setTabEnabled(TAB_INDEX_BRISTOL, False)
+ if not "bristol" in pkglist:
+ self.tabWidget.setTabEnabled(TAB_INDEX_BRISTOL, False)
last_pos = 0
for Package, AppName, Type, Binary, Icon, Save, Level, License, Features, Docs in database.list_DAW:
- if (SHOW_ALL or Package in pkglist):
- w_icon = QTableWidgetItem("")
- w_icon.setIcon(QIcon(self.getIcon(Icon, 16)))
- w_name = QTableWidgetItem(AppName)
- w_type = QTableWidgetItem(Type)
- w_save = QTableWidgetItem(Save)
- w_licc = QTableWidgetItem(License)
-
- self.listDAW.insertRow(last_pos)
- self.listDAW.setItem(last_pos, 0, w_icon)
- self.listDAW.setItem(last_pos, 1, w_name)
- self.listDAW.setItem(last_pos, 2, w_type)
- self.listDAW.setItem(last_pos, 3, w_save)
- self.listDAW.setItem(last_pos, 4, w_licc)
-
- last_pos += 1
+ if SHOW_ALL or Package in pkglist:
+ w_icon = QTableWidgetItem("")
+ w_icon.setIcon(QIcon(self.getIcon(Icon)))
+ w_name = QTableWidgetItem(AppName)
+ w_type = QTableWidgetItem(Type)
+ w_save = QTableWidgetItem(Save)
+ w_licc = QTableWidgetItem(License)
+
+ self.listDAW.insertRow(last_pos)
+ self.listDAW.setItem(last_pos, 0, w_icon)
+ self.listDAW.setItem(last_pos, 1, w_name)
+ self.listDAW.setItem(last_pos, 2, w_type)
+ self.listDAW.setItem(last_pos, 3, w_save)
+ self.listDAW.setItem(last_pos, 4, w_licc)
+
+ last_pos += 1
last_pos = 0
for Package, AppName, Instruments, Effects, Binary, Icon, Save, Level, License, Features, Docs in database.list_Host:
- if (SHOW_ALL or Package in pkglist):
- w_icon = QTableWidgetItem("")
- w_icon.setIcon(QIcon(self.getIcon(Icon, 16)))
- w_name = QTableWidgetItem(AppName)
- w_h_in = QTableWidgetItem(Instruments)
- w_h_ef = QTableWidgetItem(Effects)
- w_save = QTableWidgetItem(Save)
- w_licc = QTableWidgetItem(License)
-
- self.listHost.insertRow(last_pos)
- self.listHost.setItem(last_pos, 0, w_icon)
- self.listHost.setItem(last_pos, 1, w_name)
- self.listHost.setItem(last_pos, 2, w_h_in)
- self.listHost.setItem(last_pos, 3, w_h_ef)
- self.listHost.setItem(last_pos, 4, w_save)
- self.listHost.setItem(last_pos, 5, w_licc)
-
- last_pos += 1
+ if SHOW_ALL or Package in pkglist:
+ w_icon = QTableWidgetItem("")
+ w_icon.setIcon(QIcon(self.getIcon(Icon)))
+ w_name = QTableWidgetItem(AppName)
+ w_h_in = QTableWidgetItem(Instruments)
+ w_h_ef = QTableWidgetItem(Effects)
+ w_save = QTableWidgetItem(Save)
+ w_licc = QTableWidgetItem(License)
+
+ self.listHost.insertRow(last_pos)
+ self.listHost.setItem(last_pos, 0, w_icon)
+ self.listHost.setItem(last_pos, 1, w_name)
+ self.listHost.setItem(last_pos, 2, w_h_in)
+ self.listHost.setItem(last_pos, 3, w_h_ef)
+ self.listHost.setItem(last_pos, 4, w_save)
+ self.listHost.setItem(last_pos, 5, w_licc)
+
+ last_pos += 1
last_pos = 0
for Package, AppName, Type, Binary, Icon, Save, Level, License, Features, Docs in database.list_Instrument:
- if (SHOW_ALL or Package in pkglist):
- w_icon = QTableWidgetItem("")
- w_icon.setIcon(QIcon(self.getIcon(Icon, 16)))
- w_name = QTableWidgetItem(AppName)
- w_type = QTableWidgetItem(Type)
- w_save = QTableWidgetItem(Save)
- w_licc = QTableWidgetItem(License)
-
- self.listInstrument.insertRow(last_pos)
- self.listInstrument.setItem(last_pos, 0, w_icon)
- self.listInstrument.setItem(last_pos, 1, w_name)
- self.listInstrument.setItem(last_pos, 2, w_type)
- self.listInstrument.setItem(last_pos, 3, w_save)
- self.listInstrument.setItem(last_pos, 4, w_licc)
-
- last_pos += 1
+ if SHOW_ALL or Package in pkglist:
+ w_icon = QTableWidgetItem("")
+ w_icon.setIcon(QIcon(self.getIcon(Icon)))
+ w_name = QTableWidgetItem(AppName)
+ w_type = QTableWidgetItem(Type)
+ w_save = QTableWidgetItem(Save)
+ w_licc = QTableWidgetItem(License)
+
+ self.listInstrument.insertRow(last_pos)
+ self.listInstrument.setItem(last_pos, 0, w_icon)
+ self.listInstrument.setItem(last_pos, 1, w_name)
+ self.listInstrument.setItem(last_pos, 2, w_type)
+ self.listInstrument.setItem(last_pos, 3, w_save)
+ self.listInstrument.setItem(last_pos, 4, w_licc)
+
+ last_pos += 1
last_pos = 0
for Package, FullName, Type, ShortName, Icon, Save, Level, License, Features, Docs in database.list_Bristol:
- if (SHOW_ALL or Package in pkglist):
- w_icon = QTableWidgetItem("")
- w_icon.setIcon(QIcon(self.getIcon(Icon, 16)))
- w_fullname = QTableWidgetItem(FullName)
- w_shortname = QTableWidgetItem(ShortName)
+ if SHOW_ALL or Package in pkglist:
+ w_icon = QTableWidgetItem("")
+ w_icon.setIcon(QIcon(self.getIcon(Icon)))
+ w_fullname = QTableWidgetItem(FullName)
+ w_shortname = QTableWidgetItem(ShortName)
- self.listBristol.insertRow(last_pos)
- self.listBristol.setItem(last_pos, 0, w_icon)
- self.listBristol.setItem(last_pos, 1, w_shortname)
- self.listBristol.setItem(last_pos, 2, w_fullname)
+ self.listBristol.insertRow(last_pos)
+ self.listBristol.setItem(last_pos, 0, w_icon)
+ self.listBristol.setItem(last_pos, 1, w_shortname)
+ self.listBristol.setItem(last_pos, 2, w_fullname)
- last_pos += 1
+ last_pos += 1
last_pos = 0
for Package, AppName, Type, Binary, Icon, Save, Level, License, Features, Docs in database.list_Effect:
- if (SHOW_ALL or Package in pkglist):
- w_icon = QTableWidgetItem("")
- w_icon.setIcon(QIcon(self.getIcon(Icon, 16)))
- w_name = QTableWidgetItem(AppName)
- w_type = QTableWidgetItem(Type)
- w_save = QTableWidgetItem(Save)
- w_licc = QTableWidgetItem(License)
-
- self.listEffect.insertRow(last_pos)
- self.listEffect.setItem(last_pos, 0, w_icon)
- self.listEffect.setItem(last_pos, 1, w_name)
- self.listEffect.setItem(last_pos, 2, w_type)
- self.listEffect.setItem(last_pos, 3, w_save)
- self.listEffect.setItem(last_pos, 4, w_licc)
-
- last_pos += 1
+ if SHOW_ALL or Package in pkglist:
+ w_icon = QTableWidgetItem("")
+ w_icon.setIcon(QIcon(self.getIcon(Icon)))
+ w_name = QTableWidgetItem(AppName)
+ w_type = QTableWidgetItem(Type)
+ w_save = QTableWidgetItem(Save)
+ w_licc = QTableWidgetItem(License)
+
+ self.listEffect.insertRow(last_pos)
+ self.listEffect.setItem(last_pos, 0, w_icon)
+ self.listEffect.setItem(last_pos, 1, w_name)
+ self.listEffect.setItem(last_pos, 2, w_type)
+ self.listEffect.setItem(last_pos, 3, w_save)
+ self.listEffect.setItem(last_pos, 4, w_licc)
+
+ last_pos += 1
last_pos = 0
for Package, AppName, Type, Binary, Icon, Save, Level, License, Features, Docs in database.list_Tool:
- if (SHOW_ALL or Package in pkglist):
- w_icon = QTableWidgetItem("")
- w_icon.setIcon(QIcon(self.getIcon(Icon, 16)))
- w_name = QTableWidgetItem(AppName)
- w_type = QTableWidgetItem(Type)
- w_save = QTableWidgetItem(Save)
- w_licc = QTableWidgetItem(License)
-
- self.listTool.insertRow(last_pos)
- self.listTool.setItem(last_pos, 0, w_icon)
- self.listTool.setItem(last_pos, 1, w_name)
- self.listTool.setItem(last_pos, 2, w_type)
- self.listTool.setItem(last_pos, 3, w_save)
- self.listTool.setItem(last_pos, 4, w_licc)
-
- last_pos += 1
+ if SHOW_ALL or Package in pkglist:
+ w_icon = QTableWidgetItem("")
+ w_icon.setIcon(QIcon(self.getIcon(Icon)))
+ w_name = QTableWidgetItem(AppName)
+ w_type = QTableWidgetItem(Type)
+ w_save = QTableWidgetItem(Save)
+ w_licc = QTableWidgetItem(License)
+
+ self.listTool.insertRow(last_pos)
+ self.listTool.setItem(last_pos, 0, w_icon)
+ self.listTool.setItem(last_pos, 1, w_name)
+ self.listTool.setItem(last_pos, 2, w_type)
+ self.listTool.setItem(last_pos, 3, w_save)
+ self.listTool.setItem(last_pos, 4, w_licc)
+
+ last_pos += 1
self.listDAW.setCurrentCell(-1, -1)
self.listHost.setCurrentCell(-1, -1)
@@ -823,317 +818,317 @@ class ClaudiaLauncher(QWidget, ui_claudia_launcher.Ui_ClaudiaLauncherW):
@pyqtSlot(int)
def slot_checkSelectedTab(self, tab_index):
- if (tab_index == TAB_INDEX_DAW):
- test_selected = (len(self.listDAW.selectedItems()) > 0)
- elif (tab_index == TAB_INDEX_HOST):
- test_selected = (len(self.listHost.selectedItems()) > 0)
- elif (tab_index == TAB_INDEX_INSTRUMENT):
- test_selected = (len(self.listInstrument.selectedItems()) > 0)
- elif (tab_index == TAB_INDEX_BRISTOL):
- test_selected = (len(self.listBristol.selectedItems()) > 0)
- elif (tab_index == TAB_INDEX_EFFECT):
- test_selected = (len(self.listEffect.selectedItems()) > 0)
- elif (tab_index == TAB_INDEX_TOOL):
- test_selected = (len(self.listTool.selectedItems()) > 0)
+ if tab_index == TAB_INDEX_DAW:
+ test_selected = (len(self.listDAW.selectedItems()) > 0)
+ elif tab_index == TAB_INDEX_HOST:
+ test_selected = (len(self.listHost.selectedItems()) > 0)
+ elif tab_index == TAB_INDEX_INSTRUMENT:
+ test_selected = (len(self.listInstrument.selectedItems()) > 0)
+ elif tab_index == TAB_INDEX_BRISTOL:
+ test_selected = (len(self.listBristol.selectedItems()) > 0)
+ elif tab_index == TAB_INDEX_EFFECT:
+ test_selected = (len(self.listEffect.selectedItems()) > 0)
+ elif tab_index == TAB_INDEX_TOOL:
+ test_selected = (len(self.listTool.selectedItems()) > 0)
else:
- test_selected = False
+ test_selected = False
self.callback_checkGUI(test_selected)
@pyqtSlot(int)
def slot_checkSelectedDAW(self, row):
- if (row >= 0):
- selected = True
-
- app_name = self.listDAW.item(row, 1).text()
-
- for DAW in database.list_DAW:
- if (DAW[1] == app_name):
- app_info = DAW
- break
- else:
- print("ERROR: Failed to retrieve app info from database")
- return
-
- Package, AppName, Type, Binary, Icon, Save, Level, License, Features, Docs = app_info
-
- self.frame_DAW.setEnabled(True)
- self.ico_app_daw.setPixmap(QIcon(self.getIcon(Icon)).pixmap(48, 48))
- self.ico_ladspa_daw.setPixmap(QIcon(self.getIconForYesNo(Features[0])).pixmap(16, 16))
- self.ico_dssi_daw.setPixmap(QIcon(self.getIconForYesNo(Features[1])).pixmap(16, 16))
- self.ico_lv2_daw.setPixmap(QIcon(self.getIconForYesNo(Features[2])).pixmap(16, 16))
- self.ico_vst_daw.setPixmap(QIcon(self.getIconForYesNo(Features[3])).pixmap(16, 16))
- self.ico_jack_transport_daw.setPixmap(QIcon(self.getIconForYesNo(Features[5])).pixmap(16, 16))
- self.label_name_daw.setText(AppName)
- self.label_vst_mode_daw.setText(Features[4])
- self.ico_midi_mode_daw.setPixmap(QIcon(self.getIconForYesNo(Features[6])).pixmap(16, 16))
- self.label_midi_mode_daw.setText(Features[7])
- self.label_session_level_daw.setText(Level)
-
- Docs0 = Docs[0] if (os.path.exists(Docs[0].replace("file://",""))) else ""
- self.showDoc_DAW(Docs0, Docs[1])
+ if row >= 0:
+ selected = True
+
+ app_name = self.listDAW.item(row, 1).text()
+
+ for DAW in database.list_DAW:
+ if DAW[1] == app_name:
+ app_info = DAW
+ break
+ else:
+ print("ERROR: Failed to retrieve app info from database")
+ return
+
+ Package, AppName, Type, Binary, Icon, Save, Level, License, Features, Docs = app_info
+
+ self.frame_DAW.setEnabled(True)
+ self.ico_app_daw.setPixmap(QIcon(self.getIcon(Icon)).pixmap(48, 48))
+ self.ico_ladspa_daw.setPixmap(QIcon(self.getIconForYesNo(Features[0])).pixmap(16, 16))
+ self.ico_dssi_daw.setPixmap(QIcon(self.getIconForYesNo(Features[1])).pixmap(16, 16))
+ self.ico_lv2_daw.setPixmap(QIcon(self.getIconForYesNo(Features[2])).pixmap(16, 16))
+ self.ico_vst_daw.setPixmap(QIcon(self.getIconForYesNo(Features[3])).pixmap(16, 16))
+ self.ico_jack_transport_daw.setPixmap(QIcon(self.getIconForYesNo(Features[5])).pixmap(16, 16))
+ self.label_name_daw.setText(AppName)
+ self.label_vst_mode_daw.setText(Features[4])
+ self.ico_midi_mode_daw.setPixmap(QIcon(self.getIconForYesNo(Features[6])).pixmap(16, 16))
+ self.label_midi_mode_daw.setText(Features[7])
+ self.label_session_level_daw.setText(Level)
+
+ Docs0 = Docs[0] if (os.path.exists(Docs[0].replace("file://", ""))) else ""
+ self.showDoc_DAW(Docs0, Docs[1])
else:
- selected = False
- self.clearInfo_DAW()
+ selected = False
+ self.clearInfo_DAW()
self.callback_checkGUI(selected)
@pyqtSlot(int)
def slot_checkSelectedHost(self, row):
- if (row >= 0):
- selected = True
-
- app_name = self.listHost.item(row, 1).text()
-
- for Host in database.list_Host:
- if (Host[1] == app_name):
- app_info = Host
- break
- else:
- print("ERROR: Failed to retrieve app info from database")
- return
-
- Package, AppName, Instruments, Effects, Binary, Icon, Save, Level, License, Features, Docs = app_info
-
- self.frame_Host.setEnabled(True)
- self.ico_app_host.setPixmap(self.getIcon(Icon).pixmap(48, 48))
- self.ico_internal_host.setPixmap(self.getIconForYesNo(Features[0]).pixmap(16, 16))
- self.ico_ladspa_host.setPixmap(self.getIconForYesNo(Features[1]).pixmap(16, 16))
- self.ico_dssi_host.setPixmap(self.getIconForYesNo(Features[2]).pixmap(16, 16))
- self.ico_lv2_host.setPixmap(self.getIconForYesNo(Features[3]).pixmap(16, 16))
- self.ico_vst_host.setPixmap(self.getIconForYesNo(Features[4]).pixmap(16, 16))
- self.label_name_host.setText(AppName)
- self.label_vst_mode_host.setText(Features[5])
- self.label_midi_mode_host.setText(Features[6])
- self.label_session_level_host.setText(str(Level))
-
- Docs0 = Docs[0] if (os.path.exists(Docs[0].replace("file://",""))) else ""
- self.showDoc_Host(Docs0, Docs[1])
+ if row >= 0:
+ selected = True
+
+ app_name = self.listHost.item(row, 1).text()
+
+ for Host in database.list_Host:
+ if Host[1] == app_name:
+ app_info = Host
+ break
+ else:
+ print("ERROR: Failed to retrieve app info from database")
+ return
+
+ Package, AppName, Instruments, Effects, Binary, Icon, Save, Level, License, Features, Docs = app_info
+
+ self.frame_Host.setEnabled(True)
+ self.ico_app_host.setPixmap(self.getIcon(Icon).pixmap(48, 48))
+ self.ico_internal_host.setPixmap(self.getIconForYesNo(Features[0]).pixmap(16, 16))
+ self.ico_ladspa_host.setPixmap(self.getIconForYesNo(Features[1]).pixmap(16, 16))
+ self.ico_dssi_host.setPixmap(self.getIconForYesNo(Features[2]).pixmap(16, 16))
+ self.ico_lv2_host.setPixmap(self.getIconForYesNo(Features[3]).pixmap(16, 16))
+ self.ico_vst_host.setPixmap(self.getIconForYesNo(Features[4]).pixmap(16, 16))
+ self.label_name_host.setText(AppName)
+ self.label_vst_mode_host.setText(Features[5])
+ self.label_midi_mode_host.setText(Features[6])
+ self.label_session_level_host.setText(str(Level))
+
+ Docs0 = Docs[0] if (os.path.exists(Docs[0].replace("file://", ""))) else ""
+ self.showDoc_Host(Docs0, Docs[1])
else:
- selected = False
- self.clearInfo_DAW()
+ selected = False
+ self.clearInfo_DAW()
self.callback_checkGUI(selected)
@pyqtSlot(int)
def slot_checkSelectedInstrument(self, row):
- if (row >= 0):
- selected = True
+ if row >= 0:
+ selected = True
- app_name = self.listInstrument.item(row, 1).text()
+ app_name = self.listInstrument.item(row, 1).text()
- for Instrument in database.list_Instrument:
- if (Instrument[1] == app_name):
- app_info = Instrument
- break
- else:
- print("ERROR: Failed to retrieve app info from database")
- return
+ for Instrument in database.list_Instrument:
+ if Instrument[1] == app_name:
+ app_info = Instrument
+ break
+ else:
+ print("ERROR: Failed to retrieve app info from database")
+ return
- Package, AppName, Type, Binary, Icon, Save, Level, License, Features, Docs = app_info
+ Package, AppName, Type, Binary, Icon, Save, Level, License, Features, Docs = app_info
- self.frame_Instrument.setEnabled(True)
- self.ico_app_ins.setPixmap(self.getIcon(Icon).pixmap(48, 48))
- self.ico_builtin_fx_ins.setPixmap(self.getIconForYesNo(Features[0]).pixmap(16, 16))
- self.ico_audio_input_ins.setPixmap(self.getIconForYesNo(Features[1]).pixmap(16, 16))
- self.label_name_ins.setText(AppName)
- self.label_midi_mode_ins.setText(Features[2])
- self.label_session_level_ins.setText(str(Level))
+ self.frame_Instrument.setEnabled(True)
+ self.ico_app_ins.setPixmap(self.getIcon(Icon).pixmap(48, 48))
+ self.ico_builtin_fx_ins.setPixmap(self.getIconForYesNo(Features[0]).pixmap(16, 16))
+ self.ico_audio_input_ins.setPixmap(self.getIconForYesNo(Features[1]).pixmap(16, 16))
+ self.label_name_ins.setText(AppName)
+ self.label_midi_mode_ins.setText(Features[2])
+ self.label_session_level_ins.setText(str(Level))
- Docs0 = Docs[0] if (os.path.exists(Docs[0].replace("file://",""))) else ""
- self.showDoc_Instrument(Docs0, Docs[1])
+ Docs0 = Docs[0] if (os.path.exists(Docs[0].replace("file://", ""))) else ""
+ self.showDoc_Instrument(Docs0, Docs[1])
else:
- selected = False
- self.clearInfo_Intrument()
+ selected = False
+ self.clearInfo_Intrument()
self.callback_checkGUI(selected)
@pyqtSlot(int)
def slot_checkSelectedBristol(self, row):
- if (row >= 0):
- selected = True
+ if row >= 0:
+ selected = True
- app_name = self.listBristol.item(row, 2).text()
+ app_name = self.listBristol.item(row, 2).text()
- for Bristol in database.list_Bristol:
- if (Bristol[1] == app_name):
- app_info = Bristol
- break
- else:
- print("ERROR: Failed to retrieve app info from database")
- return
+ for Bristol in database.list_Bristol:
+ if Bristol[1] == app_name:
+ app_info = Bristol
+ break
+ else:
+ print("ERROR: Failed to retrieve app info from database")
+ return
- Package, AppName, Type, ShortName, Icon, Save, Level, License, Features, Docs = app_info
+ Package, AppName, Type, ShortName, Icon, Save, Level, License, Features, Docs = app_info
- self.frame_Bristol.setEnabled(True)
- self.ico_app_bristol.setPixmap(self.getIcon(Icon).pixmap(48, 48))
- self.ico_builtin_fx_bristol.setPixmap(self.getIconForYesNo(Features[0]).pixmap(16, 16))
- self.ico_audio_input_bristol.setPixmap(self.getIconForYesNo(Features[1]).pixmap(16, 16))
- self.label_name_bristol.setText(AppName)
- self.label_midi_mode_bristol.setText(Features[2])
- self.label_session_level_bristol.setText(str(Level))
+ self.frame_Bristol.setEnabled(True)
+ self.ico_app_bristol.setPixmap(self.getIcon(Icon).pixmap(48, 48))
+ self.ico_builtin_fx_bristol.setPixmap(self.getIconForYesNo(Features[0]).pixmap(16, 16))
+ self.ico_audio_input_bristol.setPixmap(self.getIconForYesNo(Features[1]).pixmap(16, 16))
+ self.label_name_bristol.setText(AppName)
+ self.label_midi_mode_bristol.setText(Features[2])
+ self.label_session_level_bristol.setText(str(Level))
- Docs0 = Docs[0] if (os.path.exists(Docs[0].replace("file://",""))) else ""
- self.showDoc_Bristol(Docs0, Docs[1])
+ Docs0 = Docs[0] if (os.path.exists(Docs[0].replace("file://", ""))) else ""
+ self.showDoc_Bristol(Docs0, Docs[1])
else:
- selected = False
- self.clearInfo_Bristol()
+ selected = False
+ self.clearInfo_Bristol()
self.callback_checkGUI(selected)
@pyqtSlot(int)
def slot_checkSelectedEffect(self, row):
- if (row >= 0):
- selected = True
+ if row >= 0:
+ selected = True
- app_name = self.listEffect.item(row, 1).text()
+ app_name = self.listEffect.item(row, 1).text()
- for Effect in database.list_Effect:
- if (Effect[1] == app_name):
- app_info = Effect
- break
- else:
- print("ERROR: Failed to retrieve app info from database")
- return
+ for Effect in database.list_Effect:
+ if Effect[1] == app_name:
+ app_info = Effect
+ break
+ else:
+ print("ERROR: Failed to retrieve app info from database")
+ return
- Package, AppName, Type, Binary, Icon, Save, Level, License, Features, Docs = app_info
+ Package, AppName, Type, Binary, Icon, Save, Level, License, Features, Docs = app_info
- self.frame_Effect.setEnabled(True)
- self.ico_app_effect.setPixmap(self.getIcon(Icon).pixmap(48, 48))
- self.ico_stereo_effect.setPixmap(self.getIconForYesNo(Features[0]).pixmap(16, 16))
- self.label_name_effect.setText(AppName)
- self.label_midi_mode_effect.setText(Features[1])
- self.label_session_level_effect.setText(str(Level))
+ self.frame_Effect.setEnabled(True)
+ self.ico_app_effect.setPixmap(self.getIcon(Icon).pixmap(48, 48))
+ self.ico_stereo_effect.setPixmap(self.getIconForYesNo(Features[0]).pixmap(16, 16))
+ self.label_name_effect.setText(AppName)
+ self.label_midi_mode_effect.setText(Features[1])
+ self.label_session_level_effect.setText(str(Level))
- Docs0 = Docs[0] if (os.path.exists(Docs[0].replace("file://",""))) else ""
- self.showDoc_Effect(Docs0, Docs[1])
+ Docs0 = Docs[0] if (os.path.exists(Docs[0].replace("file://", ""))) else ""
+ self.showDoc_Effect(Docs0, Docs[1])
else:
- selected = False
- self.clearInfo_Effect()
+ selected = False
+ self.clearInfo_Effect()
self.callback_checkGUI(selected)
@pyqtSlot(int)
def slot_checkSelectedTool(self, row):
- if (row >= 0):
- selected = True
+ if row >= 0:
+ selected = True
- app_name = self.listTool.item(row, 1).text()
+ app_name = self.listTool.item(row, 1).text()
- for Tool in database.list_Tool:
- if (Tool[1] == app_name):
- app_info = Tool
- break
- else:
- print("ERROR: Failed to retrieve app info from database")
- return
+ for Tool in database.list_Tool:
+ if Tool[1] == app_name:
+ app_info = Tool
+ break
+ else:
+ print("ERROR: Failed to retrieve app info from database")
+ return
- Package, AppName, Type, Binary, Icon, Save, Level, License, Features, Docs = app_info
+ Package, AppName, Type, Binary, Icon, Save, Level, License, Features, Docs = app_info
- self.frame_Tool.setEnabled(True)
- self.ico_app_tool.setPixmap(self.getIcon(Icon).pixmap(48, 48))
- self.label_name_tool.setText(AppName)
- self.label_midi_mode_tool.setText(Features[0])
- self.ico_jack_transport_tool.setPixmap(self.getIconForYesNo(Features[1]).pixmap(16, 16))
- self.label_session_level_tool.setText(str(Level))
+ self.frame_Tool.setEnabled(True)
+ self.ico_app_tool.setPixmap(self.getIcon(Icon).pixmap(48, 48))
+ self.label_name_tool.setText(AppName)
+ self.label_midi_mode_tool.setText(Features[0])
+ self.ico_jack_transport_tool.setPixmap(self.getIconForYesNo(Features[1]).pixmap(16, 16))
+ self.label_session_level_tool.setText(str(Level))
- Docs0 = Docs[0] if (os.path.exists(Docs[0].replace("file://",""))) else ""
- self.showDoc_Tool(Docs0, Docs[1])
+ Docs0 = Docs[0] if (os.path.exists(Docs[0].replace("file://", ""))) else ""
+ self.showDoc_Tool(Docs0, Docs[1])
else:
- selected = False
- self.clearInfo_Tool()
+ selected = False
+ self.clearInfo_Tool()
self.callback_checkGUI(selected)
@pyqtSlot(int)
def slot_doubleClickedListDAW(self, row):
app = self.listDAW.item(row, 1).text()
- if (self.m_ladish_only):
- self.addAppToLADISH(app)
+ if self.m_ladish_only:
+ self.addAppToLADISH(app)
else:
- self.startApp(app)
+ self.startApp(app)
@pyqtSlot(int)
def slot_doubleClickedListHost(self, row):
app = self.listHost.item(row, 1).text()
- if (self.m_ladish_only):
- self.addAppToLADISH(app)
+ if self.m_ladish_only:
+ self.addAppToLADISH(app)
else:
- self.startApp(app)
+ self.startApp(app)
@pyqtSlot(int)
def slot_doubleClickedListInstrument(self, row):
app = self.listInstrument.item(row, 1).text()
- if (self.m_ladish_only):
- self.addAppToLADISH(app)
+ if self.m_ladish_only:
+ self.addAppToLADISH(app)
else:
- self.startApp(app)
+ self.startApp(app)
@pyqtSlot(int)
def slot_doubleClickedListBristol(self, row):
app = self.listBristol.item(row, 2).text()
- if (self.m_ladish_only):
- self.addAppToLADISH(app)
+ if self.m_ladish_only:
+ self.addAppToLADISH(app)
else:
- self.startApp(app)
+ self.startApp(app)
@pyqtSlot(int)
def slot_doubleClickedListEffect(self, row):
app = self.listEffect.item(row, 1).text()
- if (self.m_ladish_only):
- self.addAppToLADISH(app)
+ if self.m_ladish_only:
+ self.addAppToLADISH(app)
else:
- self.startApp(app)
+ self.startApp(app)
@pyqtSlot(int)
def slot_doubleClickedListTool(self, row):
app = self.listTool.item(row, 1).text()
- if (self.m_ladish_only):
- self.addAppToLADISH(app)
+ if self.m_ladish_only:
+ self.addAppToLADISH(app)
else:
- self.startApp(app)
+ self.startApp(app)
def saveSettings(self):
- if (self.settings()):
- self.settings().setValue("SplitterDAW", self.splitter_DAW.saveState())
- self.settings().setValue("SplitterHost", self.splitter_Host.saveState())
- self.settings().setValue("SplitterInstrument", self.splitter_Instrument.saveState())
- self.settings().setValue("SplitterBristol", self.splitter_Bristol.saveState())
- self.settings().setValue("SplitterEffect", self.splitter_Effect.saveState())
- self.settings().setValue("SplitterTool", self.splitter_Tool.saveState())
+ if self.settings():
+ self.settings().setValue("SplitterDAW", self.splitter_DAW.saveState())
+ self.settings().setValue("SplitterHost", self.splitter_Host.saveState())
+ self.settings().setValue("SplitterInstrument", self.splitter_Instrument.saveState())
+ self.settings().setValue("SplitterBristol", self.splitter_Bristol.saveState())
+ self.settings().setValue("SplitterEffect", self.splitter_Effect.saveState())
+ self.settings().setValue("SplitterTool", self.splitter_Tool.saveState())
def loadSettings(self):
- if (self.settings() != None and self.settings().contains("SplitterDAW")):
- self.splitter_DAW.restoreState(self.settings().value("SplitterDAW", ""))
- self.splitter_Host.restoreState(self.settings().value("SplitterHost", ""))
- self.splitter_Instrument.restoreState(self.settings().value("SplitterInstrument", ""))
- self.splitter_Bristol.restoreState(self.settings().value("SplitterBristol", ""))
- self.splitter_Effect.restoreState(self.settings().value("SplitterEffect", ""))
- self.splitter_Tool.restoreState(self.settings().value("SplitterTool", ""))
- else: # First-Run
- self.splitter_DAW.setSizes([500,200])
- self.splitter_Host.setSizes([500,200])
- self.splitter_Instrument.setSizes([500,200])
- self.splitter_Bristol.setSizes([500,200])
- self.splitter_Effect.setSizes([500,200])
- self.splitter_Tool.setSizes([500,200])
+ if self.settings() and self.settings().contains("SplitterDAW"):
+ self.splitter_DAW.restoreState(self.settings().value("SplitterDAW", ""))
+ self.splitter_Host.restoreState(self.settings().value("SplitterHost", ""))
+ self.splitter_Instrument.restoreState(self.settings().value("SplitterInstrument", ""))
+ self.splitter_Bristol.restoreState(self.settings().value("SplitterBristol", ""))
+ self.splitter_Effect.restoreState(self.settings().value("SplitterEffect", ""))
+ self.splitter_Tool.restoreState(self.settings().value("SplitterTool", ""))
+ else: # First-Run?
+ self.splitter_DAW.setSizes([500, 200])
+ self.splitter_Host.setSizes([500, 200])
+ self.splitter_Instrument.setSizes([500, 200])
+ self.splitter_Bristol.setSizes([500, 200])
+ self.splitter_Effect.setSizes([500, 200])
+ self.splitter_Tool.setSizes([500, 200])
# ----------------------------------------
# Callbacks
def callback_checkGUI(self, selected):
- if (self.parentR()):
- self.parentR().callback_checkGUI(selected)
+ if self.parentR():
+ self.parentR().callback_checkGUI(selected)
def callback_getProjectFolder(self):
- if (self.parentR()):
- return self.parentR().callback_getProjectFolder()
+ if self.parentR():
+ return self.parentR().callback_getProjectFolder()
return HOME
def callback_getAppBus(self):
@@ -1150,7 +1145,6 @@ class ClaudiaLauncher(QWidget, ui_claudia_launcher.Ui_ClaudiaLauncherW):
#--------------- main ------------------
if __name__ == '__main__':
-
import dbus
from signal import signal, SIG_IGN, SIGUSR1
from PyQt4.QtGui import QApplication
@@ -1163,7 +1157,8 @@ if __name__ == '__main__':
'controlBus',
'studioBus',
'appBus',
- ]
+ ]
+
DBus = DBus()
class ClaudiaLauncherApp(QMainWindow, ui_claudia_launcher_app.Ui_ClaudiaLauncherApp):
@@ -1182,8 +1177,8 @@ if __name__ == '__main__':
# Check for JACK
self.jack_client = jacklib.client_open("klaudia", jacklib.JackNoStartServer, None)
if not self.jack_client:
- QTimer.singleShot(0, self, SLOT("slot_showJackError()"))
- return
+ QTimer.singleShot(0, self, SLOT("slot_showJackError()"))
+ return
# Set-up GUI
self.b_start.setIcon(self.getIcon("go-next"))
@@ -1199,14 +1194,14 @@ if __name__ == '__main__':
self.refreshStudioList()
- if (DBus.controlBus):
- self.slot_enableLADISH(True)
+ if DBus.controlBus:
+ self.slot_enableLADISH(True)
else:
- for iPATH in PATH:
- if (os.path.exists(os.path.join(iPATH, "ladishd"))):
- break
- else:
- self.slot_enableLADISH(False)
+ for iPATH in PATH:
+ if os.path.exists(os.path.join(iPATH, "ladishd")):
+ break
+ else:
+ self.slot_enableLADISH(False)
self.connect(self.b_start, SIGNAL("clicked()"), SLOT("slot_startApp()"))
self.connect(self.b_add, SIGNAL("clicked()"), SLOT("slot_addAppToLADISH()"))
@@ -1226,8 +1221,8 @@ if __name__ == '__main__':
pos.valid = 0
jacklib.transport_query(self.jack_client, jacklib.pointer(pos))
- if (pos.valid & jacklib.JackPositionBBT):
- return pos.beats_per_minute
+ if pos.valid & jacklib.JackPositionBBT:
+ return pos.beats_per_minute
return 120.0
def getJackSampleRate(self):
@@ -1236,25 +1231,26 @@ if __name__ == '__main__':
def refreshStudioList(self):
self.co_ladi_room.clear()
self.co_ladi_room.addItem("")
- if (DBus.controlBus):
- studio_bus = DBus.loopBus.get_object("org.ladish", "/org/ladish/Studio")
- studio_list_dump = studio_bus.GetRoomList()
- for i in range(len(studio_list_dump)):
- self.co_ladi_room.addItem("%s - %s" % (str(studio_list_dump[i][0]).replace("/org/ladish/Room",""), studio_list_dump[i][1]['name']))
+ if DBus.controlBus:
+ studio_bus = DBus.loopBus.get_object("org.ladish", "/org/ladish/Studio")
+ studio_list_dump = studio_bus.GetRoomList()
+ for i in range(len(studio_list_dump)):
+ self.co_ladi_room.addItem("%s - %s" % (
+ str(studio_list_dump[i][0]).replace("/org/ladish/Room", ""), studio_list_dump[i][1]['name']))
# ----------------------------------------
# Callbacks
def callback_checkGUI(self, test_selected=None):
- if (test_selected != None):
- self.test_selected = test_selected
+ if test_selected != None:
+ self.test_selected = test_selected
- if (self.test_url and self.test_selected):
- self.b_add.setEnabled(bool(DBus.controlBus))
- self.b_start.setEnabled(True)
+ if self.test_url and self.test_selected:
+ self.b_add.setEnabled(bool(DBus.controlBus))
+ self.b_start.setEnabled(True)
else:
- self.b_add.setEnabled(False)
- self.b_start.setEnabled(False)
+ self.b_add.setEnabled(False)
+ self.b_start.setEnabled(False)
def callback_getProjectFolder(self):
return self.le_url.text()
@@ -1275,61 +1271,61 @@ if __name__ == '__main__':
@pyqtSlot(int)
def slot_checkSelectedRoom(self, co_n):
- if (co_n == -1 or not DBus.controlBus):
- pass
- elif (co_n == 0):
- DBus.studioBus = DBus.loopBus.get_object("org.ladish", "/org/ladish/Studio")
- DBus.appBus = dbus.Interface(DBus.studioBus, 'org.ladish.AppSupervisor')
- self.b_open.setEnabled(True)
- self.le_url.setEnabled(True)
- self.le_url.setText(self.studio_root_folder)
- else:
- room_number = self.co_ladi_room.currentText().split(" ")[0]
- room_name = "/org/ladish/Room"+room_number
- DBus.studioBus = DBus.loopBus.get_object("org.ladish", room_name)
- DBus.appBus = dbus.Interface(DBus.studioBus, 'org.ladish.AppSupervisor')
- room_properties = DBus.studioBus.GetProjectProperties()
- if (len(room_properties[1]) > 0):
- self.b_open.setEnabled(False)
- self.le_url.setEnabled(False)
- self.le_url.setText(room_properties[1]['dir'])
- else:
+ if co_n == -1 or not DBus.controlBus:
+ pass
+ elif co_n == 0:
+ DBus.studioBus = DBus.loopBus.get_object("org.ladish", "/org/ladish/Studio")
+ DBus.appBus = dbus.Interface(DBus.studioBus, 'org.ladish.AppSupervisor')
self.b_open.setEnabled(True)
self.le_url.setEnabled(True)
- self.studio_root_folder = self.le_url.text()
+ self.le_url.setText(self.studio_root_folder)
+ else:
+ room_number = self.co_ladi_room.currentText().split(" ")[0]
+ room_name = "/org/ladish/Room" + room_number
+ DBus.studioBus = DBus.loopBus.get_object("org.ladish", room_name)
+ DBus.appBus = dbus.Interface(DBus.studioBus, 'org.ladish.AppSupervisor')
+ room_properties = DBus.studioBus.GetProjectProperties()
+ if len(room_properties[1]) > 0:
+ self.b_open.setEnabled(False)
+ self.le_url.setEnabled(False)
+ self.le_url.setText(room_properties[1]['dir'])
+ else:
+ self.b_open.setEnabled(True)
+ self.le_url.setEnabled(True)
+ self.studio_root_folder = self.le_url.text()
@pyqtSlot(str)
def slot_checkFolderUrl(self, url):
- if (os.path.exists(url)):
- self.test_url = True
- if (self.le_url.isEnabled()):
- self.studio_root_folder = url
+ if os.path.exists(url):
+ self.test_url = True
+ if self.le_url.isEnabled():
+ self.studio_root_folder = url
else:
- self.test_url = False
+ self.test_url = False
self.callback_checkGUI()
@pyqtSlot(bool)
def slot_enableLADISH(self, yesno):
self.groupLADISH.setCheckable(False)
- if (yesno):
- try:
- DBus.controlBus = DBus.loopBus.get_object("org.ladish", "/org/ladish/Control")
- self.groupLADISH.setTitle(self.tr("LADISH is enabled"))
- except:
- self.groupLADISH.setEnabled(False)
- self.groupLADISH.setTitle(self.tr("LADISH is sick"))
- return
+ if yesno:
+ try:
+ DBus.controlBus = DBus.loopBus.get_object("org.ladish", "/org/ladish/Control")
+ self.groupLADISH.setTitle(self.tr("LADISH is enabled"))
+ except:
+ self.groupLADISH.setEnabled(False)
+ self.groupLADISH.setTitle(self.tr("LADISH is sick"))
+ return
- DBus.studioBus = DBus.loopBus.get_object("org.ladish", "/org/ladish/Studio")
- DBus.appBus = dbus.Interface(DBus.studioBus, 'org.ladish.AppSupervisor')
+ DBus.studioBus = DBus.loopBus.get_object("org.ladish", "/org/ladish/Studio")
+ DBus.appBus = dbus.Interface(DBus.studioBus, 'org.ladish.AppSupervisor')
- self.refreshStudioList()
- self.callback_checkGUI()
+ self.refreshStudioList()
+ self.callback_checkGUI()
else:
- self.groupLADISH.setEnabled(False)
- self.groupLADISH.setTitle(self.tr("LADISH is not available"))
+ self.groupLADISH.setEnabled(False)
+ self.groupLADISH.setTitle(self.tr("LADISH is not available"))
@pyqtSlot()
def slot_startApp(self):
@@ -1349,7 +1345,8 @@ if __name__ == '__main__':
@pyqtSlot()
def slot_showJackError(self):
- QMessageBox.critical(self, self.tr("Error"), self.tr("JACK is not started!\nPlease start it first, then re-run Claudia-Launcher again."))
+ QMessageBox.critical(self, self.tr("Error"),
+ self.tr("JACK is not started!\nPlease start it first, then re-run Claudia-Launcher again."))
self.close()
def saveSettings(self):
@@ -1362,8 +1359,8 @@ if __name__ == '__main__':
def closeEvent(self, event):
self.saveSettings()
- if (self.jack_client):
- jacklib.client_close(self.jack_client)
+ if self.jack_client:
+ jacklib.client_close(self.jack_client)
QMainWindow.closeEvent(self, event)
# App initialization
@@ -1379,14 +1376,14 @@ if __name__ == '__main__':
# Connect to DBus
DBus.loopBus = dbus.SessionBus()
- if ("org.ladish" in DBus.loopBus.list_names()):
- DBus.controlBus = DBus.loopBus.get_object("org.ladish", "/org/ladish/Control")
- DBus.studioBus = DBus.loopBus.get_object("org.ladish", "/org/ladish/Studio")
- DBus.appBus = dbus.Interface(DBus.studioBus, "org.ladish.AppSupervisor")
+ if "org.ladish" in DBus.loopBus.list_names():
+ DBus.controlBus = DBus.loopBus.get_object("org.ladish", "/org/ladish/Control")
+ DBus.studioBus = DBus.loopBus.get_object("org.ladish", "/org/ladish/Studio")
+ DBus.appBus = dbus.Interface(DBus.studioBus, "org.ladish.AppSupervisor")
else:
- DBus.controlBus = None
- DBus.studioBus = None
- DBus.appBus = None
+ DBus.controlBus = None
+ DBus.studioBus = None
+ DBus.appBus = None
# Show GUI
gui = ClaudiaLauncherApp()