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
|
db1a51af5c
|
Add serialization primitives for VST3
|
2020-12-07 18:28:16 +01:00 |
|
Robbert van der Helm
|
2e9b100090
|
Add handlers for control messages and callbacks
|
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
|
b9e63ea335
|
Move the host guard handler to PluginBridge
|
2020-12-07 18:28:16 +01:00 |
|
Robbert van der Helm
|
c2d2ac8fbf
|
Inherit Vst3PluginBridge init from PluginBridge
|
2020-12-07 18:28:16 +01:00 |
|
Robbert van der Helm
|
6b9ae78b27
|
Factor out all plumbing in Vst2PluginBridge
So we can reuse it in Vst3PluginBridge later.
|
2020-12-07 18:28:16 +01:00 |
|
Robbert van der Helm
|
f845763af0
|
Print the plugin type during initialisation
|
2020-12-07 18:28:16 +01:00 |
|
Robbert van der Helm
|
c57fd67aa8
|
Don't store the Wine version as a field
It's only needed for the initialisation message, and it doesn't throw so
doing this later shouldn't make a difference.
|
2020-12-07 18:28:16 +01:00 |
|
Robbert van der Helm
|
3c72ab31f8
|
Shut up clang/ccls
|
2020-12-07 18:28:16 +01:00 |
|
Robbert van der Helm
|
ff2807c939
|
Add all the boilerplate for the Vst3PluginBridge
And now that I also have an idea of what the communication model will
look like, this can server as a base for instantiating plugins.
|
2020-12-07 18:28:16 +01:00 |
|
Robbert van der Helm
|
6e5aa1c1c6
|
Add the Vst3Bridge boilerplate
|
2020-12-07 18:28:16 +01:00 |
|
Robbert van der Helm
|
6179fddbc8
|
Do some more testing and print some plugin info
|
2020-12-07 18:28:16 +01:00 |
|
Robbert van der Helm
|
ebc7802c08
|
Patch Win32 module loading to use Boost.Filesystem
C++17's `<filesystem>` header still doesn't seem to work with winegcc.
|
2020-12-07 18:28:16 +01:00 |
|
Robbert van der Helm
|
0b462c034e
|
Allow loading VST3 modules
Doesn't actually work yet or do anything, but it compiles and it runs.
|
2020-12-07 18:28:16 +01:00 |
|
Robbert van der Helm
|
9291ae7e42
|
Include the Win32 module loading implementation
|
2020-12-07 18:28:16 +01:00 |
|
Robbert van der Helm
|
715a95075b
|
Add required compiler args to the Wine VST3 dep
|
2020-12-07 18:28:16 +01:00 |
|
Robbert van der Helm
|
e273051a6c
|
Add a Vst3Bridge implementation file
|
2020-12-07 18:28:16 +01:00 |
|
Robbert van der Helm
|
84e13e556c
|
Add #ifdef WITH_VST3 guards around VST3 hosting
|
2020-12-07 18:28:16 +01:00 |
|
Robbert van der Helm
|
3db099e0fc
|
Also make the GroupHost plugin type agnostic
|
2020-12-07 18:28:16 +01:00 |
|
Robbert van der Helm
|
0eb80fe866
|
Add a general entry point to HostBridge
Since for all plugin types we would need to start listening for incoming
events this way.
|
2020-12-07 18:28:16 +01:00 |
|
Robbert van der Helm
|
3dd5090023
|
Support multiple plugin types in individual host
|
2020-12-07 18:28:16 +01:00 |
|
Robbert van der Helm
|
41da621e29
|
Add a todo for decoupling Editor from VST2
|
2020-12-07 18:28:16 +01:00 |
|
Robbert van der Helm
|
eeb6acf8dd
|
Move event handling to a common HostBridge
|
2020-12-07 18:28:16 +01:00 |
|
Robbert van der Helm
|
a9b7a6a835
|
List VST3 support in the initialization message
|
2020-12-07 18:28:16 +01:00 |
|
Robbert van der Helm
|
969ad75da5
|
Add some more VST3 implementation considerations
|
2020-12-07 18:28:16 +01:00 |
|
Robbert van der Helm
|
2060606864
|
Add a list of things to watch out for with VST3
|
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
|
278cd2e710
|
Spawn all hosts directly using HostRequest
This way we can set the plugin type inside of the `Vst*PluginBridge`
instance.
|
2020-12-07 18:28:16 +01:00 |
|
Robbert van der Helm
|
e21d3e020f
|
Rename GroupRequest to HostRequest
We'll also use this to encode information in when launching
`yabridge-host.exe` for individually hosted plugins.
|
2020-12-07 18:28:16 +01:00 |
|
Robbert van der Helm
|
1c5a9423d2
|
Print the plugin type on initialization
|
2020-12-07 18:28:16 +01:00 |
|
Robbert van der Helm
|
f9bb3822de
|
Pass plugin type when calling the host application
|
2020-12-07 18:28:16 +01:00 |
|
Robbert van der Helm
|
1142c908df
|
Add serialization support for PluginType
|
2020-12-07 18:28:16 +01:00 |
|
Robbert van der Helm
|
67388dc2a6
|
Add a plugin type tag and conversion functions
|
2020-12-07 18:28:16 +01:00 |
|
Robbert van der Helm
|
47baef3107
|
Rename architecture related functions and structs
|
2020-12-07 18:28:16 +01:00 |
|
Robbert van der Helm
|
7fc7a51a46
|
Move PluginArchitecture to common
Along with the accompanying function to parse a PE32 file. We're going
to have to define some common tags for different plugin types.
|
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
|
555b442f75
|
Add a todo regarding benchmarking ad hoc sockets
|
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
|
5b2221b251
|
Add a (nonfunctional) VST3 entry point
|
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 |
|
Robbert van der Helm
|
46bc0301af
|
Move communication.h to communication/vst2.h
|
2020-12-07 18:28:16 +01:00 |
|
Robbert van der Helm
|
28fe0ecd60
|
Add [[maybe_unused]] to our constexpr constants
|
2020-12-07 18:28:16 +01:00 |
|
Robbert van der Helm
|
9c8b543d5d
|
Split serialization.h into common and VST2 parts
|
2020-12-07 18:28:16 +01:00 |
|
Robbert van der Helm
|
9ece1b916e
|
Rename plugin.cpp to vst2-plugin.cpp
|
2020-12-07 18:28:16 +01:00 |
|