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
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