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
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
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
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
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
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
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
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
c566888fa3
💥 Use interior mutability for parameters
...
Instead of the previous technically-unsound approach. While it wouldn't
cause any issues in practice, it did break Rust's guarantees. That was a
design choice after adding support for editors in NIH-plug, but this is
probably the better long term solution.
The downside is that all uses of `param.value` now need to be changed to
`param.value()`.
2022-09-06 21:57:24 +02:00
Robbert van der Helm
1a706ea1c7
Rename DEFAULT_NUM_INPUTS and DEFAULT_NUM_OUTPUTS
2022-08-19 14:34:21 +02:00
Robbert van der Helm
0469bdf806
Persist the editor states for all plugins
2022-07-13 23:16:54 +02:00
Robbert van der Helm
7cd7294b22
Make CLAP descriptions and special URLs optional
...
This closes #14 .
2022-07-04 12:46:34 +02:00
Robbert van der Helm
883b43b6a7
Support string->value conversions for Diopser's most important parameter
2022-07-02 00:45:01 +02:00
Robbert van der Helm
b7bfa5f18e
Update Vizia
...
With two months of breaking changes, hooray! But everything should still
work after some bug squashing in Vizia.
2022-06-18 01:59:57 +02:00
Robbert van der Helm
f7bfbb8d95
Add stable IDs to the plugin's enum parameters
...
Existing instances will automatically be upgraded to these IDs when the
instance gets saved. This makes it possible to rearrange things later
when needed.
2022-06-04 13:36:17 +02:00
Robbert van der Helm
bfc472e49b
Introduce a new enum for CLAP features
...
Based on the new CLAP 0.26 clap-features.h.
2022-06-02 01:16:30 +02:00
Robbert van der Helm
6996fdaed1
Update features names for CLAP 0.26
2022-06-02 00:52:13 +02:00
Robbert van der Helm
c7f5cd1cec
Fix NaNs in negative out of bounds skewed params
...
This would result in a NaN, and the clamping wouldn't catch that.
2022-05-29 14:33:16 +02:00