Commit Graph

2583 Commits

Author SHA1 Message Date
Robbert van der Helm cc7988867d [yabridgectl] Update dependencies 2022-05-19 22:56:03 +02:00
Robbert van der Helm 03c2acd578 Add a todo on the VST 3.7.5 moduleinfo format
Supporting this in yabridge would require parsing JSON. So unless this
feature is actually used, we should probably not bother.
2022-05-19 22:31:16 +02:00
Robbert van der Helm f33875b424 Update VST3 SDK version to 3.7.5 2022-05-19 22:19:42 +02:00
Robbert van der Helm 9ea547fa8e Update tested versions 2022-05-19 15:43:43 +02:00
Robbert van der Helm 95af37a22b Mention window manager control winecfg checkbox
For some reason some people have this unchecked, which will prevent
yabridge's embedding from working. I've only seen it happen twice, but
it might still be worth having it to have it documented.
2022-05-19 15:42:20 +02:00
Robbert van der Helm 162aeed661 Only set up VST3 SHM audio buffers in setActive()
This avoids doing the duplicate check (since both `setProcessing()` and
`setActive()` would be called), and this also gets rid of the assumption
added a couple commits ago that `setupProcessing()` is only ever called
once, which is not true.
2022-05-19 14:43:59 +02:00
Robbert van der Helm 8c10edf861 Add explicit virtual default destructors
We need to silence the warning about this because Steinberg doesn't
declare their base class destructors as virtual (because of Windows ABI
compatibility issues). But we can still do it inside of yabridge to have
at least a bit more safety.
2022-05-18 18:44:15 +02:00
Robbert van der Helm 3e73d60b78 Only resize VST3 shared memory buffers when needed
This is an optimization for the last commit (split into two for
readability's sake).
2022-05-18 18:16:14 +02:00
Robbert van der Helm dedcdefebf Allow resizing shared memory buffers in setActive
REAPER apparently changes bus arrangements between
`IAudioProcessor::setupProcessing()` and `IAudioProcessor::setActive()`.
2022-05-18 18:16:14 +02:00
Robbert van der Helm 5d9029d839 Store process setup data instead of offline flag
This is needed later when potentially reallocating the shared memory
during setActive().
2022-05-18 17:40:19 +02:00
Robbert van der Helm ff0598a982 Fix markup in the Bitwig 4.3 workaround note
Can't use Markdown inside of HTML in Markdown.
2022-05-15 02:42:30 +02:00
Robbert van der Helm 6efc69071e Fix building with -Dvst3=false #180 2022-05-14 13:19:20 +02:00
zewelor 0ac67c135f Update README.md
Fix bitwig version
2022-05-10 21:59:46 +02:00
Robbert van der Helm f76ba16a30 Add a note on Bitwig Studio 3.3 2022-05-10 15:58:08 +02:00
Robbert van der Helm 21609002f0 Update wine-tkg instructions in readme
Now that Linux 5.16 has been out for a bit.
2022-05-05 12:46:53 +02:00
Robbert van der Helm 6b22ac6e66 Remove very insightful comment
Not quite sure how this got here.
2022-05-03 17:44:18 +02:00
Robbert van der Helm 7d1af7a6da Remove the wine-tkg reference for Ubuntu
This guide is somewhat outdated now, and the builds linked there tend to
cause a lot of problems. On Ubuntu there's no proper solution to use a
Wine build with fsync at the moment. Your best bet will likely be to use
the non-makepkg wine-tkg build script and to either set up your `PATH`
so that those Wine binaries get used or to build your own package based
on that.
2022-04-29 14:13:06 +02:00
Robbert van der Helm 89378e8862 Handle dlsym() failures in chainloaders better
If these ever fail (because the function names change, not that that
should happen anytime soon) then you'll now get the expected logging
output instead of it just printing an assertion failure to the terminal.
2022-04-21 14:21:26 +02:00
Robbert van der Helm 958007b56d Mention the yabridge 4.0 VST2 install location
In case someone's running yabridge-git.
2022-04-19 12:33:49 +02:00
Robbert van der Helm e6517cadf0 Reword the package part of the usage section 2022-04-19 12:30:26 +02:00
Robbert van der Helm ae0237d93c [yabridgectl] Change copied to synced in status
This makes more sense since the symlink based installation method is no
more.
2022-04-18 15:51:01 +02:00
Robbert van der Helm 4e2f72d67a [yabridgectl] Don't skip over broken symlinks 2022-04-18 12:58:42 +02:00
Robbert van der Helm 8abb960813 [yabridgectl] List sync target dirs in status
This acts as a useful visual reminder.
2022-04-17 20:45:09 +02:00
Robbert van der Helm 3970bc7f52 [yabridgectl] Set up in ~/.vst/yabridge by default
Instead of creating `.so` files next to the VST2 plugin's `.dll` files.
This behavior is still available as an option. #123
2022-04-17 20:27:47 +02:00
Robbert van der Helm 5ea5968f96 [yabridgectl] Move subdirectory detection
Now this is done for every file as part of the scanning process.
2022-04-17 20:14:38 +02:00
Robbert van der Helm 797bc07753 [yabridgectl] Add option for VST2 install location 2022-04-17 18:50:56 +02:00
Robbert van der Helm ffddb06b28 Actually add the new merged host.cpp file
Kinda useful.
2022-04-16 23:29:57 +02:00
Robbert van der Helm b3efcf4e06 Merge yabridge-group.exe and yabridge-host.exe
They were 95% the same, so this makes a lot more sense this way. When
group host processes were introduced yabridge only did VST2 bridging,
but we already have a plugin type argument anyways so might as well
reuse that for group hosts.
2022-04-16 23:26:24 +02:00
Robbert van der Helm 4d9e865dd3 Define plugin and chainloader deps in own dir
Just like we already did for the plugin host.
2022-04-16 23:00:25 +02:00
Robbert van der Helm 6c815f4ca4 Disable LTO on the plugin libraries again
This reverts most of e9c8c69a80. This
change ended up breaking `libyabridge-vst2.so` in Bitwig for some
reason.
2022-04-16 22:30:36 +02:00
Robbert van der Helm 470f4dfaaa Remove the with- prefix from the build options 2022-04-16 21:13:46 +02:00
Robbert van der Helm 68b9e0f0f3 Update roadmap 2022-04-16 21:01:28 +02:00
Robbert van der Helm f62d06e085 [yabridgectl] Remove symlink installation method 2022-04-16 21:00:56 +02:00
Robbert van der Helm 9420bade62 Include the chainloader libraries in the artifacts 2022-04-16 20:38:35 +02:00
Robbert van der Helm 773b101cd4 Update error messages for chainloading changes 2022-04-16 20:37:11 +02:00
Robbert van der Helm 795ea70356 Strip chainloaders in CI builds 2022-04-16 20:37:11 +02:00
Robbert van der Helm a647e56499 Mention chainloading in meson introduction 2022-04-16 20:37:11 +02:00
Robbert van der Helm 3ed5db6b48 Remove chainloading from the roadmap
Since it's now been implemented.
2022-04-16 20:37:11 +02:00
Robbert van der Helm 135fed6f8c Mention chainloader libraries in packaging notes 2022-04-16 20:37:11 +02:00
Robbert van der Helm d2a21b28a8 [yabridgectl] Show VST2 library architecture
Just like it already did for the VST3 library. This information was not
necessary for the functionality of yabridgectl, but it does look nicer
this way.
2022-04-16 20:37:11 +02:00
Robbert van der Helm 585329541c [yabridgectl] Update to use chainloader libraries 2022-04-16 20:37:11 +02:00
Robbert van der Helm 8710b6d63d Add one last Hail Mary search to the chainloader 2022-04-16 20:37:11 +02:00
Robbert van der Helm 6f16eb5c76 Print library path in the initialization message
This is useful when chainloading, since it now tells you where eactly
it's loading the library from.
2022-04-16 20:37:11 +02:00
Robbert van der Helm d73a0041eb Find the correct library file from the chainloader
Instead of using this hardcdoed path.
2022-04-16 20:37:11 +02:00
Robbert van der Helm 85989f4c1d Also add a way to use logging library without Asio 2022-04-16 20:37:11 +02:00
Robbert van der Helm d63b4d2da5 Add the plugin library names to config.h.in 2022-04-16 20:37:11 +02:00
Robbert van der Helm 3cad93cb65 Move get_augmented_search_path to process library
We'll need this for the chainloader.
2022-04-16 20:37:11 +02:00
Robbert van der Helm c2794831da Add (for now, hardcoded) chainloader libraries 2022-04-16 20:37:11 +02:00
Robbert van der Helm 0487947d91 Export chainloader functions in the plugin libs
These can be called from the new chainlaoder libraries to use yabridge
without needing copies of the full fat `libyabridge-{vst2,vst3}.so`
libraries.
2022-04-16 20:37:11 +02:00
Robbert van der Helm d79663bdc1 Remove spurious underscores from socket files 2022-04-16 20:37:11 +02:00