1
0
Fork 0
Commit graph

28 commits

Author SHA1 Message Date
Robbert van der Helm
ab9adaf13e Update copyright notices for 2023
Happy new year!
2023-01-01 18:52:44 +01:00
Robbert van der Helm
aa7d5195ce Grab plugin URLs from the Cargo.toml file 2022-11-11 20:26:39 +01:00
Robbert van der Helm
a7e425581f Use CARGO_PKG_VERSION for plugin versions
Instead of duplicating this. Means that plugin versions only need to be
updated in the Cargo.toml file.
2022-11-11 03:15:05 +01:00
Robbert van der Helm
5ea2377c18 Replace AsyncExecutor with simple closure
This makes everything much simpler. The task type is now defined
directly on `Plugin`.
2022-10-22 02:01:03 +02:00
Robbert van der Helm
84f834abb6 Add AsyncExecutor support to ProcessContext 2022-10-22 02:01:03 +02:00
Robbert van der Helm
6ffa23971e Add AsyncExecutor support to InitContext 2022-10-22 00:21:08 +02:00
Robbert van der Helm
297ad2a83e Add an AsyncExecutor associated type to Plugin
This will make it possible to run background tasks in a type safe way.
Sadly, this does mean that every plugin now needs to define the type
alias and constructor function since Rust does not yet support defaults
for associated types.
2022-10-21 23:52:46 +02:00
Robbert van der Helm
c566888fa3 💥 Use interior mutability for parameters
Instead of the previous technically-unsound approach. While it wouldn't
cause any issues in practice, it did break Rust's guarantees. That was a
design choice after adding support for editors in NIH-plug, but this is
probably the better long term solution.

The downside is that all uses of `param.value` now need to be changed to
`param.value()`.
2022-09-06 21:57:24 +02:00
Robbert van der Helm
1a706ea1c7 Rename DEFAULT_NUM_INPUTS and DEFAULT_NUM_OUTPUTS 2022-08-19 14:34:21 +02:00
Robbert van der Helm
7cd7294b22 Make CLAP descriptions and special URLs optional
This closes #14.
2022-07-04 12:46:34 +02:00
Robbert van der Helm
c23cf8e7ee Announce zero latency when switching back to IIR 2022-06-07 20:36:02 +02:00
Robbert van der Helm
469e47e8bf Drop experimental label on FIR crossover 2022-06-07 20:32:55 +02:00
Robbert van der Helm
5a51dce00d Rework FIR crossover to use FFT convolution 2022-06-07 20:32:27 +02:00
Robbert van der Helm
2c48ceb392 Refactor IIR crossover process loop, disable FIR
The FIR crossover will need to use FFT convolution, so it can't use the
same loop. Because of that we'll need to rework the FIR crossover to not
use channel SIMD and to work on channel slices instead.
2022-06-07 16:13:39 +02:00
Robbert van der Helm
ac5796ee59 Move the Crossover biquad definition 2022-06-07 15:10:55 +02:00
Robbert van der Helm
4fad759d06 Mark the linear-phase LR24 crossover experimental
The low frequency performance is too poor at this filter size and the
DSP load impact is too high. This needs to be implemented using FFT
convolution instead.
2022-06-07 14:19:29 +02:00
Robbert van der Helm
8d70f172c3 Add a linear-phase FIR LR24 crossover option 2022-06-07 14:19:29 +02:00
Robbert van der Helm
06f5048b0b Add a crossover type parameter 2022-06-07 14:19:29 +02:00
Robbert van der Helm
694996dcf4 Move Crossover biquads to their own module 2022-06-07 14:19:29 +02:00
Robbert van der Helm
bfc472e49b Introduce a new enum for CLAP features
Based on the new CLAP 0.26 clap-features.h.
2022-06-02 01:16:30 +02:00
Robbert van der Helm
6996fdaed1 Update features names for CLAP 0.26 2022-06-02 00:52:13 +02:00
Robbert van der Helm
c9332d332b Somewhat mitigate phasing in crossovers 2022-05-29 16:57:39 +02:00
Robbert van der Helm
ebe2b24146 Add the actual crossovers to the Crossover plugin
That feeling when you write a whole bunch of garbage in one without
testing it go and it actually works.
2022-05-29 16:21:36 +02:00
Robbert van der Helm
33120ecfe7 Add biquad low- and high pass filters
We'll use these for LR24 crossovers.
2022-05-29 14:54:40 +02:00
Robbert van der Helm
99ba25d1bd Enable simd for the Crossover plugin 2022-05-29 14:54:28 +02:00
Robbert van der Helm
c83fb2863e Clear the main output in Crossover 2022-05-29 14:43:15 +02:00
Robbert van der Helm
c1d72f0e80 Add parameters for the Crossover plugin 2022-05-29 14:25:48 +02:00
Robbert van der Helm
87813fb9dc Add an empty crossover plugin 2022-05-29 13:42:45 +02:00