Forum
    • Categories
    • Register
    • Login

    Knob values displayed as percentage

    Scheduled Pinned Locked Moved Scripting
    44 Posts 2 Posters 142 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.
    • J
      Jeetender @David Healey
      last edited by Jeetender

      @David-Healey
      i can add this
      this.setAttribute("ProcessorParameterID", value) to the callbacks,

      this.setAttribute("Script FX1.LeftJpanner.pan", value)

      David HealeyD 2 Replies Last reply Reply Quote 0
      • 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

                                        15

                                        Online

                                        2.3k

                                        Users

                                        13.6k

                                        Topics

                                        118.3k

                                        Posts