1
0
Fork 0
Commit graph

2116 commits

Author SHA1 Message Date
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 c7d7a790c2 Add a todo for SIMD Diopser coefficent generation 2022-03-02 17:04:01 +01:00
Robbert van der Helm 75b1b13599 Fix the linear spread in Diopser
The old one wasn't what it said on the tin. Thing is, it actually
sounded much cooler, so I may bring it back as an option.
2022-03-02 16:49:16 +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 66012f9787 Update the bundler xtask and cargo subcommand docs 2022-03-02 11:19:35 +01:00
Robbert van der Helm 9d5de10d16 Use upstream vst3-sys again
Now that https://github.com/RustAudio/vst3-sys/pull/46 has been merged.
2022-03-02 10:36:38 +01:00
Robbert van der Helm 85ea65c080 Fix command name in cargo nih-plug usage string 2022-03-02 10:34:50 +01:00
Robbert van der Helm bb7a1c3586 Add a cargo-nih-plug usage example. 2022-03-02 10:29:42 +01:00
Robbert van der Helm fa7f9fd85b Provide a cargo subcommand for NIH-plug's bundler 2022-03-02 10:27:55 +01:00
Robbert van der Helm bfe93f8d90 Allow invoking the xtask library with custom args
Useful when providing a cargo sub command.
2022-03-02 10:19:53 +01:00
Robbert van der Helm 4e9f64f494 Add bundler support for VST2 plugins 2022-03-02 10:07:39 +01:00
Robbert van der Helm 8e0597b780 Move the xtask binary to a library
So you can use it in your own projects with minimal copying and pasting.
2022-03-02 10:02:03 +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 161d86ab49 Use the new SIMD helpers in Diopser 2022-03-01 21:40:21 +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 3f6f472a34 Use portable_simd from std instead of packed_simd
Since this seems to be the way forward and they encourage using the
feature flag instead of the using it as a separate crate.
2022-03-01 20:59:31 +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 92429e8b09 Add a link to the Rust Audio Discord 2022-03-01 18:48:00 +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