Custom node-style user interface
-
@mmprod said in Custom node-style user interface:
would it be possible in HISE using paint routines?
The image you posted is tiny so I have no idea what it is.
What other options are there for GUI work?
C++
-
@mmprod I think the GUI can be done with GLSL Shaders. Hise support that.
-
-
@mmprod Yes OpenGL is the way like @orange said, but... Unfortunately it comes with lots of complications and it's not mac compatible (at least not 100%)
You can forget the paint routines as they are slow as hell for animations, and very limited in terms of shadow, blur, etc... Even if there are layers and a bunch of effects, as soon as you animate them it'll burn even modern CPU/GPUs
So yeah, the only way is to get that OpenGL to work with every plateform, so be sure to test the compatibility thoroughly before going crazy with crispy animations
-
@mmprod Are you attempting to capture the same graphical quality as Lunacy Audio, or do you just want the ability to move nodes around on the UI?
If it is the former then its as the other users have suggested, though you might be able to pull it off using WebView as well. If the situation is the latter, then it is possible to arrange FX networks around and have that reflected on the UI, but it comes with its own limitations and challenges. You will want to leverage both the panel and Hardcoded Master FX (Effects Slots) to accomplish this.
-
With its current feature set and the inability to create dynamic UI elements, you will be fighting an uphill battle when you attempt doing something like that in HISE.
There is a system in the making which will allow you to dynamically create and destroy UI elements (alongside with a streamlined API to connect that to the dynamic FX slot modules), but I wouldn't hold my breath for it being production ready in the foreseeable future.
Even then, for the amount of UI candy that the plugin from Lunacy Audio offers, you will have to go the OpenGL / WebView route anyways.
-
@HISEnberg earlier I was actually asking about the latter - being able to move nodes around (thanks for clarifying again)
When you are referring to hardcoded master fx, do you mean I can use multiple of them and change their order with scripting?
Although now I’m interested in animations like in beam( I’m looking into shaders now:))
-
@Christoph-Hart ah ok that makes sense — until then I’ll try to find a way to implement it without that API
-
@mmprod Yes so the
Effects Slot
is designed for all of HISE's stock FX, and allows you to change the order of the FX in your module tree.The
Hardcoded Master FX
are the same (in the sense that they are both a part of the Slot FX API) but are used for FX networks you create in Scriptnode. They operate very similarly with some distinct differences on how to use them.I have posted a very reduced snippet of this on the forum elsewhere and discussed my ideas on how you can accomplish this elsewhere. I have made it some of the way with this system but there are a lot of limitations in terms of the UI.
All that being said, it is my understanding that @Christoph-Hart is developing a new feature that has yet to be implemented called
Dynamic Containers
, which will allow for more flexibility on the UI side. Depending on when this feature is released it may be best to start with figuring out the backend on which FX you want and how to change their order, then moving onto the UI implementation.There is also a few examples on how to use the GL shaders here (probably in the snippet browser as well). For that I can't help you but maybe somebody else can.
-
@HISEnberg Oops just saw that Christoph already responded about the development he is working on!
-
@HISEnberg Thanks! this is helpful
I'm going to work on backend first like you said - slot FX looks like exactly what I need