1
0
Fork 0
Commit graph

646 commits

Author SHA1 Message Date
Robbert van der Helm ab66152f00 Allow evaluate_plain() to be unused
We won't need this, but it being there makes everything a lot clearer.
2023-03-21 22:51:55 +01:00
Robbert van der Helm ea4dd8ead2 Move curve calculation to a dedicated struct
So we can reuse this in the analyzer.
2023-03-21 21:09:58 +01:00
Robbert van der Helm 89dd0bf461 Explicitly handle drawing first and last bars
To avoid surprises here.
2023-03-21 18:32:20 +01:00
Robbert van der Helm 35864aa13c Clean up the GR overlay drawing 2023-03-21 18:27:42 +01:00
Robbert van der Helm 86aed54bf3 Document the addition of an analyzer in SC 2023-03-21 18:13:09 +01:00
Robbert van der Helm 8bd5f8afce Change the blending and colors on the GR area
This looks a lot clearer.
2023-03-21 17:57:26 +01:00
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 ba30a86b11 Draw Diopser's spectrum analyzer in one go 2023-03-21 16:59:51 +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 01f9aa52cb Remove Diopser todos 2023-03-20 13:33:45 +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 41bdcc3988 Fix overlap order comment in Puberty Simulator 2023-03-18 23:27:57 +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 952bb8c129 Mark Crossover struct as pub
For testing with standalones
2023-02-23 22:15:35 +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 32f981b1f6 Fix Buffr Glitch for crossfade lengths of 1 sample 2023-02-02 16:27:43 +01:00
Robbert van der Helm d7cefcd29a Fix typos 2023-02-01 19:03:50 +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 fba2c47614 Add a SysEx example plugin 2023-02-01 14:52:01 +01:00
Robbert van der Helm e3a7e4a931 Allow any audio setup for midi_inverter 2023-02-01 14:39:47 +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 32957c222f Add a missing category feature to the sine example 2023-01-28 23:23:56 +01:00
Robbert van der Helm 9206b8489d Bump Buffr Blitch to 0.2.0 2023-01-17 15:06:41 +01:00