Robbert van der Helm
01f9aa52cb
Remove Diopser todos
2023-03-20 13:33:45 +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
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
0d5247ee2f
Fix ParamButton hover state and styling
2023-03-18 15:16:52 +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
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
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