Commit Graph

2756 Commits

Author SHA1 Message Date
Robbert van der Helm b8eb8e62bc Remove excess line breaks in yabridgectl status 2022-09-23 20:34:25 +02:00
Robbert van der Helm 01b46fb60a [yabridgectl] Support $CLAP_PATH 2022-09-23 20:34:25 +02:00
Robbert van der Helm 4818bef537 Add serialization structs for parameters 2022-09-23 20:34:25 +02:00
Robbert van der Helm e26025f7c6 Allocate shared memory audio buffers for CLAP 2022-09-15 19:12:29 +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 cead56c9aa Skip main thread requirement in array lookups
This should be fine, right? We'll do it everywhere else, but especially
for parameters this is going to be very costly and may thus increase
plugin startup time by a noticeable amount if we spool every individual
call to the main thread.
2022-09-13 18:28:30 +02:00
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