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
Robbert van der Helm
a8fa8cde66
Slowly fade in SC envelope followers
...
This is much more gentle.
2023-03-22 14:33:13 +01:00
Robbert van der Helm
e2ab5e16bc
Add a screenshot to Spectral Compressor's page
2023-03-22 13:55:10 +01:00
Robbert van der Helm
3e038dc043
Disable standalone feature for Spectral Compressor
...
This is not ready yet.
2023-03-22 13:55:02 +01:00