mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-06-20 02:13:56 +02:00
Rewrite parts of the changelog
This commit is contained in:
+50
-45
@@ -24,14 +24,13 @@ TODO: Add an updated screenshot with some fancy VST3-only plugins to the readme
|
|||||||
hosts or plugins we could get our hands on, so please let me know if you run
|
hosts or plugins we could get our hands on, so please let me know if you run
|
||||||
into any weird behaviour! There's a list in the readme with all of the tested
|
into any weird behaviour! There's a list in the readme with all of the tested
|
||||||
hosts and their current VST3 compatibility status.
|
hosts and their current VST3 compatibility status.
|
||||||
- Added the `with-vst3` compile time option to control whether yabridge should
|
|
||||||
be built with VST3 support. This is enabled by default.
|
|
||||||
- Added an
|
- Added an
|
||||||
[option](https://github.com/robbert-vdh/yabridge#compatibility-options) to use
|
[option](https://github.com/robbert-vdh/yabridge#compatibility-options) to use
|
||||||
Wine's XEmbed implementation instead of yabridge's normal window embedding
|
Wine's XEmbed implementation instead of yabridge's normal window embedding
|
||||||
method. This can help reduce flickering with certain window managers. Some
|
method. This can help reduce flickering when dragging the window around with
|
||||||
plugins will have redrawing issues when using XEmbed or the editor might not
|
certain window managers. Some plugins will have redrawing issues when using
|
||||||
show up at all, so your mileage may very much vary.
|
XEmbed or the editor might not show up at all, so your mileage may very much
|
||||||
|
vary.
|
||||||
- Added a [compatibilty
|
- Added a [compatibilty
|
||||||
option](https://github.com/robbert-vdh/yabridge#compatibility-options) to
|
option](https://github.com/robbert-vdh/yabridge#compatibility-options) to
|
||||||
forcefully enable drag-and-drop support under _REAPER_. REAPER's FX window
|
forcefully enable drag-and-drop support under _REAPER_. REAPER's FX window
|
||||||
@@ -44,68 +43,73 @@ TODO: Add an updated screenshot with some fancy VST3-only plugins to the readme
|
|||||||
change the rate at which events are being handled. This usually also controls
|
change the rate at which events are being handled. This usually also controls
|
||||||
the refresh rate of a plugin's editor GUI. The default 60 updates per second
|
the refresh rate of a plugin's editor GUI. The default 60 updates per second
|
||||||
may be too high if your computer's cannot keep up, or if you're using a host
|
may be too high if your computer's cannot keep up, or if you're using a host
|
||||||
that never closes the editor such as Ardour.
|
that never closes the editor such as _Ardour_.
|
||||||
- Added a [compatibility
|
- Added a [compatibility
|
||||||
option](https://github.com/robbert-vdh/yabridge#compatibility-options) to
|
option](https://github.com/robbert-vdh/yabridge#compatibility-options) to
|
||||||
disable HiDPI scaling for VST3 plugins. At the moment Wine does not have
|
disable HiDPI scaling for VST3 plugins. At the moment Wine does not have
|
||||||
proper fractional HiDPI support, so some plugins may not scale their
|
proper fractional HiDPI support, so some plugins may not scale their
|
||||||
interfaces correctly when the host tells those plugins to scale their GUIs. In
|
interfaces correctly when the host tells those plugins to scale their GUIs. In
|
||||||
most cases setting the font DPI in `winecfg`'s graphics tab to 192 will also
|
some cases setting the font DPI in `winecfg`'s graphics tab to 192 will also
|
||||||
cause the GUIs to scale correctly at 200%.
|
cause the GUIs to scale correctly at 200%.
|
||||||
|
- Added the `with-vst3` compile time option to control whether yabridge should
|
||||||
|
be built with VST3 support. This is enabled by default.
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- `libyabridge.so` is now called `libyabridge-vst2.so`. If you're using
|
- `libyabridge.so` is now called `libyabridge-vst2.so`. If you're using
|
||||||
yabridgectl then nothing changes here. **To avoid any confusion in the future,
|
yabridgectl then nothing changes here. **To avoid any potential confusion in
|
||||||
please remove the old `libyabridge.so` file before upgrading.**
|
the future, please remove the old `libyabridge.so` file before upgrading.**
|
||||||
- Window closing is now deferred. This means that when closing the editor
|
- Window closing is now deferred. This means that when closing the editor
|
||||||
window, the host no longer has to wait for Wine to fully close the window.
|
window, the host no longer has to wait for Wine to fully close the window.
|
||||||
Most hosts already do something similar themselves, so this may not make any
|
Most hosts already do something similar themselves, so this may not always
|
||||||
difference in responsiveness.
|
make a difference in responsiveness.
|
||||||
- Slightly increased responsiveness when resizing plugin GUIs by preventing
|
- Slightly increased responsiveness when resizing plugin GUIs by preventing
|
||||||
unnecessary blitting. This also reduces flickering with plugins that don't do
|
unnecessary blitting. This also reduces flickering with plugins that don't do
|
||||||
double buffering.
|
double buffering.
|
||||||
- VST2 editor idle events are now handled slightly differently. This should
|
- VST2 editor idle events are now handled slightly differently. This should
|
||||||
result in even more responsive GUIs for VST2 plugins.
|
result in even more responsive GUIs for VST2 plugins.
|
||||||
- Win32 and X11 events in the Wine plugin host are now handled with lower
|
- Win32 and X11 events in the Wine plugin host are now handled with lower
|
||||||
scheduling priority than other tasks. With a properly configured system GUI
|
scheduling priority than other tasks. This might help get rid of potential DSP
|
||||||
drawing should not affect DSP load at all, but this should help with less than
|
latency spikes when having the editor open while the plugin is doing expensive
|
||||||
optimal setups where some people were getting DSP latency spikes while having
|
GUI operations.
|
||||||
plugin editor open.
|
|
||||||
- Yabridge handles realtime priority now slightly differently:
|
|
||||||
|
|
||||||
- Realtime priority on the plugin side is now a more granular. Instead of
|
|
||||||
setting everything to use `SCHED_FIFO`, only the spawned threads will be set
|
|
||||||
to realtime priority. This prevents changing the scheduling policy of your
|
|
||||||
host's GUI thread if your host instantiates plugins from its GUI thread like
|
|
||||||
REAPER does.
|
|
||||||
- Relaying messages printed by the plugin and Wine is now done without
|
|
||||||
realtime priority, as this could in theory cause issues with plugins that
|
|
||||||
produce a lot of fixmes.
|
|
||||||
- The realtime scheduling priorities of all audio threads on the Wine plugin
|
|
||||||
host are now periodically synchronized with those of the host's audio
|
|
||||||
threads.
|
|
||||||
|
|
||||||
- Opening and closing plugin editors is now also no longer done with realtime
|
- Opening and closing plugin editors is now also no longer done with realtime
|
||||||
priority. This should get rid of any latency spikes during those operations,
|
priority. This should get rid of any latency spikes during those operations,
|
||||||
as this could otherwise steal resources away from the threads that are
|
as this could otherwise steal resources away from the threads that are
|
||||||
processing audio.
|
processing audio.
|
||||||
- When `YABRIDGE_DEBUG_LEVEL` is set to 2 or higher and a plugin asks the host
|
- The way realtime priorities assigned has been overhauled:
|
||||||
for the current position in the song, yabridge will now also print the current
|
|
||||||
tempo to help debugging host bugs.
|
- Realtime scheduling on the plugin side is now a more granular. Instead of
|
||||||
- Changed part of the build process considering [this Wine
|
setting everything to use `SCHED_FIFO`, only the spawned threads will be
|
||||||
bug](https://bugs.winehq.org/show_bug.cgi?id=49138). Building with Wine 5.7
|
configured to use realtime scheduling. This prevents changing the scheduling
|
||||||
and 5.8 required a change, but that change now breaks builds using Wine 6.0
|
policy of your host's GUI thread if your host instantiates plugins from its
|
||||||
and up. The build process now detect which version of Wine is used to build
|
GUI thread like _REAPER_ does.
|
||||||
with, and it then applies the change conditionally to be able to support
|
- Relaying messages printed by the plugin and Wine is now done without
|
||||||
building with both older and newer versions of Wine.
|
realtime priority, as this could in theory cause issues with plugins that
|
||||||
- `yabridge-host.exe` will no longer remove the socket directories if they're
|
produce a steady stream of fixmes or other output.
|
||||||
outside of a temporary directory. This could otherwise cause a very unpleasant
|
- The realtime scheduling priorities of all audio threads in the Wine plugin
|
||||||
surprise if someone was passing random arguments to it when for instancing
|
host are now periodically synchronized with those of the host's audio
|
||||||
trying to write a wrapper around `yabridge-host.exe`.
|
threads.
|
||||||
|
|
||||||
- The architecture document has been updated for the VST3 support and it has
|
- The architecture document has been updated for the VST3 support and it has
|
||||||
been rewritten to talk more about the more interesting bits of yabridge's
|
been rewritten to talk more about the more interesting bits of yabridge's
|
||||||
implementation.
|
implementation.
|
||||||
|
- Part of the build process has been changed to account for [this Wine
|
||||||
|
bug](https://bugs.winehq.org/show_bug.cgi?id=49138). Building with Wine 5.7
|
||||||
|
and 5.8 required a change for `yabridge-host.exe` to continue working, but
|
||||||
|
that change now also breaks builds using Wine 6.0 and up. The build process
|
||||||
|
now detects which version of Wine is used to build with, and it will then
|
||||||
|
apply the change conditionally based on that to be able to support building
|
||||||
|
with both older and newer versions of Wine. This does mean that when you
|
||||||
|
switch to an older Wine version, you might need to run
|
||||||
|
`meson setup build --reconfigure` before rebuilding to make sure that these
|
||||||
|
changes take effect.
|
||||||
|
- `yabridge-host.exe` will no longer remove the socket directories if they're
|
||||||
|
outside of a temporary directory. This could otherwise cause a very unpleasant
|
||||||
|
surprise if someone were to pass random arguments to it when for instance
|
||||||
|
trying to write a wrapper around `yabridge-host.exe`.
|
||||||
|
- When `YABRIDGE_DEBUG_LEVEL` is set to 2 or higher and a plugin asks the host
|
||||||
|
for the current position in the song, yabridge will now also print the current
|
||||||
|
tempo to help debugging host bugs.
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
@@ -118,12 +122,13 @@ TODO: Add an updated screenshot with some fancy VST3-only plugins to the readme
|
|||||||
- Event handling is now temporarily disabled while plugins are in a partially
|
- Event handling is now temporarily disabled while plugins are in a partially
|
||||||
initialized state. The VST2 versions of **T-RackS 5** would have a chance to
|
initialized state. The VST2 versions of **T-RackS 5** would have a chance to
|
||||||
hang indefinitely if the event loop was being run before those plugins were
|
hang indefinitely if the event loop was being run before those plugins were
|
||||||
fully initialized because of a race condition within those plugins. This was
|
fully initialized because of a race condition within those plugins. This issue
|
||||||
issue only noticeable when using plugin groups.
|
was only noticeable when using plugin groups.
|
||||||
- Fixed a potential issue where an interaction between _Bitwig Studio_ and
|
- Fixed a potential issue where an interaction between _Bitwig Studio_ and
|
||||||
yabridge's input focus grabbing method could cause delayed mouse events when
|
yabridge's input focus grabbing method could cause delayed mouse events when
|
||||||
clicking on a plugin's GUI in Bitwig. This issue has not been reported for
|
clicking on a plugin's GUI in Bitwig. This issue has not been reported for
|
||||||
yabridge 2.2.1 and below, but it could in theory also affect those versions.
|
yabridge 2.2.1 and below, but it could in theory also affect older versions of
|
||||||
|
yabridge.
|
||||||
|
|
||||||
### yabridgectl
|
### yabridgectl
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user