Commit Graph

2616 Commits

Author SHA1 Message Date
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
Robbert van der Helm 0ba0dab675 Add missing extern "C" to GetPluginFactory 2022-04-16 20:37:11 +02:00
Robbert van der Helm 6773305646 Allow including process.h without Asio support 2022-04-16 20:37:11 +02:00
Robbert van der Helm e9c8c69a80 Enable LTO for the non-Winelib targets 2022-04-16 20:37:10 +02:00
Robbert van der Helm 46af07748b Move desktop notifications to its own header
We'll need to use this from the chainloader.
2022-04-16 20:37:10 +02:00
Robbert van der Helm fde90d7bc3 Pass plugin path around instead of redetecting
This is now set only once at the top level. This is needed for the
chainloading to work because we'll need to set the path when we create
the bridge.
2022-04-16 20:37:10 +02:00
Robbert van der Helm 1fec4c8860 Change the description in the GPL header 2022-04-16 20:37:10 +02:00
Robbert van der Helm 88ac466501 Remove all references to Boost
Since we no longer depend on any of it.
2022-04-16 20:37:10 +02:00
Robbert van der Helm 7b3afa4043 Replace Boost.Dll with our own function
Now we no longer rely on anything from Boost. Later we'll move the path
detection to the very beginning of the plugin bridge initialization so
it can be set from the coming chainloader libraries.
2022-04-16 20:37:10 +02:00
Robbert van der Helm b2ffbb8b4d Also consider empty dirs for find_dominating_file
Just in case.
2022-04-16 20:37:10 +02:00
Robbert van der Helm c2de0cce2e Use our own export macro 2022-04-16 20:37:10 +02:00
Robbert van der Helm 6e2fff5710 Add size field in AudioShm move constructors 2022-04-16 20:37:10 +02:00
Robbert van der Helm 4e99afd53d Add a note on case sensitive extension matching 2022-04-16 20:37:10 +02:00
Robbert van der Helm b2a15620f3 Swap Boost.Container's small_vector out for LLVM's
This implementation misses a shrink to fit function, but reassigning the
vector with a fresh one should be equivalent.
2022-04-16 20:37:10 +02:00
Robbert van der Helm fd25010aca Replace Boost.Interprocess for audio-shm 2022-04-16 20:37:10 +02:00
Robbert van der Helm b2b6a606ea Silence -Wunused-result warnings 2022-04-16 20:37:10 +02:00
Robbert van der Helm 25f298636a Add now missing include 2022-04-16 20:37:10 +02:00
Robbert van der Helm 03dfc66e30 Remove obselete boost-fix header 2022-04-16 20:37:10 +02:00