1
0
Fork 0
Commit graph

482 commits

Author SHA1 Message Date
Robbert van der Helm
dfd5aa9a11 Add constants for Diopser's editor 2022-11-11 03:15:05 +01:00
Robbert van der Helm
5b05107f5b Add missing GPL header in Diopser 2022-11-11 03:15:05 +01:00
Robbert van der Helm
c1573f47c3 Make Automation Precision slider less wide 2022-11-11 03:15:05 +01:00
Robbert van der Helm
8f02cdc1fa Add an Automation Precision slider to Diopser
Using the new label override
2022-11-11 03:15:05 +01:00
Robbert van der Helm
9d696925e3 Add a safe mode button to Diopser's GUI 2022-11-11 03:15:05 +01:00
Robbert van der Helm
2d4ac47f15 Add a not yet used safe mode AtomicBool to Diopser
This will limit the range of the filter stages parameter in the GUI.
2022-11-11 03:15:05 +01:00
Robbert van der Helm
b8f43ad1fe Create bypass button on Diopser GUI 2022-11-11 03:15:05 +01:00
Robbert van der Helm
aee08bae20 Add a dedicated bypass param for Diopser
This will be shown in the GUI.
2022-11-11 03:15:05 +01:00
Robbert van der Helm
28c62cf7ca Add some UI scaffolding for Diopser
This still uses the old generic UI.
2022-11-11 03:15:05 +01:00
Robbert van der Helm
cfb9993603 Make the Diopser struct pub
This makes it easier to quickly set up a standalone for GUI testing.
2022-11-11 03:15:05 +01:00
Robbert van der Helm
87e40afd07 Reinitialize Crisp filter constants on load
Otherwise these filters are at their default coefficients when recalling
previous state.
2022-11-11 03:12:41 +01:00
Robbert van der Helm
6f7780bdeb Don't register any fonts by default for vizia
These now need to be registered individually by the plugin. This saves
on binary size.
2022-11-06 14:05:12 +01:00
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
e8002730a0 Fix clippy lints 2022-11-05 14:19:47 +01:00
Robbert van der Helm
560f97f77d Use Mutex instead of RwLock for gain example
Neither makes a lot of sense here, but RwLock makes even less sense.
2022-11-05 14:19:32 +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
eed5a62abb Add build closure parameter to create_egui_editor 2022-10-20 14:04:08 +02:00
Robbert van der Helm
4f74b4b4cc Mention saving Crossover setup as default preset 2022-10-19 16:00:20 +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
Simon Leiner
f4995abf88 Fix typos in documentation 2022-09-29 15:13:43 +02:00
Robbert van der Helm
e4d1ad39ab Remove old todo 2022-09-22 17:39:22 +02:00
Robbert van der Helm
269c2a51e1 Re-enable assert_process_allocs for gain_gui_egui 2022-09-21 16:25:07 +02:00
Robbert van der Helm
eb11da731d Enable the standalone for gain_gui_egui 2022-09-21 16:11:17 +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
cd02ebb839 Use less arbitrary decay weights for the gain GUIs
This solves the same problem as #27 but in a cleaner way. The previous
commits refactored the smoothing to make it possible to use the
calculations in plugin code to do the same thing as #27, but then I
realized that that doesn't make much sense since the time to decay into
complete silence isn't very meaningful for this kind of computation.
2022-09-04 19:09:22 +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
743d456e0f Don't build the gain example with zstd enabled 2022-08-18 19:46:51 +02:00
Robbert van der Helm
1bb1cde913 Add optional Zstandard compression for state
This can be particularly useful when using the persistent fields feature
to store JSON or other large textual documents.
2022-08-18 13:55:48 +02:00
Robbert van der Helm
c412d3cca6 Remove debug print 2022-08-18 13:45:13 +02:00