1
0
Fork 0
Commit graph

1115 commits

Author SHA1 Message Date
Robbert van der Helm
30b913e159 Don't use direct Param initialization in exmaples
Since you now also need to specify the default field you probably
shouldn't use this anymore.
2022-03-21 13:29:03 +01:00
Robbert van der Helm
40d99a5cb3 Automatically implement Param::set_normalized_value() 2022-03-21 13:28:59 +01:00
Robbert van der Helm
021d175264 Use a default implementation for Param::normalized_value() 2022-03-21 13:28:59 +01:00
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
Fredemus
8bbcb1a093 add panning formatter 2022-03-20 21:37:50 +01:00
Fredemus
41db682c20 i32_note_formatter + from_f32_lin_to_db 2022-03-20 21:15:17 +01:00
Fredemus
f0ee2739f1 a few more formatters 2022-03-20 16:08:43 +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