Commit Graph

3037 Commits

Author SHA1 Message Date
Robbert van der Helm 51edef4427 Deduplicate CLAP extension support queries
They're only queried once now and the booleans are derived from the
stored pointers.
2022-09-12 19:14:39 +02:00
Robbert van der Helm b31bee24b6 Store plugin and host extension struct pointers 2022-09-12 19:14:39 +02:00
Robbert van der Helm d2cbc2f2ab Add logging for audio ports messages 2022-09-12 19:14:39 +02:00
Robbert van der Helm 65658d3df4 Add serialization structs for audio ports 2022-09-12 19:14:35 +02:00
Robbert van der Helm fc43a0f012 Rename PrimitiveWrapper to PrimitiveResponse 2022-09-12 17:31:02 +02:00
Robbert van der Helm 22e0fee244 Move CLAP version serialization to version.h 2022-09-12 17:26:14 +02:00
Robbert van der Helm fa47274dd4 Add stubs for host side audio ports extension 2022-09-12 17:09:01 +02:00
Robbert van der Helm e39a43c38c Add stubs for plugin side audio ports extension 2022-09-12 17:03:12 +02:00
Robbert van der Helm 66350b7ec8 Update CLAP API support document 2022-09-12 16:56:32 +02:00
Robbert van der Helm a9e71becc9 Remove CLAP from the roadmap
Since we're working on it right now.
2022-09-12 16:55:54 +02:00
Robbert van der Helm 3ebccdb65b Detect and log support for audio-ports 2022-09-12 16:53:59 +02:00
Robbert van der Helm 0854deeae2 Silence spurious GCC warning in std::variant 2022-09-12 16:50:04 +02:00
Robbert van der Helm 833df917a7 Work around another spurious GCC warning 2022-09-12 16:22:28 +02:00
Robbert van der Helm ee3763fe49 Log instance ID in CLAP callback request logging 2022-09-12 16:19:40 +02:00
Robbert van der Helm 6d07cd5036 Update the readme for CLAP support
It's not even close to usable at the moment, but might as well.
2022-09-11 19:37:42 +02:00
Robbert van der Helm 73119be27b Add a TODO for a CLAP HiDPI override setting 2022-09-11 19:30:44 +02:00
Robbert van der Helm e7fe5426c8 Support the hide_daw option for CLAP. 2022-09-11 19:29:18 +02:00
Robbert van der Helm f64e5c4353 Add logging for CLAP callback requests 2022-09-11 19:18:03 +02:00
Robbert van der Helm 5d31191806 Implement CLAP callback requests 2022-09-11 19:18:03 +02:00
Robbert van der Helm 7151544f99 Add restart and process request callbacks 2022-09-11 19:18:03 +02:00
Robbert van der Helm f3d5dd78c4 Add a way to run functions on host main thread
From the plugin side.
2022-09-11 19:18:03 +02:00
Robbert van der Helm f460971165 Mark the include directories as is_system
This avoids warnings in third party code.
2022-09-11 19:18:03 +02:00
Robbert van der Helm e804fe3ce3 Add an MPMC queue 2022-09-11 19:18:03 +02:00
Robbert van der Helm 200bf1a84e Rename ClapHost::send_message()
To clarify that this is intended for main thread callbacks. Not that
outside of the thread pool extension there are any latency sensitive
audio thread callbacks.
2022-09-11 19:18:03 +02:00
Robbert van der Helm 218b919f32 Add message types for restart and process requests 2022-09-11 19:18:03 +02:00
Robbert van der Helm feae63b091 Implement start_processing, stop_processing, reset 2022-09-11 19:18:03 +02:00
Robbert van der Helm c676dfb651 Add CLAP plugin activation and deactivation
Shared memory audio buffers are not yet set up.
2022-09-11 19:18:03 +02:00
Robbert van der Helm d655320f7f Add logging for plugin (de)activation 2022-09-11 19:18:03 +02:00
Robbert van der Helm c7f9b12ca6 Add clap_plugin msgs for everything except process 2022-09-11 19:18:03 +02:00
Robbert van der Helm 8f8e7bac46 Add PrimitiveWrapper logging for CLAP 2022-09-11 19:18:03 +02:00
Robbert van der Helm a9a6e68fc0 Add dedicated PrimitiveWrapper logging for bools 2022-09-11 19:18:03 +02:00
Robbert van der Helm c0c2a61f03 Move PrimitiveWrapper to serialization common 2022-09-11 19:18:03 +02:00
Robbert van der Helm 6865cbd937 Implement CLAP plugin initialization 2022-09-11 19:18:03 +02:00
Robbert van der Helm bc2bad3e94 Add constructors for reading extension support 2022-09-11 19:18:03 +02:00
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