1
0
Fork 0
Commit graph

809 commits

Author SHA1 Message Date
Robbert van der Helm f084f14095 Refactor GUIs to use param's own default value
This removes the need to pass a lot of these `ParamSetter`s and
`GuiContext`s around. We also don't need explicit events to reset a
parameter anymore since you can get this information from the parameter
itself.
2022-03-21 13:11:36 +01:00
Robbert van der Helm a844051054 Store defaults on Param objects
And add methods for querying them.
2022-03-21 12:49:59 +01:00
Robbert van der Helm d5d54f0c06 Fix generic UIs after last commit 2022-03-20 13:37:01 +01:00
Robbert van der Helm c22e522629 Greatly simplify Params trait
This now is a single vector with all of the information in the correct
order instead of the hashmaps and a vector. This avoids deduplication,
and it especially makes manual `Params` implementations a lot more
convenient since you can't mess up with mismatching IDs between the
methods.

To accommodate exactly this, the persistent fields methods also have a
default implementation and the trait has been marked as `unsafe` since
it's the programmer's responsibility to make sure these `ParamPtr`s will
remain valid.
2022-03-20 13:05:02 +01:00
Robbert van der Helm 8371f767ce Fix typo in debug assert macros 2022-03-20 12:44:29 +01:00
Robbert van der Helm a6f4202ac5 Add a todo for combining the Params methods 2022-03-20 02:44:13 +01:00
Robbert van der Helm b9d79771cc Use String instead of &'static str in Params
This may hurt performance in generic UIs a bit, but it will allow you to
programatically generate custom Params implementations for repeated
Parameters structs.
2022-03-20 02:14:18 +01:00
Robbert van der Helm 1a9db3ab8e Temporarily add more widgets to vizia Gain GUI 2022-03-20 01:23:44 +01:00
Robbert van der Helm 4f9a83860b Replace Binding with two display properties 2022-03-20 01:21:51 +01:00
Robbert van der Helm d8f8d545dd Update vizia with font DPI scaling fiz 2022-03-19 23:57:14 +01:00
Robbert van der Helm c5d4671f06 Add a ParamSlider style that overlays all options 2022-03-19 19:42:50 +01:00
Robbert van der Helm c3134fb5ef Add a todo for another ParamSlider style 2022-03-19 19:31:07 +01:00
Robbert van der Helm 9e8b498676 Add a ParamSlider display style highlighting step
This might work better for some types of discrete parameters.
2022-03-19 19:29:19 +01:00
Robbert van der Helm 4c5d61057e Fix typos 2022-03-19 19:24:08 +01:00
Robbert van der Helm 64eaf37370 Add option to ParamSlider to always fill from left 2022-03-19 18:49:49 +01:00
Robbert van der Helm 80db6121f3 Add some more styling for the vizia ParamSlider
This still doesn't really work well since we can't focus the textbox.
2022-03-19 17:47:50 +01:00
Robbert van der Helm a6e35cfaa9 Add methods for normalized parameter stepping
This is mostly useful for GUIs.
2022-03-19 16:12:56 +01:00
Robbert van der Helm 95370667d7 Rearrange the Param methods 2022-03-19 16:09:31 +01:00
Robbert van der Helm d9330628c0 Add stepping functions to Param
This can be useful for GUI widgets.
2022-03-19 16:06:20 +01:00
Robbert van der Helm 629619256e Add some text entry handling for vizia ParamSlider
This will need to wait for https://github.com/vizia/vizia/issues/85 as
right now it's not yet possible to get this to behave correctly (other
than perhaps sending manual WindowEvents on the next frame).
2022-03-19 15:29:10 +01:00
Robbert van der Helm 41d30561fa Add a class to the vizia ParamSlider label
So it can be targetted for styling
2022-03-19 13:10:20 +01:00
Robbert van der Helm 47fe8c35f7 Compensate for borders in iced ParamSlider 2022-03-19 02:19:53 +01:00
Robbert van der Helm 2e18ae0ebc Fix Shift+drag start behavior for iced and vizia
The previous calculation was incorrect as it would cause the value to
jump a bit.
2022-03-19 02:18:30 +01:00
Robbert van der Helm 92908e0232 Add more remapping functions for vizia 2022-03-19 02:08:00 +01:00
Robbert van der Helm fe5bdf3b88 Snap back when releasing shift on vizia slider 2022-03-19 01:48:57 +01:00
Robbert van der Helm bd0e126698 Compensate for border width in vizia remapping 2022-03-19 01:40:17 +01:00
Robbert van der Helm de80c53c14 Mention the -1 pixel offset 2022-03-19 01:22:38 +01:00
Robbert van der Helm aed3c14229 Add the ParamSlider to the VIZIA Gain GUI 2022-03-19 01:17:36 +01:00
Robbert van der Helm 64950055ea Implement most of the iced ParamSlider for Vizia 2022-03-19 01:17:13 +01:00
Robbert van der Helm d8e8d80402 Add helpers for keyboard modifiers in vizia 2022-03-19 00:38:26 +01:00
Robbert van der Helm e2c691ba55 Add default styling for nih_plug_vizia GUIs 2022-03-18 19:12:38 +01:00
Robbert van der Helm f43d209a60 Add a .plain_value() to ParamPtr
Useful for snapping when you don't have access to the concrete parameter
type.
2022-03-18 18:10:22 +01:00
Robbert van der Helm fb60f3a28b Remove unused Param::set_from_string
This method is a bit more efficient than converting the string to a
normalized value and then setting the parameter using that but it's not
used right now and it adds a form of redundancy.
2022-03-18 17:53:38 +01:00
Robbert van der Helm 47901d9b10 Rename NormalizedParamEvent to RawParamEvent 2022-03-18 17:45:27 +01:00
Robbert van der Helm efaa4ccdbd Add more convenient non-type erased param events 2022-03-18 15:52:22 +01:00
Robbert van der Helm 4ce5f359d6 Add parameter setting events for vizia 2022-03-18 15:26:19 +01:00
Robbert van der Helm 7460a12d98 Consider generic Params structs in derive macro 2022-03-18 14:09:17 +01:00
Robbert van der Helm ed3a17bf33 Update vizia
Now setting a font size on the `*` selector works.
2022-03-18 12:28:26 +01:00
Robbert van der Helm 87d9136b6f Use thinner fonts for vizia
Because they look like they're one weight too heavy.
2022-03-18 01:37:24 +01:00
Robbert van der Helm da4523ac4c Add a thin weight for Noto Sans 2022-03-18 01:37:22 +01:00
Robbert van der Helm 2c62b13ba5 Add the start of a Gain GUI port to vizia 2022-03-18 01:28:18 +01:00
Robbert van der Helm fd6836b891 Add font re-exports for vizia 2022-03-18 00:23:11 +01:00
Robbert van der Helm fb5ce3c670 Add back the egui Gain GUI version 2022-03-17 23:25:42 +01:00
Robbert van der Helm dc9f1bff45 Rename Gain GUI to Gain GUI (iced) 2022-03-17 23:22:47 +01:00
Robbert van der Helm c9e42e6c2c Add a basic adapter for vizia 2022-03-17 23:14:45 +01:00
Robbert van der Helm 8077f10c27 Replace index based for loop
This initially did a linear search within the loop so iterating over the
collection wasn't possible. Now we need to use a hashmap anyways, so
this can be simplified again.
2022-03-17 23:00:15 +01:00
Robbert van der Helm 22b51f50bb Fix iced param slider not snapping to values
For discrete parameters.
2022-03-17 20:28:21 +01:00
Robbert van der Helm bbb3f4eb64 Limit fill-slider-from-middle to centered params
Otherwise this looks a bit confusing.
2022-03-17 19:29:31 +01:00
Robbert van der Helm edb492932f Fix parent finding in VST3 unit transformation
Oops.
2022-03-16 22:01:47 +01:00
Robbert van der Helm d9e943a88d Filter out the root group 2022-03-16 22:00:31 +01:00