1
0
Fork 0
Commit graph

2069 commits

Author SHA1 Message Date
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