Forum
    • Categories
    • Register
    • Login

    Knob values displayed as percentage

    Scheduled Pinned Locked Moved Scripting
    44 Posts 2 Posters 135 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • David HealeyD
      David Healey @Jeetender
      last edited by

      @Jeetender Almost. this should be a reference to your effect and ProcessorParameterID will be the constant that refers to the parameter you want to control, in your case something like myEffect.Left

      Free HISE Bootcamp Full Course for beginners.
      YouTube Channel - Public HISE tutorials
      My Patreon - HISE tutorials

      J 1 Reply Last reply Reply Quote 0
      • David HealeyD
        David Healey @Jeetender
        last edited by

        @Jeetender Here's an example using a Simple Gain effect

        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
        

        Free HISE Bootcamp Full Course for beginners.
        YouTube Channel - Public HISE tutorials
        My Patreon - HISE tutorials

        1 Reply Last reply Reply Quote 0
        • J
          Jeetender @David Healey
          last edited by

          @David-Healey

          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");
          });
          
          David HealeyD 1 Reply Last reply Reply Quote 0
          • David HealeyD
            David Healey @Jeetender
            last edited by

            @Jeetender Take a look at the snippet I posted above and my comment in the post above that.

            Free HISE Bootcamp Full Course for beginners.
            YouTube Channel - Public HISE tutorials
            My Patreon - HISE tutorials

            J 1 Reply Last reply Reply Quote 0
            • J
              Jeetender @David Healey
              last edited by Jeetender

              @David-Healey yes i saw the snippet and ure comment

              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");
              });
              
              David HealeyD 1 Reply Last reply Reply Quote 0
              • David HealeyD
                David Healey @Jeetender
                last edited by

                @Jeetender said in Knob values displayed as percentage:

                "Script Fx1.Left"

                Did I use quotation marks in the snippet?

                Free HISE Bootcamp Full Course for beginners.
                YouTube Channel - Public HISE tutorials
                My Patreon - HISE tutorials

                J 1 Reply Last reply Reply Quote 0
                • J
                  Jeetender @David Healey
                  last edited by Jeetender

                  @David-Healey

                  DspNet.setAttributeNormalized(Script FX1.Left, value);
                  

                  Found identifier when expecting ',' error after this line

                  David HealeyD 1 Reply Last reply Reply Quote 0
                  • David HealeyD
                    David Healey @Jeetender
                    last edited by

                    @Jeetender Generally spaces are not good in code. Your reference is called DspNet not Script FX1 - so DspNet.Left - you should name things consistently though so that you are using the same naming everywhere, your code will get very confusing otherwise.

                    Free HISE Bootcamp Full Course for beginners.
                    YouTube Channel - Public HISE tutorials
                    My Patreon - HISE tutorials

                    J 1 Reply Last reply Reply Quote 0
                    • J
                      Jeetender @David Healey
                      last edited by

                      @David-Healey

                      yea iam trying to clean up with small error, now as iam using

                      DspNet.setAttributeNormalized(DspNet.Left, value);

                      it give sout an error fucntion not found..

                      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");
                      });
                      
                      David HealeyD 1 Reply Last reply Reply Quote 0
                      • David HealeyD
                        David Healey @Jeetender
                        last edited by

                        @Jeetender said in Knob values displayed as percentage:

                        it give sout an error fucntion not found..

                        What is the full error

                        Free HISE Bootcamp Full Course for beginners.
                        YouTube Channel - Public HISE tutorials
                        My Patreon - HISE tutorials

                        J 1 Reply Last reply Reply Quote 0
                        • J
                          Jeetender @David Healey
                          last edited by

                          @David-Healey

                          Interface:! Line 30, column 31: function not found {{SW50ZXJmYWNlfHw4NTZ8MzB8MzE=}}

                          David HealeyD 1 Reply Last reply Reply Quote 0
                          • David HealeyD
                            David Healey @Jeetender
                            last edited by

                            @Jeetender What is the function on Line 30?

                            Free HISE Bootcamp Full Course for beginners.
                            YouTube Channel - Public HISE tutorials
                            My Patreon - HISE tutorials

                            J 1 Reply Last reply Reply Quote 0
                            • J
                              Jeetender @David Healey
                              last edited by Jeetender

                              @David-Healey said in Knob values displayed as percentage:

                              @Jeetender What is the function on Line 30?

                              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");
                              });
                              
                              
                              David HealeyD 1 Reply Last reply Reply Quote 0
                              • David HealeyD
                                David Healey @Jeetender
                                last edited by

                                @Jeetender setAttributeNormalized Do you see this function in the API browser?

                                Free HISE Bootcamp Full Course for beginners.
                                YouTube Channel - Public HISE tutorials
                                My Patreon - HISE tutorials

                                J 1 Reply Last reply Reply Quote 0
                                • J
                                  Jeetender @David Healey
                                  last edited by Jeetender

                                  @David-Healey 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

                                  Line 85, column 21: Illegal type: string, expected: number {{SW50ZXJmYWNlfHwyMTAyfDg1fDIx}}

                                  const Knob3 = Content.getComponent("Gain");
                                  Knob3.setControlCallback(onGainControl);
                                  
                                  inline function onGainControl(component, value)
                                  {
                                  	var dbValue;
                                  		
                                  	if (value < 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");
                                  });
                                  
                                  
                                  David HealeyD 1 Reply Last reply Reply Quote 0
                                  • David HealeyD
                                    David Healey @Jeetender
                                    last edited by

                                    @Jeetender said in Knob values displayed as percentage:

                                    "DspNet.gain"

                                    You've added quotation marks again

                                    Free HISE Bootcamp Full Course for beginners.
                                    YouTube Channel - Public HISE tutorials
                                    My Patreon - HISE tutorials

                                    J 1 Reply Last reply Reply Quote 0
                                    • J
                                      Jeetender @David Healey
                                      last edited by Jeetender

                                      @David-Healey 😖 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.

                                      1 Reply Last reply Reply Quote 1
                                      • First post
                                        Last post

                                      17

                                      Online

                                      2.3k

                                      Users

                                      13.6k

                                      Topics

                                      118.3k

                                      Posts