Robbert van der Helm
a4cac4b750
Fix GR overlay clamping
...
Just the min/max isn't enough when the entire band is out of range.
2023-03-21 17:16:10 +01:00
Robbert van der Helm
9f5d1dcf57
Draw GR overlay as a single path with no AA
...
With these settings the high end parts at least look much cleaner.
2023-03-21 17:10:03 +01:00
Robbert van der Helm
c7fecd87d2
Draw all Spectral Compressor bars in one go
2023-03-21 16:55:02 +01:00
Robbert van der Helm
e179734818
Draw dense part of the spectrum as a solid mesh
...
This fixes aliasing problems.
2023-03-20 19:36:47 +01:00
Robbert van der Helm
29fde14c88
Move analyzer drawing code to functions
2023-03-20 17:34:56 +01:00
Robbert van der Helm
6e3d2379b0
Add a start of a gain reduction display
...
This needs to be drawn as a single mesh instead, and it should also use
the target curve or it looks odd.
2023-03-20 17:25:21 +01:00
Robbert van der Helm
48d8ff9275
Slightly reduce SC GUI height
...
This makes the bottom edge align better.
2023-03-20 15:55:48 +01:00
Robbert van der Helm
3600951159
Visualize the envelope followers in SC
2023-03-20 15:51:13 +01:00
Robbert van der Helm
7c4ae32ba4
Add boilerplate for the analyzer widget
2023-03-20 14:57:25 +01:00
Robbert van der Helm
990fe33ff7
Add the data needed for the analyzer to Data
2023-03-20 14:57:25 +01:00
Robbert van der Helm
3c8702ac0a
Add copyright header to SC analyzer module
2023-03-19 15:50:54 +01:00
Robbert van der Helm
a18d70401b
Compute the analyzer data for Spectral Compressor
...
This is not yet shown anywhere.
2023-03-19 15:17:25 +01:00
Robbert van der Helm
9647f8f3dd
Add triple buffers to share analyzer data in SC
2023-03-19 15:17:25 +01:00
Robbert van der Helm
510bc3f131
Define a struct for SC analyzer data
2023-03-19 13:54:28 +01:00
Robbert van der Helm
234a5f5334
Rename SC visualizer to analyzer
...
Slightly more fitting term.
2023-03-19 13:38:30 +01:00
Robbert van der Helm
6f070150ea
Disable open::that() on Windows
...
Until there's an alternative that doesn't panic.
2023-03-19 13:36:50 +01:00
Robbert van der Helm
66ba8f2872
Default to 16x overlap in Spectral Compressor
2023-03-18 23:28:37 +01:00
Robbert van der Helm
74eb6fe2e5
Add a placeholder for the SC spectrum analyzer
2023-03-18 16:30:35 +01:00
Robbert van der Helm
4e304fc65a
Add a visualizer toggle button to SC
2023-03-18 15:19:19 +01:00
Robbert van der Helm
0d5247ee2f
Fix ParamButton hover state and styling
2023-03-18 15:16:52 +01:00
Robbert van der Helm
83ea930ab8
Use the new declarative resizes in SC
2023-03-18 14:27:44 +01:00
Robbert van der Helm
da61acc7b9
Compute SC editor size based on the editor mode
...
Using the new declarative editor size interface.
2023-03-18 14:25:41 +01:00
Robbert van der Helm
3be5e3fa99
Add a widget that controls the SC editor mode
2023-03-18 14:25:41 +01:00
Robbert van der Helm
c9793c6901
Add an editor mode enum for Spectral Compressor
...
To indicate that the GUI has been expanded.
2023-03-18 14:25:41 +01:00
Robbert van der Helm
f6041789cd
Use computed sizes for ViziaState
2023-03-07 21:22:15 +01:00
Robbert van der Helm
e3a923ff3b
Avoid restoring window sizes with ViziaState
...
Unless specified otherwise. This avoids some bugs where old, now
incorrect sizes are being recalled.
2023-02-28 18:50:15 +01:00
Robbert van der Helm
a14b4cf61e
Fix years in copyright headers
2023-02-27 00:59:56 +01:00
Robbert van der Helm
338f79e6be
Save and restore Spectral Compressor editor state
2023-02-26 17:35:04 +01:00
Robbert van der Helm
083326a933
Revert addition of Spectral Compressor standalones
...
Until the standalones at least have some way to change parameter values
without a GUI these probably shouldn't be published with standalones.
2023-02-26 16:25:11 +01:00
Robbert van der Helm
49e99eef53
Update the JACK bindings
...
We should no longer have to use our own fork for this.
2023-02-26 16:23:24 +01:00
Robbert van der Helm
72c43adda6
Mark the Spectral Compressor struct as pub
...
For testing with standalones.
2023-02-23 22:55:15 +01:00
Robbert van der Helm
e8fd18ab80
Completely reword the audio IO layout system
...
Instead of a VST3-style polling function to test if a plugin supports a
certain layout, the plugin now explicitly enumerates the supported
layouts. This aligns better with non-VST3 plugin formats.
2023-02-20 16:57:32 +01:00
Robbert van der Helm
d6184ea06e
Replace VST3 category string with enum slice
...
I've been putting this off for a while, but now is finally the day. We
already did this for CLAP a while back. This is both simpler and less
error prone.
2023-02-01 16:09:03 +01:00
Robbert van der Helm
c8ed795524
Add a SysExMessage type to Plugin
...
This is needed to enable sending and receiving SysEx #54 . Because
associated type defaults still are not stable, this requires every
plugin that doesn't need this to set this to the unit type:
```rust
type SysExMessage = ();
```
2023-01-31 18:18:41 +01:00
Robbert van der Helm
cf52d60a61
Make the Spectral Compressor title link to GitHub
2023-01-16 01:18:32 +01:00
Robbert van der Helm
77cbef5f82
Add the Spectral Compressor version to the GUI
2023-01-16 01:17:07 +01:00
Robbert van der Helm
b56d8771f3
Add a changelog for Spectral Compressor
2023-01-16 00:58:46 +01:00
Robbert van der Helm
9f560b2c5c
Bump Spectral Compressor version
2023-01-15 18:28:49 +01:00
Robbert van der Helm
1e83d29fab
Change SC to work in the decibel domain
...
This makes the soft-knee function differentiable and the performance
should in theory be slightly higher when using these fast gain<->dB
conversion functions. This also fixes the high-frequency rolloff not
working correctly for the downwards compressors.
2023-01-15 18:28:49 +01:00
Robbert van der Helm
1c80331829
Fix incorrect MIN_OVERLAP_TIMES calculations
...
These aren't actually used which is why this never came up. The
other (similarly unused) constants were calculated correctly.
2023-01-14 00:16:57 +01:00
Robbert van der Helm
8a4720e427
Update Spectral Compressor for cosmic-text changes
2023-01-12 19:03:02 +01:00
Robbert van der Helm
bb521fcb82
Upgrade Vizia for the cosmic-text changes
...
This brings some breaking changes, and vertical positioning of text may
have changed slightly.
2023-01-12 19:03:02 +01:00
Robbert van der Helm
bdc8537f3f
Add explicit .max(f32::EPSILON) back in SC
...
`util::db_to_gain_fast()` doesn't snap to 0, but for low enough values
it will still become 0 eventually.
2023-01-11 15:21:18 +01:00
Robbert van der Helm
27acce3237
Remove the DC filter from Spectral Compressor
...
It's not needed anymore and the behavior is confusing. This was added to
prevent upwards compression and gain increases on DC values from blowing
up. But we no longer do upwards compression on DC bins anyways.
2023-01-08 00:03:38 +01:00
Robbert van der Helm
cb827d18dd
Rename Buffer::len() to Buffer::samples()
...
To reduce ambiguity.
2023-01-05 16:04:38 +01:00
Robbert van der Helm
11d9476a5f
Use db_to_gain_fast() in plugins
2023-01-04 17:05:13 +01:00
Robbert van der Helm
ab9adaf13e
Update copyright notices for 2023
...
Happy new year!
2023-01-01 18:52:44 +01:00
Robbert van der Helm
82b7426689
Namespace custom CLAP features
2022-11-22 21:09:32 +01:00
Robbert van der Helm
babe271556
Fix font size in Spectral Compressor disclaimer
2022-11-17 18:17:58 +01:00
Robbert van der Helm
aa7d5195ce
Grab plugin URLs from the Cargo.toml file
2022-11-11 20:26:39 +01:00