1
0
Fork 0
Commit graph

784 commits

Author SHA1 Message Date
Robbert van der Helm
b5a471747f Add name, unit, and step count functions to Param
Now we can simplify ParamPtr by generating all of these accessors.
2022-03-03 13:55:54 +01:00
Robbert van der Helm
4eb35ed585 Implement the CLAP latency extension 2022-03-03 00:46:49 +01:00
Robbert van der Helm
c3efc81957 Remove old todo 2022-03-03 00:11:12 +01:00
Robbert van der Helm
41ee117bfa Prepent CLAP states with the length
To avoid having to read in chunks.
2022-03-02 22:25:10 +01:00
Robbert van der Helm
8cc216dc02 Actually support the state extension
That seems sort of useful, you know?
2022-03-02 16:26:47 +01:00
Robbert van der Helm
7e9eadfc64 Implement state handling for CLAP 2022-03-02 16:25:30 +01:00
Robbert van der Helm
ec452bd41d Also move state deserialization to a function 2022-03-02 16:00:11 +01:00
Robbert van der Helm
7a3d3b8c8e Move state serialization to a helper function
So we can reuse it for the CLAP wrapper.
2022-03-02 15:49:40 +01:00
Robbert van der Helm
bc2332801c Implement the CLAP audio ports extension 2022-03-02 15:16:58 +01:00
Robbert van der Helm
70c81642a5 Implement CLAP audio ports config extension 2022-03-02 14:57:30 +01:00
Robbert van der Helm
78b815fede Add consistent null pointer checks to CLAP wrapper
Just like we do for the VST3 wrapper.
2022-03-02 14:25:26 +01:00
Robbert van der Helm
5b369f6ab5 Re-introduce destructuring assignments
Now that that's landed on the stable compiler.
2022-03-02 02:03:57 +01:00
Robbert van der Helm
29c1b5e5d5 Clear input events in CLAP wrapper 2022-03-02 00:38:25 +01:00
Robbert van der Helm
69a085ddad Handle MIDI events for CLAP 2022-03-02 00:29:50 +01:00
Robbert van der Helm
0d359c344a Fix CLAP step count handling 2022-03-02 00:04:33 +01:00
Robbert van der Helm
37e88d063f Change bypassed Enabled label to Not Bypassed
To remove ambiguity.
2022-03-01 23:55:33 +01:00
Robbert van der Helm
fdda32696a Remove unused import 2022-03-01 23:50:41 +01:00
Robbert van der Helm
57ed66f8f6 Implement basic CLAP audio processing 2022-03-01 23:50:10 +01:00
Robbert van der Helm
a28e553fd2 Rename Block SIMD functions for more clarity
Because you could also do per-sample SIMD. For blocks that's simple
enough to do without any help though.
2022-03-01 21:59:12 +01:00
Robbert van der Helm
8c837573a0 Also add SIMD channel helpers for Block 2022-03-01 21:48:03 +01:00
Robbert van der Helm
33905e5bc2 Add optional SIMD helpers for channel buffers 2022-03-01 21:39:53 +01:00
Robbert van der Helm
8eafcebe62 Mention the panicking behavior of block smoothing 2022-03-01 20:23:04 +01:00
Robbert van der Helm
3e8b2b3759 Use AtomicRef instead of Mutexes for block smooth 2022-03-01 19:52:56 +01:00
Robbert van der Helm
3bd83ca55a Implement CLAP input parameter handling 2022-03-01 19:31:16 +01:00
Robbert van der Helm
09534a2657 Add a TODO regarding inlining iterators 2022-03-01 19:02:49 +01:00
Robbert van der Helm
5a005553bc Fix block length semantics 2022-03-01 17:55:38 +01:00
Robbert van der Helm
c3f4e7e2d9 Yield offsets in the block iterator 2022-03-01 17:46:34 +01:00
Robbert van der Helm
f389e0341e Also run buffer miri tests without miri 2022-03-01 17:43:04 +01:00
Robbert van der Helm
3122c0cb41 Pass block references to the block smoother
So you can't mess this up by passing the maximum block size instead.
2022-03-01 17:33:22 +01:00
Robbert van der Helm
dffddfaf04 Implement the block smoothers 2022-03-01 17:29:09 +01:00
Robbert van der Helm
17145a4482 Add a helper for initializing all block smoothers 2022-03-01 17:11:34 +01:00
Robbert van der Helm
d470a1db5a Add functions for allocating block smoothers 2022-03-01 17:07:03 +01:00
Robbert van der Helm
892aef7e37 Mark smoother functions as inline 2022-03-01 16:55:30 +01:00
Robbert van der Helm
f103e1e14c Reorder Param methods
Moving the things that are only used internally to the bottom.
2022-03-01 16:53:18 +01:00
Robbert van der Helm
e6292a4650 Add a usage example to Buffer::iter_blocks() 2022-03-01 16:16:13 +01:00
Robbert van der Helm
b177e3114c Add per-block iterators to Buffer 2022-03-01 16:03:13 +01:00
Robbert van der Helm
a58c796fc0 Add an output slices field to Buffer 2022-03-01 15:43:13 +01:00
Robbert van der Helm
6ded3d6f11 Use the thread check extension in the CLAP wrapper 2022-03-01 13:47:06 +01:00
Robbert van der Helm
afb9449df5 Reorder buffer module
To have the same definitions -> trait impls -> other impls structure as
most other modules.
2022-03-01 04:21:26 +01:00
Robbert van der Helm
d2517d6785 Rename Buffer::as_raw to Buffer::as_slice
Since things named `as_raw` usually involve pointers.
2022-03-01 04:18:06 +01:00
Robbert van der Helm
e5edbac2b4 Add comments for potential parameter quirks 2022-03-01 02:15:23 +01:00
Robbert van der Helm
5f1ebca6e6 Implement clap_plugin_params::get_value() 2022-03-01 02:00:12 +01:00
Robbert van der Helm
ae3c00d069 Implement CLAP parmater info 2022-03-01 01:54:04 +01:00
Robbert van der Helm
0fd80330bb Move parameter step count to ParamPtr 2022-03-01 01:53:48 +01:00
Robbert van der Helm
1c4a5bc4da Add stubs for the CLAP params extension 2022-03-01 01:27:01 +01:00
Robbert van der Helm
a268d71eee Add a note on snapping normalized values 2022-03-01 01:02:00 +01:00
Robbert van der Helm
08d63f0e73 Fix typo 2022-03-01 00:06:22 +01:00
Robbert van der Helm
ae212962a3 Add a todo for nested params objects 2022-02-28 22:16:46 +01:00
Robbert van der Helm
af77d45877 Add a Send+Sync wrapper for CLAP object pointers
We'll need this for the extensions.
2022-02-28 20:39:15 +01:00
Robbert van der Helm
12075b1a24 Rename main CLAP plugin wrapper struct to Wrapper 2022-02-28 20:25:49 +01:00