[ANN] yabridge 5.1.0, a long-awaited maintenance release

Discuss running non-Linux applications and plugins on Linux, for example via wine

Moderators: MattKingUSA, khz

Post Reply
luciorgomes
Established Member
Posts: 120
Joined: Wed Feb 04, 2015 11:29 pm
Has thanked: 38 times
Been thanked: 7 times

Re: [ANN] yabridge 3.4.0, with the first-ever Wine->X11 drag-and-drop support, a complete audio rewrite, and much more

Post by luciorgomes »

robbert-vdh wrote: Sun Jul 18, 2021 4:37 pm It's definitely not just related to KDE Plasma. I've been using KDE Plasma since way before I started work on yabridge, and I've never seen this (nor has it happened for anyone else). So something else must be at play here. What Wine version are you using, and does this also happen with a clean Wine prefix (to account for things like the virtual desktop option being enabled, although it still works just fine for me even with that option enabled)?
I'm on wine-staging 6.12, Kubuntu 20.04.
When I load as stand alone the plugins get the right size. When in Ardour/Mixbus it runs in fullscreen unresizeble window (see pictures)
Attachments
GRig6Ardour.png
GRig6Ardour.png (139.34 KiB) Viewed 12144 times
GRig6.png
GRig6.png (212.41 KiB) Viewed 12144 times
robbert-vdh
Established Member
Posts: 219
Joined: Mon Mar 01, 2021 10:56 pm
Has thanked: 51 times
Been thanked: 92 times
Contact:

Re: [ANN] yabridge 3.4.0, with the first-ever Wine->X11 drag-and-drop support, a complete audio rewrite, and much more

Post by robbert-vdh »

luciorgomes wrote: Sun Jul 18, 2021 9:43 pm
robbert-vdh wrote: Sun Jul 18, 2021 4:37 pm It's definitely not just related to KDE Plasma. I've been using KDE Plasma since way before I started work on yabridge, and I've never seen this (nor has it happened for anyone else). So something else must be at play here. What Wine version are you using, and does this also happen with a clean Wine prefix (to account for things like the virtual desktop option being enabled, although it still works just fine for me even with that option enabled)?
I'm on wine-staging 6.12, Kubuntu 20.04.
When I load as stand alone the plugins get the right size. When in Ardour/Mixbus it runs in fullscreen unresizeble window (see pictures)
Just so we know if it's an Ardour issue or something else, do you have access to any other DAW to test this in? For instance, REAPER, Bitwig, or Qtractor. Does it also happen there? If not, what happens when you reset your Ardour configuration? (rename ~/.config/ardour6 so you can rename it back later) And we will be able to tell if it's somehow the plugin returning a wrong size or if it's Ardour setting the wrong size for the window from the VST2 function calls Ardour is making. If you launch Ardour from the terminal with:

Code: Select all

env YABRIDGE_DEBUG_FILE=/tmp/yabridge.log YABRIDGE_DEBUG_LEVEL=1 ardour6
And then open Ardour, load the plugin, and close Ardour again, /tmp/yabridge.log will contain a log file with a bunch of information. Could you upload that file somewhere? (either here, or on a pastebin, or somewhere else)
luciorgomes
Established Member
Posts: 120
Joined: Wed Feb 04, 2015 11:29 pm
Has thanked: 38 times
Been thanked: 7 times

Re: [ANN] yabridge 3.4.0, with the first-ever Wine->X11 drag-and-drop support, a complete audio rewrite, and much more

Post by luciorgomes »

robbert-vdh wrote: Sun Jul 18, 2021 10:07 pm
luciorgomes wrote: Sun Jul 18, 2021 9:43 pm
robbert-vdh wrote: Sun Jul 18, 2021 4:37 pm It's definitely not just related to KDE Plasma. I've been using KDE Plasma since way before I started work on yabridge, and I've never seen this (nor has it happened for anyone else). So something else must be at play here. What Wine version are you using, and does this also happen with a clean Wine prefix (to account for things like the virtual desktop option being enabled, although it still works just fine for me even with that option enabled)?
I'm on wine-staging 6.12, Kubuntu 20.04.
When I load as stand alone the plugins get the right size. When in Ardour/Mixbus it runs in fullscreen unresizeble window (see pictures)
Just so we know if it's an Ardour issue or something else, do you have access to any other DAW to test this in? For instance, REAPER, Bitwig, or Qtractor. Does it also happen there? If not, what happens when you reset your Ardour configuration? (rename ~/.config/ardour6 so you can rename it back later) And we will be able to tell if it's somehow the plugin returning a wrong size or if it's Ardour setting the wrong size for the window from the VST2 function calls Ardour is making. If you launch Ardour from the terminal with:

Code: Select all

env YABRIDGE_DEBUG_FILE=/tmp/yabridge.log YABRIDGE_DEBUG_LEVEL=1 ardour6
And then open Ardour, load the plugin, and close Ardour again, /tmp/yabridge.log will contain a log file with a bunch of information. Could you upload that file somewhere? (either here, or on a pastebin, or somewhere else)
On Reaper it runs fine.
I reseted the Ardour config. The same result.
Here comes the log...
Attachments
yabridge.tar.gz
(29.41 KiB) Downloaded 130 times
robbert-vdh
Established Member
Posts: 219
Joined: Mon Mar 01, 2021 10:56 pm
Has thanked: 51 times
Been thanked: 92 times
Contact:

Re: [ANN] yabridge 3.4.0, with the first-ever Wine->X11 drag-and-drop support, a complete audio rewrite, and much more

Post by robbert-vdh »

luciorgomes wrote: Mon Jul 19, 2021 2:21 am
robbert-vdh wrote: Sun Jul 18, 2021 10:07 pm
luciorgomes wrote: Sun Jul 18, 2021 9:43 pm
I'm on wine-staging 6.12, Kubuntu 20.04.
When I load as stand alone the plugins get the right size. When in Ardour/Mixbus it runs in fullscreen unresizeble window (see pictures)
Just so we know if it's an Ardour issue or something else, do you have access to any other DAW to test this in? For instance, REAPER, Bitwig, or Qtractor. Does it also happen there? If not, what happens when you reset your Ardour configuration? (rename ~/.config/ardour6 so you can rename it back later) And we will be able to tell if it's somehow the plugin returning a wrong size or if it's Ardour setting the wrong size for the window from the VST2 function calls Ardour is making. If you launch Ardour from the terminal with:

Code: Select all

env YABRIDGE_DEBUG_FILE=/tmp/yabridge.log YABRIDGE_DEBUG_LEVEL=1 ardour6
And then open Ardour, load the plugin, and close Ardour again, /tmp/yabridge.log will contain a log file with a bunch of information. Could you upload that file somewhere? (either here, or on a pastebin, or somewhere else)
On Reaper it runs fine.
I reseted the Ardour config. The same result.
Here comes the log...
The log is bit difficult to read because Ardour will always call effProcessEvents() every processing cycle, even if there are no events to process, but on line 9553 the plugin returns the correct size for the window. So Ardour is somehow ignoring the size reported by the plugin, and it's coming up with its own all by itself. Which version of Ardour are you using, and where did you get that Ardour build? Does this also happen when you use a nightly build of Ardour, downloaded from https://nightly.ardour.org? If it also happens there, then I'll have to ask the Ardour devs on IRC if they know why Ardour could be ignoring the plugin's reported size this way.
luciorgomes
Established Member
Posts: 120
Joined: Wed Feb 04, 2015 11:29 pm
Has thanked: 38 times
Been thanked: 7 times

Re: [ANN] yabridge 3.4.0, with the first-ever Wine->X11 drag-and-drop support, a complete audio rewrite, and much more

Post by luciorgomes »

robbert-vdh wrote: Mon Jul 19, 2021 10:01 am
luciorgomes wrote: Mon Jul 19, 2021 2:21 am
robbert-vdh wrote: Sun Jul 18, 2021 10:07 pm

Just so we know if it's an Ardour issue or something else, do you have access to any other DAW to test this in? For instance, REAPER, Bitwig, or Qtractor. Does it also happen there? If not, what happens when you reset your Ardour configuration? (rename ~/.config/ardour6 so you can rename it back later) And we will be able to tell if it's somehow the plugin returning a wrong size or if it's Ardour setting the wrong size for the window from the VST2 function calls Ardour is making. If you launch Ardour from the terminal with:

Code: Select all

env YABRIDGE_DEBUG_FILE=/tmp/yabridge.log YABRIDGE_DEBUG_LEVEL=1 ardour6
And then open Ardour, load the plugin, and close Ardour again, /tmp/yabridge.log will contain a log file with a bunch of information. Could you upload that file somewhere? (either here, or on a pastebin, or somewhere else)
On Reaper it runs fine.
I reseted the Ardour config. The same result.
Here comes the log...
The log is bit difficult to read because Ardour will always call effProcessEvents() every processing cycle, even if there are no events to process, but on line 9553 the plugin returns the correct size for the window. So Ardour is somehow ignoring the size reported by the plugin, and it's coming up with its own all by itself. Which version of Ardour are you using, and where did you get that Ardour build? Does this also happen when you use a nightly build of Ardour, downloaded from https://nightly.ardour.org? If it also happens there, then I'll have to ask the Ardour devs on IRC if they know why Ardour could be ignoring the plugin's reported size this way.
Ardour 6.8 built in my machine (the 'stable' version, not nightly build). It also happens in Mixbus (6.2.70 - binaries from Mixbus).
robbert-vdh
Established Member
Posts: 219
Joined: Mon Mar 01, 2021 10:56 pm
Has thanked: 51 times
Been thanked: 92 times
Contact:

Re: [ANN] yabridge 3.4.0, with the first-ever Wine->X11 drag-and-drop support, a complete audio rewrite, and much more

Post by robbert-vdh »

luciorgomes wrote: Tue Jul 20, 2021 1:37 am
robbert-vdh wrote: Mon Jul 19, 2021 10:01 am The log is bit difficult to read because Ardour will always call effProcessEvents() every processing cycle, even if there are no events to process, but on line 9553 the plugin returns the correct size for the window. So Ardour is somehow ignoring the size reported by the plugin, and it's coming up with its own all by itself. Which version of Ardour are you using, and where did you get that Ardour build? Does this also happen when you use a nightly build of Ardour, downloaded from https://nightly.ardour.org? If it also happens there, then I'll have to ask the Ardour devs on IRC if they know why Ardour could be ignoring the plugin's reported size this way.
Ardour 6.8 built in my machine (the 'stable' version, not nightly build). It also happens in Mixbus (6.2.70 - binaries from Mixbus).
Did you try that latest nightly? And does it also happen with other WMs/DEs?
robbert-vdh
Established Member
Posts: 219
Joined: Mon Mar 01, 2021 10:56 pm
Has thanked: 51 times
Been thanked: 92 times
Contact:

Re: [ANN] yabridge 3.4.0, with the first-ever Wine->X11 drag-and-drop support, a complete audio rewrite, and much more

Post by robbert-vdh »

luciorgomes wrote: Sun Jul 18, 2021 9:43 pm
robbert-vdh wrote: Sun Jul 18, 2021 4:37 pm It's definitely not just related to KDE Plasma. I've been using KDE Plasma since way before I started work on yabridge, and I've never seen this (nor has it happened for anyone else). So something else must be at play here. What Wine version are you using, and does this also happen with a clean Wine prefix (to account for things like the virtual desktop option being enabled, although it still works just fine for me even with that option enabled)?
I'm on wine-staging 6.12, Kubuntu 20.04.
When I load as stand alone the plugins get the right size. When in Ardour/Mixbus it runs in fullscreen unresizeble window (see pictures)
I don't know why your Ardour was doing this, but I've rewritten how the embedding works and now DAWs should no longer be able to get confused about the window's size (for some reason on your computer Ardour resizes the window to the Wine window's size, instead of to size reported by the plugin). Could you give this a try? You can find the latest build on the automated builds page. Log into GitHub, select the latest build from that page, scroll down the build page, and then download the yabridge and yabridgectl binaries for your system. You'll need to replace the existing files in `~/.local/share/yabridge` with the ones from the archive (it's a zipped tarball, thanks Microsoft), and also place the yabridgectl binary in `~/.local/share/yabridge`. Then rerun `~/.local/share/yabridge/yabridgectl sync` to finish the upgrade.

Please let me know if this works for you!

You can find an in-progress changelog here: https://github.com/robbert-vdh/yabridge ... ANGELOG.md
luciorgomes
Established Member
Posts: 120
Joined: Wed Feb 04, 2015 11:29 pm
Has thanked: 38 times
Been thanked: 7 times

Re: [ANN] yabridge 3.4.0, with the first-ever Wine->X11 drag-and-drop support, a complete audio rewrite, and much more

Post by luciorgomes »

robbert-vdh wrote: Wed Jul 21, 2021 3:26 pm
luciorgomes wrote: Sun Jul 18, 2021 9:43 pm
robbert-vdh wrote: Sun Jul 18, 2021 4:37 pm It's definitely not just related to KDE Plasma. I've been using KDE Plasma since way before I started work on yabridge, and I've never seen this (nor has it happened for anyone else). So something else must be at play here. What Wine version are you using, and does this also happen with a clean Wine prefix (to account for things like the virtual desktop option being enabled, although it still works just fine for me even with that option enabled)?
I'm on wine-staging 6.12, Kubuntu 20.04.
When I load as stand alone the plugins get the right size. When in Ardour/Mixbus it runs in fullscreen unresizeble window (see pictures)
I don't know why your Ardour was doing this, but I've rewritten how the embedding works and now DAWs should no longer be able to get confused about the window's size (for some reason on your computer Ardour resizes the window to the Wine window's size, instead of to size reported by the plugin). Could you give this a try? You can find the latest build on the automated builds page. Log into GitHub, select the latest build from that page, scroll down the build page, and then download the yabridge and yabridgectl binaries for your system. You'll need to replace the existing files in `~/.local/share/yabridge` with the ones from the archive (it's a zipped tarball, thanks Microsoft), and also place the yabridgectl binary in `~/.local/share/yabridge`. Then rerun `~/.local/share/yabridge/yabridgectl sync` to finish the upgrade.

Please let me know if this works for you!

You can find an in-progress changelog here: https://github.com/robbert-vdh/yabridge ... ANGELOG.md
Yeah!! :D

Now the window size is correct. I've got the build 1191.

Thanks!!!!
Attachments
yabridge20210722.png
yabridge20210722.png (226.27 KiB) Viewed 11942 times
robbert-vdh
Established Member
Posts: 219
Joined: Mon Mar 01, 2021 10:56 pm
Has thanked: 51 times
Been thanked: 92 times
Contact:

Re: [ANN] yabridge 3.4.0, with the first-ever Wine->X11 drag-and-drop support, a complete audio rewrite, and much more

Post by robbert-vdh »

luciorgomes wrote: Thu Jul 22, 2021 10:42 pm Yeah!! :D

Now the size of the window is correct. I've got the build 1191.

Thanks!!!!
Awesome! I'll spend a few more days testing for regressions (since the entire way editor embedding works has been reworked now), and then I'll make a release with this change and the other regression fixes and small new features.
robbert-vdh
Established Member
Posts: 219
Joined: Mon Mar 01, 2021 10:56 pm
Has thanked: 51 times
Been thanked: 92 times
Contact:

[ANN] yabridge 3.5.0, with lots of small fixes and a rewritten embedding implementation

Post by robbert-vdh »

This is mostly a bug fix update. I was going to do a quick 3.4.1 patch with a couple of fixes for regressions people had reported for yabridge 3.4.0, but then I got reports that with certain setups (I wasn't able to replicate it), Ardour might resize plugin editor windows to an incorrect size when using Ardour 6.8 in combination with an older version of XFCE. So I decided to take this opportunity to rewrite the editor embedding implementation to make sure that hosts that somehow ignore the editor size reported by the plugin can never guess the wrong size by themselves. And we also need to get to yabridge 3.11 for Workgroups somehow, right? This change should fix rare editor size issues with Ardour, a similar issue with Carla 2.3.1 (older and newer versions aren't affected), and also fixes another Ardour issue where resizing a VST3 editor past its original size might leave behind gray borders. I haven't been able to find any regressions during my testing in any of the VST2 and VST3 hosts listed in the readme, but please let me know if you do run into any new issues after these changes!

The other changes are mostly bug fixes and small quality of life improvements, like extra debugging options for GUI related issues, and additional warnings in case the system is configured in a way that might cause yabridge to crash. The full changelog with an exhaustive list of fixes and improvements can be found here:

https://github.com/robbert-vdh/yabridge ... /tag/3.5.0
User avatar
Toejam76
Established Member
Posts: 138
Joined: Sat Jun 20, 2020 10:41 am
Has thanked: 15 times
Been thanked: 21 times

Re: [ANN] yabridge 3.5.0, with lots of small fixes and a rewritten embedding implementation

Post by Toejam76 »

Not an issue or bug, just noticed that yabridge finds a bunch of non-vst dlls like:

Code: Select all

Cool2000/msvcrt20.dll :: VST2, 32-bit, copy
DAZ 3D/Bryce7/libmmd.dll :: VST2, 32-bit, copy
DAZ 3D/Bryce7/pncrt.dll :: VST2, 32-bit, copy
Steinberg/Vstplugins/KORG/MidiFilter.dll :: VST2, 32-bit, copy
Steinberg/Vstplugins/KORG/mixer1.dll :: VST2, 32-bit, copy
Steinberg/Vstplugins/KORG/mixer2.dll :: VST2, 32-bit, copy
Steinberg/Vstplugins/KORG/mixer3.dll :: VST2, 32-bit, copy
robbert-vdh
Established Member
Posts: 219
Joined: Mon Mar 01, 2021 10:56 pm
Has thanked: 51 times
Been thanked: 92 times
Contact:

Re: [ANN] yabridge 3.5.0, with lots of small fixes and a rewritten embedding implementation

Post by robbert-vdh »

Toejam76 wrote: Wed Jul 28, 2021 3:03 pm Not an issue or bug, just noticed that yabridge finds a bunch of non-vst dlls like:

Code: Select all

Cool2000/msvcrt20.dll :: VST2, 32-bit, copy
DAZ 3D/Bryce7/libmmd.dll :: VST2, 32-bit, copy
DAZ 3D/Bryce7/pncrt.dll :: VST2, 32-bit, copy
Steinberg/Vstplugins/KORG/MidiFilter.dll :: VST2, 32-bit, copy
Steinberg/Vstplugins/KORG/mixer1.dll :: VST2, 32-bit, copy
Steinberg/Vstplugins/KORG/mixer2.dll :: VST2, 32-bit, copy
Steinberg/Vstplugins/KORG/mixer3.dll :: VST2, 32-bit, copy
Those .dll files likely all expose a function called `main`, which is the entry point for legacy VST<2.4 plugins. So to a VST2 host, those would be correctly identified as VST2 plugins! (if they actually aren't VST2 plugins, then loading them would of course cause the application to crash since the entry point's function signature doesn't match up)
User avatar
Toejam76
Established Member
Posts: 138
Joined: Sat Jun 20, 2020 10:41 am
Has thanked: 15 times
Been thanked: 21 times

Re: [ANN] yabridge 3.5.0, with lots of small fixes and a rewritten embedding implementation

Post by Toejam76 »

It does crash the host, but in the case of reaper only once and then it gets blacklisted. I usually just restart or remove them manually if I don't forget. The yabridge blacklist function adds a path, but maybe it could also add specific dlls because some are in folders with valid VSTs by default like in the older version of Korg Legacy Collection. I guess that wouldn't happen natively on Windows. because there are no bridges for hosting involved.
robbert-vdh
Established Member
Posts: 219
Joined: Mon Mar 01, 2021 10:56 pm
Has thanked: 51 times
Been thanked: 92 times
Contact:

Re: [ANN] yabridge 3.5.0, with lots of small fixes and a rewritten embedding implementation

Post by robbert-vdh »

Toejam76 wrote: Wed Jul 28, 2021 4:20 pm It does crash the host, but in the case of reaper only once and then it gets blacklisted. I usually just restart or remove them manually if I don't forget. The yabridge blacklist function adds a path, but maybe it could also add specific dlls because some are in folders with valid VSTs by default like in the older version of Korg Legacy Collection. I guess that wouldn't happen natively on Windows. because there are no bridges for hosting involved.
Yes you can use `yabridgectl blacklist add` to have yabridgectl ignore these files. You'll only encounter this with older 32-bit plugins because those tend to be a mess. And this would of course also happen on Windows. Any VST2 host capable of loading 32-bit plugins will try to load these files, since they look like older VST2 plugins.
User avatar
Toejam76
Established Member
Posts: 138
Joined: Sat Jun 20, 2020 10:41 am
Has thanked: 15 times
Been thanked: 21 times

Re: [ANN] yabridge 3.5.0, with lots of small fixes and a rewritten embedding implementation

Post by Toejam76 »

Adding a path works, but with a dll:

Code: Select all

./yabridgectl blacklist add '/home/plasma/.wine/drive_c/Program Files (x86)/Steinberg/Vstplugins/KORG/MidiFilter.dll'
error: Found argument '/home/plasma/.wine/drive_c/Program Files (x86)/Steinberg/Vstplugins/KORG/MidiFilter.dll' which wasn't expected, or isn't valid in this context

If you tried to supply `/home/plasma/.wine/drive_c/Program Files (x86)/Steinberg/Vstplugins/KORG/MidiFilter.dll` as a PATTERN use `-- /home/plasma/.wine/drive_c/Program Files (x86)/Steinberg/Vstplugins/KORG/MidiFilter.dll`
Doing so, does this:

Code: Select all

./yabridgectl blacklist add `-- /home/plasma/.wine/drive_c/Program Files (x86)/Steinberg/Vstplugins/KORG/MidiFilter.dll`
bash: command substitution: line 1: syntax error near unexpected token `('
bash: command substitution: line 1: `-- /home/plasma/.wine/drive_c/Program Files (x86)/Steinberg/Vstplugins/KORG/MidiFilter.dll'
Did I get the syntax wrong? Tried blacklist -- 'path' too.
Last edited by Toejam76 on Wed Jul 28, 2021 5:06 pm, edited 1 time in total.
Post Reply