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
a3056713c8
Don't normalize empty buffers in Buffr Glitch
2022-11-18 19:32:52 +01:00
Robbert van der Helm
cea84edceb
Add a tip on stopping ringing to Diopser's readme
2022-11-18 17:58:04 +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
ef2a4d9dde
Mention Alt+click on X-Y pad in new tips section
2022-11-18 17:03:20 +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
f7de5afcc5
Fix name in Buffr Glitch compilation instructions
2022-11-18 16:26:52 +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
463c04c492
Add a screenshot of Diopser's new GUI
...
It's not entirely finished yet, but this is pretty much what it will end
up looking like.
2022-11-18 02:06:55 +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
babe271556
Fix font size in Spectral Compressor disclaimer
2022-11-17 18:17:58 +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
Robbert van der Helm
fbe1fa1d4a
Set X-Y pad value on mouse down
2022-11-11 20:29:13 +01:00
Robbert van der Helm
27d42797ee
Add basic dragging gestures to the X-Y pad
2022-11-11 20:26:39 +01:00
Robbert van der Helm
3510350425
Add styling for the X-Y pad handle
2022-11-11 20:26:39 +01:00
Robbert van der Helm
e24adf4c67
Add the basis for an X-Y pad widget
...
The handle does not have any styling yet, and there's also no way to
interact with the widget.
2022-11-11 20:26:39 +01:00
Robbert van der Helm
8088630803
Always use floating point values for pixels
2022-11-11 20:26:39 +01:00
Robbert van der Helm
d280c2d767
Open Diopser GH page when clicking on the title
2022-11-11 20:26:39 +01:00
Robbert van der Helm
aa7d5195ce
Grab plugin URLs from the Cargo.toml file
2022-11-11 20:26:39 +01:00
Robbert van der Helm
d4b93cfdee
Add URLs to the plugin Cargo.toml files
2022-11-11 20:26:39 +01:00
Robbert van der Helm
72dbce92eb
Add scaffolding for the X-Y pad
2022-11-11 20:26:39 +01:00
Robbert van der Helm
6e103baf4d
Show Diopser version in the GUI
2022-11-11 20:26:39 +01:00
Robbert van der Helm
837ef14e1d
Bump Diopser version to 0.3.0
...
In preparation for this new GUI to be completed, or I may forget.
2022-11-11 20:26:30 +01:00
Robbert van der Helm
cce10d79ca
Move Diopser's stylesheet
...
Since there's now a dedicated editor module directory
2022-11-11 17:34:35 +01:00
Robbert van der Helm
3fbc06e819
Add more Diopser GUI scaffolding
2022-11-11 17:26:24 +01:00
Robbert van der Helm
60d4490998
Remove unused stylesheet in gain_gui_vizia
2022-11-11 16:21:47 +01:00
Robbert van der Helm
922a81f654
Drop all mentions of vizia point scale
...
It does use pixels instead of points.
2022-11-11 16:21:30 +01:00
Robbert van der Helm
884683a190
Drop ParamLabel again
...
This isn't going to work with vizia right now.
2022-11-11 14:13:05 +01:00
Robbert van der Helm
c9c4116e9d
Add part of a vertical ParamLabel
...
Vizia doesn't seem to support this right now, so I'll drop this again.
2022-11-11 14:11:14 +01:00
Robbert van der Helm
ec061cd0e5
Format the dry level control as decibels
2022-11-11 03:15:05 +01:00
Robbert van der Helm
42cf4cd652
Add a dry amount control to Buffr Glitch
2022-11-11 03:15:05 +01:00
Robbert van der Helm
e6c43e35d3
Fix copying tail to playback buffer
...
I noticed the effect wasn't deterministic, when I saw this. Oops.
2022-11-11 03:15:05 +01:00
Robbert van der Helm
333ff2c05e
Add an octave shift to Buffr Glitch
2022-11-11 03:15:05 +01:00
Robbert van der Helm
179ff6a035
Add automatic normalization to Buffr Glitch
2022-11-11 03:15:05 +01:00
Robbert van der Helm
7c04ec856f
Add the MIDI playback to Buffr Glitch
2022-11-11 03:15:05 +01:00
Robbert van der Helm
ea61947f1d
Accept MIDI input in Buffr Glitch
2022-11-11 03:15:05 +01:00
Robbert van der Helm
86b5ed8f7e
Push samples to the ring buffer
2022-11-11 03:15:05 +01:00
Robbert van der Helm
3475ea2de8
Add a ring buffer for Buffr Glitch
2022-11-11 03:15:05 +01:00
Robbert van der Helm
a7e425581f
Use CARGO_PKG_VERSION for plugin versions
...
Instead of duplicating this. Means that plugin versions only need to be
updated in the Cargo.toml file.
2022-11-11 03:15:05 +01:00
Robbert van der Helm
f18675ea64
Add an empty template for Buffr Glitch
2022-11-11 03:15:05 +01:00
Robbert van der Helm
e184e6d8a6
Consome scrolling events
...
This sort of fixes using these in ScrollViews
2022-11-11 03:15:05 +01:00
Robbert van der Helm
316d9221df
Add scrolling support for the safe mode button
2022-11-11 03:15:05 +01:00
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