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