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
211f6156a7
Get rid of the string conversion patch
...
This solved some compiler errors early on but it ended up not being
needed, and as it turns out this change actually breaks things because
the SDK uses a ton of reinterpret casts to convert between string types
internally.
2020-12-07 18:28:16 +01:00
Robbert van der Helm
8381b4a836
Link to shell32.dll
...
For some reason this is required on the Ubuntu 18.04 build, but not on
my computer nor on the Ubuntu 20.04 build all using the same version of
Wine and GCC.
2020-12-07 18:28:16 +01:00
Robbert van der Helm
a25aea1a76
Use consistent architecture naming for Wine deps
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
a4af1a2535
Fix compiling VST3 module system with winegcc
2020-12-07 18:28:16 +01:00
Robbert van der Helm
f3d17b5e99
Also patch string conversion for winelib
2020-12-07 18:28:16 +01:00
Robbert van der Helm
9a57ce0c5e
Use non-experimental <filesystem> in VST3 loading
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
06884ebf67
Also fix shlobj.h import casing
2020-12-07 18:28:16 +01:00
Robbert van der Helm
f51f920426
Move VST3 dependency defs to the rest of the deps
2020-12-07 18:28:16 +01:00
Robbert van der Helm
d848498d9b
Define all sources at the top of meson.build
...
To make things a bit more organized since it's growing a bit out of
hand.
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
cf72c13579
Add a define for VST3 support
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
a55fbb0daf
Mention the version and patches of the VST3 SDK
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
6c26168303
Patch the rest of the VST3 SDK for winegcc
2020-12-07 18:28:16 +01:00
Robbert van der Helm
e7e1387c30
Also patch pluginterfaces for winegcc compilation
2020-12-07 18:28:16 +01:00
Robbert van der Helm
7dc0be40a4
Move libyabridge-vst2.so definition to above VST3
2020-12-07 18:28:16 +01:00
Robbert van der Helm
b64c67d2ad
Patch VST3 SDK base to allow winelib compilation
2020-12-07 18:28:16 +01:00
Robbert van der Helm
c8d76d9c92
Add proper dependencies for the entire VST3 SDK
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