1
0
Fork 0
Commit graph

66 commits

Author SHA1 Message Date
Robbert van der Helm c02c23cb7f Use root properties instead of the * selector
This works around https://github.com/vizia/vizia/issues/131, which was
the reason why the vizia update was reverted.
2022-04-20 01:02:35 +02:00
Robbert van der Helm eb49b0962e Revert "Revert "Update the Vizia fork""
This reverts commit 0fa6eab4d3.
2022-04-20 01:01:28 +02:00
Robbert van der Helm 0fa6eab4d3 Revert "Update the Vizia fork"
This reverts commit f646ffcfb5.

Text sizes are broken with the current master branch version of Vizia.
2022-04-20 00:40:21 +02:00
Robbert van der Helm f646ffcfb5 Update the Vizia fork 2022-04-20 00:33:14 +02:00
Robbert van der Helm 44603b1a6d Fix docs for nih_plug_vizia::assets 2022-04-11 23:00:38 +02:00
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 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 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 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 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