Robbert van der Helm
a69526c758
Preserve order for grouped params, fix persist
...
...for nested but not grouped parameters. This was a regression in
4affa40244
.
2022-11-17 18:14:20 +01:00
Robbert van der Helm
cc313fcc2c
Add tests for grouped grouped parameters
2022-11-17 18:12:57 +01:00
Robbert van der Helm
a8588ebb37
Add test for parameter groups
2022-11-17 17:45:45 +01:00
Robbert van der Helm
9821d630fd
Fix order in grouped parameters test
...
This test now also fails.
2022-11-17 17:45:43 +01:00
Robbert van der Helm
01e49630d7
Add (failing) test for arrays of nested parameters
2022-11-17 17:44:44 +01:00
Robbert van der Helm
f5a2e0b6d7
Rename AnyParam to Param
2022-11-17 17:28:52 +01:00
Robbert van der Helm
055d649f7c
Drop the singular Param struct
2022-11-17 17:28:12 +01:00
Robbert van der Helm
6036db45e5
Merge PR #44 from 'feat/order-of-nested-params'
...
Preserve the order of non-grouped nested parameters
2022-11-17 16:32:54 +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
9de657e04d
Send vizia parameter change event down the tree
...
Otherwise this doesn't work.
2022-11-15 17:01:24 +01:00
Robbert van der Helm
98bd3add19
Notify nih_plug_vizia GUIs when parameters change
...
This could be useful in some cases when dealing with computed
properties.
2022-11-15 16:43:13 +01:00
Robbert van der Helm
1448388353
Move nih_plug_egui Editor impl to own module
2022-11-15 16:28:53 +01:00
Robbert van der Helm
0db23e5aee
Move nih_plug_iced Editor implementation to module
2022-11-15 16:26:59 +01:00
Robbert van der Helm
6ebc759706
Move nih_plug_vizia editor to its own module
2022-11-15 16:18:38 +01:00
Simon Leiner
4affa40244
Preserve the order of non-grouped nested parameters
2022-11-13 20:38:48 +01:00
Simon Leiner
d9797a606e
Move handling of NestedParams into a separate function
2022-11-13 20:38:48 +01:00
Simon Leiner
797c641efb
Add tests for current behaviour of #[derive(Params)]
2022-11-13 20:38:48 +01:00
Robbert van der Helm
c92c2a189b
Fix conditional caching on Windows CI runners
...
Oops.
2022-11-13 18:46:49 +01:00
Robbert van der Helm
15ce644dec
Clarify ancestor usage in workspace detection
2022-11-13 18:36:52 +01:00
Robbert van der Helm
08ddd9c42a
For cargo_nih_plug workspace root detection
...
This is a lot simpler now and it simply considers the topmost ancestor
directory of either `$CARGO_MANIFEST_DIR` or the current working
directory containing a `Cargo.toml` file.
2022-11-13 18:33:15 +01:00
Robbert van der Helm
148fc3379b
Change GitHub CI cache keys
...
They changed it so `runner.name` is no longer the 'name' of the runner
and it's now a generic string in the format `Github Actions $idx`.
2022-11-12 02:22:46 +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
6966d00dd7
Fix cents in s2v_f32_hz_then_khz()
...
The trimming was not done correctly, and cents were treated as partial
octaves.
2022-11-12 01:32:09 +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
79f5bd8659
Add a formatter for frequencies with note name
...
This is the same as the 'Hz then kHz' formatter but it also appends the
note name and optionally the number of cents.
2022-11-12 01:26:27 +01:00
Robbert van der Helm
c3cd2fb0dd
Fix v2s_i32_note_formatter() for negative numbers
...
Otherwise this would wrap around or panic in debug builds.
2022-11-12 01:25:33 +01:00
Robbert van der Helm
59456a2973
Remove 128 note MIDI limit in frequency parser
...
This is useful when the value->string function can go outside of the
standard 128 note range.
2022-11-12 01:25:33 +01:00
Robbert van der Helm
5330a7d938
Add a version of util::midi_note_to_freq for f32
2022-11-12 01:25:33 +01:00
Robbert van der Helm
761f0b0a80
Add cents support to s2v_f32_hz_then_khz()
2022-11-12 01:25:33 +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
910afe7ec4
Wrap ParamSlider granular dragging in a struct
2022-11-11 23:58:18 +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
4f9a0eb117
Mention Y-coordinate direction in remapping utils
...
Since the direction is probably opposite of what you want.
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
7d42788be2
Add back a ParamWidgetBase::view with explicit cx
...
The version that returns a callback is nice, but it's a bit awkward when
dealing with multiple parameters.
2022-11-11 20:26:39 +01:00
Robbert van der Helm
3cdae526fd
Rename ParamWidgetBase::view
...
So we can also have a version that takes an explicit `cx` parameter.
2022-11-11 20:26:39 +01:00