Commit Graph

2892 Commits

Author SHA1 Message Date
Robbert van der Helm 423534f373 Implement Wine side for creating plugin instances 2022-09-11 19:18:03 +02:00
Robbert van der Helm e74c25445d Add messages for creating plugin instances 2022-09-11 19:18:03 +02:00
Robbert van der Helm 8c5fb448de Add stubs for a CLAP host proxy implementation 2022-09-11 19:18:03 +02:00
Robbert van der Helm bba5d34d41 Add a serialization struct for clap_host data 2022-09-11 19:18:03 +02:00
Robbert van der Helm 64bc31d819 Work around spurious GCC warning w/ string concat 2022-09-11 19:18:03 +02:00
Robbert van der Helm 49e3f7ff1e Capitalize CLAP plugin descriptor class name
To stay consistent with the rest of the naming.
2022-09-11 19:18:03 +02:00
Robbert van der Helm d0aeeaba2a Move CLAP version clamping to a function 2022-09-11 19:18:03 +02:00
Robbert van der Helm 41b2c2ea72 Fix bridged CLAP plugin names 2022-09-11 19:18:03 +02:00
Robbert van der Helm bdf0c10605 Add explicit move when creating factory 2022-09-11 19:18:03 +02:00
Robbert van der Helm 6137fe32ce Load the CLAP plugin factory
Creating the plugin still fails.
2022-09-11 19:18:03 +02:00
Robbert van der Helm c36590abf5 Add a basic CLAP plugin factory implementation
Which can only list plugins without creating them.
2022-09-11 19:18:03 +02:00
Robbert van der Helm 1339c20fc1 Implement the Wine side of listing plugins 2022-09-11 19:18:03 +02:00
Robbert van der Helm 9cea175f2a Globally ignore attribute warnings on Wine side
These started happening after Wine 5.12, and it doesn't look like it's
going to change.
2022-09-11 19:18:03 +02:00
Robbert van der Helm 6098ebc778 Add a TODO for speeding up VST3 compilation 2022-09-11 19:18:03 +02:00
Robbert van der Helm 15efbd462f Fix alignment in version out of sync warning 2022-09-11 19:18:03 +02:00
Robbert van der Helm e1efe52cfd Silence new ignored attributes warning 2022-09-11 19:18:03 +02:00
Robbert van der Helm d7266a1bc3 Bail when initializing CLAP entry point fails 2022-09-11 19:18:03 +02:00
Robbert van der Helm 7be78a16a3 Switch to a CLAP fork to fix Winelib usage
This adds missing calling conventions so calling Windows CLAP functions
doesn't result in undefined behavior and memory errors:
https://github.com/free-audio/clap/issues/153
2022-09-11 19:18:03 +02:00
Robbert van der Helm 1274edf649 Bail when loading incompatible CLAP plugins
Based on the version.
2022-09-11 19:18:03 +02:00
Robbert van der Helm e531334bde Initialize the CLAP entry point 2022-09-11 19:18:03 +02:00
Robbert van der Helm d289f6f8cf Free converted file paths in Xdnd proxy 2022-09-11 19:18:03 +02:00
Robbert van der Helm f671c28edb Mark the CLAP includes as system includes 2022-09-11 19:18:03 +02:00
Robbert van der Helm ec8028f78c Allow serializing CLAP plugin factory list message 2022-09-11 19:18:03 +02:00
Robbert van der Helm edc0cbbe38 Add serialization for enumerating CLAP factories 2022-09-11 19:18:03 +02:00
Robbert van der Helm 653a3a88cb Add serialization for CLAP plugin descriptors 2022-09-11 19:18:03 +02:00
Robbert van der Helm 38187241d4 Add a document outlining CLAP support status 2022-09-11 19:18:03 +02:00
Robbert van der Helm 8ec2996187 Send configuration to the CLAP plugin host 2022-09-11 19:18:03 +02:00
Robbert van der Helm f595a48fbd Enable CLAP support for plugin groups 2022-09-11 19:18:03 +02:00
Robbert van der Helm 7810c9d631 [yabridgectl] Add support for CLAP plugins
CLAP support in yabridge itself has barely started at this point, but
having yabridgectl up and running in advance seems useful.
2022-09-11 19:18:03 +02:00
Robbert van der Helm bfe3cab8d2 Add boilerplate for a CLAP bridge 2022-09-11 19:18:03 +02:00
Robbert van der Helm 8ef8a61e2b Add WantsConfiguration logging for CLAP 2022-09-11 19:18:03 +02:00
Robbert van der Helm 7a60cf37ea Fix typos 2022-09-11 19:18:03 +02:00
Robbert van der Helm 7f5e2e6a35 Change CLAP socket names for more clarity 2022-09-11 19:18:03 +02:00
Robbert van der Helm ffbed4ae17 Fix bridge function names in CLAP chainloader 2022-09-11 19:18:03 +02:00
Robbert van der Helm 77e703e9e3 Fix CLAP library name in generated config.h 2022-09-11 19:18:03 +02:00
Robbert van der Helm dd0ef70d3e Add CLAP module detection 2022-09-11 19:18:03 +02:00
Robbert van der Helm 707092086e Interact with CLAP bridge in libyabridge-clap.so 2022-09-11 19:18:03 +02:00
Robbert van der Helm 7206ed2621 Silence warning about unnecessary CLAP_EXPORT 2022-09-11 19:18:03 +02:00
Robbert van der Helm fcb2c85935 Add boilerplate for a CLAP plugin bridge 2022-09-11 19:18:03 +02:00
Robbert van der Helm eb2b12aa2b Add boilerplate for CLAP sockets 2022-09-11 19:18:03 +02:00
Robbert van der Helm 401ebb21ce Add minimal CLAP logger 2022-09-11 19:18:03 +02:00
Robbert van der Helm b7b6dff922 Add minimal boilerplate for CLAP serialization 2022-09-11 19:18:03 +02:00
Robbert van der Helm dc54d082a8 Rename factory function in CLAP chainloader
For consistency
2022-09-11 19:18:03 +02:00
Robbert van der Helm 1820a82bef Update out of date VST3 socket docs 2022-09-11 19:18:03 +02:00
Robbert van der Helm 09e6c6494e Add a CLAP plugin type
These aren't handled anywhere yet
2022-09-11 19:18:03 +02:00
Robbert van der Helm 54c506c703 Rename VST3 log_init_exception for consistency 2022-09-11 19:18:03 +02:00
Robbert van der Helm 6be5fbbcf4 Mention the CLAP feature in the init message 2022-09-11 19:18:03 +02:00
Robbert van der Helm 6df0741195 Prefix top level VST3 message types
CLAP will use a similar structure. Alternatively we could use
namespaces, but while that would solve clashes for the linker with the
way namespaces in C++ work it would still be ambiguous which one is
being referred to just looking at the code.
2022-09-11 19:18:03 +02:00
Robbert van der Helm 5b4dbdd890 Move get_request_variant template function
This needs to be specialized for the CLAP and VST3 request variant
types.
2022-09-11 19:18:03 +02:00
Robbert van der Helm 9edb4aa567 Move WantsConfiguration to common
We'll also need this for CLAP.
2022-09-11 19:18:03 +02:00