Robbert van der Helm
34f8d3b1d2
Update the copyright notices for 2021
2021-01-01 18:54:02 +01:00
Robbert van der Helm
42b9cf902c
Swap read_object arguments to match write_object
2020-12-30 16:38:19 +01:00
Robbert van der Helm
0a05558a8c
Make the persistent buffer thread local
...
Now that we allow ad hoc socket spawning for the audio sockets.
2020-12-29 00:39:23 +01:00
Robbert van der Helm
33806139e9
Revert "Allow disabling ad-hoc socket spawning"
...
It turns out we can't safely disable this, because in some situations we
still have these mutually recursive function calls. We could optimize
this a bit to have those calls be handled by the general sockets, but
this is much more manageable.
This reverts commit 415c1b5683 .
2020-12-29 00:25:44 +01:00
Robbert van der Helm
6b4df4d274
Explicitly include <mutex>
...
This is an indirect dependency in Boost 1.72/1.73, but not in older
versions.
2020-12-25 21:55:00 +01:00
Robbert van der Helm
7da5ec113c
Reuse buffers in VST3 audio processing
2020-12-25 16:22:53 +01:00
Robbert van der Helm
51877796fa
Add dedicated IAudioProcessor/IComponent sockets
...
This way every relevant object instance will get its own thread for
handling these calls. The alternative would be creating a full fat
Vst3MessageHandler pair for all object instances, but that would be a
huge waste.
2020-12-21 17:26:30 +01:00
Robbert van der Helm
415c1b5683
Allow disabling ad-hoc socket spawning
...
We'll need this for handling `IAudioProcessor` method calls in VST3. We
basically want a `Vst3MessageHandler` per `IAudioProcessor` instance,
but without the additional socket spawning or extra thread.
2020-12-21 15:45:47 +01:00
Robbert van der Helm
41b79720ca
Merge branch 'master' into feature/vst3
2020-12-11 00:50:43 +01:00
Robbert van der Helm
a16cf3015f
Fix deserializing into existing objects
...
`read_object()` was trying to create copies.
2020-12-07 18:28:16 +01:00
Robbert van der Helm
02dfe93ff0
Allow deserialization into an existing object
...
We're going to need this for VST3 because we're going to have to
explicitly instantiate our interface implementations since they need to
be able to perform complicated callbacks.
2020-12-07 18:28:16 +01:00
Robbert van der Helm
0819e9fda9
Request/send config for VST3 plugins
...
Using the new Vst3MessageHandler.
2020-12-07 18:28:16 +01:00
Robbert van der Helm
70405e8917
Encapsulate our VST3 message handling pattern
...
Similarly to how how we do it in `EventHandler`.
2020-12-07 18:28:16 +01:00
Robbert van der Helm
e889ad22e2
Only pass Logger reference to AdHocSocketHandler
...
The boolean flag wasn't used, and it doesn't make any sense in the
context of VST3.
2020-12-07 18:28:16 +01:00
Robbert van der Helm
19eb33a7e2
Add a AdHocSocketHandler::receive_multi overload
...
With only a single callback.
2020-12-07 18:28:16 +01:00
Robbert van der Helm
ab7449a0e0
Add control sockets to Vst3Sockets
2020-12-07 18:28:16 +01:00
Robbert van der Helm
f9a1bcd7bd
Split VST2 specific functionality into Vst2Logger
2020-12-07 18:28:16 +01:00
Robbert van der Helm
2230b5099f
Move logger to common/logging/common.h
2020-12-07 18:28:16 +01:00
Robbert van der Helm
687696ec6b
Reimplement EventHandler on top of AdHocSocketHandler
2020-12-07 18:28:16 +01:00
Robbert van der Helm
5607a643e4
Add a generic ad hoc socket listener
...
This is a generalized version of EventHandler.
2020-12-07 18:28:16 +01:00
Robbert van der Helm
fa719c286d
Create base class for sockets and derive from that
...
Now the host launching procedure can be agnostic of the socket
implementation.
2020-12-07 18:28:16 +01:00
Robbert van der Helm
bb85d99657
Rename 'Sockets' to 'Vst2Sockets'
2020-12-07 18:28:16 +01:00
Robbert van der Helm
2fbd14908a
Split communication/vst2.h into common and VST2
...
So we can reuse the generic bits for our VST3 implementation.
2020-12-07 18:28:16 +01:00