1
0
Fork 0
Commit graph

80 commits

Author SHA1 Message Date
Robbert van der Helm 7b02217ad4 Map from the Params object in GenericUi
Otherwise reactivity doesn't work.
2022-07-24 15:15:47 +02:00
Robbert van der Helm 8ae93cc6ab Remove Copy bound on ParamSlider 2022-07-24 15:15:47 +02:00
Robbert van der Helm f812374ad0 Make it easier to reuse generic UI widget drawing 2022-07-24 15:15:47 +02:00
Robbert van der Helm 2fbf4ca00d Remove Copy requirement from Vizia generic UI
This now uses a dummy lens to map to the parameter.
2022-07-24 15:15:47 +02:00
Robbert van der Helm 70f50018ad Use regular slides for >3 step parameters 2022-07-24 15:15:47 +02:00
Robbert van der Helm ef1d56646a Make Arc<ViziaState> persistable
This allows the plugin instance's size and scale to be remembered.
2022-07-13 23:16:54 +02:00
Robbert van der Helm 32ad1212f1 Silence clippy::type_complexity
Clippy now wants us to move any usage of the Fn* traits to a typedef.
Doing so will almost certainly not help readability.
2022-07-01 15:50:23 +02:00
Robbert van der Helm b7bfa5f18e Update Vizia
With two months of breaking changes, hooray! But everything should still
work after some bug squashing in Vizia.
2022-06-18 01:59:57 +02:00
Robbert van der Helm ac28f4d7bf Show modulation separately in VIZIA ParamSlider 2022-05-01 20:08:11 +02:00
Robbert van der Helm ae31e416c2 Don't use baseview system scaling on Windows/Linux
Until the UI frameworks make it possible to get the size or scale for
the window, this would cause the window contents to be scaled
incorrectly if the host does not set a scale factor.
2022-04-27 18:33:08 +02:00
Robbert van der Helm bb3175f68e Return -> Returns at the start of a docstring
The imperative tense doesn't make any sense when the function is a mere
getter and doesn't actually perform a nontrivial task.
2022-04-26 19:39:51 +02:00
Robbert van der Helm 482c834450 Update Vizia fork 2022-04-26 14:45:06 +02:00
Robbert van der Helm 9acd312768 Parmaeters are not real, they can't hurt you 2022-04-24 19:46:07 +02:00
Robbert van der Helm 9ab07cf4eb Update Vizia
Text sizes are still broken.
2022-04-24 18:12:06 +02:00
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