@ustk Thank you very much. i,ve created a similar solution a few hours ago. I don´t use Broadcaster just the proper scriptSlider callback ,a "InlineStyleSheet" for the valuePopup Label and a Timer:
Content.makeFrontInterface(400, 200 ); const var Label1 = Content.getComponent("Label1"); const var lblCss = Content.createLocalLookAndFeel(); Label1.set("text", "ValuePopup"); const var valuePopupTimer=Engine.createTimerObject(); valuePopupTimer.setTimerCallback(function(){ Label1.set("visible", false) ; valuePopupTimer.stopTimer(); }); // Label Laf lblCss.setInlineStyleSheet(" * { letter-spacing: 1px; font-weight: bold; font-size: 12; } /** Render the default appearance. */ label { background-color: var(--bgColour); color: var(--textColour); border-radius: 5px; border-size: 1px text-align: centred; text-shadow: 2px 2px 5px rgba(0,0,0,0.6); } /** If you edit the text, it will use this selector. */ input { text-align: left; padding-top: 0.5px; padding-left: 50px; padding-right: 20px; caret-color: white; font-weight: bold; } /** Style the text selection with this selector. */ ::selection { background: #50FFFFFF; color: white; } "); Label1.setLocalLookAndFeel(lblCss); inline function onKnob1Control(component, value) { Label1.set("visible",true); Label1.set("text", Engine.doubleToString(component.getValue(), 1) +" "+ component.get("suffix")); Label1.set("width", Engine.getStringWidth(Label1.get("text"),Label1.get("fontName"), Label1.get("fontSize"), 0.15)); Label1.set("x",component.get("x")-(Label1.get("width")/2)+(component.get("width")/2)); Label1.set("y",component.get("y")-20); valuePopupTimer.startTimer(1100); }; Content.getComponent("Knob1").setControlCallback(onKnob1Control); Content.getComponent("Knob2").setControlCallback(onKnob1Control);Probably the best solution is a combination of yours and mine. Thank you very much again.
ezgif-4b86ba577ac754d8.gif