Plugin Loader

All your LV2 and LADSPA goodness and more.

Moderators: MattKingUSA, khz

luciorgomes
Established Member
Posts: 137
Joined: Wed Feb 04, 2015 11:29 pm
Has thanked: 64 times
Been thanked: 16 times

Plugin Loader

Post by luciorgomes »

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).

https://github.com/luciorgomes/plugin_loader

Attachments
PluginLoader3png.png
PluginLoader3png.png (220.97 KiB) Viewed 787 times
User avatar
sunrat
Established Member
Posts: 1179
Joined: Wed Jul 22, 2020 2:08 pm
Has thanked: 202 times
Been thanked: 334 times

Re: Plugin Loader

Post by sunrat »

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.

luciorgomes
Established Member
Posts: 137
Joined: Wed Feb 04, 2015 11:29 pm
Has thanked: 64 times
Been thanked: 16 times

Re: Plugin Loader

Post by luciorgomes »

sunrat wrote: Mon Apr 14, 2025 3:04 am

Also it doesn't look so pretty on my KDE Plasma dark theme.

wxPython uses GTK3.
Try some alternative option on KDE configuration (GNOME/GTK style theme).

User avatar
sunrat
Established Member
Posts: 1179
Joined: Wed Jul 22, 2020 2:08 pm
Has thanked: 202 times
Been thanked: 334 times

Re: Plugin Loader

Post by sunrat »

luciorgomes wrote: Mon Apr 14, 2025 3:40 am
sunrat wrote: Mon Apr 14, 2025 3:04 am

Also it doesn't look so pretty on my KDE Plasma dark theme.

wxPython 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. :D I'm not worried about it at all, and not going to change my desktop theme for it.

plugin_loader_s.png
plugin_loader_s.png (51.2 KiB) Viewed 734 times
User avatar
LAM
Established Member
Posts: 1157
Joined: Thu Oct 08, 2020 3:16 pm
Has thanked: 156 times
Been thanked: 422 times

Re: Plugin Loader

Post by LAM »

Nice project. :D

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

User avatar
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

Post by Axel-Erfurt »

You can set the terminal name in the .config file.

User avatar
LAM
Established Member
Posts: 1157
Joined: Thu Oct 08, 2020 3:16 pm
Has thanked: 156 times
Been thanked: 422 times

Re: Plugin Loader

Post by LAM »

Axel-Erfurt wrote: Mon Apr 14, 2025 6:00 pm

You can set the terminal name in the .config file.

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. :lol:

in mix, nobody can hear your screen

User avatar
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

Post by Axel-Erfurt »

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)
User avatar
LAM
Established Member
Posts: 1157
Joined: Thu Oct 08, 2020 3:16 pm
Has thanked: 156 times
Been thanked: 422 times

Re: Plugin Loader

Post by LAM »

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

luciorgomes
Established Member
Posts: 137
Joined: Wed Feb 04, 2015 11:29 pm
Has thanked: 64 times
Been thanked: 16 times

Re: Plugin Loader

Post by luciorgomes »

LAM wrote: Mon Apr 14, 2025 5:05 pm

[*]Terminal (Console) can be chosen from a dropdown menu, if my terminal (urxvt) is not among the choices I can't use the console

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
Captura de imagem_20250414_211048.png (42.3 KiB) Viewed 493 times
User avatar
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

Post by Axel-Erfurt »

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 + ' -- '
User avatar
LAM
Established Member
Posts: 1157
Joined: Thu Oct 08, 2020 3:16 pm
Has thanked: 156 times
Been thanked: 422 times

Re: Plugin Loader

Post by LAM »

luciorgomes wrote: Tue Apr 15, 2025 12:22 am

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)

Great! :D

in mix, nobody can hear your screen

luciorgomes
Established Member
Posts: 137
Joined: Wed Feb 04, 2015 11:29 pm
Has thanked: 64 times
Been thanked: 16 times

Re: Plugin Loader

Post by luciorgomes »

Axel-Erfurt wrote: Tue Apr 15, 2025 8:45 am

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 + ' -- '

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)
User avatar
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

Post by 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.

tseaver
Established Member
Posts: 495
Joined: Mon Mar 13, 2017 6:07 am
Has thanked: 34 times
Been thanked: 141 times

Re: Plugin Loader

Post by tseaver »

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

Ubuntu, Mixbus32C; acoustic blues / country / jazz
Post Reply