1
0
Fork 0
Commit graph

1087 commits

Author SHA1 Message Date
Robbert van der Helm
d1840b8d86 Move Box creation to the CLAP wrapper
So the new->destroy pair makes more sense
2022-03-03 15:01:28 +01:00
Robbert van der Helm
cd070ad876 Remove todo about latency not being implemented 2022-03-03 14:42:17 +01:00
Robbert van der Helm
fa01d3bfeb Generate most of ParamPtr with a macro 2022-03-03 14:28:52 +01:00
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