<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Knob values displayed as percentage]]></title><description><![CDATA[<p dir="auto">i have 2 knobs  named left and right, i want to display their value in percentage from -100% to +100%  0 being the center, the knob range is from -1 to +1, 0 being the middle position, +100% being the default position for right knob and -100% being the default position for the left knob, we dont have to affect the knob just read its value and convert it into percentage, and display the value in panels named LeftPanel and Rightpanel. this script gives error of function not found, and setPaintRoutine function not found .  i was trying to use the setText and setValue function they gave an error too.. plz help.</p>
<pre><code>const var leftKnob = Content.getComponent("left");
const var rightKnob = Content.getComponent("right");
const var leftPanel = Content.getComponent("Leftpanel");
const var rightPanel = Content.getComponent("Rightpanel");

var leftValue = -1;
var rightValue = 1;

inline function knobToPercentage(knobValue) {
  return knobValue * 100;
}

inline function formatPercentage(percent) {
  if (percent &gt; 0) return "+" + percent.toFixed(1) + "%";
  if (percent &lt; 0) return percent.toFixed(1) + "%";
  return "0%";
}

inline function updateDisplay() {
  leftPanel.repaint();
  rightPanel.repaint();
}

leftPanel.setPaintRoutine(function(g) {
  g.setColour(Colours.white);
  g.setFont("bold", 20);
  local percent = knobToPercentage(leftValue);
  g.drawAlignedText(formatPercentage(percent), [0, 0, leftPanel.getWidth(), leftPanel.getHeight()], "centred");
});

rightPanel.setPaintRoutine(function(g) {
  g.setColour(Colours.white);
  g.setFont("bold", 20);
  local percent = knobToPercentage(rightValue);
  g.drawAlignedText(formatPercentage(percent), [0, 0, rightPanel.getWidth(), rightPanel.getHeight()], "centred");
});

updateDisplay();

leftKnob.setControlCallback(function(value) {
  leftValue = value;
  updateDisplay();
});

rightKnob.setControlCallback(function(value) {
  rightValue = value;
  updateDisplay();
});
</code></pre>
]]></description><link>https://forum.hise.audio/topic/14642/knob-values-displayed-as-percentage</link><generator>RSS for Node</generator><lastBuildDate>Sun, 19 Apr 2026 20:14:29 GMT</lastBuildDate><atom:link href="https://forum.hise.audio/topic/14642.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 19 Apr 2026 10:16:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Knob values displayed as percentage on Sun, 19 Apr 2026 15:20:15 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/12">@David-Healey</a> <img src="https://forum.hise.audio/assets/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f616.png?v=fba14f4754a" class="not-responsive emoji emoji-emoji-one emoji--confounded_face" style="height:23px;width:auto;vertical-align:middle" title=":confounded_face:" alt="😖" /> you know what david, my screen time for today is beyond limits, i think i should take a break and continue tomarrow.. too much coding for today.. But thank you the plugin is done.</p>
]]></description><link>https://forum.hise.audio/post/119599</link><guid isPermaLink="true">https://forum.hise.audio/post/119599</guid><dc:creator><![CDATA[Jeetender]]></dc:creator><pubDate>Sun, 19 Apr 2026 15:20:15 GMT</pubDate></item><item><title><![CDATA[Reply to Knob values displayed as percentage on Sun, 19 Apr 2026 15:17:53 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/4915">@Jeetender</a> said in <a href="/post/119597">Knob values displayed as percentage</a>:</p>
<blockquote>
<p dir="auto">"DspNet.gain"</p>
</blockquote>
<p dir="auto">You've added quotation marks again</p>
]]></description><link>https://forum.hise.audio/post/119598</link><guid isPermaLink="true">https://forum.hise.audio/post/119598</guid><dc:creator><![CDATA[David Healey]]></dc:creator><pubDate>Sun, 19 Apr 2026 15:17:53 GMT</pubDate></item><item><title><![CDATA[Reply to Knob values displayed as percentage on Sun, 19 Apr 2026 15:16:55 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/12">@David-Healey</a> it was written in my notes.. setAttribute was giving an error so i added setattributnormalized as in java, but now it works,  the controller are working and the values are displaying.... but now as i set the attribut for the slider, it gives an error</p>
<p dir="auto">Line 85, column 21: Illegal type: string, expected: number {{SW50ZXJmYWNlfHwyMTAyfDg1fDIx}}</p>
<pre><code>const Knob3 = Content.getComponent("Gain");
Knob3.setControlCallback(onGainControl);

inline function onGainControl(component, value)
{
	var dbValue;
		
	if (value &lt; 0.567)
	{
		dbValue = ((value + 1) / (0.567 + 1)) * 60 - 60;
	}
	else
	{
		dbValue = ((value - 0.567) / (1 - 0.567)) * 12;
	}
	
	Panel3.set("text", Math.round(dbValue) + " dB");
	Panel3.repaint();
	
	DspNet.setAttribute("DspNet.gain", value); // this is line 85
}

const Panel3 = Content.getComponent("GainPanel");
Panel3.setPaintRoutine(function(g)
{
	var c = this.getLocalBounds(0);
	
	g.setColour(this.get("textColour"));
	g.drawAlignedText(this.get("text"), c, "centred");
});

</code></pre>
]]></description><link>https://forum.hise.audio/post/119597</link><guid isPermaLink="true">https://forum.hise.audio/post/119597</guid><dc:creator><![CDATA[Jeetender]]></dc:creator><pubDate>Sun, 19 Apr 2026 15:16:55 GMT</pubDate></item><item><title><![CDATA[Reply to Knob values displayed as percentage on Sun, 19 Apr 2026 15:07:35 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/4915">@Jeetender</a> <code>setAttributeNormalized</code> Do you see this function in the API browser?</p>
]]></description><link>https://forum.hise.audio/post/119596</link><guid isPermaLink="true">https://forum.hise.audio/post/119596</guid><dc:creator><![CDATA[David Healey]]></dc:creator><pubDate>Sun, 19 Apr 2026 15:07:35 GMT</pubDate></item><item><title><![CDATA[Reply to Knob values displayed as percentage on Sun, 19 Apr 2026 15:07:24 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/12">@David-Healey</a> said in <a href="/post/119594">Knob values displayed as percentage</a>:</p>
<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/4915">@Jeetender</a> What is the function on Line 30?</p>
</blockquote>
<pre><code>const DspNet = Synth.getEffect("Script FX1");
const Knob1 = Content.getComponent("left");
Knob1.setControlCallback(onleftControl);

inline function onleftControl(component, value)
{
	Panel1.set("text", Math.round(value * 100) + "%");
	Panel1.repaint();
	
	DspNet.setAttributeNormalized(DspNet.Left, value); // line 30
}

const Panel1 = Content.getComponent("LeftPanel");
Panel1.setPaintRoutine(function(g)
{
	var a = this.getLocalBounds(0);
	g.setColour(this.get("textColour"));
	g.drawAlignedText(this.get("text"), a, "centred");
});

</code></pre>
]]></description><link>https://forum.hise.audio/post/119595</link><guid isPermaLink="true">https://forum.hise.audio/post/119595</guid><dc:creator><![CDATA[Jeetender]]></dc:creator><pubDate>Sun, 19 Apr 2026 15:07:24 GMT</pubDate></item><item><title><![CDATA[Reply to Knob values displayed as percentage on Sun, 19 Apr 2026 15:05:12 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/4915">@Jeetender</a> What is the function on Line 30?</p>
]]></description><link>https://forum.hise.audio/post/119594</link><guid isPermaLink="true">https://forum.hise.audio/post/119594</guid><dc:creator><![CDATA[David Healey]]></dc:creator><pubDate>Sun, 19 Apr 2026 15:05:12 GMT</pubDate></item><item><title><![CDATA[Reply to Knob values displayed as percentage on Sun, 19 Apr 2026 15:04:52 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/12">@David-Healey</a></p>
<p dir="auto">Interface:! Line 30, column 31: function not found {{SW50ZXJmYWNlfHw4NTZ8MzB8MzE=}}</p>
]]></description><link>https://forum.hise.audio/post/119593</link><guid isPermaLink="true">https://forum.hise.audio/post/119593</guid><dc:creator><![CDATA[Jeetender]]></dc:creator><pubDate>Sun, 19 Apr 2026 15:04:52 GMT</pubDate></item><item><title><![CDATA[Reply to Knob values displayed as percentage on Sun, 19 Apr 2026 14:54:34 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/4915">@Jeetender</a> said in <a href="/post/119591">Knob values displayed as percentage</a>:</p>
<blockquote>
<p dir="auto">it give sout an error fucntion not found..</p>
</blockquote>
<p dir="auto">What is the full error</p>
]]></description><link>https://forum.hise.audio/post/119592</link><guid isPermaLink="true">https://forum.hise.audio/post/119592</guid><dc:creator><![CDATA[David Healey]]></dc:creator><pubDate>Sun, 19 Apr 2026 14:54:34 GMT</pubDate></item><item><title><![CDATA[Reply to Knob values displayed as percentage on Sun, 19 Apr 2026 14:49:20 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/12">@David-Healey</a></p>
<p dir="auto">yea iam trying to clean up with small error, now as iam using</p>
<p dir="auto">DspNet.setAttributeNormalized(DspNet.Left, value);</p>
<p dir="auto">it give sout an error fucntion not found..</p>
<pre><code>const DspNet = Synth.getEffect("Script FX1");
const Knob1 = Content.getComponent("left");
Knob1.setControlCallback(onleftControl);

inline function onleftControl(component, value)
{
	Panel1.set("text", Math.round(value * 100) + "%");
	Panel1.repaint();
	
	DspNet.setAttributeNormalized(DspNet.Left, value);
}

const Panel1 = Content.getComponent("LeftPanel");
Panel1.setPaintRoutine(function(g)
{
	var a = this.getLocalBounds(0);
	g.setColour(this.get("textColour"));
	g.drawAlignedText(this.get("text"), a, "centred");
});
</code></pre>
]]></description><link>https://forum.hise.audio/post/119591</link><guid isPermaLink="true">https://forum.hise.audio/post/119591</guid><dc:creator><![CDATA[Jeetender]]></dc:creator><pubDate>Sun, 19 Apr 2026 14:49:20 GMT</pubDate></item><item><title><![CDATA[Reply to Knob values displayed as percentage on Sun, 19 Apr 2026 14:42:21 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/4915">@Jeetender</a> Generally spaces are not good in code. Your reference is called DspNet not Script FX1 - so <code>DspNet.Left</code> - you should name things consistently though so that you are using the same naming everywhere, your code will get very confusing otherwise.</p>
]]></description><link>https://forum.hise.audio/post/119590</link><guid isPermaLink="true">https://forum.hise.audio/post/119590</guid><dc:creator><![CDATA[David Healey]]></dc:creator><pubDate>Sun, 19 Apr 2026 14:42:21 GMT</pubDate></item><item><title><![CDATA[Reply to Knob values displayed as percentage on Sun, 19 Apr 2026 14:40:41 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/12">@David-Healey</a></p>
<pre><code>DspNet.setAttributeNormalized(Script FX1.Left, value);
</code></pre>
<p dir="auto">Found identifier when expecting ',' error after this line</p>
]]></description><link>https://forum.hise.audio/post/119589</link><guid isPermaLink="true">https://forum.hise.audio/post/119589</guid><dc:creator><![CDATA[Jeetender]]></dc:creator><pubDate>Sun, 19 Apr 2026 14:40:41 GMT</pubDate></item><item><title><![CDATA[Reply to Knob values displayed as percentage on Sun, 19 Apr 2026 14:30:34 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/4915">@Jeetender</a> said in <a href="/post/119587">Knob values displayed as percentage</a>:</p>
<blockquote>
<p dir="auto">"Script Fx1.Left"</p>
</blockquote>
<p dir="auto">Did I use quotation marks in the snippet?</p>
]]></description><link>https://forum.hise.audio/post/119588</link><guid isPermaLink="true">https://forum.hise.audio/post/119588</guid><dc:creator><![CDATA[David Healey]]></dc:creator><pubDate>Sun, 19 Apr 2026 14:30:34 GMT</pubDate></item><item><title><![CDATA[Reply to Knob values displayed as percentage on Sun, 19 Apr 2026 14:30:02 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/12">@David-Healey</a> yes i saw the snippet and ure comment</p>
<pre><code>const DspNet = Synth.getEffect("Script FX1");

const Knob1 = Content.getComponent("left");
Knob1.setControlCallback(onleftControl);

inline function onleftControl(component, value)
{
	Panel1.set("text", Math.round(value * 100) + "%");
	Panel1.repaint();
	
	DspNet.setAttributeNormalized("Script Fx1.Left", value); // left is a macro in the dspnetowrk
}

const Panel1 = Content.getComponent("LeftPanel");
Panel1.setPaintRoutine(function(g)
{
	var a = this.getLocalBounds(0);
	
	g.setColour(this.get("textColour"));
	g.drawAlignedText(this.get("text"), a, "centred");
});
</code></pre>
]]></description><link>https://forum.hise.audio/post/119587</link><guid isPermaLink="true">https://forum.hise.audio/post/119587</guid><dc:creator><![CDATA[Jeetender]]></dc:creator><pubDate>Sun, 19 Apr 2026 14:30:02 GMT</pubDate></item><item><title><![CDATA[Reply to Knob values displayed as percentage on Sun, 19 Apr 2026 14:21:56 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/4915">@Jeetender</a> Take a look at the snippet I posted above and my comment in the post above that.</p>
]]></description><link>https://forum.hise.audio/post/119586</link><guid isPermaLink="true">https://forum.hise.audio/post/119586</guid><dc:creator><![CDATA[David Healey]]></dc:creator><pubDate>Sun, 19 Apr 2026 14:21:56 GMT</pubDate></item><item><title><![CDATA[Reply to Knob values displayed as percentage on Sun, 19 Apr 2026 14:19:05 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/12">@David-Healey</a></p>
<pre><code>const Knob1 = Content.getComponent("left");
Knob1.setControlCallback(onleftControl);

inline function onleftControl(component, value)
{
	Panel1.set("text", Math.round(value * 100) + "%");
	Panel1.repaint();
	
	this.setAttributeNormalized("DSPNetwork.leftjpanner.Pan", value);
}

const Panel1 = Content.getComponent("LeftPanel");
Panel1.setPaintRoutine(function(g)
{
	var a = this.getLocalBounds(0);
	
	g.setColour(this.get("textColour"));
	g.drawAlignedText(this.get("text"), a, "centred");
});
</code></pre>
]]></description><link>https://forum.hise.audio/post/119585</link><guid isPermaLink="true">https://forum.hise.audio/post/119585</guid><dc:creator><![CDATA[Jeetender]]></dc:creator><pubDate>Sun, 19 Apr 2026 14:19:05 GMT</pubDate></item><item><title><![CDATA[Reply to Knob values displayed as percentage on Sun, 19 Apr 2026 14:15:32 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/4915">@Jeetender</a> Here's an example using a Simple Gain effect</p>
<pre><code>HiseSnippet 1025.3oc0W0saaaCElzwJqwasnsXO.Z4J2ghT4XO2FTLzzXmrYzkTioztsqJnEohILEofHUV8F1Cx1M64X2Uf8Bs2fsCojikaLRb89Aq5BCQdNGd93ge76HOLSEwzZUFB23zooLD9i7BmJMi6MlvknA8Q3a4cLQaXY9EScvzThVynHLdiuvNAdq5H2ye7jCHBhLhMeJD5kJdD6q3Iby7YGt+y3BwQDJ6TdREu6r+fHkrmRnxA7rgW.JkDMgbF6Dh0sZdnujnGivepGIpcqffNcosGQHin6tWmXV6tc6zpc7dAcH6Q5FrW2fNsP3MOjxMprPCwvzvhdfhNMbr56kEI3kbMejfYGzBEBYtXZTuwbAc3rhiFgv0GNuTsQQo5i8NlS4WL+7R1scF7mGQ0hFt1UAoVuCPBWAR0Kfzc7Bix3ol4Vr34C8FHgSvXBb1TEJE9hp86XudJvCoYmDxD1QYvfKhnY2ff66C+buG2nAb9nM9g7jTAyd52x+y8c7kcNiYNLNlEYZtcgYem8ssQ8fG7I9OSpF0pLd26PjyRJDaOURpRBCZtsypMN2K6nsFklLknGQHFALhlJoyT4z1LvkBtj4GmKiLbkzeQOZFMa0uu+4DQN6dM9wFaUYWXSxSMlL9nbCqYUC1emEzia7SMpjgSTF1ykMcqEXw+sMEGuTakXRvxVpY6UhrqJvlx7jQrrp6Dqi.EXQd0lqFuJp3LnhiJ4.I277TV43iTBpkuXe+xrPT4gnkOVhPvUiiMdqR1XnfSYYHNrHefm6fA4.eUgBzKFzmXHyVFXEgrjxxLb6lA2mcNHjTPx2xqOSOwnRc9Vdxhv27ZS5qQXO7uB4Zp8kcgWzlo1RxlNGPIbJUvFpzbaIeN518Mf.XZH+GbH9W9Y6yu8jjphee2aRHut59QmGGysIzymd.JlKRz.+JcPBnmgv206EZlOkESxEFe8DXo.B7DF8TkSnKQQK2nQ7QLAnYdoq5fHihlKHlEUdrD1RC18P0q61qzRXuMspl86fbTvUJGspP7NdC4lnwKGi0VBFAJw+FXrTD+ldExVyAXcui910UwNX0UruwE8auPtoreaU8yqneKB0mIHKTn9FN0LtBob+kzQdf7b3V0Pkfj81k4M9mpyT8UlKX2R9+c3q0WsCiqQDaEw6c8bk72m.riR79Cfus2Px+GHDesJ2vkmcLADssp3mjmDBeVZDCfpTxDZaGjZ11eEiCris.JjIotA+I7TZrkcLtzXqYF+OIGIjnL0qhJZLauZdC2Lv9V59n5sfutGF6ujNxP2P9qhhVbotTf6ttA1dcCry5F3mstA1ccC7gqafO55Cz9WLdZtQkTbOAgNd3gtufBiOTR.Fu6JC5u.j6SOiC
</code></pre>
]]></description><link>https://forum.hise.audio/post/119584</link><guid isPermaLink="true">https://forum.hise.audio/post/119584</guid><dc:creator><![CDATA[David Healey]]></dc:creator><pubDate>Sun, 19 Apr 2026 14:15:32 GMT</pubDate></item><item><title><![CDATA[Reply to Knob values displayed as percentage on Sun, 19 Apr 2026 14:14:34 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/4915">@Jeetender</a> Almost. <code>this</code> should be a reference to your effect and <code>ProcessorParameterID</code> will be the constant that refers to the parameter you want to control, in your case something like <code>myEffect.Left</code></p>
]]></description><link>https://forum.hise.audio/post/119583</link><guid isPermaLink="true">https://forum.hise.audio/post/119583</guid><dc:creator><![CDATA[David Healey]]></dc:creator><pubDate>Sun, 19 Apr 2026 14:14:34 GMT</pubDate></item><item><title><![CDATA[Reply to Knob values displayed as percentage on Sun, 19 Apr 2026 14:13:39 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/12">@David-Healey</a><br />
i can add this<br />
this.setAttribute("ProcessorParameterID", value) to the callbacks,</p>
<p dir="auto">this.setAttribute("Script FX1.LeftJpanner.pan", value)</p>
]]></description><link>https://forum.hise.audio/post/119582</link><guid isPermaLink="true">https://forum.hise.audio/post/119582</guid><dc:creator><![CDATA[Jeetender]]></dc:creator><pubDate>Sun, 19 Apr 2026 14:13:39 GMT</pubDate></item><item><title><![CDATA[Reply to Knob values displayed as percentage on Sun, 19 Apr 2026 14:08:06 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/4915">@Jeetender</a> I don't know what you mean</p>
]]></description><link>https://forum.hise.audio/post/119581</link><guid isPermaLink="true">https://forum.hise.audio/post/119581</guid><dc:creator><![CDATA[David Healey]]></dc:creator><pubDate>Sun, 19 Apr 2026 14:08:06 GMT</pubDate></item><item><title><![CDATA[Reply to Knob values displayed as percentage on Sun, 19 Apr 2026 14:07:44 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/12">@David-Healey</a> the only work around here is to display the pan or gain values from the scriptfx nodes?</p>
]]></description><link>https://forum.hise.audio/post/119580</link><guid isPermaLink="true">https://forum.hise.audio/post/119580</guid><dc:creator><![CDATA[Jeetender]]></dc:creator><pubDate>Sun, 19 Apr 2026 14:07:44 GMT</pubDate></item><item><title><![CDATA[Reply to Knob values displayed as percentage on Sun, 19 Apr 2026 14:04:16 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/4915">@Jeetender</a> If you want to use a control callback then you can't connect to your fx module using the processor/parameter ID settings in the property editor. Instead you need to set the fx module's controls through the control callback as well. You can do this using the <code>setAttribute()</code> function.</p>
<p dir="auto">However in your case I don't think you should use a control callback at all and you shouldn't draw the knob values in a panel. Instead you should be using look and feel to style to the knobs and draw the value.</p>
<p dir="auto">Neither of these things are beginner friendly so don't worry if you feel a bit stuck at the moment, you'll get there.</p>
]]></description><link>https://forum.hise.audio/post/119579</link><guid isPermaLink="true">https://forum.hise.audio/post/119579</guid><dc:creator><![CDATA[David Healey]]></dc:creator><pubDate>Sun, 19 Apr 2026 14:04:16 GMT</pubDate></item><item><title><![CDATA[Reply to Knob values displayed as percentage on Sun, 19 Apr 2026 14:01:24 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/12">@David-Healey</a>  use a control callback or you can connect through processor/parameter ID iam new to hise coding or even coding...</p>
]]></description><link>https://forum.hise.audio/post/119578</link><guid isPermaLink="true">https://forum.hise.audio/post/119578</guid><dc:creator><![CDATA[Jeetender]]></dc:creator><pubDate>Sun, 19 Apr 2026 14:01:24 GMT</pubDate></item><item><title><![CDATA[Reply to Knob values displayed as percentage on Sun, 19 Apr 2026 13:56:36 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/4915">@Jeetender</a> said in <a href="/post/119576">Knob values displayed as percentage</a>:</p>
<blockquote>
<p dir="auto">iam confused for now</p>
</blockquote>
<p dir="auto">Which part is confusing you and I can try and give you a pointer?</p>
]]></description><link>https://forum.hise.audio/post/119577</link><guid isPermaLink="true">https://forum.hise.audio/post/119577</guid><dc:creator><![CDATA[David Healey]]></dc:creator><pubDate>Sun, 19 Apr 2026 13:56:36 GMT</pubDate></item><item><title><![CDATA[Reply to Knob values displayed as percentage on Sun, 19 Apr 2026 13:56:02 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/12">@David-Healey</a> iam confused for now...please help</p>
<pre><code>//Left Knob
const Knob1 = Content.getComponent("left");
Knob1.setControlCallback(onleftControl);

inline function onleftControl(component, value)
{
	Panel1.set("text", Math.round(value * 100) + "%");
	Panel1.repaint();
}

const Panel1 = Content.getComponent("LeftPanel");
Panel1.setPaintRoutine(function(g)
{
	var a = this.getLocalBounds(0);
	
	g.setColour(this.get("textColour"));
	g.drawAlignedText(this.get("text"), a, "centred");
});

//Right Knob
const Knob2 = Content.getComponent("right");
Knob2.setControlCallback(onrightControl);

inline function onrightControl(component, value)
{
	Panel2.set("text", Math.round(value * 100) + "%");
	Panel2.repaint();
}

const Panel2 = Content.getComponent("RightPanel");
Panel2.setPaintRoutine(function(g)
{
	var b = this.getLocalBounds(0);
	
	g.setColour(this.get("textColour"));
	g.drawAlignedText(this.get("text"), b, "centred");
});
</code></pre>
]]></description><link>https://forum.hise.audio/post/119576</link><guid isPermaLink="true">https://forum.hise.audio/post/119576</guid><dc:creator><![CDATA[Jeetender]]></dc:creator><pubDate>Sun, 19 Apr 2026 13:56:02 GMT</pubDate></item></channel></rss>