@pcs800 Pretty similar issue. You are calling the repaint incorrectly here:
inline function onKnob1Control(component, value)
{
currentTempoIndex = value;
Panel1.repaint();
}
Knob1.setControlCallback(onKnob1Control);
So now you need to change Panel1 to displayPanel1 here and call the repaint on the control callback. This also means you will no longer need the timer on this panel since it will be your knob that is updating the panel, so you can remove this:
displayPanel1.setTimerCallback(function() { this.repaint(); });
displayPanel1.startTimer(50);
However there is one other thing important to understand. If you want to assign a knob callback with script, than you cannot use the property editor to assign the control anymore (the property editor is going to overwrite anything you are doing in the script).
So if you want the knob to control the delay time still you are going to need to do that in the inline function:
inline function onKnob1Control(component, value)
{
currentTempoIndex = value;
displayPanel1.repaint(); // Fixed
// Assign to the Delay knob
}
Knob1.setControlCallback(onKnob1Control);
I think @d-healey ''s video here covers this but maybe there is another one I don't know about: