yabridge
yabridge copied to clipboard
New gui project for yabridgectl.
Hi, jo boschetti from geekosdaw, our team (fabio pesari is the developer of this tool) we are creating a simple python gui for yabridge which we will then report to you. We are interested in knowing if yabridge gives priority to binary files in .local, or in system bin. if there is both the binary distributed by you and the server in bin, where is the .so file executed?
Hi Jo!
Yabridgectl searches the system for the libyabridge-*.so
files in this order. ~/.local/share/yabridge
is only really meant as a convenient way to use yabridge when your distro doesn't package it for you, and it's only used as a fallback when the files cannot be found in the usual system wide locations. Similarly, both yabridge and yabridgectl will look for the yabridge-*.exe{,.so}
files in the search PATH
like any other executable binary, and they will only fall back to looking in ~/.local/share/yabridge
when they cannot be found in the search path. This happens here in yabridgectl, and in yabridge itself we simply append ~/.local/share/yabridge
to the search path before searching for the host binaries here.
And I don't know if you're interesting in collaborating on this with others, but Glen from AVLinux may also be interesetd in this since he also has a control panel for most of the things he packages. I once proposed a simple proof of concept KDialog based wrapper here, but he does not yet ship yabridge in AVLinux.
the gui will then be on git, and we will also send you the link if after an evaluation you want to propose it. We in opensuse have yabridge, and I personally take care of publishing the version of wine that you recommend according to the problems that come out. The information was needed to understand in the gui what to prioritize if a person has both installed. okay let's put local / share as fallback :) thanks!
Hi robbert, first release of gui is out (is out packaged on opensuse on geekosdaw project), this is a link for gitlab https://gitlab.com/fpesari/yabridget
It a python qt gui for simple add remove folders, scan, and prune :) it search on systemwide for yabridge, and as fallback on ./local/share/yabridge
@geekositalia Looks nice, good work! Do you also have a way to parse the plugin list in yabridgectl status
?
we are evaluating for future versions, now the priority was to give easy access to yabridge users as soon as possible
i robbert, we have a problem with plugin sforzando, in gui, there is a crash due to the plugin name. I'll bring you what our developer said:
In order for the output of "yabridgectl status" to be properly parsed, it would be better if when a comma (,) is present in the path of a plugin, it is escaped.
In other word, this:
CommonVST2/Plogue Art et Technologie, Inc/sforzando VST_x64.dll :: VST2, 64-bit, copy
Becomes
CommonVST2/Plogue Art et Technologie\, Inc/sforzando VST_x64.dll :: VST2, 64-bit, copy
the problem is filtering this is a large amount of work. Thanks for now!
Can't you just split on " :: "
first? I doubt any plugins have that in their name.
So then you'd end up with this (didn't test this):
--- a/yabridgectl.py
+++ b/yabridgectl.py
@@ -67,12 +67,14 @@ def status():
if not i.startswith(' '):
_last_path = i.strip()
continue
- line = tuple(j.strip() for j in i.split(','))
- plugin, kind = tuple(j.strip() for j in line[0].split('::'))
- legacy = ''
- if line[1] == 'legacy':
- legacy = '✓'
- arch = line[-2]
- method = line[-1]
+
+ plugin, info = i.split(" :: ")
+ info = list(info.split(", "))
+
+ kind = info[0]
+ legacy = "✓" if info[1] == "legacy" else ""
+ arch = info[-2]
+ method = info[-1]
+
result.append((plugin, kind, legacy, arch, method, _last_path))
return locals()
thaks, tomorrow developer try this solution... only one plugin have this in their name... sforzando plogue...
I also added a comment to the commit that added this with the same patch. (and a small fix because I made a typo, also changed the diff here)
thanks for your collaboration :)
hi, problem solved, gui is out stable :)
we would be happy if you want to quote the gui, and test it yourself :D
unfortunately in Italian https://www.youtube.com/watch?v=_l6jW_6_dus