Commit Graph

2703 Commits

Author SHA1 Message Date
Robbert van der Helm 7ea29cdfed Add message structs for initializing plugins 2022-09-11 19:18:03 +02:00
Robbert van der Helm d1a38aec8e Rename vst to plugin in log message prefix 2022-09-11 19:18:03 +02:00
Robbert van der Helm d2fb84e529 Add CLAP plugin destroying
Everything else is still a stub, but at least the lifecycle now works
correctly.
2022-09-11 19:18:03 +02:00
Robbert van der Helm 54dd4c583f Fix use after move causing null pointer deref
C++ is a joy to work with.
2022-09-11 19:18:03 +02:00
Robbert van der Helm 82e552098a Store host pointer in the plugin proxy 2022-09-11 19:18:03 +02:00
Robbert van der Helm c98ca66838 Allow creating plugins instances 2022-09-11 19:18:03 +02:00
Robbert van der Helm a9bb60772d Add functions for registering CLAP plugin proxies 2022-09-11 19:18:03 +02:00
Robbert van der Helm bacda47671 Add stubs for a CLAP plugin proxy 2022-09-11 19:18:03 +02:00
Robbert van der Helm a1f73692cc Start CLAP audio thread socket
This doesn't do anything yet, but otherwise creating the plugin instance
stalls. And it's safer to add a dummy listener here for the time being
than to remove the latch and risk forgetting to add it back later.
2022-09-11 19:18:03 +02:00
Robbert van der Helm bca6588965 Fix clap_plugin_factory logging meesage 2022-09-11 19:18:03 +02:00
Robbert van der Helm 7575fb7af3 Ensure CLAP_ABI is set
This will avoid some potential issues when people try to build this
against old CLAP headers.
2022-09-11 19:18:03 +02:00
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