diff --git a/data/icons/claudia-hicolor/16x16/apps/lv2.png b/data/icons/claudia-hicolor/16x16/apps/lv2.png
new file mode 100644
index 0000000..4e8faee
Binary files /dev/null and b/data/icons/claudia-hicolor/16x16/apps/lv2.png differ
diff --git a/data/icons/claudia-hicolor/48x48/apps/lv2.png b/data/icons/claudia-hicolor/48x48/apps/lv2.png
new file mode 100644
index 0000000..0b25f85
Binary files /dev/null and b/data/icons/claudia-hicolor/48x48/apps/lv2.png differ
diff --git a/resources/ui/claudia_launcher.ui b/resources/ui/claudia_launcher.ui
index 4d9399f..6187550 100644
--- a/resources/ui/claudia_launcher.ui
+++ b/resources/ui/claudia_launcher.ui
@@ -7,7 +7,7 @@
0
0
928
- 469
+ 518
@@ -100,11 +100,6 @@
Template?
-
-
- Release Model
-
-
@@ -481,11 +476,6 @@
Template?
-
-
- Release Model
-
-
@@ -844,11 +834,6 @@
Template?
-
-
- Release Model
-
-
@@ -1379,6 +1364,9 @@
true
+
+ 3
+
true
@@ -1388,11 +1376,6 @@
22
-
-
-
-
-
Name
@@ -1400,17 +1383,12 @@
- Spec
-
-
-
-
- Type
+ Author
- Release Model
+ Category
@@ -1470,33 +1448,53 @@
-
- Features
+ Information
Qt::AlignCenter
-
-
+
-
+
+
+ #
+
+
+
+ -
- Stereo:
+ Audio Inputs:
Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
- -
-
+
-
+
- ico
+ Audio Outputs:
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
+
- MIDI Input:
+ MIDI Inputs:
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+ MIDI Outputs:
Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
@@ -1504,26 +1502,57 @@
-
-
+
- ico
+ #
- -
-
+
-
+
- Has Factory Presets:
+ #
+
+
+
+ -
+
+
+ #
+
+
+
+ -
+
+
+ Parameter Inputs:
Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
- -
-
+
-
+
- ico
+ Parameter Outputs:
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+ #
+
+
+
+ -
+
+
+ #
@@ -1678,11 +1707,6 @@
Template?
-
-
- Release Model
-
-
@@ -1948,11 +1972,6 @@
Template?
-
-
- Release Model
-
-
diff --git a/src/claudia_database.py b/src/claudia_database.py
index f2de42d..c9d9b3f 100644
--- a/src/claudia_database.py
+++ b/src/claudia_database.py
@@ -1,9 +1,6 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
-# TODO
-# - add lv2 plugins
-
# Package database
generic_audio_icon = "audio-x-generic"
@@ -23,44 +20,44 @@ USING_KXSTUDIO = False
# -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
# DAW
-# (L, D, L, V, VST-Mode, T, M, MIDI-Mode) -> ( LADSPA, DSSI, LV2, VST, VST-Mode, Transport, MIDI, MIDI-Mode)
+# (L, D, L, V, VST-Mode, T, M, MIDI-Mode) -> (LADSPA, DSSI, LV2, VST, VST-Mode, Transport, MIDI, MIDI-Mode)
list_DAW = [
- # Package AppName Type Binary Icon Template? Level Rel.-Model (L, D, L, V, VST-Mode, T, M, MIDI-Mode) (doc-file, website)
- [ "ardour", "Ardour 2.8", "DAW", "ardour2", "ardour", TEMPLATE_YES, LEVEL_0, "OpenSource", (1, 0, 1, 0, "", 1, 0, "ALSA"), ("file:///usr/share/kxstudio/docs/ardour.pdf", "http://www.ardour.org/") ],
- [ "ardour3", "Ardour 3", "DAW", "ardour3", "ardour", TEMPLATE_YES, LEVEL_JS, "OpenSource", (1, 0, 1, 1, "Native", 1, 1, "JACK"), ("file:///usr/share/kxstudio/docs/ardour.pdf", "http://www.ardour.org/") ],
- [ "ardour4", "Ardour 4", "DAW", "ardour4", "ardour", TEMPLATE_YES, LEVEL_JS, "OpenSource", (1, 0, 1, 1, "Native", 1, 1, "JACK"), ("file:///usr/share/kxstudio/docs/ardour.pdf", "http://www.ardour.org/") ],
+ # Package AppName Type Binary Icon Template? Level (L, D, L, V, VST-Mode, T, M, MIDI-Mode) (doc-file, website)
+ [ "ardour", "Ardour 2.8", "DAW", "ardour2", "ardour", TEMPLATE_YES, LEVEL_0, (1, 0, 1, 0, "", 1, 0, "ALSA"), ("file:///usr/share/kxstudio/docs/ardour.pdf", "http://www.ardour.org/") ],
+ [ "ardour3", "Ardour 3", "DAW", "ardour3", "ardour", TEMPLATE_YES, LEVEL_JS, (1, 0, 1, 1, "Native", 1, 1, "JACK"), ("file:///usr/share/kxstudio/docs/ardour.pdf", "http://www.ardour.org/") ],
+ [ "ardour4", "Ardour 4", "DAW", "ardour4", "ardour", TEMPLATE_YES, LEVEL_JS, (1, 0, 1, 1, "Native", 1, 1, "JACK"), ("file:///usr/share/kxstudio/docs/ardour.pdf", "http://www.ardour.org/") ],
- [ "ariamaestosa", "Aria Maestosa", "MIDI Sequencer", "Aria", "aria", TEMPLATE_NO, LEVEL_0, "OpenSource", (0, 0, 0, 0, "", 0, 1, "ALSA | JACK"), ("", "http://ariamaestosa.sf.net/") ],
+ [ "ariamaestosa", "Aria Maestosa", "MIDI Sequencer", "Aria", "aria", TEMPLATE_NO, LEVEL_0, (0, 0, 0, 0, "", 0, 1, "ALSA | JACK"), ("", "http://ariamaestosa.sf.net/") ],
- [ "giada", "Giada", "Audio Looper", "giada", generic_audio_icon, TEMPLATE_YES, LEVEL_0, "OpenSource", (0, 0, 0, 1, "Native", 0, 0, ""), ("", "http://www.monocasual.com/giada/") ],
+ [ "giada", "Giada", "Audio Looper", "giada", generic_audio_icon, TEMPLATE_YES, LEVEL_0, (0, 0, 0, 1, "Native", 0, 0, ""), ("", "http://www.monocasual.com/giada/") ],
- [ "hydrogen", "Hydrogen", "Drum Sequencer", "hydrogen -d jack", "h2-icon", TEMPLATE_YES, LEVEL_JS, "OpenSource", (1, 0, 0, 0, "", 1, 1, "ALSA | JACK"), ("file:///usr/share/hydrogen/data/doc/manual_en.html.upstream", "http://www.hydrogen-music.org/") ],
- [ "hydrogen-git", "Hydrogen (GIT)", "Drum Sequencer", "hydrogen -d jack", "h2-icon", TEMPLATE_YES, LEVEL_JS, "OpenSource", (1, 0, 0, 0, "", 1, 1, "ALSA | JACK"), ("file:///usr/share/hydrogen/data/doc/manual_en.html.upstream", "http://www.hydrogen-music.org/") ],
- [ "hydrogen-svn", "Hydrogen (SVN)", "Drum Sequencer", "hydrogen -d jack", "h2-icon", TEMPLATE_YES, LEVEL_JS, "OpenSource", (1, 0, 0, 0, "", 1, 1, "ALSA | JACK"), ("file:///usr/share/hydrogen/data/doc/manual_en.html.upstream", "http://www.hydrogen-music.org/") ],
+ [ "hydrogen", "Hydrogen", "Drum Sequencer", "hydrogen -d jack", "h2-icon", TEMPLATE_YES, LEVEL_JS, (1, 0, 0, 0, "", 1, 1, "ALSA | JACK"), ("file:///usr/share/hydrogen/data/doc/manual_en.html.upstream", "http://www.hydrogen-music.org/") ],
+ [ "hydrogen-git", "Hydrogen (GIT)", "Drum Sequencer", "hydrogen -d jack", "h2-icon", TEMPLATE_YES, LEVEL_JS, (1, 0, 0, 0, "", 1, 1, "ALSA | JACK"), ("file:///usr/share/hydrogen/data/doc/manual_en.html.upstream", "http://www.hydrogen-music.org/") ],
+ [ "hydrogen-svn", "Hydrogen (SVN)", "Drum Sequencer", "hydrogen -d jack", "h2-icon", TEMPLATE_YES, LEVEL_JS, (1, 0, 0, 0, "", 1, 1, "ALSA | JACK"), ("file:///usr/share/hydrogen/data/doc/manual_en.html.upstream", "http://www.hydrogen-music.org/") ],
- [ "jacker", "Jacker", "MIDI Sequencer", "jacker", "jacker", TEMPLATE_YES, LEVEL_0, "OpenSource", (0, 0, 0, 0, "", 1, 1, "JACK"), ("", "https://bitbucket.org/paniq/jacker/wiki/Home") ],
+ [ "jacker", "Jacker", "MIDI Sequencer", "jacker", "jacker", TEMPLATE_YES, LEVEL_0, (0, 0, 0, 0, "", 1, 1, "JACK"), ("", "https://bitbucket.org/paniq/jacker/wiki/Home") ],
- [ "lmms", "LMMS", "DAW", "lmms", "lmms", TEMPLATE_YES, LEVEL_0, "OpenSource", (1, 0, 0, 1, "Windows", 0, 1, "ALSA"), ("file:///usr/share/kxstudio/docs/LMMS_UserManual_0.4.12.1.pdf", "http://lmms.sf.net/") ],
+ [ "lmms", "LMMS", "DAW", "lmms", "lmms", TEMPLATE_YES, LEVEL_0, (1, 0, 0, 1, "Windows", 0, 1, "ALSA"), ("file:///usr/share/kxstudio/docs/LMMS_UserManual_0.4.12.1.pdf", "http://lmms.sf.net/") ],
- [ "muse", "MusE", "DAW", "muse", "muse", TEMPLATE_YES, LEVEL_0, "OpenSource", (1, 1, 0, 1, "Native", 1, 1, "ALSA + JACK"), ("file:///usr/share/doc/muse/html/window_ref.html", "http://www.muse-sequencer.org/") ],
+ [ "muse", "MusE", "DAW", "muse", "muse", TEMPLATE_YES, LEVEL_0, (1, 1, 0, 1, "Native", 1, 1, "ALSA + JACK"), ("file:///usr/share/doc/muse/html/window_ref.html", "http://www.muse-sequencer.org/") ],
- [ "musescore", "MuseScore", "MIDI Composer", "mscore", "mscore", TEMPLATE_NO, LEVEL_0, "OpenSource", (0, 0, 0, 0, "", 0, 1, "ALSA | JACK"), ("file:///usr/share/kxstudio/docs/MuseScore-en.pdf", "http://www.musescore.org/") ],
+ [ "musescore", "MuseScore", "MIDI Composer", "mscore", "mscore", TEMPLATE_NO, LEVEL_0, (0, 0, 0, 0, "", 0, 1, "ALSA | JACK"), ("file:///usr/share/kxstudio/docs/MuseScore-en.pdf", "http://www.musescore.org/") ],
- [ "non-daw", "Non-DAW", "DAW", "non-daw", "non-daw", TEMPLATE_YES, LEVEL_NSM, "OpenSource", (0, 0, 0, 0, "", 1, 0, "CV + OSC"), ("file:///usr/share/doc/non-daw/MANUAL.html", "http://non-daw.tuxfamily.org/") ],
- [ "non-sequencer", "Non-Sequencer", "MIDI Sequencer", "non-sequencer", "non-sequencer", TEMPLATE_YES, LEVEL_NSM, "OpenSource", (0, 0, 0, 0, "", 1, 1, "JACK"), ("file:///usr/share/doc/non-sequencer/MANUAL.html", "http://non-sequencer.tuxfamily.org/") ],
+ [ "non-daw", "Non-DAW", "DAW", "non-daw", "non-daw", TEMPLATE_YES, LEVEL_NSM, (0, 0, 0, 0, "", 1, 0, "CV + OSC"), ("file:///usr/share/doc/non-daw/MANUAL.html", "http://non-daw.tuxfamily.org/") ],
+ [ "non-sequencer", "Non-Sequencer", "MIDI Sequencer", "non-sequencer", "non-sequencer", TEMPLATE_YES, LEVEL_NSM, (0, 0, 0, 0, "", 1, 1, "JACK"), ("file:///usr/share/doc/non-sequencer/MANUAL.html", "http://non-sequencer.tuxfamily.org/") ],
- [ "qtractor", "Qtractor", "DAW", "qtractor", "qtractor", TEMPLATE_YES, LEVEL_1, "OpenSource", (1, 1, 1, 1, "Native", 1, 1, "ALSA"), ("file:///usr/share/kxstudio/docs/qtractor-0.5.x-user-manual.pdf", "http://qtractor.sf.net/") ],
- [ "qtractor-svn", "Qtractor (SVN)", "DAW", "qtractor", "qtractor", TEMPLATE_YES, LEVEL_1, "OpenSource", (1, 1, 1, 1, "Native", 1, 1, "ALSA"), ("file:///usr/share/kxstudio/docs/qtractor-0.5.x-user-manual.pdf", "http://qtractor.sf.net/") ],
+ [ "qtractor", "Qtractor", "DAW", "qtractor", "qtractor", TEMPLATE_YES, LEVEL_1, (1, 1, 1, 1, "Native", 1, 1, "ALSA"), ("file:///usr/share/kxstudio/docs/qtractor-0.5.x-user-manual.pdf", "http://qtractor.sf.net/") ],
+ [ "qtractor-svn", "Qtractor (SVN)", "DAW", "qtractor", "qtractor", TEMPLATE_YES, LEVEL_1, (1, 1, 1, 1, "Native", 1, 1, "ALSA"), ("file:///usr/share/kxstudio/docs/qtractor-0.5.x-user-manual.pdf", "http://qtractor.sf.net/") ],
- [ "rosegarden", "Rosegarden", "MIDI Sequencer", "rosegarden", "rosegarden", TEMPLATE_YES, LEVEL_1, "OpenSource", (1, 1, 0, 0, "", 1, 1, "ALSA"), ("", "http://www.rosegardenmusic.com/") ],
+ [ "rosegarden", "Rosegarden", "MIDI Sequencer", "rosegarden", "rosegarden", TEMPLATE_YES, LEVEL_1, (1, 1, 0, 0, "", 1, 1, "ALSA"), ("", "http://www.rosegardenmusic.com/") ],
- [ "seq24", "Seq24", "MIDI Sequencer", "seq24", "seq24", TEMPLATE_YES, LEVEL_1, "OpenSource", (0, 0, 0, 0, "", 1, 1, "ALSA"), ("file:///usr/share/kxstudio/docs/SEQ24", "http://www.filter24.org/seq24/") ],
+ [ "seq24", "Seq24", "MIDI Sequencer", "seq24", "seq24", TEMPLATE_YES, LEVEL_1, (0, 0, 0, 0, "", 1, 1, "ALSA"), ("file:///usr/share/kxstudio/docs/SEQ24", "http://www.filter24.org/seq24/") ],
- [ "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/") ],
+ [ "traverso", "Traverso", "DAW", "traverso", "traverso", TEMPLATE_NO, LEVEL_0, (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]))
+iDAW_Package, iDAW_AppName, iDAW_Type, iDAW_Binary, iDAW_Icon, iDAW_Template, iDAW_Level, iDAW_Features, iDAW_Docs = range(0, len(list_DAW[0]))
if USING_KXSTUDIO:
# Jacker
@@ -72,22 +69,22 @@ if USING_KXSTUDIO:
# (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_1, "OpenSource", (1, 0, 0, 0, 0, "", "JACK"), ("file:///usr/share/doc/calf/index.html", "http://calf.sf.net/") ],
- [ "calf-plugins-git", "Calf Jack Host (GIT)", "Yes", "Yes", "calfjackhost", "calf", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 0, 0, 0, 0, "", "JACK"), ("file:///usr/share/doc/calf/index.html", "http://calf.sf.net/") ],
+ # Package AppName Ins? FX? Binary Icon Template? Level (I, L, D, L, V, VST-Mode, MIDI-Mode) (doc-file, website)
+ [ "calf-plugins", "Calf Jack Host", "Yes", "Yes", "calfjackhost", "calf", TEMPLATE_NO, LEVEL_1, (1, 0, 0, 0, 0, "", "JACK"), ("file:///usr/share/doc/calf/index.html", "http://calf.sf.net/") ],
+ [ "calf-plugins-git", "Calf Jack Host (GIT)", "Yes", "Yes", "calfjackhost", "calf", TEMPLATE_NO, LEVEL_1, (1, 0, 0, 0, 0, "", "JACK"), ("file:///usr/share/doc/calf/index.html", "http://calf.sf.net/") ],
- [ "carla", "Carla", "Yes", "Yes", "carla", "carla", TEMPLATE_YES, LEVEL_1, "OpenSource", (1, 1, 1, 1, 1, "Both", "ALSA | JACK"), ("", "http://kxstudio.sf.net/Applications:Carla") ],
- [ "carla-git", "Carla (GIT)", "Yes", "Yes", "carla", "carla", TEMPLATE_YES, LEVEL_NSM, "OpenSource", (1, 1, 1, 1, 1, "Both", "ALSA | JACK"), ("", "http://kxstudio.sf.net/Applications:Carla") ],
+ [ "carla", "Carla", "Yes", "Yes", "carla", "carla", TEMPLATE_YES, LEVEL_1, (1, 1, 1, 1, 1, "Both", "ALSA | JACK"), ("", "http://kxstudio.sf.net/Applications:Carla") ],
+ [ "carla-git", "Carla (GIT)", "Yes", "Yes", "carla", "carla", TEMPLATE_YES, LEVEL_NSM, (1, 1, 1, 1, 1, "Both", "ALSA | JACK"), ("", "http://kxstudio.sf.net/Applications:Carla") ],
- [ "festige", "FeSTige", "Yes", "Yes", "festige", "festige", TEMPLATE_NO, LEVEL_1, "OpenSource", (0, 0, 0, 0, 1, "Windows", "ALSA | JACK"), ("", "http://festige.sf.net/") ],
+ [ "festige", "FeSTige", "Yes", "Yes", "festige", "festige", TEMPLATE_NO, LEVEL_1, (0, 0, 0, 0, 1, "Windows", "ALSA | JACK"), ("", "http://festige.sf.net/") ],
- [ "ingen", "Ingen", "Yes", "Yes", "ingen -eg", "ingen", TEMPLATE_NO, LEVEL_0, "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_0, "OpenSource", (1, 0, 0, 1, 0, "", "JACK"), ("", "http://drobilla.net/blog/software/ingen/") ],
+ [ "ingen", "Ingen", "Yes", "Yes", "ingen -eg", "ingen", TEMPLATE_NO, LEVEL_0, (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_0, (1, 0, 0, 1, 0, "", "JACK"), ("", "http://drobilla.net/blog/software/ingen/") ],
- [ "jack-rack", "Jack Rack", "No", "Yes", "jack-rack", "jack-rack", TEMPLATE_YES, LEVEL_0, "OpenSource", (0, 1, 0, 0, 0, "", "ALSA"), ("", "http://jack-rack.sf.net/") ],
+ [ "jack-rack", "Jack Rack", "No", "Yes", "jack-rack", "jack-rack", TEMPLATE_YES, LEVEL_0, (0, 1, 0, 0, 0, "", "ALSA"), ("", "http://jack-rack.sf.net/") ],
]
-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]))
+iHost_Package, iHost_AppName, iHost_Ins, iHost_FX, iHost_Binary, iHost_Icon, iHost_Template, iHost_Level, iHost_Features, iDAW_Docs = range(0, len(list_Host[0]))
# -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
# Instrument
@@ -95,34 +92,34 @@ iHost_Package, iHost_AppName, iHost_Ins, iHost_FX, iHost_Binary, iHost_Icon, iHo
# (F, I, MIDI-Mode) -> (Built-in FX, Audio Input, MIDI-Mode)
list_Instrument = [
- # Package AppName Type Binary Icon Template? Level Rel.-Model (F, I, MIDI-Mode) (doc-file, website)
- [ "aeolus", "Aeolus", "Synth", "aeolus -J", generic_audio_icon, TEMPLATE_NO, LEVEL_0, "OpenSource", (0, 0, "ALSA | JACK"), ("", "http://www.kokkinizita.net/linuxaudio/aeolus/index.html") ],
+ # Package AppName Type Binary Icon Template? Level (F, I, MIDI-Mode) (doc-file, website)
+ [ "aeolus", "Aeolus", "Synth", "aeolus -J", generic_audio_icon, TEMPLATE_NO, LEVEL_0, (0, 0, "ALSA | JACK"), ("", "http://www.kokkinizita.net/linuxaudio/aeolus/index.html") ],
- [ "amsynth", "amSynth", "Synth", "amsynth", "amsynth", TEMPLATE_NO, LEVEL_0, "OpenSource", (1, 0, "ALSA + JACK"), ("", "") ],
+ [ "amsynth", "amSynth", "Synth", "amsynth", "amsynth", TEMPLATE_NO, LEVEL_0, (1, 0, "ALSA + JACK"), ("", "") ],
- [ "azr3-jack", "AZR3", "Synth", "azr3", "azr3", TEMPLATE_NO, LEVEL_0, "OpenSource", (1, 0, "JACK"), ("", "http://ll-plugins.nongnu.org/azr3/") ],
+ [ "azr3-jack", "AZR3", "Synth", "azr3", "azr3", TEMPLATE_NO, LEVEL_0, (1, 0, "JACK"), ("", "http://ll-plugins.nongnu.org/azr3/") ],
- [ "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, (0, 0, "JACK"), ("", "http://code.google.com/p/foo-yc20/") ],
- [ "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/") ],
+ [ "jsampler", "JSampler Fantasia", "Sampler", "jsampler-bin", "jsampler", TEMPLATE_NO, LEVEL_0, (0, 0, "ALSA + JACK"), ("file:///usr/share/kxstudio/docs/jsampler/jsampler.html", "http://www.linuxsampler.org/") ],
- [ "petri-foo", "Petri-Foo", "Sampler", "petri-foo", "petri-foo", TEMPLATE_NO, LEVEL_NSM, "OpenSource", (0, 0, "ALSA + JACK"), ("", "http://petri-foo.sf.net/") ],
+ [ "petri-foo", "Petri-Foo", "Sampler", "petri-foo", "petri-foo", TEMPLATE_NO, LEVEL_NSM, (0, 0, "ALSA + JACK"), ("", "http://petri-foo.sf.net/") ],
- [ "phasex", "Phasex", "Synth", "phasex", "phasex", TEMPLATE_NO, LEVEL_0, "OpenSource", (1, 1, "ALSA"), ("file:///usr/share/phasex/help/parameters.help", "") ],
+ [ "phasex", "Phasex", "Synth", "phasex", "phasex", TEMPLATE_NO, LEVEL_0, (1, 1, "ALSA"), ("file:///usr/share/phasex/help/parameters.help", "") ],
- [ "qsampler", "Qsampler", "Sampler", "qsampler", "qsampler", TEMPLATE_NO, LEVEL_1, "OpenSource", (0, 0, "ALSA + JACK"), ("", "http://qsampler.sf.net/") ],
+ [ "qsampler", "Qsampler", "Sampler", "qsampler", "qsampler", TEMPLATE_NO, LEVEL_1, (0, 0, "ALSA + JACK"), ("", "http://qsampler.sf.net/") ],
- [ "qsynth", "Qsynth", "SoundFont Player", "qsynth -a jack -m jack", "qsynth", TEMPLATE_NO, LEVEL_0, "OpenSource", (1, 0, "ALSA | JACK"), ("", "http://qsynth.sf.net/") ],
+ [ "qsynth", "Qsynth", "SoundFont Player", "qsynth -a jack -m jack", "qsynth", TEMPLATE_NO, LEVEL_0, (1, 0, "ALSA | JACK"), ("", "http://qsynth.sf.net/") ],
- [ "setbfree", "setBfree", "Synth", "setBfree-start", "setBfree", TEMPLATE_NO, LEVEL_0, "OpenSource", (1, 0, "JACK"), ("", "http://setbfree.org/") ],
+ [ "setbfree", "setBfree", "Synth", "setBfree-start", "setBfree", TEMPLATE_NO, LEVEL_0, (1, 0, "JACK"), ("", "http://setbfree.org/") ],
- [ "yoshimi", "Yoshimi", "Synth", "yoshimi -j -J", "yoshimi", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 0, "ALSA | JACK"), ("", "http://yoshimi.sf.net/") ],
+ [ "yoshimi", "Yoshimi", "Synth", "yoshimi -j -J", "yoshimi", TEMPLATE_NO, LEVEL_1, (1, 0, "ALSA | JACK"), ("", "http://yoshimi.sf.net/") ],
- [ "zynaddsubfx", "ZynAddSubFX", "Synth", "zynaddsubfx", "zynaddsubfx", TEMPLATE_NO, LEVEL_NSM, "OpenSource", (1, 0, "ALSA + JACK"), ("", "http://zynaddsubfx.sf.net/") ],
- [ "zynaddsubfx-git", "ZynAddSubFX (GIT)", "Synth", "zynaddsubfx", "zynaddsubfx", TEMPLATE_NO, LEVEL_NSM, "OpenSource", (1, 0, "ALSA + JACK"), ("", "http://zynaddsubfx.sf.net/") ],
+ [ "zynaddsubfx", "ZynAddSubFX", "Synth", "zynaddsubfx", "zynaddsubfx", TEMPLATE_NO, LEVEL_NSM, (1, 0, "ALSA + JACK"), ("", "http://zynaddsubfx.sf.net/") ],
+ [ "zynaddsubfx-git", "ZynAddSubFX (GIT)", "Synth", "zynaddsubfx", "zynaddsubfx", TEMPLATE_NO, LEVEL_NSM, (1, 0, "ALSA + JACK"), ("", "http://zynaddsubfx.sf.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]))
+iInstrument_Package, iInstrument_AppName, iInstrument_Type, iInstrument_Binary, iInstrument_Icon, iInstrument_Template, iInstrument_Level, iInstrument_Features, iInstrument_Docs = range(0, len(list_Instrument[0]))
# -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
# Bristol
@@ -130,116 +127,52 @@ iInstrument_Package, iInstrument_AppName, iInstrument_Type, iInstrument_Binary,
# Need name: bit99, bit100
list_Bristol = [
- # 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.sf.net/explorer.html") ],
- [ "bristol", "Moog Mini", "Synth", "mini", "bristol_mini", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/mini.html") ],
- [ "bristol", "Sequential Circuits Prophet-52", "Synth", "prophet52", "bristol_prophet52", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/prophet52.html") ],
-
- [ "bristol", "Moog/Realistic MG-1", "Synth", "realistic", "bristol_realistic", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/realistic.html") ],
- [ "bristol", "Memory Moog", "Synth", "memoryMoog", "bristol_memoryMoog", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/memorymoog.html") ],
- [ "bristol", "Baumann BME-700", "Synth", "BME700", "bristol_BME700", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/bme700.shtml") ],
- #[ "bristol", "Synthi Aks", "Synth", "aks", "bristol_aks", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/aks.html") ],
-
- [ "bristol", "Moog Voyager Blue Ice", "Synth", "voyager", "bristol_voyager", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/voyager.html") ],
- [ "bristol", "Moog Sonic-6", "Synth", "sonic6", "bristol_sonic6", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/sonic6.html") ],
- [ "bristol", "Hammond B3", "Synth", "hammondB3", "bristol_hammondB3", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/hammond.html") ],
- [ "bristol", "Sequential Circuits Prophet-5", "Synth", "prophet", "bristol_prophet", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/prophet5.html") ],
- [ "bristol", "Sequential Circuits Prophet-10", "Synth", "prophet10", "bristol_prophet10", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/prophet10.html") ],
- [ "bristol", "Sequential Circuits Pro-1", "Synth", "pro1", "bristol_pro1", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/pro1.html") ],
- [ "bristol", "Fender Rhodes Stage-73", "Synth", "rhodes", "bristol_rhodes", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/rhodes.html") ],
- [ "bristol", "Rhodes Bass Piano", "Synth", "rhodesbass", "bristol_rhodesbass", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/rhodes.html") ],
- [ "bristol", "Crumar Roadrunner", "Synth", "roadrunner", "bristol_roadrunner", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/roadrunner.html") ],
- [ "bristol", "Crumar Bit-1", "Synth", "bitone", "bristol_bitone", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/bitone.html") ],
- [ "bristol", "Crumar Stratus", "Synth", "stratus", "bristol_stratus", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/stratus.html") ],
- [ "bristol", "Crumar Trilogy", "Synth", "trilogy", "bristol_trilogy", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/trilogy.html") ],
- [ "bristol", "Oberheim OB-X", "Synth", "obx", "bristol_obx", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/obx.html") ],
- [ "bristol", "Oberheim OB-Xa", "Synth", "obxa", "bristol_obxa", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/obxa.html") ],
- [ "bristol", "ARP Axxe", "Synth", "axxe", "bristol_axxe", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/axxe.html") ],
- [ "bristol", "ARP Odyssey", "Synth", "odyssey", "bristol_odyssey", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/odyssey.html") ],
- [ "bristol", "ARP 2600", "Synth", "arp2600", "bristol_arp2600", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/arp2600.html") ],
- [ "bristol", "ARP Solina Strings", "Synth", "solina", "bristol_solina", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/solina.html") ],
- [ "bristol", "Korg Poly-800", "Synth", "poly800", "bristol_poly800", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/poly800.shtml") ],
- [ "bristol", "Korg Mono/Poly", "Synth", "monopoly", "bristol_monopoly", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/mono.html") ],
- [ "bristol", "Korg Polysix", "Synth", "poly", "bristol_poly", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/poly.html") ],
- [ "bristol", "Korg MS-20 (*)", "Synth", "ms20", "bristol_ms20", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/ms20.html") ],
- [ "bristol", "VOX Continental", "Synth", "vox", "bristol_vox", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/vox.html") ],
- [ "bristol", "VOX Continental 300", "Synth", "voxM2", "bristol_voxM2", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/vox300.html") ],
- [ "bristol", "Roland Juno-6", "Synth", "juno", "bristol_juno", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/juno.html") ],
- [ "bristol", "Roland Jupiter 8", "Synth", "jupiter8", "bristol_jupiter8", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/jupiter8.html") ],
- #[ "bristol", "Bristol BassMaker", "Synth", "bassmaker", "bristol_bassmaker", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "") ],
- [ "bristol", "Yamaha DX", "Synth", "dx", "bristol_dx", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/dx.html") ],
- #[ "bristol", "Yamaha CS-80", "Synth", "cs80", "bristol_cs80", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/cs80.html") ],
- [ "bristol", "Bristol SID Softsynth", "Synth", "sidney", "bristol_sidney", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/sidney.shtml") ],
- #[ "bristol", "Commodore-64 SID polysynth", "Synth", "melbourne", "bristol_sidney", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "") ], #FIXME - needs icon
- #[ "bristol", "Bristol Granular Synthesiser", "Synth", "granular", "bristol_granular", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "") ],
- #[ "bristol", "Bristol Realtime Mixer", "Synth", "mixer", "bristol_mixer", TEMPLATE_NO, LEVEL_1, "OpenSource", (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.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]))
-
-# -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-# Plugin, TODO
-
-# (S, M, P) -> (Stereo, MIDI-In, factory Presets)
-
-list_Plugin = [
- # Package PluginName Spec Type Filename Label/URI Icon Rel.-Model (S, M, P) (doc, website)
-
- # DSSI
- [ "amsynth", "amSynth DSSI", "DSSI", "Synth", "/usr/lib/dssi/amsynth_dssi.so", "amsynth", "amsynth", "OpenSource", (1, 1, 1), ("", "") ],
-
- [ "dssi-example-plugins", "Less Trivial synth", "DSSI", "Synth", "/usr/lib/dssi/less_trivial_synth.so", "LTS", generic_audio_icon, "OpenSource", (0, 1, 0), ("", "") ],
- [ "dssi-example-plugins", "Simple Mono Sampler", "DSSI", "Sampler", "/usr/lib/dssi/trivial_sampler.so", "mono_sampler", generic_audio_icon, "OpenSource", (0, 1, 0), ("", "") ],
- [ "dssi-example-plugins", "Simple Stereo Sampler", "DSSI", "Sampler", "/usr/lib/dssi/trivial_sampler.so", "stereo_sampler", generic_audio_icon, "OpenSource", (1, 1, 0), ("", "") ],
-
- [ "fluidsynth-dssi", "FluidSynth DSSI", "DSSI", "Sampler", "/usr/lib/dssi/fluidsynth-dssi.so", "FluidSynth-DSSI", generic_audio_icon, "OpenSource", (1, 1, 0), ("", "") ],
-
- [ "hexter", "Hexter DX7 emulation", "DSSI", "Synth", "/usr/lib/dssi/hexter.so", "hexter", generic_audio_icon, "OpenSource", (0, 1, 1), ("", "") ],
-
- [ "holap", "Horgand", "DSSI", "Synth", "/usr/lib/dssi/horgand.so", "horgand", generic_audio_icon, "OpenSource", (1, 1, 1), ("", "") ],
-
- [ "ls16", "LinuxSampler 16Ch Rack", "DSSI", "Sampler", "/usr/lib/dssi/ls16.so", "ls16", generic_audio_icon, "OpenSource", (1, 1, 0), ("", "") ],
-
- [ "ll-scope", "Oscilloscope", "DSSI", "Util", "/usr/lib/dssi/ll-scope.so", "ll-scope", "/usr/lib/dssi/ll-scope/icon.png", "OpenSource", (1, 0, 0), ("", "") ],
- [ "nekobee", "Nekobee DSSI", "DSSI", "Synth", "/usr/lib/dssi/nekobee.so", "nekobee", generic_audio_icon, "OpenSource", (0, 1, 1), ("", "") ],
- [ "sineshaper", "Sineshaper", "DSSI", "Synth", "/usr/lib/dssi/sineshaper.so", "ll-sineshaper", "sineshaper32x32", "OpenSource", (0, 1, 1), ("", "") ],
-
- [ "whysynth", "WhySynth", "DSSI", "Synth", "/usr/lib/dssi/whysynth.so", "WhySynth", generic_audio_icon, "OpenSource", (1, 1, 1), ("", "") ],
- [ "wsynth-dssi", "Wsynth DSSI", "DSSI", "Synth", "/usr/lib/dssi/wsynth-dssi.so", "Wsynth", generic_audio_icon, "OpenSource", (0, 1, 1), ("", "") ],
- [ "xsynth-dssi", "Xsynth DSSI", "DSSI", "Synth", "/usr/lib/dssi/xsynth-dssi.so", "Xsynth", generic_audio_icon, "OpenSource", (0, 1, 1), ("", "") ],
-
- # LV2
- [ "calf-plugins", "Calf Compressor", "LV2", "Compressor", "/usr/lib/lv2/calf.lv2/", "http://calf.sf.net/plugins/Compressor", "calf", "OpenSource", (1, 0, 0), ("file:///usr/share/doc/calf/Compressor.html", "http://calf.sf.net/") ],
-
- # VST
- [ "arctican-plugins-vst", "The Function [VST]", "VST", "Delay", "/usr/lib/vst/TheFunction.so", "The Function", "arctican_plugins", "OpenSource", (1, 0, 1), ("", "http://arcticanaudio.com/plugins/") ],
- [ "arctican-plugins-vst", "The Pilgrim [VST]", "VST", "Filter", "/usr/lib/vst/ThePilgrim.so", "The Pilgrim", "arctican_plugins", "OpenSource", (1, 1, 0), ("", "http://arcticanaudio.com/plugins/") ],
-
- [ "distrho-plugins-vst", "3 Band EQ [VST]", "VST", "EQ", "/usr/lib/vst/3BandEQ.so", "3BandEQ", "distrho_plugins", "OpenSource", (1, 0, 0), ("", "") ],
- [ "distrho-plugins-vst", "3 Band Splitter [VST]", "VST", "EQ", "/usr/lib/vst/3BandSplitter.so", "3BandSplitter", "distrho_plugins", "OpenSource", (0, 0, 0), ("", "") ],
- [ "distrho-plugins-vst", "Ping Pong Pan [VST]", "VST", "Pan", "/usr/lib/vst/PingPongPan.so", "Ping Pong Pan", "distrho_plugins", "OpenSource", (1, 0, 0), ("", "") ],
-
- [ "distrho-plugin-ports-vst", "Vex [VST]", "VST", "Synth", "/usr/lib/vst/vex.so", "Vex", generic_audio_icon, "OpenSource", (1, 1, 1), ("", "") ],
-
- [ "drowaudio-plugins-vst", "dRowAudio Distortion-Shaper [VST]", "VST", "Distortion", "/usr/lib/vst/drowaudio-distortionshaper.so", "dRowAudio DistortionShaper", generic_audio_icon, "OpenSource", (1, 0, 0), ("", "") ],
- [ "drowaudio-plugins-vst", "dRowAudio Distortion [VST]", "VST", "Distortion", "/usr/lib/vst/drowaudio-distortion.so", "dRowAudio Distortion", generic_audio_icon, "OpenSource", (1, 0, 0), ("", "") ],
- [ "drowaudio-plugins-vst", "dRowAudio Flanger [VST]", "VST", "Flanger", "/usr/lib/vst/drowaudio-flanger.so", "dRowAudio Flanger", generic_audio_icon, "OpenSource", (1, 0, 0), ("", "") ],
- [ "drowaudio-plugins-vst", "dRowAudio Reverb [VST]", "VST", "Reverb", "/usr/lib/vst/drowaudio-reverb.so", "dRowAudio Reverb", generic_audio_icon, "OpenSource", (1, 1, 0), ("", "") ],
- [ "drowaudio-plugins-vst", "dRowAudio Tremolo [VST]", "VST", "Tremolo", "/usr/lib/vst/drowaudio-tremolo.so", "dRowAudio Tremolo", generic_audio_icon, "OpenSource", (1, 0, 0), ("", "") ],
-
- [ "tal-plugins-vst", "TAL Dub 3 [VST]", "VST", "Delay", "/usr/lib/vst/TAL-Dub-3.so", "TAL Dub 2", "tal_plugins", "OpenSource", (1, 1, 1), ("", "http://kunz.corrupt.ch/products/tal-dub") ],
- [ "tal-plugins-vst", "TAL Filter [VST]", "VST", "Filter", "/usr/lib/vst/TAL-Filter.so", "TAL Filter", "tal_plugins", "OpenSource", (1, 1, 1), ("", "http://kunz.corrupt.ch/products/tal-filter") ],
- [ "tal-plugins-vst", "TAL Filter 2 [VST]", "VST", "Filter", "/usr/lib/vst/TAL-Filter-2.so", "TAL Filter 2", "tal_plugins", "OpenSource", (1, 1, 1), ("", "http://kunz.corrupt.ch/products/tal-filter") ],
- [ "tal-plugins-vst", "TAL NoiseMaker [VST]", "VST", "Synth", "/usr/lib/vst/TAL-NoiseMaker.so", "TAL NoiseMaker", "tal_plugins", "OpenSource", (1, 1, 1), ("file:///usr/share/kxstudio/docs/TAL Noisemaker User Guide 1.0.pdf", "http://kunz.corrupt.ch/products/tal-noisemaker") ],
- [ "tal-plugins-vst", "TAL Reverb [VST]", "VST", "Reverb", "/usr/lib/vst/TAL-Reverb.so", "TAL Reverb", "tal_plugins", "OpenSource", (1, 1, 1), ("", "http://kunz.corrupt.ch/products/tal-reverb") ],
- [ "tal-plugins-vst", "TAL Reverb 2 [VST]", "VST", "Reverb", "/usr/lib/vst/TAL-Reverb-2.so", "TAL Reverb 2", "tal_plugins", "OpenSource", (1, 1, 1), ("", "http://kunz.corrupt.ch/products/tal-reverb") ],
- [ "tal-plugins-vst", "TAL Reverb 3 [VST]", "VST", "Reverb", "/usr/lib/vst/TAL-Reverb-3.so", "TAL Reverb 3", "tal_plugins", "OpenSource", (1, 1, 1), ("", "http://kunz.corrupt.ch/products/tal-reverb") ],
- [ "tal-plugins-vst", "TAL Vocoder 2 [VST]", "VST", "Vocoder", "/usr/lib/vst/TAL-Vocoder-2.so", "TAL Vocoder 2", "tal_plugins", "OpenSource", (1, 1, 1), ("file:///usr/share/kxstudio/docs/TAL-Vocoder-UserManual.pdf", "http://kunz.corrupt.ch/products/tal-vocoder") ],
-
- [ "wolpertinger-vst", "Wolpertinger [VST]", "VST", "Synth", "/usr/lib/vst/Wolpertinger.so", "Wolpertinger", "wolpertinger", "OpenSource", (1, 1, 1), ("", "http://tumbetoene.tuxfamily.org") ],
+ # Package AppName Type Short-name Icon Template? Level (F, I, MIDI-Mode) (doc-file, website)
+ [ "bristol", "Moog Voyager", "Synth", "explorer", "bristol_explorer", TEMPLATE_NO, LEVEL_1, (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/explorer.html") ],
+ [ "bristol", "Moog Mini", "Synth", "mini", "bristol_mini", TEMPLATE_NO, LEVEL_1, (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/mini.html") ],
+ [ "bristol", "Sequential Circuits Prophet-52", "Synth", "prophet52", "bristol_prophet52", TEMPLATE_NO, LEVEL_1, (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/prophet52.html") ],
+
+ [ "bristol", "Moog/Realistic MG-1", "Synth", "realistic", "bristol_realistic", TEMPLATE_NO, LEVEL_1, (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/realistic.html") ],
+ [ "bristol", "Memory Moog", "Synth", "memoryMoog", "bristol_memoryMoog", TEMPLATE_NO, LEVEL_1, (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/memorymoog.html") ],
+ [ "bristol", "Baumann BME-700", "Synth", "BME700", "bristol_BME700", TEMPLATE_NO, LEVEL_1, (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/bme700.shtml") ],
+ #[ "bristol", "Synthi Aks", "Synth", "aks", "bristol_aks", TEMPLATE_NO, LEVEL_1, (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/aks.html") ],
+
+ [ "bristol", "Moog Voyager Blue Ice", "Synth", "voyager", "bristol_voyager", TEMPLATE_NO, LEVEL_1, (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/voyager.html") ],
+ [ "bristol", "Moog Sonic-6", "Synth", "sonic6", "bristol_sonic6", TEMPLATE_NO, LEVEL_1, (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/sonic6.html") ],
+ [ "bristol", "Hammond B3", "Synth", "hammondB3", "bristol_hammondB3", TEMPLATE_NO, LEVEL_1, (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/hammond.html") ],
+ [ "bristol", "Sequential Circuits Prophet-5", "Synth", "prophet", "bristol_prophet", TEMPLATE_NO, LEVEL_1, (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/prophet5.html") ],
+ [ "bristol", "Sequential Circuits Prophet-10", "Synth", "prophet10", "bristol_prophet10", TEMPLATE_NO, LEVEL_1, (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/prophet10.html") ],
+ [ "bristol", "Sequential Circuits Pro-1", "Synth", "pro1", "bristol_pro1", TEMPLATE_NO, LEVEL_1, (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/pro1.html") ],
+ [ "bristol", "Fender Rhodes Stage-73", "Synth", "rhodes", "bristol_rhodes", TEMPLATE_NO, LEVEL_1, (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/rhodes.html") ],
+ [ "bristol", "Rhodes Bass Piano", "Synth", "rhodesbass", "bristol_rhodesbass", TEMPLATE_NO, LEVEL_1, (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/rhodes.html") ],
+ [ "bristol", "Crumar Roadrunner", "Synth", "roadrunner", "bristol_roadrunner", TEMPLATE_NO, LEVEL_1, (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/roadrunner.html") ],
+ [ "bristol", "Crumar Bit-1", "Synth", "bitone", "bristol_bitone", TEMPLATE_NO, LEVEL_1, (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/bitone.html") ],
+ [ "bristol", "Crumar Stratus", "Synth", "stratus", "bristol_stratus", TEMPLATE_NO, LEVEL_1, (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/stratus.html") ],
+ [ "bristol", "Crumar Trilogy", "Synth", "trilogy", "bristol_trilogy", TEMPLATE_NO, LEVEL_1, (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/trilogy.html") ],
+ [ "bristol", "Oberheim OB-X", "Synth", "obx", "bristol_obx", TEMPLATE_NO, LEVEL_1, (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/obx.html") ],
+ [ "bristol", "Oberheim OB-Xa", "Synth", "obxa", "bristol_obxa", TEMPLATE_NO, LEVEL_1, (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/obxa.html") ],
+ [ "bristol", "ARP Axxe", "Synth", "axxe", "bristol_axxe", TEMPLATE_NO, LEVEL_1, (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/axxe.html") ],
+ [ "bristol", "ARP Odyssey", "Synth", "odyssey", "bristol_odyssey", TEMPLATE_NO, LEVEL_1, (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/odyssey.html") ],
+ [ "bristol", "ARP 2600", "Synth", "arp2600", "bristol_arp2600", TEMPLATE_NO, LEVEL_1, (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/arp2600.html") ],
+ [ "bristol", "ARP Solina Strings", "Synth", "solina", "bristol_solina", TEMPLATE_NO, LEVEL_1, (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/solina.html") ],
+ [ "bristol", "Korg Poly-800", "Synth", "poly800", "bristol_poly800", TEMPLATE_NO, LEVEL_1, (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/poly800.shtml") ],
+ [ "bristol", "Korg Mono/Poly", "Synth", "monopoly", "bristol_monopoly", TEMPLATE_NO, LEVEL_1, (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/mono.html") ],
+ [ "bristol", "Korg Polysix", "Synth", "poly", "bristol_poly", TEMPLATE_NO, LEVEL_1, (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/poly.html") ],
+ [ "bristol", "Korg MS-20 (*)", "Synth", "ms20", "bristol_ms20", TEMPLATE_NO, LEVEL_1, (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/ms20.html") ],
+ [ "bristol", "VOX Continental", "Synth", "vox", "bristol_vox", TEMPLATE_NO, LEVEL_1, (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/vox.html") ],
+ [ "bristol", "VOX Continental 300", "Synth", "voxM2", "bristol_voxM2", TEMPLATE_NO, LEVEL_1, (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/vox300.html") ],
+ [ "bristol", "Roland Juno-6", "Synth", "juno", "bristol_juno", TEMPLATE_NO, LEVEL_1, (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/juno.html") ],
+ [ "bristol", "Roland Jupiter 8", "Synth", "jupiter8", "bristol_jupiter8", TEMPLATE_NO, LEVEL_1, (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/jupiter8.html") ],
+ #[ "bristol", "Bristol BassMaker", "Synth", "bassmaker", "bristol_bassmaker", TEMPLATE_NO, LEVEL_1, (1, 1, "ALSA | JACK"), ("", "") ],
+ [ "bristol", "Yamaha DX", "Synth", "dx", "bristol_dx", TEMPLATE_NO, LEVEL_1, (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/dx.html") ],
+ #[ "bristol", "Yamaha CS-80", "Synth", "cs80", "bristol_cs80", TEMPLATE_NO, LEVEL_1, (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/cs80.html") ],
+ [ "bristol", "Bristol SID Softsynth", "Synth", "sidney", "bristol_sidney", TEMPLATE_NO, LEVEL_1, (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/sidney.shtml") ],
+ #[ "bristol", "Commodore-64 SID polysynth", "Synth", "melbourne", "bristol_sidney", TEMPLATE_NO, LEVEL_1, (1, 1, "ALSA | JACK"), ("", "") ], #FIXME - needs icon
+ #[ "bristol", "Bristol Granular Synthesiser", "Synth", "granular", "bristol_granular", TEMPLATE_NO, LEVEL_1, (1, 1, "ALSA | JACK"), ("", "") ],
+ #[ "bristol", "Bristol Realtime Mixer", "Synth", "mixer", "bristol_mixer", TEMPLATE_NO, LEVEL_1, (1, 1, "ALSA | JACK"), ("", "http://bristol.sf.net/mixer.html") ],
]
-iPlugin_Package, iPlugin_Name, iPlugin_Spec, iPlugin_Type, iPlugin_Filename, iPlugin_Label, iPlugin_Icon, iPlugin_RelModel, iPlugin_Features, iPlugin_Docs = range(0, len(list_Plugin[0]))
+iBristol_Package, iBristol_AppName, iBristol_Type, iBristol_ShortName, iBristol_Icon, iBristol_Template, iBristol_Level, iBristol_Features, iBristol_Docs = range(0, len(list_Bristol[0]))
# -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
# Effect
@@ -247,17 +180,17 @@ iPlugin_Package, iPlugin_Name, iPlugin_Spec, iPlugin_Type, iPlugin_Filename, iPl
# (S, MIDI-Mode) -> (Stereo, MIDI-Mode)
list_Effect = [
- # Package AppName Type Binary Icon Template? Level Rel.-Model (S, MIDI-Mode) (doc, website)
- [ "ambdec", "AmbDec", "Ambisonic Decoder", "ambdec", generic_audio_icon, TEMPLATE_NO, LEVEL_0, "OpenSource", (1, "---"), ("", "") ],
+ # Package AppName Type Binary Icon Template? Level (S, MIDI-Mode) (doc, website)
+ [ "ambdec", "AmbDec", "Ambisonic Decoder", "ambdec", generic_audio_icon, TEMPLATE_NO, LEVEL_0, (1, "---"), ("", "") ],
- [ "guitarix", "Guitarix", "Guitar FX", "guitarix", "gx_head", TEMPLATE_NO, LEVEL_0, "OpenSource", (0, "JACK"), ("", "http://guitarix.sf.net/") ],
+ [ "guitarix", "Guitarix", "Guitar FX", "guitarix", "gx_head", TEMPLATE_NO, LEVEL_0, (0, "JACK"), ("", "http://guitarix.sf.net/") ],
- [ "jamin", "Jamin", "Mastering", "jamin", "jamin", TEMPLATE_NO, LEVEL_0, "OpenSource", (1, "---"), ("", "http://jamin.sf.net/") ],
+ [ "jamin", "Jamin", "Mastering", "jamin", "jamin", TEMPLATE_NO, LEVEL_0, (1, "---"), ("", "http://jamin.sf.net/") ],
- [ "rakarrack", "Rakarrack", "Guitar FX", "rakarrack", "rakarrack", TEMPLATE_NO, LEVEL_0, "OpenSource", (1, "ALSA + JACK"), ("file:///usr/share/doc/rakarrack/html/help.html", "http://rakarrack.sf.net") ],
+ [ "rakarrack", "Rakarrack", "Guitar FX", "rakarrack", "rakarrack", TEMPLATE_NO, LEVEL_0, (1, "ALSA + JACK"), ("file:///usr/share/doc/rakarrack/html/help.html", "http://rakarrack.sf.net") ],
]
-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]))
+iEffect_Package, iEffect_AppName, iEffect_Type, iEffect_Binary, iEffect_Icon, iEffect_Template, iEffect_Level, iEffect_Features, iEffect_Docs = range(0, len(list_Effect[0]))
# -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
# Tool
@@ -265,72 +198,72 @@ iEffect_Package, iEffect_AppName, iEffect_Type, iEffect_Binary, iEffect_Icon, iE
# (MIDI-Mode, T) -> (MIDI-Mode, Transport)
list_Tool = [
- # Package AppName Type Binary Icon Template? Level Rel.-Model (MIDI-Mode, T) (doc, website)
- [ "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), ("", "") ],
+ # Package AppName Type Binary Icon Template? Level (MIDI-Mode, T) (doc, website)
+ [ "arpage", "Arpage", "MIDI Arpeggiator", "arpage", "arpage", TEMPLATE_NO, LEVEL_0, ("JACK", 1), ("", "") ],
+ [ "arpage", "Zonage", "MIDI Mapper", "zonage", "zonage", TEMPLATE_NO, LEVEL_0, ("JACK", 0), ("", "") ],
- [ "audacity", "Audacity", "Audio Editor", "audacity", "audacity", TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 0), ("", "http://audacity.sf.net/") ],
+ [ "audacity", "Audacity", "Audio Editor", "audacity", "audacity", TEMPLATE_NO, LEVEL_0, ("---", 0), ("", "http://audacity.sf.net/") ],
- [ "cadence", "Cadence", "JACK Toolbox", "cadence", "cadence", TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 0), ("", "") ],
- [ "cadence-tools", "Cadence XY-Controller", "XY Controller", "cadence-xycontroller", "cadence", 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", "JACK Toolbox", "cadence", "cadence", TEMPLATE_NO, LEVEL_0, ("---", 0), ("", "") ],
+ [ "cadence-tools", "Cadence XY-Controller", "XY Controller", "cadence-xycontroller", "cadence", TEMPLATE_NO, LEVEL_0, ("JACK", 0), ("", "") ],
+ [ "catia", "Catia", "Patch Bay", "catia", "catia", TEMPLATE_NO, LEVEL_0, ("JACK", 1), ("", "") ],
+ [ "claudia", "Claudia", "Session Handler", "claudia", "claudia", TEMPLATE_NO, LEVEL_0, ("JACK", 1), ("", "") ],
+ [ "carla-control", "Carla OSC Control", "OSC Control", "carla-control", "carla-control", TEMPLATE_NO, LEVEL_0, ("JACK", 1), ("", "") ],
- [ "drumstick-tools", "Drumstick Virtual Piano", "Virtual Keyboard", "drumstick-vpiano", "drumstick", TEMPLATE_NO, LEVEL_0, "OpenSource", ("ALSA", 0), ("", "http://drumstick.sf.net/") ],
+ [ "drumstick-tools", "Drumstick Virtual Piano", "Virtual Keyboard", "drumstick-vpiano", "drumstick", TEMPLATE_NO, LEVEL_0, ("ALSA", 0), ("", "http://drumstick.sf.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, ("---", 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, ("---", 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, ("---", 1), ("", "") ],
+ [ "gjacktransport", "GJackTransport", "Transport Tool", "gjacktransport", "gjacktransport", TEMPLATE_NO, LEVEL_0, ("---", 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, ("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, ("---", 1), ("", "") ],
- [ "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.sf.net/") ],
+ [ "jack-keyboard", "Jack Keyboard", "Virtual Keyboard", "jack-keyboard", "jack-keyboard", TEMPLATE_NO, LEVEL_0, ("JACK", 0), ("file:///usr/share/kxstudio/docs/jack-keyboard/manual.html", "http://jack-keyboard.sf.net/") ],
- [ "jack-mixer", "Jack Mixer", "Mixer", "jack_mixer", "jack_mixer", TEMPLATE_NO, LEVEL_0, "OpenSource", ("JACK", 0), ("", "http://home.gna.org/jackmixer/") ],
+ [ "jack-mixer", "Jack Mixer", "Mixer", "jack_mixer", "jack_mixer", TEMPLATE_NO, LEVEL_0, ("JACK", 0), ("", "http://home.gna.org/jackmixer/") ],
- [ "kmetronome", "KMetronome", "Metronome", "kmetronome", "kmetronome", TEMPLATE_NO, LEVEL_0, "OpenSource", ("ALSA", 0), ("", "http://kmetronome.sf.net/kmetronome.shtml") ],
- [ "kmidimon", "KMidimon", "Monitor", "kmidimon", "kmidimon", TEMPLATE_NO, LEVEL_0, "OpenSource", ("ALSA", 0), ("", "http://kmidimon.sf.net/") ],
+ [ "kmetronome", "KMetronome", "Metronome", "kmetronome", "kmetronome", TEMPLATE_NO, LEVEL_0, ("ALSA", 0), ("", "http://kmetronome.sf.net/kmetronome.shtml") ],
+ [ "kmidimon", "KMidimon", "Monitor", "kmidimon", "kmidimon", TEMPLATE_NO, LEVEL_0, ("ALSA", 0), ("", "http://kmidimon.sf.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, ("---", 0), ("", "") ],
+ [ "laditools", "LADI Tray", "Session Handler", "laditray", "laditray", TEMPLATE_NO, LEVEL_0, ("---", 0), ("", "") ],
- [ "lives", "LiVES", "VJ / Video Editor", "lives", "lives", TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 1), ("", "http://lives.sf.net/") ],
+ [ "lives", "LiVES", "VJ / Video Editor", "lives", "lives", TEMPLATE_NO, LEVEL_0, ("---", 1), ("", "http://lives.sf.net/") ],
- [ "meterbridge", "MeterBridge Classic VU", "VU / Peak Analyzer", "meterbridge -t vu :", "meterbridge32x32", TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 0), ("", "http://plugin.org.uk/meterbridge/") ],
- [ "meterbridge", "MeterBridge PPM Meter", "VU / Peak Analyzer", "meterbridge -t ppm :", "meterbridge32x32", TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 0), ("", "http://plugin.org.uk/meterbridge/") ],
- [ "meterbridge", "MeterBridge Digital Peak Meter", "VU / Peak Analyzer", "meterbridge -t dpm -c 2 : :", "meterbridge32x32", TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 0), ("", "http://plugin.org.uk/meterbridge/") ],
- [ "meterbridge", "MeterBridge 'Jellyfish' Phase Meter", "VU / Peak Analyzer", "meterbridge -t jf -c 2 : :", "meterbridge32x32", TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 0), ("", "http://plugin.org.uk/meterbridge/") ],
- [ "meterbridge", "MeterBridge Oscilloscope Meter", "VU / Peak Analyzer", "meterbridge -t sco :", "meterbridge32x32", TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 0), ("", "http://plugin.org.uk/meterbridge/") ],
+ [ "meterbridge", "MeterBridge Classic VU", "VU / Peak Analyzer", "meterbridge -t vu :", "meterbridge32x32", TEMPLATE_NO, LEVEL_0, ("---", 0), ("", "http://plugin.org.uk/meterbridge/") ],
+ [ "meterbridge", "MeterBridge PPM Meter", "VU / Peak Analyzer", "meterbridge -t ppm :", "meterbridge32x32", TEMPLATE_NO, LEVEL_0, ("---", 0), ("", "http://plugin.org.uk/meterbridge/") ],
+ [ "meterbridge", "MeterBridge Digital Peak Meter", "VU / Peak Analyzer", "meterbridge -t dpm -c 2 : :", "meterbridge32x32", TEMPLATE_NO, LEVEL_0, ("---", 0), ("", "http://plugin.org.uk/meterbridge/") ],
+ [ "meterbridge", "MeterBridge 'Jellyfish' Phase Meter", "VU / Peak Analyzer", "meterbridge -t jf -c 2 : :", "meterbridge32x32", TEMPLATE_NO, LEVEL_0, ("---", 0), ("", "http://plugin.org.uk/meterbridge/") ],
+ [ "meterbridge", "MeterBridge Oscilloscope Meter", "VU / Peak Analyzer", "meterbridge -t sco :", "meterbridge32x32", TEMPLATE_NO, LEVEL_0, ("---", 0), ("", "http://plugin.org.uk/meterbridge/") ],
- [ "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, ("---", 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.sf.net/") ],
+ [ "mixxx", "Mixxx", "DJ", "mixxx", "mixxx", TEMPLATE_NO, LEVEL_0, ("ALSA", 0), ("file:///usr/share/kxstudio/docs/Mixxx-Manual.pdf", "http://mixxx.sf.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, ("CV", 0), ("file:///usr/share/doc/non-mixer/MANUAL.html", "http://non-daw.tuxfamily.org/") ],
- [ "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/") ],
+ [ "patchage", "Patchage", "Patch Bay", "patchage", "patchage", TEMPLATE_NO, LEVEL_0, ("ALSA + JACK", 0), ("", "http://drobilla.net/blog/software/patchage/") ],
+ [ "patchage", "Patchage (ALSA Only)", "Patch Bay", "patchage -J", "patchage", TEMPLATE_NO, LEVEL_0, ("ALSA", 0), ("", "http://drobilla.net/blog/software/patchage/") ],
+ [ "patchage-svn", "Patchage (SVN)", "Patch Bay", "patchage-svn", "patchage", TEMPLATE_NO, LEVEL_0, ("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, ("ALSA + JACK", 0), ("", "http://drobilla.net/blog/software/patchage/") ],
- [ "qjackctl", "QJackControl", "JACK Control", "qjackctl", "qjackctl", TEMPLATE_NO, LEVEL_0, "OpenSource", ("ALSA + JACK", 1), ("", "") ],
+ [ "qjackctl", "QJackControl", "JACK Control", "qjackctl", "qjackctl", TEMPLATE_NO, LEVEL_0, ("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, ("ALSA", 0), ("", "") ],
+ [ "qarecord", "QARecord", "Recorder", "qarecord --jack", "qarecord_48", TEMPLATE_NO, LEVEL_0, ("ALSA", 0), ("", "") ],
+ [ "qmidiarp", "QMidiArp", "MIDI Arpeggiator", "qmidiarp", generic_midi_icon, TEMPLATE_NO, LEVEL_0, ("ALSA", 0), ("", "") ],
- [ "timemachine", "TimeMachine", "Recorder", "timemachine", "/usr/share/timemachine/pixmaps/timemachine-icon.png", TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 0), ("", "http://plugin.org.uk/timemachine/") ],
+ [ "timemachine", "TimeMachine", "Recorder", "timemachine", "/usr/share/timemachine/pixmaps/timemachine-icon.png", TEMPLATE_NO, LEVEL_0, ("---", 0), ("", "http://plugin.org.uk/timemachine/") ],
- [ "vmpk", "Virtual MIDI Piano Keyboard (ALSA)","Virtual Keyboard","vmpk", "vmpk", TEMPLATE_NO, LEVEL_0, "OpenSource", ("ALSA", 0), ("file:///usr/share/vmpk/help.html", "http://vmpk.sf.net/") ],
- [ "vmpk-jack", "Virtual MIDI Piano Keyboard (JACK)","Virtual Keyboard","vmpk-jack", "vmpk", TEMPLATE_NO, LEVEL_0, "OpenSource", ("JACK", 0), ("file:///usr/share/vmpk/help.html", "http://vmpk.sf.net/") ],
+ [ "vmpk", "Virtual MIDI Piano Keyboard (ALSA)","Virtual Keyboard","vmpk", "vmpk", TEMPLATE_NO, LEVEL_0, ("ALSA", 0), ("file:///usr/share/vmpk/help.html", "http://vmpk.sf.net/") ],
+ [ "vmpk-jack", "Virtual MIDI Piano Keyboard (JACK)","Virtual Keyboard","vmpk-jack", "vmpk", TEMPLATE_NO, LEVEL_0, ("JACK", 0), ("file:///usr/share/vmpk/help.html", "http://vmpk.sf.net/") ],
- [ "xjadeo", "XJadeo", "Video Player", "qjadeo", "qjadeo", TEMPLATE_NO, LEVEL_0, "OpenSource", ("---", 1), ("", "http://xjadeo.sf.net/") ],
+ [ "xjadeo", "XJadeo", "Video Player", "qjadeo", "qjadeo", TEMPLATE_NO, LEVEL_0, ("---", 1), ("", "http://xjadeo.sf.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]))
+iTool_Package, iTool_AppName, iTool_Type, iTool_Binary, iTool_Icon, iTool_Template, iTool_Level, iTool_Features, iTool_Docs = range(0, len(list_Tool[0]))
diff --git a/src/claudia_launcher.py b/src/claudia_launcher.py
index 23853da..660730b 100755
--- a/src/claudia_launcher.py
+++ b/src/claudia_launcher.py
@@ -30,6 +30,15 @@ import claudia_database as database
import ui_claudia_launcher
from shared import *
+# ------------------------------------------------------------------------------------------------------------
+# Imports (Carla)
+
+try:
+ from carla_utils import *
+ haveCarla = True
+except:
+ haveCarla = False
+
# ------------------------------------------------------------------------------------------------------------
# Safe import getoutput
@@ -107,25 +116,25 @@ class ClaudiaLauncher(QWidget, ui_claudia_launcher.Ui_ClaudiaLauncherW):
self.m_ladish_only = False
self.listDAW.setColumnWidth(0, 22)
- self.listDAW.setColumnWidth(1, 150)
- self.listDAW.setColumnWidth(2, 125)
+ self.listDAW.setColumnWidth(1, 225)
+ self.listDAW.setColumnWidth(2, 150)
self.listHost.setColumnWidth(0, 22)
- self.listHost.setColumnWidth(1, 150)
+ self.listHost.setColumnWidth(1, 225)
+ self.listHost.setColumnWidth(2, 100)
+ self.listHost.setColumnWidth(3, 100)
self.listInstrument.setColumnWidth(0, 22)
- self.listInstrument.setColumnWidth(1, 150)
- self.listInstrument.setColumnWidth(2, 125)
+ self.listInstrument.setColumnWidth(1, 225)
+ self.listInstrument.setColumnWidth(2, 150)
self.listBristol.setColumnWidth(0, 22)
- self.listBristol.setColumnWidth(1, 100)
- self.listPlugin.setColumnWidth(0, 22)
- self.listPlugin.setColumnWidth(1, 225)
- self.listPlugin.setColumnWidth(2, 75)
- self.listPlugin.setColumnWidth(3, 125)
+ self.listBristol.setColumnWidth(1, 150)
+ self.listPlugin.setColumnWidth(0, 225)
+ self.listPlugin.setColumnWidth(1, 175)
self.listEffect.setColumnWidth(0, 22)
self.listEffect.setColumnWidth(1, 225)
- self.listEffect.setColumnWidth(2, 125)
+ self.listEffect.setColumnWidth(2, 150)
self.listTool.setColumnWidth(0, 22)
self.listTool.setColumnWidth(1, 225)
- self.listTool.setColumnWidth(2, 125)
+ self.listTool.setColumnWidth(2, 150)
# For the custom icons
self.ClaudiaIcons = XIcon()
@@ -170,82 +179,55 @@ class ClaudiaLauncher(QWidget, ui_claudia_launcher.Ui_ClaudiaLauncherW):
self.connect(self.listPlugin, SIGNAL("currentCellChanged(int, int, int, int)"), SLOT("slot_checkSelectedPlugin(int)"))
self.connect(self.listEffect, SIGNAL("currentCellChanged(int, int, int, int)"), SLOT("slot_checkSelectedEffect(int)"))
self.connect(self.listTool, SIGNAL("currentCellChanged(int, int, int, int)"), SLOT("slot_checkSelectedTool(int)"))
- self.connect(self.listDAW, SIGNAL("cellDoubleClicked(int, int)"), SLOT("slot_doubleClickedListDAW(int)"))
- self.connect(self.listHost, SIGNAL("cellDoubleClicked(int, int)"), SLOT("slot_doubleClickedListHost(int)"))
- self.connect(self.listInstrument, SIGNAL("cellDoubleClicked(int, int)"), SLOT("slot_doubleClickedListInstrument(int)"))
- self.connect(self.listBristol, SIGNAL("cellDoubleClicked(int, int)"), SLOT("slot_doubleClickedListBristol(int)"))
- self.connect(self.listPlugin, SIGNAL("cellDoubleClicked(int, int)"), SLOT("slot_doubleClickedListPlugin(int)"))
- self.connect(self.listEffect, SIGNAL("cellDoubleClicked(int, int)"), SLOT("slot_doubleClickedListEffect(int)"))
- self.connect(self.listTool, SIGNAL("cellDoubleClicked(int, int)"), SLOT("slot_doubleClickedListTool(int)"))
-
- def getSelectedApp(self):
- tab_index = self.tabWidget.currentIndex()
- column_name = 2 if (tab_index == iTabBristol) else 1
-
- if tab_index == iTabDAW:
- listSel = self.listDAW
- elif tab_index == iTabHost:
- listSel = self.listHost
- elif tab_index == iTabInstrument:
- listSel = self.listInstrument
- elif tab_index == iTabBristol:
- listSel = self.listBristol
- elif tab_index == iTabPlugin:
- listSel = self.listPlugin
- elif tab_index == iTabEffect:
- listSel = self.listEffect
- elif tab_index == iTabTool:
- listSel = self.listTool
- else:
- return ""
+ self.connect(self.listDAW, SIGNAL("cellDoubleClicked(int, int)"), SLOT("slot_doubleClickedList()"))
+ self.connect(self.listHost, SIGNAL("cellDoubleClicked(int, int)"), SLOT("slot_doubleClickedList()"))
+ self.connect(self.listInstrument, SIGNAL("cellDoubleClicked(int, int)"), SLOT("slot_doubleClickedList()"))
+ self.connect(self.listBristol, SIGNAL("cellDoubleClicked(int, int)"), SLOT("slot_doubleClickedList()"))
+ self.connect(self.listPlugin, SIGNAL("cellDoubleClicked(int, int)"), SLOT("slot_doubleClickedList()"))
+ self.connect(self.listEffect, SIGNAL("cellDoubleClicked(int, int)"), SLOT("slot_doubleClickedList()"))
+ self.connect(self.listTool, SIGNAL("cellDoubleClicked(int, int)"), SLOT("slot_doubleClickedList()"))
- return listSel.item(listSel.currentRow(), column_name).text()
+ def getSelectedAppAndBinary(self):
+ tabIndex = self.tabWidget.currentIndex()
- 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 tabIndex == iTabDAW:
+ item = self.listDAW.item(self.listDAW.currentRow(), 0).data(Qt.UserRole)
+ return (item[database.iDAW_AppName], item[database.iDAW_Binary])
- for Package, AppName, Instruments, Effects, Binary, Icon, Save, Level, License, Features, Docs in database.list_Host:
- if appname == AppName:
- return Binary
+ if tabIndex == iTabHost:
+ item = self.listHost.item(self.listHost.currentRow(), 0).data(Qt.UserRole)
+ return (item[database.iHost_AppName], item[database.iHost_Binary])
- for Package, AppName, Type, Binary, Icon, Save, Level, License, Features, Docs in database.list_Instrument:
- if appname == AppName:
- return Binary
+ if tabIndex == iTabInstrument:
+ item = self.listInstrument.item(self.listInstrument.currentRow(), 0).data(Qt.UserRole)
+ return (item[database.iInstrument_AppName], item[database.iInstrument_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 tabIndex == iTabBristol:
+ item = self.listBristol.item(self.listBristol.currentRow(), 0).data(Qt.UserRole)
+ return (item[database.iBristol_AppName], "startBristol -audio jack -midi jack -%s" % item[database.iBristol_ShortName])
- for Package, Name, Spec, Type, Filename, Label, Icon, License, Features, Docs in database.list_Plugin:
- if appname == Name:
- return "carla-single native %s \"%s\" \"%s\"" % (Spec.lower(), Filename, Label)
+ if tabIndex == iTabPlugin:
+ plugin = self.listPlugin.item(self.listPlugin.currentRow(), 0).data(Qt.UserRole)
+ return (plugin["name"], "carla-single %s" % plugin["label"])
- for Package, AppName, Type, Binary, Icon, Save, Level, License, Features, Docs in database.list_Effect:
- if appname == AppName:
- return Binary
+ if tabIndex == iTabEffect:
+ item = self.listEffect.item(self.listEffect.currentRow(), 0).data(Qt.UserRole)
+ return (item[database.iEffect_AppName], item[database.iEffect_Binary])
- for Package, AppName, Type, Binary, Icon, Save, Level, License, Features, Docs in database.list_Tool:
- if appname == AppName:
- return Binary
+ if tabIndex == iTabTool:
+ item = self.listTool.item(self.listTool.currentRow(), 0).data(Qt.UserRole)
+ return (item[database.iTool_AppName], item[database.iTool_Binary])
- print("ClaudiaLauncher::getBinaryFromAppName(%s) - Failed to find binary from App name" % appname)
- return ""
+ return ("", "")
- def startApp(self, app=None):
- if not app:
- app = self.getSelectedApp()
- binary = self.getBinaryFromAppName(app)
+ def startApp(self):
+ app, binary = self.getSelectedAppAndBinary()
if app and binary:
os.system("cd '%s' && %s &" % (self.callback_getProjectFolder(), binary))
- def addAppToLADISH(self, app=None):
- if not app:
- app = self.getSelectedApp()
-
- binary = self.getBinaryFromAppName(app)
+ def addAppToLADISH(self):
+ app, binary = self.getSelectedAppAndBinary()
if binary.startswith("startBristol"):
self.createAppTemplate("bristol", app, binary)
@@ -301,7 +283,7 @@ class ClaudiaLauncher(QWidget, ui_claudia_launcher.Ui_ClaudiaLauncherW):
elif app == "Calf Jack Host":
self.createAppTemplate("calfjackhost", app, binary)
- elif app == "Carla":
+ elif app in ("Carla", "Carla (GIT)"):
self.createAppTemplate("carla", app, binary)
elif app == "Jack Rack":
@@ -646,11 +628,14 @@ class ClaudiaLauncher(QWidget, ui_claudia_launcher.Ui_ClaudiaLauncherW):
self.showDoc_Bristol("", "")
def clearInfo_Plugin(self):
- self.ico_app_plugin.setPixmap(self.getIcon("start-here").pixmap(48, 48))
+ self.ico_app_plugin.setPixmap(self.getIcon("lv2").pixmap(48, 48))
self.label_name_plugin.setText("Plugin Name")
- self.ico_stereo_plugin.setPixmap(self.getIconForYesNo(False).pixmap(16, 16))
- self.ico_midi_input_plugin.setPixmap(self.getIconForYesNo(False).pixmap(16, 16))
- self.ico_presets_plugin.setPixmap(self.getIconForYesNo(False).pixmap(16, 16))
+ self.label_plugin_audio_ins.setText("0")
+ self.label_plugin_audio_outs.setText("0")
+ self.label_plugin_midi_ins.setText("0")
+ self.label_plugin_midi_outs.setText("0")
+ self.label_plugin_parameter_ins.setText("0")
+ self.label_plugin_parameter_outs.setText("0")
self.frame_Plugin.setEnabled(False)
self.showDoc_Plugin("", "")
@@ -785,34 +770,35 @@ class ClaudiaLauncher(QWidget, ui_claudia_launcher.Ui_ClaudiaLauncherW):
self.tabWidget.setTabEnabled(iTabPlugin, False)
last_pos = 0
- for Package, AppName, Type, Binary, Icon, Save, Level, License, Features, Docs in database.list_DAW:
+ for item in database.list_DAW:
+ Package, AppName, Type, Binary, Icon, Save, Level, Features, Docs = item
if SHOW_ALL or Package in pkglist:
w_icon = QTableWidgetItem("")
+ w_icon.setData(Qt.UserRole, item)
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:
+ for item in database.list_Host:
+ Package, AppName, Instruments, Effects, Binary, Icon, Save, Level, Features, Docs = item
if SHOW_ALL or Package in pkglist:
w_icon = QTableWidgetItem("")
+ w_icon.setData(Qt.UserRole, item)
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)
@@ -820,33 +806,34 @@ class ClaudiaLauncher(QWidget, ui_claudia_launcher.Ui_ClaudiaLauncherW):
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:
+ for item in database.list_Instrument:
+ Package, AppName, Type, Binary, Icon, Save, Level, Features, Docs = item
if SHOW_ALL or Package in pkglist:
w_icon = QTableWidgetItem("")
+ w_icon.setData(Qt.UserRole, item)
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:
+ for item in database.list_Bristol:
+ Package, FullName, Type, ShortName, Icon, Save, Level, Features, Docs = item
if SHOW_ALL or Package in pkglist:
w_icon = QTableWidgetItem("")
+ w_icon.setData(Qt.UserRole, item)
w_icon.setIcon(QIcon(self.getIcon(Icon)))
w_fullname = QTableWidgetItem(FullName)
w_shortname = QTableWidgetItem(ShortName)
@@ -859,59 +846,89 @@ class ClaudiaLauncher(QWidget, ui_claudia_launcher.Ui_ClaudiaLauncherW):
last_pos += 1
last_pos = 0
- for Package, Name, Spec, Type, Filename, Label, Icon, License, Features, Docs in database.list_Plugin:
- if SHOW_ALL or Package in pkglist:
- w_icon = QTableWidgetItem("")
- w_icon.setIcon(QIcon(self.getIcon(Icon)))
- w_name = QTableWidgetItem(Name)
- w_spec = QTableWidgetItem(Spec)
- w_type = QTableWidgetItem(Type)
- w_licc = QTableWidgetItem(License)
-
- self.listPlugin.insertRow(last_pos)
- self.listPlugin.setItem(last_pos, 0, w_icon)
- self.listPlugin.setItem(last_pos, 1, w_name)
- self.listPlugin.setItem(last_pos, 2, w_spec)
- self.listPlugin.setItem(last_pos, 3, w_type)
- self.listPlugin.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_Effect:
+ for item in database.list_Effect:
+ Package, AppName, Type, Binary, Icon, Save, Level, Features, Docs = item
if SHOW_ALL or Package in pkglist:
w_icon = QTableWidgetItem("")
+ w_icon.setData(Qt.UserRole, item)
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:
+ for item in database.list_Tool:
+ Package, AppName, Type, Binary, Icon, Save, Level, Features, Docs = item
if SHOW_ALL or Package in pkglist:
w_icon = QTableWidgetItem("")
+ w_icon.setData(Qt.UserRole, item)
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
+
+ if haveCarla and os.path.exists("/usr/lib/carla/libcarla_utils.so"):
+ utils = CarlaUtils("/usr/lib/carla/libcarla_utils.so")
+ last_pos = 0
+ for i in range(utils.get_cached_plugin_count(PLUGIN_LV2, os.getenv("LV2_PATH", "~/.lv2:/usr/lib/lv2:/usr/local/lib/lv2"))):
+ plugin = utils.get_cached_plugin_info(PLUGIN_LV2, i)
+
+ if (plugin["hints"] & PLUGIN_HAS_CUSTOM_UI) == 0:
+ continue
+
+ catgtext = ""
+
+ if plugin["category"] == PLUGIN_CATEGORY_SYNTH:
+ catgtext = "Synth"
+ elif plugin["category"] == PLUGIN_CATEGORY_DELAY:
+ catgtext = "Delay"
+ elif plugin["category"] == PLUGIN_CATEGORY_EQ:
+ catgtext = "Equalizer"
+ elif plugin["category"] == PLUGIN_CATEGORY_FILTER:
+ catgtext = "Filter"
+ elif plugin["category"] == PLUGIN_CATEGORY_DISTORTION:
+ catgtext = "Distortion"
+ elif plugin["category"] == PLUGIN_CATEGORY_DYNAMICS:
+ catgtext = "Dynamics"
+ elif plugin["category"] == PLUGIN_CATEGORY_MODULATOR:
+ catgtext = "Modulator"
+ elif plugin["category"] == PLUGIN_CATEGORY_UTILITY:
+ catgtext = "Utility"
+ elif plugin["category"] == PLUGIN_CATEGORY_OTHER:
+ catgtext = "Other"
+
+ if not plugin["category"]:
+ if plugin["hints"] & PLUGIN_IS_SYNTH:
+ catgtext = "Synth"
+ else:
+ catgtext = "FX"
+
+ w_name = QTableWidgetItem(plugin["name"])
+ w_auth = QTableWidgetItem(plugin["maker"])
+ w_catg = QTableWidgetItem(catgtext)
+
+ w_name.setData(Qt.UserRole, plugin)
+
+ self.listPlugin.insertRow(last_pos)
+ self.listPlugin.setItem(last_pos, 0, w_name)
+ self.listPlugin.setItem(last_pos, 1, w_auth)
+ self.listPlugin.setItem(last_pos, 2, w_catg)
last_pos += 1
@@ -927,25 +944,25 @@ class ClaudiaLauncher(QWidget, ui_claudia_launcher.Ui_ClaudiaLauncherW):
self.listHost.sortByColumn(1, Qt.AscendingOrder)
self.listInstrument.sortByColumn(1, Qt.AscendingOrder)
self.listBristol.sortByColumn(2, Qt.AscendingOrder)
- self.listPlugin.sortByColumn(1, Qt.AscendingOrder)
+ self.listPlugin.sortByColumn(0, Qt.AscendingOrder)
self.listEffect.sortByColumn(1, Qt.AscendingOrder)
self.listTool.sortByColumn(1, Qt.AscendingOrder)
@pyqtSlot(int)
- def slot_checkSelectedTab(self, tab_index):
- if tab_index == iTabDAW:
+ def slot_checkSelectedTab(self, tabIndex):
+ if tabIndex == iTabDAW:
test_selected = (len(self.listDAW.selectedItems()) > 0)
- elif tab_index == iTabHost:
+ elif tabIndex == iTabHost:
test_selected = (len(self.listHost.selectedItems()) > 0)
- elif tab_index == iTabInstrument:
+ elif tabIndex == iTabInstrument:
test_selected = (len(self.listInstrument.selectedItems()) > 0)
- elif tab_index == iTabBristol:
+ elif tabIndex == iTabBristol:
test_selected = (len(self.listBristol.selectedItems()) > 0)
- elif tab_index == iTabPlugin:
+ elif tabIndex == iTabPlugin:
test_selected = (len(self.listPlugin.selectedItems()) > 0)
- elif tab_index == iTabEffect:
+ elif tabIndex == iTabEffect:
test_selected = (len(self.listEffect.selectedItems()) > 0)
- elif tab_index == iTabTool:
+ elif tabIndex == iTabTool:
test_selected = (len(self.listTool.selectedItems()) > 0)
else:
test_selected = False
@@ -955,19 +972,8 @@ class ClaudiaLauncher(QWidget, ui_claudia_launcher.Ui_ClaudiaLauncherW):
@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
+ item = self.listDAW.item(row, 0).data(Qt.UserRole)
+ Package, AppName, Type, Binary, Icon, Save, Level, Features, Docs = item
self.frame_DAW.setEnabled(True)
self.ico_app_daw.setPixmap(QIcon(self.getIcon(Icon)).pixmap(48, 48))
@@ -984,29 +990,16 @@ class ClaudiaLauncher(QWidget, ui_claudia_launcher.Ui_ClaudiaLauncherW):
Docs0 = Docs[0] if (os.path.exists(Docs[0].replace("file://", ""))) else ""
self.showDoc_DAW(Docs0, Docs[1])
-
else:
- selected = False
self.clearInfo_DAW()
- self.callback_checkGUI(selected)
+ self.callback_checkGUI(row >= 0)
@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
+ item = self.listHost.item(row, 0).data(Qt.UserRole)
+ Package, AppName, Instruments, Effects, Binary, Icon, Save, Level, Features, Docs = item
self.frame_Host.setEnabled(True)
self.ico_app_host.setPixmap(self.getIcon(Icon).pixmap(48, 48))
@@ -1022,29 +1015,16 @@ class ClaudiaLauncher(QWidget, ui_claudia_launcher.Ui_ClaudiaLauncherW):
Docs0 = Docs[0] if (os.path.exists(Docs[0].replace("file://", ""))) else ""
self.showDoc_Host(Docs0, Docs[1])
-
else:
- selected = False
self.clearInfo_DAW()
- self.callback_checkGUI(selected)
+ self.callback_checkGUI(row >= 0)
@pyqtSlot(int)
def slot_checkSelectedInstrument(self, row):
if row >= 0:
- selected = True
-
- 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
-
- Package, AppName, Type, Binary, Icon, Save, Level, License, Features, Docs = app_info
+ item = self.listInstrument.item(row, 0).data(Qt.UserRole)
+ Package, AppName, Type, Binary, Icon, Save, Level, Features, Docs = item
self.frame_Instrument.setEnabled(True)
self.ico_app_ins.setPixmap(self.getIcon(Icon).pixmap(48, 48))
@@ -1056,29 +1036,16 @@ class ClaudiaLauncher(QWidget, ui_claudia_launcher.Ui_ClaudiaLauncherW):
Docs0 = Docs[0] if (os.path.exists(Docs[0].replace("file://", ""))) else ""
self.showDoc_Instrument(Docs0, Docs[1])
-
else:
- selected = False
self.clearInfo_Intrument()
- self.callback_checkGUI(selected)
+ self.callback_checkGUI(row >= 0)
@pyqtSlot(int)
def slot_checkSelectedBristol(self, row):
if row >= 0:
- selected = True
-
- 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
-
- Package, AppName, Type, ShortName, Icon, Save, Level, License, Features, Docs = app_info
+ item = self.listBristol.item(row, 0).data(Qt.UserRole)
+ Package, AppName, Type, ShortName, Icon, Save, Level, Features, Docs = item
self.frame_Bristol.setEnabled(True)
self.ico_app_bristol.setPixmap(self.getIcon(Icon).pixmap(48, 48))
@@ -1090,62 +1057,38 @@ class ClaudiaLauncher(QWidget, ui_claudia_launcher.Ui_ClaudiaLauncherW):
Docs0 = Docs[0] if (os.path.exists(Docs[0].replace("file://", ""))) else ""
self.showDoc_Bristol(Docs0, Docs[1])
-
else:
- selected = False
self.clearInfo_Bristol()
- self.callback_checkGUI(selected)
+ self.callback_checkGUI(row >= 0)
@pyqtSlot(int)
def slot_checkSelectedPlugin(self, row):
if row >= 0:
- selected = True
-
- pluginName = self.listPlugin.item(row, 1).text()
-
- for plugin in database.list_Plugin:
- if plugin[1] == pluginName:
- appInfo = plugin
- break
- else:
- print("ERROR: Failed to retrieve plugin info from database")
- return
-
- Package, Name, Spec, Type, Filename, Label, Icon, License, Features, Docs = appInfo
+ plugin = self.listPlugin.item(row, 0).data(Qt.UserRole)
self.frame_Plugin.setEnabled(True)
- self.ico_app_plugin.setPixmap(self.getIcon(Icon).pixmap(48, 48))
- self.ico_stereo_plugin.setPixmap(self.getIconForYesNo(Features[0]).pixmap(16, 16))
- self.ico_midi_input_plugin.setPixmap(self.getIconForYesNo(Features[1]).pixmap(16, 16))
- self.ico_presets_plugin.setPixmap(self.getIconForYesNo(Features[2]).pixmap(16, 16))
- self.label_name_plugin.setText(Name)
-
- Docs0 = Docs[0] if (os.path.exists(Docs[0].replace("file://", ""))) else ""
- self.showDoc_Plugin(Docs0, Docs[1])
-
+ self.ico_app_bristol.setPixmap(self.getIcon("lv2").pixmap(48, 48))
+ self.label_name_plugin.setText(plugin["name"])
+ self.label_plugin_audio_ins.setText(str(plugin["audioIns"]))
+ self.label_plugin_audio_outs.setText(str(plugin["audioOuts"]))
+ self.label_plugin_midi_ins.setText(str(plugin["midiIns"]))
+ self.label_plugin_midi_outs.setText(str(plugin["midiOuts"]))
+ self.label_plugin_parameter_ins.setText(str(plugin["parameterIns"]))
+ self.label_plugin_parameter_outs.setText(str(plugin["parameterOuts"]))
+
+ #Docs0 = Docs[0] if (os.path.exists(Docs[0].replace("file://", ""))) else ""
+ #self.showDoc_Plugin(Docs0, Docs[1])
else:
- selected = False
self.clearInfo_Plugin()
- self.callback_checkGUI(selected)
+ self.callback_checkGUI(row >= 0)
@pyqtSlot(int)
def slot_checkSelectedEffect(self, row):
if row >= 0:
- selected = True
-
- 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
-
- Package, AppName, Type, Binary, Icon, Save, Level, License, Features, Docs = app_info
+ item = self.listEffect.item(row, 0).data(Qt.UserRole)
+ Package, AppName, Type, Binary, Icon, Save, Level, Features, Docs = item
self.frame_Effect.setEnabled(True)
self.ico_app_effect.setPixmap(self.getIcon(Icon).pixmap(48, 48))
@@ -1156,29 +1099,16 @@ class ClaudiaLauncher(QWidget, ui_claudia_launcher.Ui_ClaudiaLauncherW):
Docs0 = Docs[0] if (os.path.exists(Docs[0].replace("file://", ""))) else ""
self.showDoc_Effect(Docs0, Docs[1])
-
else:
- selected = False
self.clearInfo_Effect()
- self.callback_checkGUI(selected)
+ self.callback_checkGUI(row >= 0)
@pyqtSlot(int)
def slot_checkSelectedTool(self, row):
if row >= 0:
- selected = True
-
- 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
-
- Package, AppName, Type, Binary, Icon, Save, Level, License, Features, Docs = app_info
+ item = self.listTool.item(row, 0).data(Qt.UserRole)
+ Package, AppName, Type, Binary, Icon, Save, Level, Features, Docs = item
self.frame_Tool.setEnabled(True)
self.ico_app_tool.setPixmap(self.getIcon(Icon).pixmap(48, 48))
@@ -1189,68 +1119,17 @@ class ClaudiaLauncher(QWidget, ui_claudia_launcher.Ui_ClaudiaLauncherW):
Docs0 = Docs[0] if (os.path.exists(Docs[0].replace("file://", ""))) else ""
self.showDoc_Tool(Docs0, Docs[1])
-
else:
- 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)
- else:
- 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)
- else:
- 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)
- else:
- 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)
- else:
- self.startApp(app)
-
- @pyqtSlot(int)
- def slot_doubleClickedListPlugin(self, row):
- app = self.listPlugin.item(row, 1).text()
- if self.m_ladish_only:
- self.addAppToLADISH(app)
- else:
- 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)
- else:
- self.startApp(app)
+ self.callback_checkGUI(row >= 0)
- @pyqtSlot(int)
- def slot_doubleClickedListTool(self, row):
- app = self.listTool.item(row, 1).text()
+ @pyqtSlot()
+ def slot_doubleClickedList(self):
if self.m_ladish_only:
- self.addAppToLADISH(app)
+ self.addAppToLADISH()
else:
- self.startApp(app)
+ self.startApp()
def saveSettings(self):
if self.settings():