Commit Graph

496 Commits

Author SHA1 Message Date
Robbert van der Helm 7305178654 Fully implement the state extension 2022-09-27 15:20:15 +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 6ea6b0ed33 Remove old comment 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 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 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