mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-09 20:29:10 +02:00
Only suggest using symlinks with sandboxed plugins
Now that I think about it it's pretty obvious why symlinks only work with hosts that support plugin sandboxing (since your OS will never load two instaces of an identical .so file into the same process). Still, I find using symlinks in hosts that do sandbox their plugins to be very user friendly, especially while developing.
This commit is contained in:
+9
-2
@@ -6,6 +6,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|||||||
and this project adheres to [Semantic
|
and this project adheres to [Semantic
|
||||||
Versioning](https://semver.org/spec/v2.0.0.html).
|
Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
## [Unreleased]
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Changed installation recommendations to only install using symlinks with hosts
|
||||||
|
that support individually sandboxed plugins.
|
||||||
|
|
||||||
## [1.1.0] - 2020-05-07
|
## [1.1.0] - 2020-05-07
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
@@ -37,8 +44,8 @@ Versioning](https://semver.org/spec/v2.0.0.html).
|
|||||||
- Fixed plugins failing to load on certain versions of _Ubuntu_ because of
|
- Fixed plugins failing to load on certain versions of _Ubuntu_ because of
|
||||||
paths starting with two forward slashes.
|
paths starting with two forward slashes.
|
||||||
- Redirect the output from the Wine host process earlier in the startup process.
|
- Redirect the output from the Wine host process earlier in the startup process.
|
||||||
Otherwise errors printed startup won't be visible, making it very hard to
|
Otherwise errors printed during startup won't be visible, making it very hard
|
||||||
diagnose problems.
|
to diagnose problems.
|
||||||
|
|
||||||
## [1.0.0] - 2020-05-03
|
## [1.0.0] - 2020-05-03
|
||||||
|
|
||||||
|
|||||||
@@ -30,12 +30,12 @@ You can either download a prebuilt version of yabridge through the GitHub
|
|||||||
compile it from source using the instructions in the [build](#Building) section
|
compile it from source using the instructions in the [build](#Building) section
|
||||||
below.
|
below.
|
||||||
|
|
||||||
There are two ways to use yabridge. If you're using Bitwig Studio, then the
|
There are two ways to use yabridge. If your host supports plugin sanboxing, then
|
||||||
recommended installation method is to use symbolic links. The main advantage
|
the recommended installation method is to use symbolic links. The main advantage
|
||||||
here is that you will be able to update yabridge for all of your plugins in one
|
here is that you will be able to update yabridge for all of your plugins in one
|
||||||
go, and it avoids having to install anything outside of your home directory.
|
go, and it avoids having to either install outside of your home directory or to
|
||||||
Sadly, not all hosts support this behavior. The copy-based installation will
|
set up environment variables. Sadly, not all hosts support this behavior. The
|
||||||
work for all hosts.
|
copy-based installation will work for all hosts.
|
||||||
|
|
||||||
If you have downloaded the prebuilt version of yabridge or if have followed the
|
If you have downloaded the prebuilt version of yabridge or if have followed the
|
||||||
instructions from the [bitbridge](#32-bit-bitbridge) section below, then
|
instructions from the [bitbridge](#32-bit-bitbridge) section below, then
|
||||||
@@ -49,20 +49,23 @@ automatically detect and use the Wine prefix the plugin's `.dll` file is located
|
|||||||
in. Alternatively you could set the `WINEPREFIX` environment variable to
|
in. Alternatively you could set the `WINEPREFIX` environment variable to
|
||||||
override the Wine prefix for all instances of yabridge.
|
override the Wine prefix for all instances of yabridge.
|
||||||
|
|
||||||
### Symlinking (recommended with Bitwig Studio)
|
### Symlinking (recommended for Bitwig Studio)
|
||||||
|
|
||||||
This is the recommended way to use yabridge if you're using Bitwig Studio You
|
This is the recommended way to use yabridge if you're using Bitwig Studio or any
|
||||||
can either use the prebuilt binaries from the GitHub releases section, or you
|
other VST host that supports _invididually sandboxed plugins_. If you use Bitwig
|
||||||
can build yabridge directly from source. If you use the prebuilt binaries, then
|
Studio and you do not want to use the '_Individually_' plugin hosting mode, then
|
||||||
you can simply extract them to `~/.local/share/yabridge` or to anywhere else in
|
you should follow the instructions from the [copying](#Copying) section below
|
||||||
your home directory. If you choose to build from source, then you can use the
|
instead. For this installation method you can either use the prebuilt binaries
|
||||||
compiled binaries directly from the `build/` directory. For the section below
|
from the [GitHub releases](https://github.com/robbert-vdh/yabridge/releases)
|
||||||
I'm going to assume you've extracted the files to `~/.local/share/yabridge`.
|
section, or you can build yabridge directly from source. If you use the prebuilt
|
||||||
|
binaries, then you can simply extract them to `~/.local/share/yabridge` or to
|
||||||
|
any other location in your home directory. If you choose to build from source,
|
||||||
|
then you can use the compiled binaries directly from the `build/` directory. For
|
||||||
|
the section below I'm going to assume you've extracted the files to
|
||||||
|
`~/.local/share/yabridge`.
|
||||||
|
|
||||||
To set up yabridge for a VST plugin called
|
To set up yabridge for a VST plugin called `~/.wine/drive_c/Program Files/Steinberg/VstPlugins/plugin.dll`, simply create a symlink from
|
||||||
`~/.wine/drive_c/Program Files/Steinberg/VstPlugins/plugin.dll`,
|
`~/.local/share/yabridge/libyabridge.so` to `~/.wine/drive_c/Program Files/Steinberg/VstPlugins/plugin.so`, like so:
|
||||||
simply create a symlink from `~/.local/share/yabridge/libyabridge.so` to
|
|
||||||
`~/.wine/drive_c/Program Files/Steinberg/VstPlugins/plugin.so` like so:
|
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
ln -s ~/.local/share/yabridge/libyabridge.so "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins/plugin.so"
|
ln -s ~/.local/share/yabridge/libyabridge.so "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins/plugin.so"
|
||||||
@@ -84,9 +87,9 @@ find "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" -type f -iname '*.
|
|||||||
|
|
||||||
### Copying
|
### Copying
|
||||||
|
|
||||||
If your VST host does not have support for symlinked VST plugins, then you can
|
This installation method will work for all VST hosts. This works similar to the
|
||||||
also install yabridge by creating copies of the `libyabridge.so` file instead of
|
procedure described above, but using copies of `libyabridge.so` instead of
|
||||||
using symlinks. For this you will have to make sure that all four of the
|
symlinks. For this you will have to make sure that all four of the
|
||||||
`yabridge-host*` files from the downloaded archive are somewhere in the search
|
`yabridge-host*` files from the downloaded archive are somewhere in the search
|
||||||
path. The recommended way to do this is to download yabridge from the GitHub
|
path. The recommended way to do this is to download yabridge from the GitHub
|
||||||
[releases](https://github.com/robbert-vdh/yabridge/releases) section, extract
|
[releases](https://github.com/robbert-vdh/yabridge/releases) section, extract
|
||||||
@@ -95,12 +98,11 @@ all the files to `~/.local/share/yabridge`, and then add that directory to your
|
|||||||
package](https://aur.archlinux.org/packages/yabridge/) available if you're
|
package](https://aur.archlinux.org/packages/yabridge/) available if you're
|
||||||
running Arch or Manjaro.
|
running Arch or Manjaro.
|
||||||
|
|
||||||
The installation process for a plugin is the same as the procedure described
|
The setup process for a plugin is similar to the procedure described above.
|
||||||
above, but instead of creating a symlink from `libyabridge.so` to `plugin.so`,
|
Using the same example, if you have extracted yabridge's files to
|
||||||
you'll now have to create a copy. Using the same example, if you have extracted
|
`~/.local/share/yabridge` and you want to set up yabridge for a VST plugin
|
||||||
yabridge's files to `~/.local/share/yabridge` and you want to set up yabridge
|
called `~/.wine/drive_c/Program Files/Steinberg/VstPlugins/plugin.dll`, then you
|
||||||
for a VST plugin called `~/.wine/drive_c/Program Files/Steinberg/VstPlugins/plugin.dll`, then you should copy
|
should copy `~/.local/share/yabridge/libyabridge.so` to `~/.wine/drive_c/Program Files/Steinberg/VstPlugins/plugin.so`, like so:
|
||||||
`~/.local/share/yabridge/libyabridge.so` to `~/.wine/drive_c/Program Files/Steinberg/VstPlugins/plugin.so` like so:
|
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
cp ~/.local/share/yabridge/libyabridge.so "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins/plugin.so"
|
cp ~/.local/share/yabridge/libyabridge.so "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins/plugin.so"
|
||||||
|
|||||||
Reference in New Issue
Block a user