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