How do I flush the UI parameters on first run??
-
@Orvillain said in How do I flush the UI parameters on first run??:
Effectively, I'm relying entirely on HISE's attachment of processorId and parameterId - and I don't really know when that happens in relation to the callback.
This is perfectly valid, you don't need to use control callbacks unless you need behaviour that you can't get with this setup.
There's basically an internal callback and I believe it is triggered after all of the script callbacks.
@Orvillain said in How do I flush the UI parameters on first run??:
9.5 - set the parameterId to the correct effect parameter name.
What happens if after this stage you call
.changedfor each of those components? -
@David-Healey said in How do I flush the UI parameters on first run??:
What happens if after this stage you call .changed for each of those components?
I get this in the Console:
Interface: Skipping changed() callback during onInit for grf_FXEngine1_FX1_Graph1 Interface: Skipping changed() callback during onInit for btn_FXEngine1_FX1_Sw1 Interface: Skipping changed() callback during onInit for menu_FXEngine1_FX1_Menu1 Interface: Skipping changed() callback during onInit for btn_FXEngine1_FX1_Sw2 Interface: Skipping changed() callback during onInit for knb_FXEngine1_FX1_Param1 Interface: Skipping changed() callback during onInit for knb_FXEngine1_FX1_Param2 Interface: Skipping changed() callback during onInit for knb_FXEngine1_FX1_Param3 Interface: Skipping changed() callback during onInit for knb_FXEngine1_FX1_Param4 Interface: Skipping changed() callback during onInit for knb_FXEngine1_FX1_Param5 Interface: Skipping changed() callback during onInit for knb_FXEngine1_FX1_Param6 Interface: Skipping changed() callback during onInit for knb_FXEngine1_FX1_Param7 Interface: Skipping changed() callback during onInit for knb_FXEngine1_FX1_Param8 Interface: Skipping changed() callback during onInit for knb_FXEngine1_FX1_Param9 Interface: Skipping changed() callback during onInit for knb_FXEngine1_FX1_Param10 Interface: Skipping changed() callback during onInit for knb_FXEngine1_FX1_Param11 Interface: Skipping changed() callback during onInit for knb_FXEngine1_FX1_Param12 Interface: Skipping changed() callback during onInit for knb_FXEngine1_FX1_Param13 Interface: Skipping changed() callback during onInit for knb_FXEngine1_FX1_Param14 Interface: Skipping changed() callback during onInit for knb_FXEngine1_FX1_Param15 Interface: Skipping changed() callback during onInit for knb_FXEngine1_FX1_Param16 Interface: Skipping changed() callback during onInit for knb_FXEngine1_FX1_Param1 Interface: Skipping changed() callback during onInit for knb_FXEngine1_FX1_Param2 Interface: Skipping changed() callback during onInit for knb_FXEngine1_FX1_Param3 Interface: Skipping changed() callback during onInit for knb_FXEngine1_FX1_Param4 Interface: Skipping changed() callback during onInit for knb_FXEngine1_FX1_Param5 Interface: Skipping changed() callback during onInit for knb_FXEngine1_FX1_Param6 Interface: Skipping changed() callback during onInit for knb_FXEngine1_FX1_Param7 Interface: Skipping changed() callback during onInit for knb_FXEngine1_FX1_Param8 Interface: Skipping changed() callback during onInit for knb_FXEngine1_FX1_Param9 Interface: Skipping changed() callback during onInit for knb_FXEngine1_FX1_Param10 -
@Orvillain Are you calling
.changed()from the menu's callback? -
@David-Healey said in How do I flush the UI parameters on first run??:
@Orvillain Are you calling
.changed()from the menu's callback?Yeah I am, there's no other callback to use right now.
-
@Orvillain Ok, what about using a timer that is started at the end of the callback, and in the timer you call
.changed() -
@David-Healey said in How do I flush the UI parameters on first run??:
Ok, what about using a timer that is started at the end of the callback, and in the timer you call .changed()
I'll give it a go!
-
hmmm... no that didn't seem to work either.
Now, I might've been being dumb all along... but on a hunch, I tried a different effect.... and it seems like at least some of those parameters DO flush on init correctly... and some of them don't.
So now I'm thinking, maybe this is a custom C++ code or script node problem.
-
@Orvillain said in How do I flush the UI parameters on first run??:
So now I'm thinking, maybe this is a custom C++ code or script node problem.
Could be...
-
@David-Healey said in How do I flush the UI parameters on first run??:
@Orvillain said in How do I flush the UI parameters on first run??:
So now I'm thinking, maybe this is a custom C++ code or script node problem.
Could be...
ooooo... looks like it might be any of my effects that uses my ExpSmoothedFloat class to smooth the incoming parameter changes!
I've genuinely been slamming my head against this for the past 4 hours.... and it was nothing to do with the UI side after all... at least it seems like.
-
God I hate my stupid brain sometimes.
So yes... that is exactly what it was....
In my c++ I run these smoothers for some parameters. To avoid discontinuities when turning a parameter. You generally don't want to flush 1000's of parameter updates on things like delay times, so you smooth it out over time. Maybe only 10ms, but it helps to make it sound better and brings down CPU too. Cool.
And that was all well and good. Worked fine.
But in my setParameter callbacks, I was only setting the target. I wasn't setting the initial value. Which now I read it, is literally the dumbest stupidest mistake that I could've made.
Time for more Guinness.
-
O Orvillain marked this topic as a question
-
O Orvillain has marked this topic as solved