Skip to content

Releases: robbert-vdh/yabridge

5.1.0

23 Dec 15:51
Compare
Choose a tag to compare

If you need any help setting up yabridge or if you just want to keep up to date with new releases and important Wine related announcements, then feel free to join the Discord.

Added

  • The yabridge libraries now export a yabridge_version function that hosts can query to know that a plugin is a yabridge plugin, and which version of yabridge is in use. Ardour 8.2 will use this to fix a regression in Ardour 7.3 that could cause some VST3 plugins to freeze.

Changed

  • Parsing failures for yabridge.toml files will no longer cause plugins to fail to load. If this does happen, you'll now get a desktop notification and the plugin will simply use the default settings instead.

Fixed

  • Fixed freezes in new versions of Renoise when it tries to set DPI scaling for VST2 plugins.

yabridgectl

  • Yabridgectl's command line interface looks slightly differently again after some dependency updates. The behavior remains the same.
  • Some outdated warning messages have been updated to match yabridge's current state. There are also some additional warnings for common installation issues.

Packaging notes

  • This release includes a workaround to make bitsery compile with GCC 13 due to changes in transitive header includes.
  • The CLAP dependency has been updated to target version 1.1.9 (revision version update).
  • The asio dependency has been updated to target version 1.28.2.
  • The bitsery dependency has been updated to version 5.2.3 (revision version bump).
  • The function2 dependency has been updated to version 4.2.3 (revision version bump).
  • The ghc::filesystem dependency has been updated to version 1.5.14 (revision version bump).
  • The tomlplusplus dependency has been updated to target version 3.4.0.

Compatibility

These binaries are compiled on Ubuntu 20.04, and should work on any other distro that's newer than that.

Updating

To update from an older installation, simply overwrite your current yabridge and yabridgectl files with the ones downloaded below, and then rerun yabridgectl sync to complete the update.

5.0.5

07 May 10:56
Compare
Choose a tag to compare

If you need any help setting up yabridge or if you just want to keep up to date with new releases and important Wine related announcements, then feel free to join the Discord.

Changed

  • Parameter information for VST3 and CLAP plugins is now queried all at once. This should work around a bug in VST3 Kontakt that would cause loading patches with lots of exposed parameters to become very slow in REAPER (#236).
  • When dragging plugin windows around, yabridge now waits for the mouse buttons to be released before informing Wine about the window's new screen coordinates. This prevents constant flickering when dragging plugin windows around with some plugin and window manager combinations.
  • Since the above change limits the number of times a plugin GUI potentially has to redraw when dragging the window around to once, the workaround added to yabridge 5.0.2 for Audio Nebula Aurora FM implementing drawing in a very suboptimal way has be reverted. This removes flickering when resizing for a lot of plugin GUIs again.
  • Yabridge now preemptively unsets the WAYLAND_DISPLAY environment variable when launching Wine. Upstream Wine currently does not yet have a Wayland driver, but future versions may. When that happens yabridge's X11 window embedding may suddenly start breaking spectacularly. This change makes sure that Wine will keep using X11 even if Wayland support becomes available at some point.

Fixed

  • Fixed a race condition that could occur when a CLAP plugin instance would request a host callback while the host simultaneously tried to create another instance of the same plugin. This would result in a deadlock. An example of a plugin that triggered this is PolyChrome DSP's McRocklin Suite.
  • Mutually recursive callbacks are now enabled for more CLAP lifetime function calls. This was another change needed to avoid a deadlock in PolyChrome DSP's McRocklin Suite, as it changes its latency while being initialized.
  • Negative indices were not treated as invalid arguments in some of the VST3 interface implementations and could cause crashes if a plugin tried to query a parameter value with signed index -1. This has now been fixed. The issue only appeared with the VST3 validator, and not with any regular hosts or DAWs.

yabridgectl

  • VST 3.7.5 moduleinfo.json files without a Compatibility field are now supported. Previously this would result in a parsing error because the whole point of the moduleinfo.json files is to provide Compatibility mappings for older VST2 plugins.

Compatibility

The archive ending in -ubuntu-18.04.tar.gz is a compatibility release meant for older distros and is thus slightly larger in size. If you're using Ubuntu 18.04, Linux Mint 19, Debian 10, AV Linux MXE 2021, or any other distro that's older than Ubuntu 20.04, then you should use this archive instead of the regular release. If you need a build of yabridge for use with 32-bit plugin hosts, then you can find those on the automated builds page.

Updating

To update from an older installation, simply overwrite your current yabridge and yabridgectl files with the ones downloaded below, and then rerun yabridgectl sync to complete the update.

5.0.4

23 Feb 14:26
Compare
Choose a tag to compare

If you need any help setting up yabridge or if you just want to keep up to date with new releases and important Wine related announcements, then feel free to join the Discord.

Fixed

  • Fixed a regression from yabridge 4.0.0 where plugin groups would not exit correctly. When removing a plugin instance that was part of a plugin group, it would block until the group host process had exited. This in turn resulted in hangs if the group host process hosted more than one plugin instance.
  • Configuring the Meson build now works correctly on Wine 8.0 final. Meson's version comparison function considers 8.0 to be a lower version than 8.0rc2.
  • The tomlplusplus dependency in the Meson build new avoids linking against tomlplusplus' shared libraries. These were recently introduced, and depending on the build environment Meson may still try to link them despite tomlplusplus being used in headers only mode. This is to keep yabridge's plugin libraries free of dependencies outside of the C and C++ standard libraries, avoiding potential symbol clashes.

Packaging notes

  • The CLAP dependency has been updated to target version 1.1.7.
  • The tomlplusplus dependency has been updated to target version 3.3.0.

Compatibility

The archive ending in -ubuntu-18.04.tar.gz is a compatibility release meant for older distros and is thus slightly larger in size. If you're using Ubuntu 18.04, Linux Mint 19, Debian 10, AV Linux MXE 2021, or any other distro that's older than Ubuntu 20.04, then you should use this archive instead of the regular release. If you need a build of yabridge for use with 32-bit plugin hosts, then you can find those on the automated builds page.

Updating

To update from an older installation, simply overwrite your current yabridge and yabridgectl files with the ones downloaded below, and then rerun yabridgectl sync to complete the update.

5.0.3

23 Dec 20:37
Compare
Choose a tag to compare

If you need any help setting up yabridge or if you just want to keep up to date with new releases and important Wine related announcements, then feel free to join the Discord.

Changed

  • The yabridge 5.0.3 binaries up on the GitHub releases page (and in the yabridge-bin AUR package) now work again with every Wine version after Wine 5.7, including 7.21, 7.22, and the 8.0 release candidates. All workarounds for Wine 7.21 and 7.22 have been reverted. See Wine bug #53912 for more information.

Packaging notes

  • The VST3 dependency has been updated to target version 3.7.7 with tag v3.7.7_build_19-patched.
  • The CLAP dependency has been updated to target version 1.1.4.
  • The patch-vst3-sdk.sh script now applies a handwritten diff to the SDK instead of patching the SDK using sed. This makes it easier to use older (but still API-compatible) VST3 SDK versions with yabridge and it makes the patching less brittle. The patches can be found in tools/vst3-sdk-patches.
  • Since the workarounds from yabridge 5.0.1 and 5.0.2 have been reverted, the Meson build will now throw an error when trying to build against Wine 7.21, 7.22, or 8.0-rc1. Yabridge binaries built against these Wine versions will not work correctly.
  • Yabridge built against Wine 8.0-rc2 will also work with older Wine versions, including the aforementioned ones that previously required workarounds. Yabridge built against older Wine versions will not work with Wine 8.0-rc2 or later.
  • Unity builds can safely be re-enabled again.

Compatibility

The archive ending in -ubuntu-18.04.tar.gz is a compatibility release meant for older distros and is thus slightly larger in size. If you're using Ubuntu 18.04, Linux Mint 19, Debian 10, AV Linux MXE 2021, or any other distro that's older than Ubuntu 20.04, then you should use this archive instead of the regular release. If you need a build of yabridge for use with 32-bit plugin hosts, then you can find those on the automated builds page.

Updating

To update from an older installation, simply overwrite your current yabridge and yabridgectl files with the ones downloaded below, and then rerun yabridgectl sync to complete the update.

5.0.2

28 Nov 14:28
Compare
Choose a tag to compare

If you need any help setting up yabridge or if you just want to keep up to date with new releases and important Wine related announcements, then feel free to join the Discord.

Changed

  • The yabridge builds on the GitHub releases page now have the unity build option disabled. This may work around the same Wine bug #53912 mentioned in the last release, as the bug has not yet been fixed for Wine 7.22. Since this is a low level bug within Wine, there's no guarantee that everything will work correctly until the bug gets fixed. If you still experience crashes or freezes with yabridge, then do consider downgrading back to Wine Staging 7.20.
  • Yabridge's build system now errors out when enabling unity builds while compiling with Wine 7.21 and 7.22.

Fixed

  • Changed the behavior when setting window positions for yabridge's editor. This avoids a painfully slow redraw in the Audio Nebula Aurora FM plugin when dragging the editor window around. The change may also help with other slow to redraw GUI, and especially with window managers that send excessive events on window movement like in Cinnamon and XFCE.

Packaging notes

  • The --unity=on build option should be removed for the time being as this together with the VST3 SDK triggers the above mentioned Wine bug. Make sure to run yabridge-host.exe (just that, with no wine in front of it) at least once with Wine Staging 7.21 or 7.22 after building to make sure the build works correctly. It should print a usage message if it does.

Compatibility

The archive ending in -ubuntu-18.04.tar.gz is a compatibility release meant for older distros and is thus slightly larger in size. If you're using Ubuntu 18.04, Linux Mint 19, Debian 10, AV Linux MXE 2021, or any other distro that's older than Ubuntu 20.04, then you should use this archive instead of the regular release. If you need a build of yabridge for use with 32-bit plugin hosts, then you can find those on the automated builds page.

Updating

To update from an older installation, simply overwrite your current yabridge and yabridgectl files with the ones downloaded below, and then rerun yabridgectl sync to complete the update.

5.0.1

14 Nov 14:02
Compare
Choose a tag to compare

If you need any help setting up yabridge or if you just want to keep up to date with new releases and important Wine related announcements, then feel free to join the Discord.

The GitHub and yabridge-git builds of yabridge 5.0.1 are still affected by the WIne bug. For now it's best to just stick with Wine Staging 7.20.

Fixed

yabridgectl

  • Fixed converted VST 3.7.5 moduleinfo.json files being considered orphan files immediately after yabridgectl created them as part of the sync operation.

Compatibility

The archive ending in -ubuntu-18.04.tar.gz is a compatibility release meant for older distros and is thus slightly larger in size. If you're using Ubuntu 18.04, Linux Mint 19, Debian 10, AV Linux MXE 2021, or any other distro that's older than Ubuntu 20.04, then you should use this archive instead of the regular release. If you need a build of yabridge for use with 32-bit plugin hosts, then you can find those on the automated builds page.

Updating

To update from an older installation, simply overwrite your current yabridge and yabridgectl files with the ones downloaded below, and then rerun yabridgectl sync to complete the update.

5.0.0

02 Nov 17:48
Compare
Choose a tag to compare

I'm proud to announce the latest major yabridge release. I spent the last couple months working on support for bridging CLAP plugins. With yabridge 5.0 you can now use Windows CLAP plugins in native Linux CLAP hosts with full functionality. CLAP is a collaborative effort by a group of plugin and host developers of all backgrounds to create a permissively licensed extensible plugin standard that is simple while also catering to the needs of plugin developers, host developers, and musicians alike. When bridged under yabridge, these plugins are likely to have lower bridging overhead than their VST2 and VST3 counterparts while also being more responsive and offering better support for instrument plugins and parameter modulation.

The other changes in yabridge 5.0.0 are fairly minor. One quality of life improvement that may be relevant to users of more obscure distros is that yabridge now directly talks to the D-Bus daemon for sending its desktop notifications instead of relying on the notify-send command line utility, which may not be installed on those systems.

If you need any help setting up yabridge or if you just want to keep up to date with new releases and important Wine related announcements, then feel free to join the Discord.

Added

  • Yabridge 5.0 now supports bridging CLAP plugins in addition to its existing VST2 and VST3 plugin support. CLAP is a collaborative effort by a group of plugin and host developers of all backgrounds to create a permissively licensed extensible plugin standard that is simple while also catering to the needs of plugin developers, host developers, and musicians alike. When bridged under yabridge, these plugins are likely to have lower bridging overhead than their VST2 and VST3 counterparts while also being more responsive and offering better support for instrument plugins and parameter modulation.

    Yabridge 5.0.0's CLAP bridging supports all official CLAP 1.1 extensions except for the audio thread pool extension. Support for that extension will be added in a future yabridge release as Windows-only plugins that rely on the feature get released.

  • Desktop notifications no longer rely on the notify-send command line tool, and are now sent by directly talking to D-Bus instead. This ensures that you'll always see yabridge's notifications when something important happens, even when using more niche distros where you may not have notify-send installed by default.

  • A new editor_disable_host_scaling yabridge.toml compatibility option lets you prevent hosts from setting an explicit DPI scaling factor for a plugin's editor. In some cases this can help with inconsistent scaling when using HiDPI displays. This option affects both VST3 and CLAP plugins and it replaces the older vst3_no_scaling option.

Removed

  • The vst3_no_scaling compatibility option has been removed in favor of the new editor_disable_host_scaling option.

Changed

  • Slightly optimized the use of serialization buffers to reduce memory usage for VST3 audio threads. This change also potentially speeds up parameter information queries for parameters with lots of associated text.

Fixed

  • Fixed a minor memory leak in the Wine->X11 drag-and-drop implementation when converting Windows file paths.
  • Removed leftover debug prints when opening VST2 editors.

yabridgectl

  • Added support for setting up CLAP plugins.

Packaging notes

  • There are new libyabridge-clap.so and libyabridge-chainloader-clap.so files need to be included in the package.
  • The new CLAP support requires version 1.1.2 of the CLAP headers because earlier versions did not yet contain calling conventions. (free-audio/clap#153, free-audio/clap#154). Building against older versions will result in memory errors.
  • The VST3 dependency is now at tag v3.7.5_build_44-patched-2. The only difference with the previous v3.7.5_build_44-patched is a fixed version number in the meson.build file.
  • The Meson build now requires the libdbus-1 development package to be installed. Yabridge's binaries don't dynamically link against the shared library, but they do use the definitions from the headers to load libdbus-1.so.3 at runtime when it needs to send a desktop notification.

Compatibility

The archive ending in -ubuntu-18.04.tar.gz is a compatibility release meant for older distros and is thus slightly larger in size. If you're using Ubuntu 18.04, Linux Mint 19, Debian 10, AV Linux MXE 2021, or any other distro that's older than Ubuntu 20.04, then you should use this archive instead of the regular release. If you need a build of yabridge for use with 32-bit plugin hosts, then you can find those on the automated builds page.

Updating

To update from an older installation, simply overwrite your current yabridge and yabridgectl files with the ones downloaded below, and then rerun yabridgectl sync to complete the update.

4.0.2

27 Jun 14:18
Compare
Choose a tag to compare

If you need any help setting up yabridge or if you just want to keep up to date with new releases and important Wine related announcements, then feel free to join the Discord.

Fixed

  • Fixed a rare edge case where a Windows VST3 plugin would incorrectly be classified as a bundle-style plugin, which caused loading those plugins to fail. This could happen if the directory foo contained some random directory, containing another directory, containing foo.vst3. Yabridge always assumed this to be a bundle, even if it was not.
  • Fixed Full Bucket's Ragnarök causing some hosts to freeze when changing presets due to some mutually recursive function calls that weren't being handled as such.

yabridgectl

  • Parsing errors for plugin binaries are now non-fatal. This could happen if your Windows plugin directories contain text files with a .dll or .vst3 file extension. This would normally never happen, but it can still happen if you extracted those Windows plugins from a .zip file that was created on macOS. Don't ask me how or why.
  • Prematurely abort the yabridgectl sync process if ~/.vst/yabridge or ~/.vst3/yabridge are symlinks to a directory that's part of or contains one of yabridgectl's plugin search directories. This prevents an edge cases where VST2 plugin .dll files could be replaced by symlinks to themeselves.
  • Don't trigger a panic on yabridgectl sync if someone yabridgectl add'ed the inner contents of a Windows VST3 bundle. For the record, you really, really, really shouldn't be doing this.

Compatibility

The archive ending in -ubuntu-18.04.tar.gz is a compatibility release meant for older distros and is thus slightly larger in size. If you're using Ubuntu 18.04, Linux Mint 19, Debian 10, AV Linux MXE 2021, or any other distro that's older than Ubuntu 20.04, then you should use this archive instead of the regular release. If you need a build of yabridge for use with 32-bit plugin hosts, then you can find those on the automated builds page.

Updating

To update from an older installation, simply overwrite your current yabridge and yabridgectl files with the ones downloaded below, and then rerun yabridgectl sync to complete the update.

4.0.1

12 Jun 14:40
Compare
Choose a tag to compare

If you need any help setting up yabridge or if you just want to keep up to date with new releases and important Wine related announcements, then feel free to join the Discord.

Added

  • Added a system-asio build option to aid distro packaging.

Fixed

  • Fixed recent Arturia VST3 plugins running into memory errors at the end of a plugin scan in REAPER and Ardour. These plugins would try to read data in the Windows message loop without checking whether that data was initialized, after the data had just been deinitialized.

yabridgectl

  • Fixed a regression from yabridge 4.0.0 where VST3 plugins in the 'new' Windows VST3 bundle format, like Sforzando, were not set up correctly.

Packaging notes

  • The new system-asio build option forces Asio to be used from the standard include directories. Otherwise the dependency is defined as a regular Meson dependency. Asio does not have any pkgconfig or CMake build definitions, so it's impossible to detect its presence and version in a standard way. Because of that the Meson build will always fall back to using the included wrap dependency. Configuring the project with meson setup build -Dsystem-asio=true ... forces <asio.hpp> to be used instead.
  • The ghc_filesystem dependency now explicitly mentions the ghcFilesystem::ghc_filesystem CMake module. ghc::filesystem's naming is inconsistent so Meson can't detect the correct module automatically. It also doesn't expose a version, so even with this change version 1.5.12 of the upstream dependency still won't be detected correctly. There is a PR that fixes this.

Compatibility

The archive ending in -ubuntu-18.04.tar.gz is a compatibility release meant for older distros and is thus slightly larger in size. If you're using Ubuntu 18.04, Linux Mint 19, Debian 10, AV Linux MXE 2021, or any other distro that's older than Ubuntu 20.04, then you should use this archive instead of the regular release. If you need a build of yabridge for use with 32-bit plugin hosts, then you can find those on the automated builds page.

Updating

To update from an older installation, simply overwrite your current yabridge and yabridgectl files with the ones downloaded below, and then rerun yabridgectl sync to complete the update.

4.0.0

09 Jun 14:47
Compare
Choose a tag to compare

TL;DR: If you don't have the time to read the entire post, do make sure to still check out the first bullet under the 'yabridgectl' section of the changelog.

It's been a couple of months, but today's the day to finally release yabridge 4.0. The original plan was to also work on ARA2 support for this release, but most of these changes have already been sitting idly on the master branch since April as I didn't have any time to prepare a proper release in the meantime. So it seemed like a good idea to just get these things out of the way first, as there are a several significant quality of life improvements in here.

So, what changed? In short, almost everything. But, at least in theory, after the initial yabridgectl sync, everything should work exactly as it always has worked or better. All of these changes and many more are covered in more detail in the changelog. So if you're interested, then I encourage you to read that as well.

The biggest change in yabridge 4.0 is very technical, but it will improve the experience of using yabridge considerably. Yabridge has always consisted of two components: a plugin library a native VST2 or VST3 host can load, and a Wine plugin host application that can host Windows VST2 and VST3 plugins. Both components talk to each other to pass through messages or function calls, and they are thus coupled very tightly together. Because of that, updating one but not the other may result in crashes or other unexpected behavior. And as a result, you had to always rerun yabridgectl sync after updating yabridge in order to replace old yabridge library copies with fresh ones. This can be a problem when installing yabridge through a distro's package manager, as the package may have been updated without you realizing it. Yabridge would pop up a desktop notification warning you about this, but even that may not work if the old yabridge library copies were compiled against older version of Boost as the host would now be completely unable to load the plugin. To remedy these problems, yabridge 4.0 no longer copies the entire plugin libraries around. Instead, yabridgectl now using these new, dependencyless shim libraries while the main yabridge files stay in their place. These shim libraries are tiny plugins that simply search the system for the actual yabridge files, load them, and then forward all function calls to them. This somewhat resembles the chainloading process used by boot loaders, and yabridge thus borrows that term to refer to this process. As a result of this, yabridge plugins can no longer go out of sync as the chainloader will always load the correct version of the yabridge plugin library, even if you didn't rerun yabridgectl sync after an upgrade. In addition, this approach slightly reduces the time it takes to set up plugins, and plugins take up less disk space if you aren't using Btrfs or XFS (in which case yabridgectl uses reflinks instead of copies).

The second user facing change is that VST2 plugins are now set up in ~/.vst/yabridge by default, just like VST3 plugins are set up in ~/.vst3/yabridge. This way you only need to make sure your DAW searches through ~/.vst for VST2 plugins, and it will automatically be able to find all of your yabridge plugins. Be sure to read the bullet under the 'yabridgectl' section in the changelog for more detailed migration instructions, but the short version is that you simply need to make sure that your DAW searches for VST2 plugins in ~/.vst, and that it no longer searches for plugins in any of your Windows plugin directories. After running yabridgectl sync, yabridgectl will inform you about the leftover .so files in your Windows plugin directories from yabridge 3.x. Simply read through that list to make sure there's nothing in there that shouldn't be deleted, and then rerun the command as yabridgectl sync --prune to remove them. If you want to stick with the old way to set up VST2 plugins instead of them being set up in ~/.vst/yabridge, then there is an option available to do so through yabridgectl set.

There are many more noticeable changes, but the most important ones I should mention here are in yabridge's shared memory handling and in yabridgectl's post-installation setup checks. Yabridge uses desktop notifications to inform you about things that are going terribly wrong, and yabridgectl now also checks whether notify-send is installed after running yabridgectl sync. This ensures that you won't miss any important messages. The shared memory handling change relates to how yabridge handles the locking of shared memory. Yabridge uses shared memory to share audio buffers between the native plugin and the Wine plugin host, and it tries to lock that shared memory to main memory to prevent it from being swapped out to the disk. Previously yabridge would simply terminate if it couldn't do so, but now it will fall back to not using memory locking if the user doesn't have permissions to do so. It will, however, still show you an annoying desktop notification until you fix this.

On the backend side, a lot has changed. The biggest change is that the dependency on Boost has been completely removed, and everything has been reworked accordingly. This should make packaging easier, as yabridge now no longer depends on any system library other than the basic libraries needed to interact with X11. Some parts of Boost have been replaced by other headers-only libraries, while other parts now simply use custom implementations. All of this is explained in more detail in the 'Packaging notes' section of the changelog. Yabridgectl also lost its dependency on winedump, at least in most cases. It now tries to parse plugin libraries directly using the goblin binary parsing library. This should also speed up the syncing process. I did, however, run into one plugin that this new parser couldn't handle. If that happens then winedump will still be used instead.

There are many more changes, so I encourage you to read the full changelog below. Oh and on a completely unrelated note, I've been working on a CLAP and VST3 plugin framework and a suite of plugins in Rust, so be sure to check that out as well if you're interested: https://github.com/robbert-vdh/nih-plug

If you need any help setting up yabridge or if you just want to keep up to date with new releases and important Wine related announcements, then feel free to join the Discord.

Added

  • Yabridge 4.0 completely revamps the way plugin loading works to allow yabridge to be updated without breaking existing yabridge'd plugins while saving disk space on filesystems that don't support reflinks and speeding up the yabridgectl sync process. Up until this point, yabridgectl sync has always made copies of yabridge's libyabridge-vst2.so or libyabridge-vst3.so plugin libraries for every Windows plugin it sets up. These plugins are tightly coupled to the yabridge plugin host binaries, and updating one but not the other can thus cause issues. With yabridge 4.0, yabridgectl no longer copies the entire plugin libraries. Instead, it now creates copies of these new tiny dependencyless shim libraries. When loaded by a plugin host, these libraries locate the actual plugin libraries on the system and then transparently forward all entry point function calls to them as if the host was loading the yabridge plugin library directly. Yabridge internally calls these libraries chainloaders due to their similarity to the identically named functionality in boot loading process. This allows yabridge to be updated independently of these copied chainloading libraries. As such, it is no longer possible for yabridge to be out of sync after an update. If you use a distro packaged version of yabridge, then that means yabridge can now be updated safely without requiring any action from your side.
  • Added support for the effBeginLoadBank and effBeginLoadProgram VST2 opcodes for loading state as a program or a program bank.

Changed

  • Almost the entirety of yabridge's backend has been rewritten to get rid of all dependencies on the Boost libraries. As a consequence, the runtime dependency on Boost.Filesystem has also been removed. This makes packaging yabridge for distros easier, and it makes the packages more reliable by removing the need for yabridge to be rebuilt whenever Boost gets updated. Additionally, it also makes compiling slightly faster and the binaries are slightly smaller.
  • The functionality for the yabridge-group binaries has been merged into the yabridge-host binaries to reduce duplication.
  • When the user does not have the permissions to lock the shared audio buffers into memory, yabridge will now retry mapping the memory without locking it instead of immediately terminating the process. An annoying desktop notification will still be shown every time you load a plugin until you fix this however.
  • Yabridge now prints the path to the libyabridge-{vst2,vst3}.so library that's being used on startup. This tells you where the chainloader is loading the library file from. Because you can never have too much information, right?
  • The with-bitbridge, with-vst3, and with-winedbg build options have been renamed to bitbridge, vst3, and winedbg.
  • effProcessEvents VST2 calls are now filtered out from the log when YABRIDGE_DEBUG_LEVEL is set to 1.

Removed

  • Removed the with-static-boost build option since there's no longer a dependency on Boost.Filesystem.
  • Removed the yabridge-group binaries as they are now part of the yabridge-host binaries. This saves precious megabytes.

Fixed

  • Fixed manually changing channel counts with supported VST3 plugins in REAPER not working.
  • Fixed an obscure issue with VST3 plugins crashing in Ardour on Arch/Manjaro because of Ardour's misreported parameter queue lengths.
  • Fixed yabridge throwing...
Read more