Hi
This is an application that helps to load LV2 and VST plugins as standalone apps (using carla-single or jalv as hosts).
It connects the plugin’s JACK ports to the hardware audio and MIDI inputs/outputs (option that don't work with some plugins with custom name ports).
Requirements: Python 3, wxPython, JACK/PipeWire, Carla, Jalv (optional).
Plugin Loader
Moderators: MattKingUSA, khz
-
- Established Member
- Posts: 137
- Joined: Wed Feb 04, 2015 11:29 pm
- Has thanked: 64 times
- Been thanked: 16 times
Plugin Loader
- Attachments
-
- PluginLoader3png.png (220.97 KiB) Viewed 787 times
- sunrat
- Established Member
- Posts: 1179
- Joined: Wed Jul 22, 2020 2:08 pm
- Has thanked: 202 times
- Been thanked: 334 times
Re: Plugin Loader
Works fine in Debian Bookworm. Had to install wxpython-tools.
I have used jalv with jalv-select before, and Carla GUI and also carla-single. I don't often use plugins as standalone though. This makes it easier to actually find plugins.
Also it doesn't look so pretty on my KDE Plasma dark theme.
-
- Established Member
- Posts: 137
- Joined: Wed Feb 04, 2015 11:29 pm
- Has thanked: 64 times
- Been thanked: 16 times
Re: Plugin Loader
wxPython uses GTK3.
Try some alternative option on KDE configuration (GNOME/GTK style theme).
- sunrat
- Established Member
- Posts: 1179
- Joined: Wed Jul 22, 2020 2:08 pm
- Has thanked: 202 times
- Been thanked: 334 times
Re: Plugin Loader
luciorgomes wrote: ↑Mon Apr 14, 2025 3:40 amwxPython uses GTK3.
Try some alternative option on KDE configuration (GNOME/GTK style theme).
It doesn't make it unusable, just white text on a light background. It doesn't need to be pretty. I'm not worried about it at all, and not going to change my desktop theme for it.
- LAM
- Established Member
- Posts: 1157
- Joined: Thu Oct 08, 2020 3:16 pm
- Has thanked: 156 times
- Been thanked: 422 times
Re: Plugin Loader
Nice project.
Played a bit with it and I stumbled upon some limitations as far I can see:
Plugins without a GUI, like Airwindows ones, have no way for the user to interact with them (I know this is a limitation of carla-single)
Terminal (Console) can be chosen from a dropdown menu, if my terminal (urxvt) is not among the choices I can't use the console
As with every application outside session managers, all the plugins launched from the program and their connection can't be saved
in mix, nobody can hear your screen
- Axel-Erfurt
- Established Member
- Posts: 110
- Joined: Tue Dec 05, 2023 6:06 pm
- Has thanked: 26 times
- Been thanked: 38 times
- Contact:
- LAM
- Established Member
- Posts: 1157
- Joined: Thu Oct 08, 2020 3:16 pm
- Has thanked: 156 times
- Been thanked: 422 times
Re: Plugin Loader
Thank you for the suggestion, if I am using a GUI application I would expect the option to be there in the GUI though, that's what I meant.
in mix, nobody can hear your screen
- Axel-Erfurt
- Established Member
- Posts: 110
- Joined: Tue Dec 05, 2023 6:06 pm
- Has thanked: 26 times
- Been thanked: 38 times
- Contact:
Re: Plugin Loader
adding x-terminal-emulator in wxglade_layout.py could be a solution, that should use the right terminal.
Code: Select all
self.combo_box_terminal = wx.ComboBox(self.notebook_1_pane_setup, wx.ID_ANY, choices=["-", "x-terminal-emulator", "uxterm", "xterm", "konsole"], style=wx.CB_DROPDOWN)
- LAM
- Established Member
- Posts: 1157
- Joined: Thu Oct 08, 2020 3:16 pm
- Has thanked: 156 times
- Been thanked: 422 times
Re: Plugin Loader
Sure, it's a good idea, at least for Debian (and Debian based), not sure about other distros.
Problem is if you force choices with a dropdown you better either do autodetection of the terminals available on the system and/or at least let the user insert a custom entry.
in mix, nobody can hear your screen
-
- Established Member
- Posts: 137
- Joined: Wed Feb 04, 2015 11:29 pm
- Has thanked: 64 times
- Been thanked: 16 times
Re: Plugin Loader
I implemented an option to add other terminal choices.
Type the executable name in the Terminal (Console) combo and press Enter to add and select it (will be saved in .config)
- Attachments
-
- Captura de imagem_20250414_211048.png (42.3 KiB) Viewed 493 times
- Axel-Erfurt
- Established Member
- Posts: 110
- Joined: Tue Dec 05, 2023 6:06 pm
- Has thanked: 26 times
- Been thanked: 38 times
- Contact:
Re: Plugin Loader
Code: Select all
prefix_console = self.terminal + ' -e '
is not working for me in LMDE6 (Debian 12, gnome-terminal) with jalv,
-- works
Code: Select all
else: #lv2
prefix_console = ''
if self.terminal != '-':
prefix_console = self.terminal + ' -- '
- LAM
- Established Member
- Posts: 1157
- Joined: Thu Oct 08, 2020 3:16 pm
- Has thanked: 156 times
- Been thanked: 422 times
Re: Plugin Loader
luciorgomes wrote: ↑Tue Apr 15, 2025 12:22 amI implemented an option to add other terminal choices.
Type the executable name in the Terminal (Console) combo and press Enter to add and select it (will be saved in .config)
Great!
in mix, nobody can hear your screen
-
- Established Member
- Posts: 137
- Joined: Wed Feb 04, 2015 11:29 pm
- Has thanked: 64 times
- Been thanked: 16 times
Re: Plugin Loader
Axel-Erfurt wrote: ↑Tue Apr 15, 2025 8:45 amCode: Select all
prefix_console = self.terminal + ' -e '
is not working for me in LMDE6 (Debian 12, gnome-terminal) with jalv,
-- worksCode: Select all
else: #lv2 prefix_console = '' if self.terminal != '-': prefix_console = self.terminal + ' -- '
The gnome-terminal is a bit odd. Prints a message that the '-e' parameter is obsolete. But the '--help-terminal-options' says that it must be used.
I included it in the original combobox and made some ajustments on the code to use it (remove it from the .config file or it will be duplicated in the combobox).
Not every terminal app will be compatible. If it not uses the '-e' to execute a command will not work.
I've made an alteration in the combo to make clear that it can be used without a terminal (selecting 'None'). But for the plugins without a GUI you will not receive an error message.
Code: Select all
[luciorg@lucio-dellg155530 Build]$ gnome-terminal --help-terminal-options
Uso:
gnome-terminal [OPÇÃO…] [-- COMANDO …]
Opções do terminal; se utilizadas antes do primeiro argumento --window ou --tab, definem o padrão para todos os terminais:
-e, --command Executa o argumento para esta opção dentro do terminal
--profile=NOME-PERFIL Usa o perfil fornecido em vez de usar o perfil padrão
-t, --title=TÍTULO Define o título inicial do terminal
--working-directory=DIRETÓRIO Define o diretório de trabalho
--wait Aguarde até o processo filho sair
--fd=Descritor de arquivo Encaminhar descritor de arquivo
--zoom=FATOR Define o fator de ampliação do terminal (1.0 = tamanho normal)
- Axel-Erfurt
- Established Member
- Posts: 110
- Joined: Tue Dec 05, 2023 6:06 pm
- Has thanked: 26 times
- Been thanked: 38 times
- Contact:
Re: Plugin Loader
If the terminal is only required for error messages, you could also use subprocess.check_output and display error messages in a wx MessageBox.
-
- Established Member
- Posts: 495
- Joined: Mon Mar 13, 2017 6:07 am
- Has thanked: 34 times
- Been thanked: 141 times
Re: Plugin Loader
@Axel-Erfurt
If the terminal is only required for error messages, you could also use subprocess.check_output and display error messages in a wx MessageBox.
subproces.check_output
actually blocks until the process exits, and raises an error if the return code is non-zero: the caller is not able to access the process' stdout
or stderr
until completion. That might not be a fit for @luciorgomes' use case.