Robbert van der Helm
168837c8ac
Always honor CLAP main thread requirement
...
If this ever becomes a bottleneck we can always decide to not do it
right there and then.
2022-09-13 18:20:33 +02:00
Robbert van der Helm
d5f4d563d4
Implement CLAP note ports extension
2022-09-13 18:20:33 +02:00
Robbert van der Helm
4f514a82ff
Add logging for CLAP note ports extension structs
2022-09-13 18:07:14 +02:00
Robbert van der Helm
1e6ff797a5
Add serialization structs for note ports extension
2022-09-13 16:58:38 +02:00
Robbert van der Helm
4dbd57d47c
Add logging for CLAP extension queries
2022-09-13 14:54:40 +02:00
Robbert van der Helm
a6fc745491
Remove unnecessary conditional from VST3 query log
2022-09-13 14:46:42 +02:00
Robbert van der Helm
c061f7b475
Mark audio ports extension as done
2022-09-13 14:34:48 +02:00
Robbert van der Helm
47a0fe984c
Fix prefixes in VST3/CLAP log requests
2022-09-12 20:42:45 +02:00
Robbert van der Helm
2a2831af96
Properly format is_input boolean in logs
2022-09-12 20:39:22 +02:00
Robbert van der Helm
bb3bc49c60
Fully implement the audio ports extension
2022-09-12 20:11:34 +02:00
Robbert van der Helm
31fdf9c3d8
Add a way to reconstruct audio port info
2022-09-12 20:11:19 +02:00
Robbert van der Helm
b2b01b5447
Add a strlcpy-like function for buffers
2022-09-12 20:11:06 +02:00
Robbert van der Helm
ec5b02815d
Use an enum for the audio port type
...
Otherwise we can't provide a static lifetime string pointer in the info
struct.
2022-09-12 20:11:06 +02:00
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