1
0
Fork 0
Commit graph

2156 commits

Author SHA1 Message Date
Robbert van der Helm 911c0d57d5 Allow declaratively defining CLAP remote controls 2023-04-22 16:59:03 +02:00
Robbert van der Helm 841fe2424c Update to CLAP 1.1.8 2023-04-22 16:09:58 +02:00
Robbert van der Helm a7e4e8b31e Add a context for defining remote control pages 2023-04-22 15:53:04 +02:00
Robbert van der Helm 2dbd835778 Also prefer importing from prelude internally
Less breakage when restructuring modules.
2023-04-22 15:13:39 +02:00
Robbert van der Helm 34b416ecb6 Move API-specific traits and structs to submodules 2023-04-22 14:52:01 +02:00
Robbert van der Helm 1deb907c38 Fix header name in changelog 2023-04-22 14:43:28 +02:00
Robbert van der Helm f2ac4660ca Replace Crossover preset URL 2023-04-14 14:52:00 +02:00
Robbert van der Helm 2187aa96ab Fix formatting in formatters.rs
Rustfmt changed the way it formats this a while back.
2023-04-07 13:33:39 +02:00
Robbert van der Helm 699c2b99f9 Update Soft Vacuum's descriptions 2023-04-07 13:18:13 +02:00
Robbert van der Helm 2e28797bed Install missing libraries
These are no longer shipped by default on the Ubuntu 20.04 image.
2023-04-05 20:28:10 +02:00
Robbert van der Helm ffb9fb378c Change runners to use Ubuntu 20.04
Seems like GitHub finally pulled the plug out of 18.04.
2023-04-05 20:21:23 +02:00
Robbert van der Helm e1c7508624 Rename the Soft Vacuum package 2023-04-05 20:07:13 +02:00
Robbert van der Helm ad5f0ce72a Upsample the slews in Soft Vacuum
Now the oversampled versions sound similar to the non-oversampled
version.
2023-04-05 19:52:41 +02:00
Robbert van der Helm f922e668b7 Add an upsampling-only option to the oversamplers
This will be used to upsample the slew control signal.
2023-04-05 19:52:09 +02:00
Robbert van der Helm b9045a2aa8 Split slew computation in Hard Vacuum 2023-04-05 19:45:30 +02:00
Robbert van der Helm c748d79963 Temporarily remove slew compensation
We should probably just upsample the slews as a control signal and use
that instead.
2023-04-05 19:08:59 +02:00
Robbert van der Helm 4e0a0d4cd5 Move smoothing scratch buffers to the heap
This is probably a good idea to keep the stack sizes small. A couple 32
element buffers should be fine, but these fit 512 elements each and
Windows can be fussy about stack sizes.
2023-04-05 19:05:51 +02:00
Robbert van der Helm d3f820dc8c Set the default oversampling amount to 2x
Oversampling is not always needed, so this is probably a better default.
2023-04-05 18:54:13 +02:00
Robbert van der Helm 913aa4bef9 Decrease Soft Vacuum output gain range
-40 dB sounds reasonable. No need to go down all the way to -100.0. The
original version was in the linear domain.
2023-04-05 18:46:47 +02:00
Robbert van der Helm 4b5f52252a Make the oversampling in Soft Vacuum configurable 2023-04-05 18:40:40 +02:00
Robbert van der Helm c6765d91ac Modify oversampler to allow variable no of stages
This is needed to be able to add a control for the oversampler amount.
2023-04-05 18:22:28 +02:00
Robbert van der Helm 40db21277e Fix debug assertions in oversampling
These were leftover from before the addition of delays.
2023-04-05 18:22:28 +02:00
Robbert van der Helm 1711efa11e Add a basic 4x oversampled version of Hard Vacuum
The oversampling amount should be configurable, and it would work better
if the slew signal was oversampled independently instead of doing this
compensation thing.
2023-04-05 18:22:28 +02:00
Robbert van der Helm 6a368c1ac6 Add a Lanczos3-based linear phase oversampler 2023-04-05 18:22:28 +02:00
Robbert van der Helm 4b706acac5 Mention Soft Vacuum in the readme 2023-04-05 18:22:28 +02:00
Robbert van der Helm 41b513541d Rename Soft Vacuum plugin name 2023-04-05 18:22:28 +02:00
Robbert van der Helm f4c3c96364 Add parameters for the Hard Vacuum port 2023-04-05 18:22:28 +02:00
Robbert van der Helm 456a22119e Port the Hard Vacuum algorithm 2023-04-05 18:22:28 +02:00
Robbert van der Helm 1abcb02647 Add an abstraction for the Hard Vacuum algorithm 2023-04-05 18:22:28 +02:00
Robbert van der Helm 3e26fcf912 Add a skeleton for a Hard Vacuum port 2023-04-05 18:22:28 +02:00
Robbert van der Helm 4502eaec3a Change wrapped smoothing style to be a static ref
Instead of having to wrap this in an `Arc`. This makes the interface a
bit nicer to use.
2023-04-05 18:16:58 +02:00
Robbert van der Helm 8a7100ac3e Add an OversamplingAware smoothing style
This can be used to have an ergonomic way to do multi-rate smoothing
with variable oversampling amounts that only the `Arc<AtomicF32>` to be
updated from a parameter callback.
2023-04-05 18:08:22 +02:00
Robbert van der Helm 95d7dabcee Downgrade unknown serialization fields to trace
Instead of being debug assertion failures. These are guaranteed to
trigger when using persistent fields together with nested param structs.
2023-04-05 16:13:16 +02:00
Robbert van der Helm 3aa3f08f82 Upgrade nih_debug_assert!() to panic in tests 2023-04-05 16:13:16 +02:00
Robbert van der Helm 58174c1af0 Add a miri test for the buffer management's safety 2023-04-01 16:12:37 +02:00
Robbert van der Helm 112c801bc4 Use the new buffer management for the CPAL backend
Now everything uses `BufferManager`. That should hopefully reduce the
chances that different backends behave differently or trigger different
debug assertions.
2023-04-01 15:43:58 +02:00
Robbert van der Helm cc5980e215 Zero out auxiliary output buffers
We used to do this, but this got lost in the migration to the new buffer
management system.
2023-04-01 15:21:12 +02:00
Robbert van der Helm 9d45cbf1d9 Use new buffer management for the dummy backend 2023-03-31 19:22:30 +02:00
Robbert van der Helm ca4569e03a Use new buffer management in JACK standalones 2023-03-31 18:17:48 +02:00
Robbert van der Helm 8196641d65 Update VST3 wrapper to use new buffer manager
This also fixes output events not being sent during a parameter flush.
2023-03-31 17:01:41 +02:00
Robbert van der Helm 30a26e0d9a Update CLAP wrapper to use the new buffer manager 2023-03-31 16:03:49 +02:00
Robbert van der Helm 83dd585c40 Add a standalone buffer management abstraction
The idea is that all backends are refactored to use this. This greatly
reduces the need for backend-specific code when it comes to buffer
management, and thus also bugs. It also overwrites main output channels
that don't have a corresponding input channel with zeroes, which the
current backends don't do.
2023-03-31 16:02:00 +02:00
Robbert van der Helm a33569bff6 Bump Spectral Compressor to version 0.4.3 2023-03-31 12:54:20 +02:00
Robbert van der Helm b9031ecd2f Fix sidechain matching + soft knee in SC
These coefficients change with the thresholds.
2023-03-27 17:26:38 +02:00
Robbert van der Helm 732cfdfa3a Move Spectral Compressor knee coefs to functions 2023-03-27 17:23:06 +02:00
Robbert van der Helm 20d165052a Cap Spectral Compressor sidechain match thresholds 2023-03-27 16:46:00 +02:00
Robbert van der Helm 9db31b34dc Fix formatting for #68 2023-03-27 13:24:43 +02:00
Alex Charlton 0f7d9827d8 Add a hint to failed builds 2023-03-26 22:59:28 -07:00
Robbert van der Helm e59dc33aaf Change the default SC window size to 2048 2023-03-22 15:12:12 +01:00
Robbert van der Helm f7dd40aabc Bump Spectral Compressor to version 0.4.2
Was a bit too quick to tag 0.4.1.
2023-03-22 14:34:47 +01:00