Robbert van der Helm
54f4b8a026
Read and write MIDI events in JACK standalone
...
The standalone itself does not yet pass these to the plugin.
2022-06-14 23:43:13 +02:00
Robbert van der Helm
0d2330d773
Add conversions from note events to MIDI
2022-06-14 23:28:12 +02:00
Robbert van der Helm
66f5a0e7de
Move MIDI parsing from CLAP wrapper to NoteEvent
2022-06-14 22:59:40 +02:00
Robbert van der Helm
4e021dd0bb
Add input and output events to Backend trait
2022-06-14 22:56:25 +02:00
Robbert van der Helm
e967e04856
Add auto connecting for JACK MIDI ports
2022-06-14 21:43:26 +02:00
Robbert van der Helm
5cd4bb8de0
Register JACK MIDI input and output ports
2022-06-14 21:32:29 +02:00
Robbert van der Helm
c7f6aa15f8
Add a standalone cli arg to connect JACK inputs
2022-06-14 20:08:36 +02:00
Robbert van der Helm
f30fe0dbc2
Fix macro name
2022-06-14 19:12:28 +02:00
Robbert van der Helm
be081f75ee
Install JACK headers on the CI
2022-06-14 19:06:39 +02:00
Robbert van der Helm
73d3281816
Log which backend is used in auto mode
2022-06-14 19:03:36 +02:00
Robbert van der Helm
7e0caa4c8d
Add audio support to the JACK backend
2022-06-14 18:59:54 +02:00
Robbert van der Helm
7216627a01
Create and connect JACK ports
2022-06-14 17:59:34 +02:00
Robbert van der Helm
10a55e1f00
Move standalone backends to their own modules
2022-06-14 17:31:45 +02:00
Robbert van der Helm
191d5383bd
Add boilerplate for an actual JACK implementation
2022-06-14 17:27:59 +02:00
Robbert van der Helm
e2099ec16c
Introduce an nih_error!() macro for fatal errors
2022-06-14 16:31:46 +02:00
Robbert van der Helm
3d5f44764e
Add boilerplate for a JACK backend
2022-06-14 16:27:35 +02:00
Robbert van der Helm
99fdc8975f
Add a backend type option to the standalone cli
2022-06-14 16:04:39 +02:00
Robbert van der Helm
d97831649e
Move standalone WrapperConfig to its own module
2022-06-14 15:52:31 +02:00
Robbert van der Helm
49e683e396
Add a cli for controlling the standalone settings
2022-06-14 15:44:42 +02:00
Robbert van der Helm
f3c4331ed9
Add a clap (the cli one) dependency for standalone
2022-06-14 15:11:03 +02:00
Robbert van der Helm
aa60d616fe
Handle infinite and NaN values in Safety Limiter
2022-06-13 18:47:48 +02:00
Robbert van der Helm
6e37353c67
Link to the correct CI pipeline for builds
2022-06-10 15:59:18 +02:00
Robbert van der Helm
ac0d415b29
Merge branch 'feature/clap-next'
...
Now that Bitwig Studio 4.3 beta 5 has been release. NIH-plug now
supports CLAP 1.0 on the master branch.
2022-06-10 15:52:32 +02:00
Robbert van der Helm
e0fde8b891
Fix very important typo
2022-06-10 01:26:14 +02:00
Robbert van der Helm
34fa78a313
Update for CLAP 1.0
2022-06-10 00:36:16 +02:00
Robbert van der Helm
c779b2c663
Update clap-sys dependency
2022-06-08 11:05:50 +02:00
Robbert van der Helm
014c183eab
Allocate FirCrossover data on the heap
...
Windows has tiny stack sizes and it doesn't seem to like this.
2022-06-08 02:09:11 +02:00
Robbert van der Helm
12a4440af0
Remove unnecessary use statement
2022-06-08 02:08:51 +02:00
Robbert van der Helm
5a6ec5595b
Remove duplicate biquad module
...
This was moved elsewhere, but I guess another copy got saved and I
didn't notice.
2022-06-08 00:11:46 +02:00
Robbert van der Helm
92a3acdd0a
Mention the linear-phase mode for Crossover
2022-06-07 21:39:32 +02:00
Robbert van der Helm
b389268168
Fix FFT FIR crossover latency calculation
2022-06-07 20:46:23 +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
7e3dfe904d
Parameterize FirCoefficients over the kernel size
2022-06-07 15:32:29 +02:00
Robbert van der Helm
b32cd27e8c
Move FIR filters to their own module
2022-06-07 15:19:18 +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
50317baba2
Fix normalization in biquad->LP FIR conversion
2022-06-07 14:19:29 +02:00
Robbert van der Helm
dd18c7a08a
Fix classic off by one error
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
73919b6805
Add a process function for the FIR crossover
2022-06-07 14:19:29 +02:00
Robbert van der Helm
43980ec459
Add the function to design the FIR band filters
...
Using the previously added biquad->linear phase FIR conversion function.
2022-06-07 14:19:29 +02:00
Robbert van der Helm
f4b3999916
Rename linear-phase low-pass FIR design function
2022-06-07 14:19:29 +02:00
Robbert van der Helm
cbb380a9b7
Don't cache ~/.cargo/bin in the CI
...
This causes issues with the macOS AArch64 builds.
2022-06-07 14:19:29 +02:00
Robbert van der Helm
a1fe3b157b
Simplify biquad -> linear-phase FIR conversion
2022-06-07 14:19:29 +02:00
Robbert van der Helm
de13f8c42a
Add part of an FIR crossover
...
This includes an algorithm that efficiently converts biquad coefficients
to a linear-phase FIR filter kernel.
2022-06-07 14:19:29 +02:00
Robbert van der Helm
78caa0f78d
Move Q constant to the biquad module
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