Robbert van der Helm
4f62ebd2ea
Wrap nested Params structs in Arcs
...
So we can use the generic UIs. Vizia needs these to be 'static.
2022-07-24 15:15:47 +02:00
Robbert van der Helm
2fbf4ca00d
Remove Copy requirement from Vizia generic UI
...
This now uses a dummy lens to map to the parameter.
2022-07-24 15:15:47 +02:00
Robbert van der Helm
4327828e6b
Move the Params implementation to CompressorParams
...
So now CompressorBankParams can just derive Params.
2022-07-24 15:15:47 +02:00
Robbert van der Helm
dc97fb1019
Implement Params for Arc<P: Params>
...
This is useful for partial generic UIs.
2022-07-24 15:15:47 +02:00
Robbert van der Helm
278ae227a7
Make the Spectral Compressor editor a bit wider
...
Next up is splitting this up in four generic UI panes to make it a bit
easier to use. That was why all of the previous commits moved parameters
around.
2022-07-24 15:15:47 +02:00
Robbert van der Helm
6ae1c55f76
Deduplicate compressors with custom Params impl
...
This now also finally serves as an example on how to do this.
2022-07-24 15:15:47 +02:00
Robbert van der Helm
fa392e61f1
Move attack and release to global parameters
2022-07-24 15:15:47 +02:00
Robbert van der Helm
3c1a1c8f14
Move global parameters to their own struct
...
We'll temporarily split the generic UI into four panes to make it a bit
easier to use.
2022-07-24 15:15:47 +02:00
Robbert van der Helm
c53726bf9e
Move the global threshold down in the list
2022-07-24 15:15:47 +02:00
Robbert van der Helm
06694683d3
Move the frequency center parameter down
...
Somehow this is always where I'm looking for it.
2022-07-24 15:15:47 +02:00
Robbert van der Helm
7db5da7930
Make the slope parameter range wider
2022-07-24 15:15:47 +02:00
Robbert van der Helm
f58e278c85
Fix offsets in threshold calculations
2022-07-24 15:15:47 +02:00
Robbert van der Helm
f0efdad059
Rearrange Spectral Compressor parameters
2022-07-24 15:15:47 +02:00
Robbert van der Helm
332ac2b231
Add basic hard-knee downwards compression
2022-07-24 15:15:47 +02:00
Robbert van der Helm
faec0e35af
Allow more granular ratios
2022-07-24 15:15:47 +02:00
Robbert van der Helm
43f86bcc85
Prevent threshold from reaching zero
2022-07-24 15:15:47 +02:00
Robbert van der Helm
8fbdc43ce3
Fix the high frequency rolloff
2022-07-24 15:15:47 +02:00
Robbert van der Helm
eda842c6a9
Fix the envelope coefficients
...
The minus was missing here.
2022-07-24 15:15:47 +02:00
Robbert van der Helm
c2003879cb
Store ratio reciprocals instead of ratios
...
We're doing linear space compression, so we need the reciprocal of the
actual ratio.
2022-07-24 15:15:47 +02:00
Robbert van der Helm
ef3a7a76d5
Handle 0 attack and release
2022-07-24 15:15:47 +02:00
Robbert van der Helm
dae9dc758c
Implement the envelope followers
2022-07-24 15:15:47 +02:00
Robbert van der Helm
147cf3f633
Add a not very functional process function
2022-07-24 15:15:47 +02:00
Robbert van der Helm
9aa4a64e5f
Compute the ratios for Spectral Compressor
2022-07-24 15:15:47 +02:00
Robbert van der Helm
482599b351
Compute the thresholds for Spectral Compressor
2022-07-24 15:15:47 +02:00
Robbert van der Helm
fad560ab9f
Precompute 2-log frequencies for the compressors
2022-07-24 15:15:47 +02:00
Robbert van der Helm
b8525cac4d
Split compressor params into up/downwards
2022-07-24 15:15:47 +02:00
Robbert van der Helm
e68bb8d632
Add a stub for a compressor bank
...
This is what the compressor data structure will more or less look like.
The thresholds and ratios still need to be split up in their upwards and
downwards counterparts and the callback listeners should be updated
accordingly.
2022-07-24 15:15:47 +02:00
Robbert van der Helm
fdcf8f79bc
Make the Spectral Compressor editor taller
...
All the sliders.
2022-07-24 15:15:47 +02:00
Robbert van der Helm
2658404162
Rearrange compressor and threshold parameters
2022-07-24 15:15:47 +02:00
Robbert van der Helm
70f50018ad
Use regular slides for >3 step parameters
2022-07-24 15:15:47 +02:00
Robbert van der Helm
6f92c81c1b
Add parameters for window size and overlap
2022-07-24 15:15:47 +02:00
Robbert van der Helm
5dff08c62b
Add a dedicated threshold params struct
...
The input gain is now replaced by a global threshold.
2022-07-24 15:15:47 +02:00
Robbert van der Helm
49f6df7248
Add a high-frequency ratio rolloff parameter
2022-07-24 15:15:47 +02:00
Robbert van der Helm
d00ae369c0
Add knee width parameters
2022-07-24 15:15:47 +02:00
Robbert van der Helm
ed3f760965
Move the compressor parameters to their own module
2022-07-24 15:15:47 +02:00
Robbert van der Helm
08c78454da
Add scrollbar to Spectral Compressor's generic GUI
2022-07-24 15:15:47 +02:00
Robbert van der Helm
a406f451b0
Remove the word Threshold from the parameter names
...
This makes them too long otherwise.
2022-07-24 15:15:47 +02:00
Robbert van der Helm
07136bcdc9
Add compressor params for Spectral Compressor
...
These are not yet hooked up to anything.
2022-07-24 15:15:47 +02:00
Robbert van der Helm
83d8c7a9f4
Add a formatter for compression ratios
2022-07-24 15:15:47 +02:00
Robbert van der Helm
7c66f5d856
Add a dry-wet mixer to Spectral Compressor
2022-07-24 15:15:47 +02:00
Robbert van der Helm
46faaaf1ac
Add a DC filter
2022-07-24 15:15:47 +02:00
Robbert van der Helm
12aa8544cd
Add a non-functional STFT to Spectral Compressor
2022-07-24 15:15:47 +02:00
Robbert van der Helm
85e52b8ab7
Add boilerplate for a Spectral Compressor port
2022-07-24 15:15:47 +02:00
Robbert van der Helm
2bc6db592e
Temporarily revert to an older nightly to fix CLAP
...
See the mentioned issues.
2022-07-24 15:14:56 +02:00
Robbert van der Helm
6e89d3737b
Change the scaling on Safety Limiter's threshold
...
With the addition of negative values the linear scale doesn't work
anymore.
2022-07-22 22:49:59 +02:00
Robbert van der Helm
f5459e95a5
Fix typo in Crossover description
...
Closes #19 .
2022-07-22 18:46:53 +02:00
Robbert van der Helm
2c9945db79
Allow negative thresholds for Safety Limiter
2022-07-20 19:45:29 +02:00
Robbert van der Helm
9844d9c490
Change match &self to match self
...
This is equivalent when taking a reference to self, and you can't do the
same thing with &mut self.
2022-07-19 20:21:52 +02:00
Robbert van der Helm
f007945335
Add reversed ranges
2022-07-19 20:21:52 +02:00
Robbert van der Helm
0168af7008
Fix terminology in workspace root detection
2022-07-19 00:21:50 +02:00