1
0
Fork 0
Commit graph

165 commits

Author SHA1 Message Date
Robbert van der Helm c3b1ded35b Fix links in docs 2022-04-11 16:23:34 +02:00
Robbert van der Helm 5b03ae8d0e Update vizia fork 2022-04-07 18:44:37 +02:00
Robbert van der Helm 56e9cd54c1 Pass the GuiContext to vizia editors
There's no clean way to expose the state save/restore functionality
through events.
2022-04-07 16:14:34 +02:00
Robbert van der Helm 083885a40c Rework Params trait API with Arc instead of Pin
This is a breaking change requiring a small change to plugin
implementations.

The reason why `Pin<&dyn Params>` was used was more as a hint to
indicate that the object must last for the plugin's lifetime, but `Pin`
doesn't enforce that. It also makes the APIs a lot more awkward.
Requiring the use of `Arc` fixes the following problems:

- When storing the params object in the wrapper, the `ParamPtr`s are
  guaranteed to be stable.
- This makes it possible to access the `Params` object without acquiring
  a lock on the plugin, this is very important for implementing
  plugin-side preset management.
- It enforces immutability on the `Params` object.
- And of course the API is much nicer without a bunch of unsafe code to
  work around Pin's limitations.
2022-04-07 15:31:46 +02:00
Robbert van der Helm af44796056 Fix clippy lints 2022-04-06 13:33:01 +02:00
Robbert van der Helm 63a087f265 Simplify resize handle hover handling 2022-03-29 18:50:34 +02:00
Robbert van der Helm 8d91020238 Fix typo in comment 2022-03-29 17:10:45 +02:00
Robbert van der Helm 7990307b58 Optimize resize handle triangle intersection
I guess doing these other checks doesn't really make much sense since
the triangle will always be in the same place.
2022-03-29 17:05:48 +02:00
Robbert van der Helm 7db6101aea Only resize when clicking on the triangle part 2022-03-29 17:01:35 +02:00
Robbert van der Helm beb66e46c3 Fix non-hover active styling for resize handle 2022-03-29 16:59:46 +02:00
Robbert van der Helm 7b9eff456c Update for new vizia resize patch
This version uses a property on the context instead of events. This gets
rid of all of the problems and complexity of the previous
implementation.
2022-03-29 00:02:11 +02:00
Robbert van der Helm b9b7903108 Add a lower limit to the GUI size scaling 2022-03-28 00:51:58 +02:00
Robbert van der Helm 772c1ecfaf Add a resize handle widget
This currently only works on Linux, and it causes a random white bar to
be added to the bottom of the GUI.
2022-03-28 00:33:10 +02:00
Robbert van der Helm a39eea1fe9 Add a way to rescale and resize the UI from VIZIA
With some additional VIZIA patches. This currently causes the layout to
do weird things, so it's not usable yet. On the baseview side this has
also only been implemented for Linux. Once the vizia quirks are gone we
can add a widget that you can add to your GUI to make it scaleable.
2022-03-27 23:09:47 +02:00
Robbert van der Helm 47a96ee02b Fix broken rustdoc links 2022-03-27 03:32:45 +02:00
Robbert van der Helm eed60f0fa4 Allow using the VIZIA integration without theming 2022-03-27 01:59:10 +01:00
Robbert van der Helm d35276437d Patch vizia to not require pub for lenses 2022-03-23 23:29:49 +01:00
Robbert van der Helm 144e30239e Use ParamFlags::HIDE_IN_GENERIC_UI in generic UIs 2022-03-23 13:16:56 +01:00
Robbert van der Helm 9e3149b931 Move ParamPtr to the prelude 2022-03-23 12:46:46 +01:00
Robbert van der Helm d97826e6a3 Apply even ParamSlider Step distribution to input
This remaps the input range to be the same as the displayed values since
the actual normalized number range has the numbers at the edge of the
range taking up half as much of the range as the other numbers.
2022-03-22 23:28:15 +01:00
Robbert van der Helm 5e94ec7f1d Add an evenly distributed CurrentStep mode 2022-03-22 19:44:40 +01:00
Robbert van der Helm ee3f4e0b37 Fix CurrentStep ParamSlider for non-booleans
The width was incorrect.
2022-03-22 19:07:39 +01:00
Robbert van der Helm e48a0d5eb8 Actually only use CurrentStepLabeled for booleans
The number of steps is of course the number of possible values minus
one.
2022-03-22 18:56:05 +01:00
Robbert van der Helm deb9b50eab Only use CurrentStepLabeled for boolean values
In the default 'smart' generic UI.
2022-03-22 18:53:56 +01:00
Robbert van der Helm 4086ff724f Fix casing on GenericUi 2022-03-22 18:50:50 +01:00
Robbert van der Helm 83f8c43ae0 Tweak spacing for GenericUi inside of ScrollView 2022-03-22 18:49:56 +01:00
Robbert van der Helm ff000565e5 Add ScrollView styling to make it look flatter 2022-03-22 18:31:40 +01:00
Robbert van der Helm 2e91a65f01 Rename theme.css to widgets.css
We'll use theme.css for overriding defaults.
2022-03-22 17:33:59 +01:00
Robbert van der Helm 10bd7f46ea Add a generic UI widget for vizia
This only needs a scroll bar.
2022-03-22 17:11:20 +01:00
Robbert van der Helm 4e09491dd5 Fix active state after text entry in a ParamSlider 2022-03-22 02:08:10 +01:00
Robbert van der Helm a2b39d9281 Offset peak meter ticks to account for minus 2022-03-22 02:02:53 +01:00
Robbert van der Helm 23add14697 Also DPI scale the PeakMeter hold position 2022-03-22 01:46:03 +01:00
Robbert van der Helm 66b8d6938a Scale PeakMeter ticks with integer DPI scale 2022-03-22 01:39:01 +01:00
Robbert van der Helm 3273bb3a35 Remove debug prints 2022-03-22 01:25:42 +01:00
Robbert van der Helm ccba81c382 Slightly increase vizia PeakMeter ticks font
So it renders a bit better, even though it shouldn't.
2022-03-22 01:02:25 +01:00
Robbert van der Helm 1241eb3db2 Add a note on DPI scaling with vizia PeakMeter 2022-03-21 23:51:44 +01:00
Robbert van der Helm d84b456edb Draw ticks for the vizia PeakMeter
They are just slightly blurry.
2022-03-21 23:45:55 +01:00
Robbert van der Helm b8ff936b21 Add part of a simple peak meter widget for vizia 2022-03-21 22:28:54 +01:00
Robbert van der Helm d83f55728a Mention vizia ParamSlider set_style() method 2022-03-21 18:36:41 +01:00
Robbert van der Helm 933a54053c Add more styling for the ParamSlider textbox 2022-03-21 16:12:17 +01:00
Robbert van der Helm 6f264bad85 Fix text entry for vizia ParamSlider
With a couple new vizia commits that add the required behavior through
events and a new callback.
2022-03-21 15:58:12 +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 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 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 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 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 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 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 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 da4523ac4c Add a thin weight for Noto Sans 2022-03-18 01:37:22 +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 c9e42e6c2c Add a basic adapter for vizia 2022-03-17 23:14:45 +01:00