@Christoph-Hart Is there a way to create a RAW panel? The idea behind this is to monitor scriptnode parameters without using a timer (it's not accurate when drawing precise shapes and I encountered many crashes in different projects using this method with complex drawings)
So I'd like to animate a panel using a listener. Actually, it's apparently only possible to replace the whole interface or nothing, but I might be wrong...
You can create a custom component and load that as
ExternalFloatingTilein the compiled plugin and still use the scripted interface around it.
I just fixed the example, it should compile against the latest scriptnode branch.
How do you want to display the parameter? If you can somehow turn it into a signal, you could add a core.peak node and then grab its output as it will create a nice ringbuffer with the entire signal.
ustk last edited by
@Christoph-Hart oh yes I was almost certain a solution existed and forgot for that floating tile !
Yes I already grab a peak node through a parameter at the moment (have a look at the lfo section of my project when you'll be able to open it) but I read it from a timer. It's nice enough for a meter like visualization but not for a realtime lfo plotter like the one I recreated for higher rates… the drawing involved is too cpu greedy, so I'll try a c++ tile
@Christoph-Hart I understand how it works step by step, but I am not able to make the connection for a ScripFX (DSP graph)
❌ /Users/greg/Documents/_PROGRAMMING/_GREG_ExternalFloatingTileTest/AdditionalSourceCode/ExternalFloatingTileDemo.cpp:80:34: "use of undeclared identifier 'ScriptFX'" hise::raw::UIConnection::Slider<ScriptFX::myParameter> Connection; ^
What would be the identifier of a ScriptFX type module?
I tried many things around
scriptFxProcessor, but in this case, it is the parameter member that is not known...
Something tells me that
The next step is a unidirectional connection...
The template parameter just needs to be an integer, so this is a rare case of where you actually need to use a magic number, so just use the index of your scriptnode parameter (starting with 0 of course)
Oh and for an unidirectional connection, use a
The example in there should translate to your use case pretty fine.
@Christoph-Hart Well I must have done something wrong because I get:
@Christoph-Hart Ok so I went a bit further by using the parameter index only:
But the slider is updating only when changing the frequency parameter of the DSP:
I don't know if it's related but there's no unidirectional connection yet (I'm struggling with that too )
the finality would be to draw anything in the panel base on the listened value. But since the
UIConnectionoffers Slider and buttons like component only (I tried a VuMeter but creating my own class is too hard), I have no idea how to simply paint in the panel based on a unidirectional value without a concrete example to be honest...