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
Robbert van der Helm
4291083a46
Rename PluginBridge to Vst2PluginBridge
2020-12-07 18:28:16 +01:00
Robbert van der Helm
6195caf53e
Move src/plugin-bridge to src/bridges/vst2
2020-12-07 18:28:16 +01:00
Robbert van der Helm
9d40e04a62
Update all references to libyabridge.so
2020-12-07 18:28:16 +01:00
Robbert van der Helm
84d00b568b
Add a more distinct wrapper around chunk data
2020-12-07 02:43:23 +01:00
Robbert van der Helm
7f7da50282
Log processing cycles on verbosity level 2
2020-12-07 02:08:03 +01:00
Robbert van der Helm
23d5567e72
Add a time info caching compatibility option #62
...
This is needed to get good performance out of SWAM Cello until this
issue is fixed by the plugin.
2020-11-30 14:49:02 +01:00
Robbert van der Helm
e08162fabf
Silence warnings on decltype() with Wine 5.22
...
There were already similar warnings on 32-bit winegcc, but now it also
happens on the 64-bit version. Instead of adding
`-Wno-ignored-attributes` we'll just sprinkle some warning ignores here
and there to prevent any other surprises.
2020-11-30 14:05:48 +01:00
Robbert van der Helm
cbf276b7dc
Hide all symbols by default
...
As mentioned by @abique. Could prevent issues caused by symbol clashes,
and it also greatly reduces the size of all binaries.
2020-11-27 20:40:59 +01:00