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
8bc61837c9
Move the flush request to the audio thread
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
bd40379cf0
Add serialization structs for CLAP tail extension
2022-09-25 17:15:50 +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
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
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
c061f7b475
Mark audio ports extension as done
2022-09-13 14:34:48 +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
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
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
c7f9b12ca6
Add clap_plugin msgs for everything except process
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
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
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
Robbert van der Helm
ec8028f78c
Allow serializing CLAP plugin factory list message
2022-09-11 19:18:03 +02:00
Robbert van der Helm
edc0cbbe38
Add serialization for enumerating CLAP factories
2022-09-11 19:18:03 +02:00
Robbert van der Helm
653a3a88cb
Add serialization for CLAP plugin descriptors
2022-09-11 19:18:03 +02:00
Robbert van der Helm
38187241d4
Add a document outlining CLAP support status
2022-09-11 19:18:03 +02:00
Robbert van der Helm
7a60cf37ea
Fix typos
2022-09-11 19:18:03 +02:00
Robbert van der Helm
b7b6dff922
Add minimal boilerplate for CLAP serialization
2022-09-11 19:18:03 +02:00
Robbert van der Helm
6df0741195
Prefix top level VST3 message types
...
CLAP will use a similar structure. Alternatively we could use
namespaces, but while that would solve clashes for the linker with the
way namespaces in C++ work it would still be ambiguous which one is
being referred to just looking at the code.
2022-09-11 19:18:03 +02:00
Robbert van der Helm
5b4dbdd890
Move get_request_variant template function
...
This needs to be specialized for the CLAP and VST3 request variant
types.
2022-09-11 19:18:03 +02:00
Robbert van der Helm
9edb4aa567
Move WantsConfiguration to common
...
We'll also need this for CLAP.
2022-09-11 19:18:03 +02:00
Robbert van der Helm
4ca7ea17b2
Change terminology from 'VST' to 'plugin'
2022-09-11 19:18:03 +02:00
Robbert van der Helm
bf7280fc7e
Move Vst3MessageHandler to common and make generic
...
CLAP will use the same strategy.
2022-09-11 19:18:03 +02:00
Robbert van der Helm
637176541d
Remove old TODOs
2022-06-08 14:57:16 +02:00