Robbert van der Helm
4ca7ea17b2
Change terminology from 'VST' to 'plugin'
2022-09-11 19:18:03 +02:00
Robbert van der Helm
bf7280fc7e
Move Vst3MessageHandler to common and make generic
...
CLAP will use the same strategy.
2022-09-11 19:18:03 +02:00
Robbert van der Helm
ffad63d439
Add a CLAP chainloader
...
The functions it's supposed to load however don't exist yet.
2022-09-11 19:18:03 +02:00
Robbert van der Helm
98bb4a019b
Add CLAP whenever mentioning yabridge libs
2022-09-11 19:18:03 +02:00
Robbert van der Helm
36d2ca021b
Bump VST3 dependency version
2022-08-22 18:37:47 +02:00
Robbert van der Helm
637176541d
Remove old TODOs
2022-06-08 14:57:16 +02:00
Robbert van der Helm
d9de22ddbd
Add support for VST2 effBeginLoad{Bank,Program}
...
A user reported that REAPER was using these on the REAPER forum, but I
have not been able to reproduce that. And they went MIA after posting
about it. But hopefully this helps.
2022-06-08 14:27:04 +02:00
Robbert van der Helm
65cf9cd782
Increase VST2 buffer and MIDI serialization limits
...
This really, really shouldn't be needed, but some plugins do weird
things.
2022-05-26 12:57:18 +02:00
Robbert van der Helm
39605ef465
Increase MIDI event count limits for VST2
...
This really shouldn't be needed, but apparently there are plugins that
output more than 2048 events per buffer.
https://github.com/robbert-vdh/yabridge/issues/35#issuecomment-1138176117
2022-05-26 12:56:35 +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
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
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
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
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
d79663bdc1
Remove spurious underscores from socket files
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
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
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
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
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
c8bbdc4f54
Get rid of the last uses of Boost.Process
2022-04-16 20:37:10 +02:00
Robbert van der Helm
037d6ad5aa
Replace Boost.Process for the Wine plugin host
...
Now we use our own library for this, so we can drop the Boost.Filesystem
dependency after a couple more changes.
2022-04-16 20:37:10 +02:00
Robbert van der Helm
f79b0fd146
Fix Process file redirection
2022-04-16 20:37:10 +02:00
Robbert van der Helm
642c341d26
Handle waiting on a dead process
2022-04-16 20:37:10 +02:00
Robbert van der Helm
b6e63ea0d5
Add a function for searching through PATH
2022-04-16 20:37:10 +02:00
Robbert van der Helm
33b49dd7a5
Make the process building functions chainable
2022-04-16 20:37:10 +02:00
Robbert van der Helm
8d40341ade
Add a function for splitting search paths
2022-04-16 20:37:10 +02:00
Robbert van der Helm
a5ded46f27
Add a detach function to the process handles
2022-04-16 20:37:10 +02:00
Robbert van der Helm
75b3cf266d
Add Process functions for detached spawning
2022-04-16 20:37:10 +02:00
Robbert van der Helm
1df7abfb2c
Terminate handles when they get dropped
2022-04-14 23:42:12 +02:00
Robbert van der Helm
a324042695
Use custom process library for notifications
...
Instead of using Boost.Process here. Last usage of Boost.Process is for
launching the child process.
2022-04-14 23:42:12 +02:00
Robbert van der Helm
b80a30ba2a
Redirect STDERR to /dev/null in process spawn
2022-04-14 23:42:12 +02:00
Robbert van der Helm
006cc6f52a
Read the Wine version without Boost.Process
...
By spawning the process using posix_spawn and manually reading from a
pipe.
2022-04-14 23:42:12 +02:00
Robbert van der Helm
60e4619ef1
Move pid_running() to process.h
2022-04-14 23:42:12 +02:00
Robbert van der Helm
0d6738093c
Add a Boost.Process-like environment builder
...
We can use this with the `exec*e()` family of functions.
2022-04-14 23:42:12 +02:00
Robbert van der Helm
556b0e38f9
Replace Boost.Asio with standalone Asio library
...
We had to add an even hackier hack now to get Boost.Process to
interoperate with Asio's IO contexts. This will be replaced later when
we replace Boost.Process.
2022-04-14 23:42:12 +02:00
Robbert van der Helm
d2d4cf4ea9
Replace most uses of Boost.{Filesystem,Process}
...
With the `ghc::filesystem` dependency from the previous commit. If we
can replace the rest of the Boost.Filesystem dependency then we can get
rid the one nasty runtime dependency we have, and it will make
implementing the chainloading simpler since can reuse more code without
bringing in Boost.
2022-04-14 23:42:12 +02:00
Robbert van der Helm
45e5b06099
Fix Meson deprecation warning
2022-04-14 23:42:11 +02:00
Robbert van der Helm
6d02ceb277
Filter out effProcessEvents on verbosity level 1
2022-04-11 12:39:09 +02:00
Robbert van der Helm
4c4421d3e3
Don't requery the VST3 param change queues length
...
Since this shouldn't be able to change. Should speed up parameter
handling when many parameters are being automated.
2022-03-09 17:43:25 +01:00
Robbert van der Helm
823f6bb239
Prevent realtime scheduling for ad-hoc acceptors
...
I noticed that there were some realtime adhoc-acceptors running on my
system. That should of course not happen, since these only exist to
catch some sporadic (and likely as a result of a badly behaving plugin)
mutual recursion on the audio thread.
2022-02-08 02:20:18 +01:00
Robbert van der Helm
78f9b00a81
Fix missing option name in last commit
2022-01-15 14:32:51 +01:00