1
0
Fork 0
Commit graph

170 commits

Author SHA1 Message Date
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 0b5811e8c7 Update Diopser 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 e5a26ac199 Send individual parameter changes for VST3 plugins 2023-01-11 16:59:21 +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 0d2af71180 Increase minimum frequency in Diopser safe mode 2022-11-29 20:53:51 +01:00
Robbert van der Helm d7acd6573a Only set parameter values on safe mode when needed
Otherwise this resets the filters every time.
2022-11-29 20:48:47 +01:00
Robbert van der Helm 035e345e21 Limit Diopser frequency range in safe mode 2022-11-29 20:45:06 +01:00
Robbert van der Helm afd8830636 Clamp scrolling in RestrictedParamSlider 2022-11-29 20:36:30 +01:00
Robbert van der Helm 3ba0ddffee Simmplify safe mode granular drag mapping 2022-11-29 20:34:02 +01:00
Robbert van der Helm 3635cfb78e Default Diopser automation precision to 100%
This is fine with the limited range.
2022-11-29 20:11:20 +01:00
Robbert van der Helm aca09c49c7 Auto-disable Diopser safe mode for older instances
Since this used to not do anything.
2022-11-29 20:00:21 +01:00
Robbert van der Helm 836a72dbc4 Implement Diopser's safe mode for filter stages
These are now limited to 40 by default.
2022-11-29 19:47:42 +01:00
Robbert van der Helm 32f123b47d Add a RestrictedParamSlider to Diopser
This currently is just a stripped down ParamSlider, but it will allow
the slider's range to be capped when safe mode is enabled.
2022-11-29 19:09:55 +01:00
Robbert van der Helm 1ef987a403 Show the modulation value in Diopser X-Y pad 2022-11-28 01:00:54 +01:00
Robbert van der Helm 4eb7614ee7 Wrap Diopser safe mode boolean in a struct
This struct will also be used to limit the parameter ranges later.
2022-11-23 01:00:45 +01:00
Robbert van der Helm dfd0109205 Move Diopser filter stages range to a function
We'll use this in the safe mode abstraction to clamp the parameter's
range when safe mode is engaged.
2022-11-22 18:20:36 +01:00
Robbert van der Helm fc6fcf4cf5 Move Diopser param structs and helpers to module
We'll need to expose some more ranges here so we can limit the ranges in
safe mode.
2022-11-22 18:06:59 +01:00
Robbert van der Helm 5e4cfb0e5a Add scrolling for the X-Y pad 2022-11-22 15:23:08 +01:00
Robbert van der Helm c05bc21581 Also reset Vizia widgets on right click
Because why choose. Right click, Ctrl+click, and double click all do the
same thing now.
2022-11-18 17:53:13 +01:00
Robbert van der Helm d97e5ccd30 Actually use the correct formatter 2022-11-18 17:43:34 +01:00
Robbert van der Helm ec94dadc04 Use correct formatter for Diopser's bypass param 2022-11-18 17:42:59 +01:00
Robbert van der Helm 66e7625724 Add a border radius to X-Y pad tooltip
To match the text input box. It adds a bit of flair to a plugin that's
otherwise 100% flat with straight lines and 90 degree angles.
2022-11-18 17:38:06 +01:00
Robbert van der Helm 3e4c7fa99d Add Alt+click text entry for X-Y pad 2022-11-18 17:03:13 +01:00
Robbert van der Helm 11f8b242c5 Snap Diopser frequency to notes with Alt+drag 2022-11-18 16:11:54 +01:00
Robbert van der Helm 8e9a1d1b60 Filter out DC bin in Diopser's spectrum analyzer 2022-11-18 01:41:37 +01:00
Robbert van der Helm 420c3099f5 Smooth the Diopser spectrum analyzer 2022-11-18 01:31:31 +01:00
Robbert van der Helm 1bec387216 Finally draw Diopser's spectrum analyzer 2022-11-18 01:06:25 +01:00
Robbert van der Helm 025513e3b4 Move Diopser frequency range to a function
We'll reuse this in the spectrum analyzer.
2022-11-18 00:39:13 +01:00
Robbert van der Helm 3e935dc5ad Pass sample rate to Diopser's editor 2022-11-18 00:38:54 +01:00
Robbert van der Helm ba9b1f9e94 Do include DC bin in Diopser spectrum 2022-11-18 00:33:41 +01:00
Robbert van der Helm 16dd364ec5 Remove Diopser tooltip todo 2022-11-17 23:57:23 +01:00
Robbert van der Helm 087aea9e53 Store the spectrum on Diopser's editor data struct 2022-11-17 23:56:06 +01:00
Robbert van der Helm b2210072fc Add a todo for Diopser safe mode 2022-11-17 23:42:27 +01:00
Robbert van der Helm b8b8f697f5 Consume the XyPadEvent
This doesn't need to be propagated up the tree.
2022-11-15 17:53:34 +01:00
Robbert van der Helm 4b81191225 Remove tooltip position when tooltip width changes 2022-11-15 17:52:45 +01:00
Robbert van der Helm 5a9786fd53 Attempt to improve left-side tooltip positioning 2022-11-15 17:09:32 +01:00
Robbert van der Helm 8df9575a16 Move X-Y pad tooltip updating to a function 2022-11-15 17:06:49 +01:00
Robbert van der Helm 2816b9418e Account for DPI scaling in granular dragging 2022-11-12 02:00:18 +01:00
Robbert van der Helm e13d79b288 Fix X-Y pad tooltip position with DPI scaling 2022-11-12 01:55:42 +01:00
Robbert van der Helm d8729ffd34 Add a minimum width to tooltip width comparison
To make it flicker around less at the right edge of the X-Y pad.
2022-11-12 01:45:26 +01:00
Robbert van der Helm 6f34eb3129 Add a 'Q: ' prefix to the resonance in tooltip 2022-11-12 01:44:53 +01:00
Robbert van der Helm 52eb85201e Use new frequency+note name formatter in Diopser
This is really nice for the tooltip.
2022-11-12 01:27:12 +01:00
Robbert van der Helm 8b8cbf1952 Add the X-Y pad tooltip
With some fancy positioning
2022-11-12 00:43:28 +01:00
Robbert van der Helm cf40eb208d Add granular dragging for the X-Y pad 2022-11-12 00:00:21 +01:00
Robbert van der Helm a2251509ee Move the octaves label to filter spread unit
Instead of having this in the parameter's name. Looks better in the GUI.
2022-11-11 21:52:00 +01:00
Robbert van der Helm b2f6175d54 Add bypass smoothing for Diopser
Using a simple equal-power crossfade.
2022-11-11 21:23:39 +01:00
Robbert van der Helm ec329143ae Add a todo for a Diopser bypass crossfade 2022-11-11 20:44:10 +01:00
Robbert van der Helm e42970c013 Modify Y-parameter before X-parameter
So the X-parameter shows up as last touched in the DAW.
2022-11-11 20:31:15 +01:00