mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-10 04:30:12 +02:00
Add the double editor embedding mode to the readme
This commit is contained in:
@@ -165,7 +165,27 @@ yabridge is also able to load 32-bit VST plugins. The installation procedure for
|
|||||||
automatically detect whether a plugin is 32-bit or 64-bit on startup and it will
|
automatically detect whether a plugin is 32-bit or 64-bit on startup and it will
|
||||||
handle it accordingly.
|
handle it accordingly.
|
||||||
|
|
||||||
### Plugin groups
|
### Wine prefixes
|
||||||
|
|
||||||
|
It is also possible to use yabridge with multiple Wine prefixes. Yabridge will
|
||||||
|
automatically detect and use the Wine prefix the plugin's `.dll` file is located
|
||||||
|
in. Alternatively you could set the `WINEPREFIX` environment variable to
|
||||||
|
override the Wine prefix for all instances of yabridge.
|
||||||
|
|
||||||
|
### Configuration
|
||||||
|
|
||||||
|
Configuring yabridge for specific plugins is done through a `yabridge.toml` file
|
||||||
|
located in either the same directory as the symlink to or copy of
|
||||||
|
`libyabridge.so` you're trying to configure or in any of its parent directories.
|
||||||
|
This file contains case sensitive
|
||||||
|
[glob](https://www.man7.org/linux/man-pages/man7/glob.7.html) patterns that
|
||||||
|
paths of yabridge `.so` files relative to that `yabridge.toml` file. These
|
||||||
|
patterns can also match an entire directory to apply settings to all plugins
|
||||||
|
within that directory. For simplicity's sake, only the first `yabridge.toml`
|
||||||
|
file found and only the first matching glob pattern within that file will be
|
||||||
|
considered. See below for an [example](#example) of a `yabridge.toml` file.
|
||||||
|
|
||||||
|
#### Plugin groups
|
||||||
|
|
||||||
Some plugins have the ability to communicate with other instances of that same
|
Some plugins have the ability to communicate with other instances of that same
|
||||||
plugin or even with other plugins made by the same manufacturer. This is often
|
plugin or even with other plugins made by the same manufacturer. This is often
|
||||||
@@ -177,25 +197,39 @@ same process.
|
|||||||
|
|
||||||
Yabridge has the concept of _plugin groups_, which are user defined groups of
|
Yabridge has the concept of _plugin groups_, which are user defined groups of
|
||||||
plugins that will all be hosted inside of a single process. Plugins groups can
|
plugins that will all be hosted inside of a single process. Plugins groups can
|
||||||
be configured for a plugin by creating a `yabridge.toml` file in either the same
|
be configured for a plugin by setting the `group` option of that plugin to some
|
||||||
directory as the symlink of or copy to `libyabridge.so` or in any directories
|
name. All plugins with the same group name will be hosted within a single
|
||||||
above it. This file contains case sensitive
|
process. Of course, plugin groups with the same name but in different Wine
|
||||||
[glob](https://www.man7.org/linux/man-pages/man7/glob.7.html) patterns that are
|
prefixes and with different architectures will be run independently of each
|
||||||
used to match the paths of `.so` files relative to that `yabridge.toml` file.
|
other. See below for an [example](#example) of how these groups can be set up.
|
||||||
These patterns can also match an entire directory. For simplicity's sake, only
|
|
||||||
the first `yabridge.toml` file found and only the first glob pattern matched
|
#### Editor hosting modes
|
||||||
within that file will be considered. An example `yabridge.toml` file looks like
|
|
||||||
this:
|
The way yabridge embeds editor windows will work for most plugins. There is a
|
||||||
|
second embedding mode available that adds yet another layer of embedding. This
|
||||||
|
can be enabled by setting the `editor_double_embed` option to `true`. At the
|
||||||
|
moment the only known plugins that needs this are _PSPaudioware_ plugins with
|
||||||
|
expandable GUIs, as the plugins will otherwise draw in the wrong location after
|
||||||
|
expanding the GUI. This setting may be replaced in the future if we can come up
|
||||||
|
with a better solution. See below for an [example](#example) of how to set this
|
||||||
|
up.
|
||||||
|
|
||||||
|
#### Example
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
# ~/.wine/drive_c/Program Files/Steinberg/VstPlugins/yabridge.toml
|
# ~/.wine/drive_c/Program Files/Steinberg/VstPlugins/yabridge.toml
|
||||||
|
|
||||||
|
# All of these paths are relative to this file
|
||||||
|
|
||||||
["FabFilter Pro-Q 3.so"]
|
["FabFilter Pro-Q 3.so"]
|
||||||
group = "fabfilter"
|
group = "fabfilter"
|
||||||
|
|
||||||
["MeldaProduction/Tools/MMultiAnalyzer.so"]
|
["MeldaProduction/Tools/MMultiAnalyzer.so"]
|
||||||
group = "melda"
|
group = "melda"
|
||||||
|
|
||||||
|
["PSPaudioware"]
|
||||||
|
editor_double_embed = true
|
||||||
|
|
||||||
# Matches an entire directory and all files inside it, make sure to not include
|
# Matches an entire directory and all files inside it, make sure to not include
|
||||||
# a trailing slash
|
# a trailing slash
|
||||||
["ToneBoosters"]
|
["ToneBoosters"]
|
||||||
@@ -224,13 +258,6 @@ group = "This will be ignored!"
|
|||||||
# group = "all"
|
# group = "all"
|
||||||
```
|
```
|
||||||
|
|
||||||
### Wine prefixes
|
|
||||||
|
|
||||||
It is also possible to use yabridge with multiple Wine prefixes. Yabridge will
|
|
||||||
automatically detect and use the Wine prefix the plugin's `.dll` file is located
|
|
||||||
in. Alternatively you could set the `WINEPREFIX` environment variable to
|
|
||||||
override the Wine prefix for all instances of yabridge.
|
|
||||||
|
|
||||||
## Troubleshooting common issues
|
## Troubleshooting common issues
|
||||||
|
|
||||||
- If you're using the copy-based installation method and plugins are getting
|
- If you're using the copy-based installation method and plugins are getting
|
||||||
@@ -301,6 +328,9 @@ include:
|
|||||||
settings. I'm not sure whether this is an issue with Wine or the plugins
|
settings. I'm not sure whether this is an issue with Wine or the plugins
|
||||||
themselves. Notable issues here are missing redraws and incorrect positioning
|
themselves. Notable issues here are missing redraws and incorrect positioning
|
||||||
when the window gets dragged offscreen on the top and left dies of the screen.
|
when the window gets dragged offscreen on the top and left dies of the screen.
|
||||||
|
- **PSPaudioware** plugins with expandable GUIs, such as E27, may have their GUI
|
||||||
|
appear in the wrong location after the GUI has been expanded. You can enable
|
||||||
|
an alternative [editor hosting mode](#editor-hosting-modes) to fix this.
|
||||||
- Plugins like **FabFilter Pro-Q 3** that can share data between different
|
- Plugins like **FabFilter Pro-Q 3** that can share data between different
|
||||||
instances of the same plugin plugins have to be hosted within a single process
|
instances of the same plugin plugins have to be hosted within a single process
|
||||||
for that functionality to work. See the [plugin groups](#plugin-groups)
|
for that functionality to work. See the [plugin groups](#plugin-groups)
|
||||||
|
|||||||
Reference in New Issue
Block a user