Yabridge-UI-Yad
Moderators: MattKingUSA, khz
- GMaq
- Established Member
- Posts: 2807
- Joined: Fri Sep 25, 2009 1:42 pm
- Has thanked: 526 times
- Been thanked: 563 times
Yabridge-UI-Yad
Hi,
First of all we already have some great work going on in the GeekosDAW community on a graphical frontend for the great @robbert-vdh VST bridge yabridge project called 'yabridget' and that project can be found here: https://gitlab.com/fpesari/yabridget
I have been working on rewriting the AVL-MXE Assistant to use 'yad' and wanted to integrate something for setting up yabridge within the Assistant (like I had previously for LinVST) so here is an infantile start to that and I've made it a standalone modular type of thing so I'm posting it here. It is tiny and only requires yad and xterm (and yabridge of course). It assumes you have yabridge installed to ~/.local/share/yabridge as is recommended on the yabridge github page. It allows you to add or remove VST folders, sync with or without 'pruning' and status yabridgectl and also directly open (and edit if needed) the yabridge config.toml file.
For now it is only packaged for Debian-based systems and although it seems to do everything I need this is extremely alpha and I am no scripting wizard so I welcome feedback on if it works outside my system..lol. This utility will be in the next AVL-MXE release with the new Assistant once Debian Bullseye and MX Linux 21 are released.
There is a Deb for all architectures here:
http://bandshed.net/packages/AVL-MXE/al ... -1_all.deb
First of all we already have some great work going on in the GeekosDAW community on a graphical frontend for the great @robbert-vdh VST bridge yabridge project called 'yabridget' and that project can be found here: https://gitlab.com/fpesari/yabridget
I have been working on rewriting the AVL-MXE Assistant to use 'yad' and wanted to integrate something for setting up yabridge within the Assistant (like I had previously for LinVST) so here is an infantile start to that and I've made it a standalone modular type of thing so I'm posting it here. It is tiny and only requires yad and xterm (and yabridge of course). It assumes you have yabridge installed to ~/.local/share/yabridge as is recommended on the yabridge github page. It allows you to add or remove VST folders, sync with or without 'pruning' and status yabridgectl and also directly open (and edit if needed) the yabridge config.toml file.
For now it is only packaged for Debian-based systems and although it seems to do everything I need this is extremely alpha and I am no scripting wizard so I welcome feedback on if it works outside my system..lol. This utility will be in the next AVL-MXE release with the new Assistant once Debian Bullseye and MX Linux 21 are released.
There is a Deb for all architectures here:
http://bandshed.net/packages/AVL-MXE/al ... -1_all.deb
Last edited by GMaq on Wed Jul 21, 2021 2:26 pm, edited 2 times in total.
- sysrqer
- Established Member
- Posts: 2523
- Joined: Thu Nov 14, 2013 11:47 pm
- Has thanked: 320 times
- Been thanked: 152 times
- Contact:
Re: Yabridge-UI-Yad
Just gave it a try and it works well on KDE Neon. I ran into a problem with my existing prefix being 32 bit but creating a new one fixed that.
- GMaq
- Established Member
- Posts: 2807
- Joined: Fri Sep 25, 2009 1:42 pm
- Has thanked: 526 times
- Been thanked: 563 times
Re: Yabridge-UI-Yad
Gmaq, This looks great!
Is there a way to only add specific VSTs rather than entire folders? I currently have a mixed setup with LinVST using LinVSTManager with only a few select VSTs I am testing with Yabridge. LinVSTManager allows explicitly picking and excluding individual VSTs, so I just exclude the ones I want to use with Yabridge. However, at the moment I'm managing Yabridge manually and it's a little cumbersome.
Is there a way to only add specific VSTs rather than entire folders? I currently have a mixed setup with LinVST using LinVSTManager with only a few select VSTs I am testing with Yabridge. LinVSTManager allows explicitly picking and excluding individual VSTs, so I just exclude the ones I want to use with Yabridge. However, at the moment I'm managing Yabridge manually and it's a little cumbersome.
-
- Established Member
- Posts: 219
- Joined: Mon Mar 01, 2021 10:56 pm
- Has thanked: 51 times
- Been thanked: 92 times
- Contact:
Re: Yabridge-UI-Yad
(I guess I'll answer for @GMaq, since this is more of a yabridgectl question)Jaaxx wrote: ↑Sat Jul 10, 2021 7:10 pm Gmaq, This looks great!
Is there a way to only add specific VSTs rather than entire folders? I currently have a mixed setup with LinVST using LinVSTManager with only a few select VSTs I am testing with Yabridge. LinVSTManager allows explicitly picking and excluding individual VSTs, so I just exclude the ones I want to use with Yabridge. However, at the moment I'm managing Yabridge manually and it's a little cumbersome.
I designed yabridgectl with the main goals being resilience and simplicity. The idea is that yabridgectl takes ownership of your plugins directories and manages them for you. So whenever you install a new plugin or update yabridge, you only have to run `yabridgectl sync` once (optionally with `--prune` when uninstalling plugins) and yabridgectl will do its thing while taking care of any potential issues for you. While you technically can add individual plugin files to yabridgectl, doing so goes against the whole idea of yabridgectl and it's also not supported (so yabridgectl may not always behave like you'd expect it to). I'd advise giving the workflow described in the readme a shot: just install your plugins like usual, add the Windows plugin directories to yabridgectl, and let yabridgectl do the rest.
Last edited by robbert-vdh on Sun Jul 11, 2021 11:35 pm, edited 1 time in total.
- GMaq
- Established Member
- Posts: 2807
- Joined: Fri Sep 25, 2009 1:42 pm
- Has thanked: 526 times
- Been thanked: 563 times
Re: Yabridge-UI-Yad
Thanks for answering that, actually I wasn't 100% clear on how 'prune' worked so I had left that for now but your post gives me a hint, I think that will be an easy feature to add actually.robbert-vdh wrote: ↑Sat Jul 10, 2021 10:10 pm(I guess I'll answer for @GMaq, since this is more of a yabridgectl question)Jaaxx wrote: ↑Sat Jul 10, 2021 7:10 pm Gmaq, This looks great!
Is there a way to only add specific VSTs rather than entire folders? I currently have a mixed setup with LinVST using LinVSTManager with only a few select VSTs I am testing with Yabridge. LinVSTManager allows explicitly picking and excluding individual VSTs, so I just exclude the ones I want to use with Yabridge. However, at the moment I'm managing Yabridge manually and it's a little cumbersome.
I designed yabridgectl with the main goals being resilience and simplicity. The idea is that yabridgectl takes ownership of your plugins directories and manages them for you. So whenever you install a new plugin or update yabridge, you only have to run `yabridgectl sync` once (optionally with `--prune` when uninstall plugins) and yabridgectl will do its thing while taking care of any potential issues for you. While you technically can add individual plugin files to yabridgectl, doing so goes against the whole idea of yabridgectl and it's also not supported (so yabridgectl may not always behave like you'd expect it to). I'd advise giving the workflow described in the readme a shot: just install your plugins like usual, add the Windows plugin directories to yabridgectl, and let yabridgectl do the rest.
Is it essentially find the VST dll you want to prune and then run:
yabridgectl --prune /path/to/dll? What about VST3? Do you simply select the '.vst3' bundle folder to prune?
Last edited by GMaq on Sun Jul 11, 2021 11:38 pm, edited 1 time in total.
-
- Established Member
- Posts: 219
- Joined: Mon Mar 01, 2021 10:56 pm
- Has thanked: 51 times
- Been thanked: 92 times
- Contact:
Re: Yabridge-UI-Yad
No, yabridgectl will show you a list of files it thinks were left over and safe to remove, and you can then rerun the yabridgectl sync command with the prune option to remove those files at the end of the synchronization process. The master branch version of yabridgectl is also smart enough to prune inside of VST3 bundles and to avoid leaving empty directories behind, which is useful if you somehow want to switch between the 32-bit and 64-bit versions of yabridge or if you want to uninstall a 64-bit version of a VST3 plugin but leave the 32-bit version installed (don't know why you would ever do that, but now you can).GMaq wrote: ↑Sun Jul 11, 2021 11:33 pm Thanks for answering that, actually I wasn't 100% clear on how 'prune' worked so I had left that for now but your post gives me a hint, I think that will be an easy feature to add actually.
Is it essentially find the VST dll you want to prune and then run:
yabridgectl --prune /path/to/dll? What about VST3? Dou you simply select the '.vst3' bundle folder to prune?
-
- Established Member
- Posts: 219
- Joined: Mon Mar 01, 2021 10:56 pm
- Has thanked: 51 times
- Been thanked: 92 times
- Contact:
Re: Yabridge-UI-Yad
`yabridgectl sync`. Try creating some files that shouldn't be there. Something like `mkdir -p ~/.vst3/yabridge/begone.vst3`, you'll see what I mean.
- GMaq
- Established Member
- Posts: 2807
- Joined: Fri Sep 25, 2009 1:42 pm
- Has thanked: 526 times
- Been thanked: 563 times
Re: Yabridge-UI-Yad
So --prune is essentially garbage collecting for plugins that have been improperly removed or not removed completely?robbert-vdh wrote: ↑Sun Jul 11, 2021 11:53 pm`yabridgectl sync`. Try creating some files that shouldn't be there. Something like `mkdir -p ~/.vst3/yabridge/begone.vst3`, you'll see what I mean.
-
- Established Member
- Posts: 219
- Joined: Mon Mar 01, 2021 10:56 pm
- Has thanked: 51 times
- Been thanked: 92 times
- Contact:
Re: Yabridge-UI-Yad
After you uninstall a plugin (say, through `wine uninstaller`), the .so files yabridgectl created for VST2 plugins and the VST3 bundles created in ~/.vst3/yabridge will still exist, but they now obviously won't load anymore because the Windows plugins they're trying to load have been removed. So yabridgectl detects these leftover/orphan files during the scanning process, and the prune option allows you to get rid of them so you don't end up with a directory full of defunct plugins (and a DAW screaming at you because it cannot load them).
So in other words, it doesn't remove any arbitrary files. It only gets rid of orphaned Linux VST2 and VST3 plugins yabridgectl detects in its managed plugin directories, and in the case of VST3 plugins it also prunes unmanaged directories within the merged VST3 bundles in ~/.vst3/yabridge.
- GMaq
- Established Member
- Posts: 2807
- Joined: Fri Sep 25, 2009 1:42 pm
- Has thanked: 526 times
- Been thanked: 563 times
Re: Yabridge-UI-Yad
OK got it! So then for the terminally lazy and inattentive (like say for example...me) should/could yabridgectl sync just be run with the --prune switch engaged all the time?robbert-vdh wrote: ↑Mon Jul 12, 2021 2:35 pmAfter you uninstall a plugin (say, through `wine uninstaller`), the .so files yabridgectl created for VST2 plugins and the VST3 bundles created in ~/.vst3/yabridge will still exist, but they now obviously won't load anymore because the Windows plugins they're trying to load have been removed. So yabridgectl detects these leftover/orphan files during the scanning process, and the prune option allows you to get rid of them so you don't end up with a directory full of defunct plugins (and a DAW screaming at you because it cannot load them).
So in other words, it doesn't remove any arbitrary files. It only gets rid of orphaned Linux VST2 and VST3 plugins yabridgectl detects in its managed plugin directories, and in the case of VST3 plugins it also prunes unmanaged directories within the merged VST3 bundles in ~/.vst3/yabridge.
-
- Established Member
- Posts: 219
- Joined: Mon Mar 01, 2021 10:56 pm
- Has thanked: 51 times
- Been thanked: 92 times
- Contact:
Re: Yabridge-UI-Yad
I use --prune all the time, but since it removes files it's not a safe as a default. If you for instance accidentally (or on purpose? Don't do that ) add your entire home directory or ~/.vst or something to yabridge, then running `yabridgectl sync --prune` will end up deleting all .so files in those directories. That's why `yabridgectl sync` by default only reports the list of files that are candidate for removal, and then you can just rerun the same command with the --prune option to actually remove those files.GMaq wrote: ↑Mon Jul 12, 2021 2:58 pmOK got it! So then for the terminally lazy and inattentive (like say for example...me) should/could yabridgectl sync just be run with the --prune switch engaged all the time?robbert-vdh wrote: ↑Mon Jul 12, 2021 2:35 pmAfter you uninstall a plugin (say, through `wine uninstaller`), the .so files yabridgectl created for VST2 plugins and the VST3 bundles created in ~/.vst3/yabridge will still exist, but they now obviously won't load anymore because the Windows plugins they're trying to load have been removed. So yabridgectl detects these leftover/orphan files during the scanning process, and the prune option allows you to get rid of them so you don't end up with a directory full of defunct plugins (and a DAW screaming at you because it cannot load them).
So in other words, it doesn't remove any arbitrary files. It only gets rid of orphaned Linux VST2 and VST3 plugins yabridgectl detects in its managed plugin directories, and in the case of VST3 plugins it also prunes unmanaged directories within the merged VST3 bundles in ~/.vst3/yabridge.
- GMaq
- Established Member
- Posts: 2807
- Joined: Fri Sep 25, 2009 1:42 pm
- Has thanked: 526 times
- Been thanked: 563 times
Re: Yabridge-UI-Yad
OK,
Got it, this is all kindergarten scripting at my level anyway. I'll just add another option that runs with --prune and if folks get a report from yabridgectl sync telling them about cruft they can run it then.
Got it, this is all kindergarten scripting at my level anyway. I'll just add another option that runs with --prune and if folks get a report from yabridgectl sync telling them about cruft they can run it then.
- GMaq
- Established Member
- Posts: 2807
- Joined: Fri Sep 25, 2009 1:42 pm
- Has thanked: 526 times
- Been thanked: 563 times
Re: Yabridge-UI-Yad
A tiny update..
Added a prune option and made it install the app folder assets in a saner location in /usr/local/share. Unless/until yabridge adds some more features requiring a UI or the install locations of the binaries change this is probably done for the time being..
New file in first post.
Added a prune option and made it install the app folder assets in a saner location in /usr/local/share. Unless/until yabridge adds some more features requiring a UI or the install locations of the binaries change this is probably done for the time being..
New file in first post.