Commit Graph

2940 Commits

Author SHA1 Message Date
Robbert van der Helm dddcb84fd5 Implement the host side of the GUI functions 2022-09-29 19:57:31 +02:00
Robbert van der Helm d5909728da Remove unnecessary void value return 2022-09-29 19:57:31 +02:00
Robbert van der Helm b4c8ba8ffb Add logging for the CLAP GUI extension 2022-09-29 19:57:31 +02:00
Robbert van der Helm 6d50d0b22b Add serialization structs for the GUI extension 2022-09-29 19:57:31 +02:00
Robbert van der Helm f285805c57 Mention that event registry is not needed
With the current set of supported extensions
2022-09-28 16:01:39 +02:00
Robbert van der Helm 7305178654 Fully implement the state extension 2022-09-27 15:20:15 +02:00
Robbert van der Helm 225b5d7ef6 Add logging for the CLAP stream extension 2022-09-27 15:08:48 +02:00
Robbert van der Helm 9fa8aa034a Add a size function to the stream wrapper 2022-09-27 15:08:48 +02:00
Robbert van der Helm 67c6fa1563 Add serialization structs for the state extension 2022-09-27 15:08:48 +02:00
Robbert van der Helm 5621e8bf08 Add a serialization wrapper for streams 2022-09-27 15:08:48 +02:00
Robbert van der Helm 95c10952a2 Mark CLAP vtable methods as protected
Since they only make sense when called from the vtable.
2022-09-27 13:38:34 +02:00
Robbert van der Helm 0f711eed2a Remove unnecessary includes 2022-09-26 19:42:23 +02:00
Robbert van der Helm 6ea6b0ed33 Remove old comment 2022-09-26 19:42:23 +02:00
Robbert van der Helm 4ac0b60ca7 Fix typo 2022-09-26 19:42:23 +02:00
Robbert van der Helm c7ea37309d Implement the CLAP latency extension 2022-09-26 19:42:23 +02:00
Robbert van der Helm 3e0cd725a3 Document CLAP and VST3 logger method sections 2022-09-26 18:15:10 +02:00
Robbert van der Helm 2e851c4569 Reorder params::flush in logger
Since this has moved to the audio thread socket.
2022-09-26 18:15:10 +02:00
Robbert van der Helm de028faf70 Fully implement the CLAP tail extension
Trivial extension, but this required us to be able to send audio thread
callbacks first.
2022-09-26 18:15:10 +02:00
Robbert van der Helm 53c9fbb376 Move supported extensions lists out of logger
Keeping this next to the supported extensions objects makes it easier to
maintain.
2022-09-26 17:43:55 +02:00
Robbert van der Helm 436efeae56 Fix thread local audio thread buffers
For CLAP and VST3, as mentioned in the last commit's changelog update.
2022-09-26 17:13:45 +02:00
Robbert van der Helm ca218cb596 Increase default serialization buffer size 2022-09-26 17:05:28 +02:00
Robbert van der Helm 8bc61837c9 Move the flush request to the audio thread 2022-09-26 16:47:46 +02:00
Robbert van der Helm 214ba51010 Add audio thread callbacks 2022-09-26 16:47:46 +02:00
Robbert van der Helm 0d472dcd58 Add CLAP audio thread callback sockets
The initialization here is a bit funky and happens in lockstep to ensure
both sides are synchronized.
2022-09-26 16:28:30 +02:00
Robbert van der Helm da97885062 Add logging for the CLAP tail extension 2022-09-25 19:38:17 +02:00
Robbert van der Helm da3386494f Rename CLAP audio thread sockets
So they're specifically for host->plugin control messages. We'll need
separate sockets for callbacks.
2022-09-25 17:15:50 +02:00
Robbert van der Helm f3e41d19ef Add a very minimal architecture entry for CLAP 2022-09-25 17:15:50 +02:00
Robbert van der Helm bd40379cf0 Add serialization structs for CLAP tail extension 2022-09-25 17:15:50 +02:00
Robbert van der Helm ca2e869ce2 Add a TODO for optimizing VST2 bridging 2022-09-25 15:05:59 +02:00
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 e0c260ba23 Rename the host extensions_ field 2022-09-23 20:34:51 +02:00
Robbert van der Helm 95be79adfe Add missing host side note-ports extension query 2022-09-23 20:34:51 +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 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