FR: Mouse scripting API or multisliders
-
There is a need for multisliders such as X/Y pads, dual sliders (sliders with two knobs for range values). It would be possible to create these things in scripting if there was a way to get mouse values and do mouse callbacks:
-Mouse position
-Mouse button & modifiers
-On click
-On drag
-etc.This way the scripter has the option to leverage multiple sliders to create a single multislider.
Another solution to this problem would be to build HISE with skinnable multisliders. Here are the multisliders from the JUCE demo to provide inspriation:
It would be difficult to create various behaviors (e.g. should one slider stop the other or should one push the other?) without a fuller scripting API or more knob parameters.
-
I think I will rather add more custom widgets than adding callbacks for the mouse events.
I know of course the JUCE multi sliders and probably I am going from there with some custom Look and Feel - I try to make it as generic as possible (kind of like the table editor style).
XY Pad is also a reasonable request.
-
Having pre-defined control types that address most all situations is fine, but would there be any way to have a custom type that gives developers access to drag x/y, click, hover, etc.? That way if they want to make something really specific that isn't possible through the existing control types they can always use the custom one?
-
Another option, Greg and Christoph, might be to specify specific slider creation C++ API, as this is one of the reasons that HISE is open source, to do stuff like this. There's already an API for creating modules.
-
@4e0ow41c:
to specify specific slider creation C++ API, as this is one of the reasons that HISE is open source
Yes, this is exactly what I am planning. If you really need something special, you simply create your own component with JUCE and C++ (and with the right tutorials this is not much harder than in Javascript) and write some boilerplate code that adds the widget to the Scripting API.
-
Ah yeah, that's a good approach.