Skip to content

Releases: robbert-vdh/yabridge

5.1.1

04 Nov 21:06
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 DPI scaling causing windows contents to become larger than they should be when using Wine 9.17+ and Wine's font DPI scaling feature.
  • Fixed a potential segfault when unloading yabridge.

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