Robbert van der Helm
0f58f3409b
Fully implement the CLAP params extension
2022-09-25 14:55:16 +02:00
Robbert van der Helm
5732b45769
Add a regular strlcpy implementation
...
That also works for buffers without a compile time known size.
2022-09-23 20:51:29 +02:00
Robbert van der Helm
f5fc2be377
Add logging for the params extension
2022-09-23 20:34:51 +02:00
Robbert van der Helm
4818bef537
Add serialization structs for parameters
2022-09-23 20:34:25 +02:00
Robbert van der Helm
7f07d5f29f
Change audio SHM buffer offsets to be in bytes
...
CLAP allows mixed precision ports. For instance, the main IO ports can
be 32-bit only, while some CV ports allow 64-bit audio. The plugin only
knows the sample format it receives when the process call happens, so
we'll always need to allocate enough space for that to work.
2022-09-15 18:07:56 +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
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
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
66350b7ec8
Update CLAP API support document
2022-09-12 16:56:32 +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
f64e5c4353
Add logging for 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
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
bca6588965
Fix clap_plugin_factory logging meesage
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
bba5d34d41
Add a serialization struct for clap_host data
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
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
6098ebc778
Add a TODO for speeding up VST3 compilation
2022-09-11 19:18:03 +02:00