Robbert van der Helm
9e62d9a447
Add editor_disable_host_scaling support for CLAP
2022-10-01 00:38:17 +02:00
Robbert van der Helm
1b875ad286
Rename vst3_no_scaling to editor_disable_host_scaling
...
This will also affect CLAP plugins.
2022-10-01 00:37:58 +02:00
Robbert van der Helm
82840ab6df
Properly resize the CLAP editor window
2022-09-29 20:11:41 +02:00
Robbert van der Helm
4836546d08
Fully implement the CLAP GUI extension
2022-09-29 20:11:30 +02:00
Robbert van der Helm
d062e59ca2
Fix x11_window field type in set_parent struct
...
This needs to have the same size on all platforms, I didn't realize that
`clap_xwnd` used longs.
2022-09-29 20:04:19 +02:00
Robbert van der Helm
b5aaa02645
Add missing default cases
2022-09-29 20:01:05 +02:00
Robbert van der Helm
cd609fa90f
Implement the plugin side of the GUI functions
2022-09-29 20:01:05 +02:00
Robbert van der Helm
48a3c76fe6
Remove debug prints when opening VST2 editors
2022-09-29 19:57:31 +02:00
Robbert van der Helm
87a9ac75b9
Fully implement the host side GUI extension
2022-09-29 19:57:31 +02:00
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