1
0
Fork 0
Commit graph

101 commits

Author SHA1 Message Date
Robbert van der Helm
89c2b1f84e Replace create_vizia_editor_without_theme w/ enum
This involves a small breaking change. You can now also completely
disable all of Vizia's theming.
2022-11-06 14:04:55 +01:00
Robbert van der Helm
c980576102 Add an AsyncExecutor for editor GUIs
This is decoupled form `GuiContext` as that would require invasive
changes all over the place.
2022-10-22 15:05:39 +02: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
81bdad87b5 Replace custom Params in SC with #[nested]
Using the new `id_prefix` attribute. This doesn't break backwards
compatibility.
2022-10-13 01:32:48 +02:00
Robbert van der Helm
727d88c4d7 Add ID renaming superpowers to #[nested(...)]
This can now be used for most common use cases where you previously had
to do a manual `Params` implementation, like arrays of parameter objects
and duplicate parameter objects.
2022-10-13 01:28:05 +02:00
Robbert van der Helm
d57003a0e9 Update macOS instructions in plugin readmes 2022-10-09 21:35:25 +02:00
Simon Leiner
0caef90b1a Fix typos in comments 2022-09-29 15:13:43 +02:00
Robbert van der Helm
a51c359c0b Fix Spectral Compressor high frequency rolloff 2022-09-15 01:39:16 +02:00
Robbert van der Helm
5ac9c32c19 Fix SC high freq rolloff at 22.05 kHz
This prevents the effect from getting brighter as you increase the
sample rate.
2022-09-14 17:47:07 +02:00
Robbert van der Helm
5fa2382c8c Add a Spectral Compressor todo for rolloff 2022-09-12 02:42:43 +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
67496f9c79 Default sidechain channel link to 80% 2022-09-04 15:50:49 +02:00
Robbert van der Helm
7cb189b8ef Disable downwards hi-freq rolloff by default 2022-09-04 15:50:20 +02:00
Robbert van der Helm
08b1e43a15 Apply downwards compression to DC bins
In Spectral Compressor. We avoided this because it messes up upwards
compression, but downwards compression is perfectly fine.
2022-09-04 15:07:23 +02:00
Robbert van der Helm
a7bc90050e Fix the DC gain compensation in SC 2022-09-02 13:52:17 +02:00
Robbert van der Helm
f231be1b1e Default Spectral Compressor threshold to -12 dB 2022-09-02 13:46:15 +02:00
Robbert van der Helm
50ac2cb2b6 Lower the init value even further 2022-08-20 19:54:15 +02:00
Robbert van der Helm
b3f918dee5 Lower Spectral Compressor envelope init value 2022-08-20 19:40:51 +02:00
Robbert van der Helm
5b021da373 Don't apply output gain to unfiltered DC bins 2022-08-20 16:53:33 +02:00
Robbert van der Helm
14450da80a Add spectral sidechain compression to SC [2/2]
Forgot to stage this in 9550fe0d10.
2022-08-20 16:45:45 +02:00
Robbert van der Helm
9550fe0d10 Add spectral sidechain compression to SC 2022-08-20 16:37:20 +02:00
Robbert van der Helm
35c6b97ade Increase Spectral Compressor ratio range 2022-08-20 15:49:03 +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
f557707b09 Fix typo in 3d3b7e5 2022-07-26 19:19:58 +02:00
Robbert van der Helm
3d3b7e5122 Default SC DC filter to off 2022-07-26 19:07:30 +02:00
Robbert van der Helm
3d6cad54dd Reset SC envelopes to sqrt(1/2) to prevent pops 2022-07-26 18:51:27 +02:00
Robbert van der Helm
862d475b2b Prevent divisions by zero in sidechain mode 2022-07-25 16:47:42 +02:00
Robbert van der Helm
f7201a0f58 Implement the sidechain compression mode 2022-07-25 16:47:42 +02:00
Robbert van der Helm
29ebfbeef1 Make SC disclaimer smaller
Because there are now more controls.
2022-07-25 16:47:42 +02:00
Robbert van der Helm
6da8756e31 Use unchecked access instead of zip 2022-07-25 16:33:24 +02:00
Robbert van der Helm
dd49bd9e7f Move knee scaling factor to a function 2022-07-25 16:33:24 +02:00
Robbert van der Helm
49d5ba147a Move actual compression routines to functions 2022-07-25 16:33:24 +02:00
Robbert van der Helm
2813f3d827 Compute sidechain magnitude spectra when enabled 2022-07-25 16:33:24 +02:00
Robbert van der Helm
1fbcd583a4 Don't apply pink noise curve in sidechain mode 2022-07-25 16:33:24 +02:00
Robbert van der Helm
a799aec7bd Add (unused) parameters for the compression mode 2022-07-25 16:33:24 +02:00
Robbert van der Helm
4060986b28 Rearrange compressor parameter order 2022-07-25 16:33:24 +02:00
Robbert van der Helm
4f8d5160de Mark SC parameter struct fields as pub 2022-07-25 14:21:45 +02:00
Robbert van der Helm
e20b10d601 Store SC output gain as linear gain
Using the new conversion function.
2022-07-24 20:46:49 +02:00
Robbert van der Helm
42c42dff9b Never compress the DC bin in SC
This just results in more problems than it solves for small window
sizes.
2022-07-24 19:04:53 +02:00
Robbert van der Helm
6b26828839 Default both offsets to 0 dB again
Otherwise the UI just looks weird.
2022-07-24 19:01:28 +02:00
Robbert van der Helm
692b1051ad Avoid compressing DC bin on larger windows
Even if the DC filter is disabled. We do want to compress this on
smaller windows as it covers the entire bass range.
2022-07-24 18:39:04 +02:00
Robbert van der Helm
2a464c478c Default SC global threshold to 0 dBFS 2022-07-24 18:30:20 +02:00
Robbert van der Helm
ce0aa0079c Slightly lower the threshold parameter 2022-07-24 18:26:57 +02:00
Robbert van der Helm
ce72dc5f03 Fix disabled DC filter behavior
This fixes a NaN from taking the logarithm of zero, and the lower bins
are not actually compressed when this option is disabled. This is useful
when using tiny window sizes as the first bin will span quite a chunk of
the spectrum.
2022-07-24 18:25:46 +02:00
Robbert van der Helm
74b33af7d7 Fix DC bin skipping being off by one 2022-07-24 18:00:15 +02:00
Robbert van der Helm
dffc169c99 Skew slope and curve more towards 0
Especially positive curve values can get out of hand quick
2022-07-24 17:48:02 +02:00
Robbert van der Helm
d53d03c5cf Default downwards hi-freq rolloff to 0.25
Sort of makes sense to have these two be symmetrical
2022-07-24 17:43:31 +02:00