HISE Logo Forum
    • Categories
    • Register
    • Login

    Controlling bands on Parametric EQ.

    Scheduled Pinned Locked Moved General Questions
    14 Posts 3 Posters 599 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.
    • ustkU
      ustk @lalalandsynth
      last edited by

      @lalalandsynth component.get("max") - value

      Can't help pressing F5 in the forum...

      1 Reply Last reply Reply Quote 0
      • lalalandsynthL
        lalalandsynth
        last edited by lalalandsynth

        Hmm, not sure where to place that in the code to be honest.
        I am such a noob , i hit a wall at every turn :)

        I am setting the ranges with the property editor , do I need to set the ranges in the scripteditor to implement any inversion ?

        ustkU 1 Reply Last reply Reply Quote 0
        • ustkU
          ustk @lalalandsynth
          last edited by

          @lalalandsynth Yes you need to script it:

          const var Knob1 = Content.getComponent("Knob1");
          
          var invertedValue;
          
          inline function onKnob1Control(component, value)
          {
          	invertedValue = component.get("max") - value;
          	
          	Console.print(invertedValue);
          };
          Knob1.setControlCallback(onKnob1Control);
          

          Can't help pressing F5 in the forum...

          ustkU 1 Reply Last reply Reply Quote 0
          • ustkU
            ustk @ustk
            last edited by

            @ustk You cannot invert min and max in the property editor. min always need to be smaller than max, hence the solution above

            Can't help pressing F5 in the forum...

            1 Reply Last reply Reply Quote 0
            • lalalandsynthL
              lalalandsynth
              last edited by

              This post is deleted!
              1 Reply Last reply Reply Quote 0
              • lalalandsynthL
                lalalandsynth
                last edited by

                This works to invert the knob value.

                 // Invert loPass Knob;
                    
                  
                    const var loPassKnob = Content.getComponent("loPassKnob");
                
                var invertedValue;
                
                inline function onloPassKnobControl(component, value)
                {
                	invertedValue = component.get("max") - value;
                	
                	Console.print(invertedValue);
                };
                loPassKnob.setControlCallback(onloPassKnobControl);;
                ;
                

                But has no impact on the control part , where its still un-inverted..I would assume that if the knob is declared as const var it would apply the inversion where the knob is called later in the code ?

                // Invert loPass Knob;
                    
                  
                    const var loPassKnob = Content.getComponent("loPassKnob");
                
                var invertedValue;
                
                inline function onloPassKnobControl(component, value)
                {
                	invertedValue = component.get("max") - value;
                	
                	Console.print(invertedValue);
                };
                loPassKnob.setControlCallback(onloPassKnobControl);;
                ;
                // Control - Lopass;
                    
                inline function onloPassKnobControl(component, value)
                {
                	local index = ParametriqEQ.Freq  + 1 * ParametriqEQ.BandOffset;
                	ParametriqEQ.setAttribute(index, value);
                };
                
                Content.getComponent("loPassKnob").setControlCallback(onloPassKnobControl);
                
                ustkU LindonL 2 Replies Last reply Reply Quote 0
                • ustkU
                  ustk @lalalandsynth
                  last edited by

                  @lalalandsynth A mix of the two ;)

                  // Invert loPass Knob;
                  const var loPassKnob = Content.getComponent("loPassKnob");
                  
                  inline function onloPassKnobControl(component, value)
                  {
                  	local index = ParametriqEQ.Freq  + 1 * ParametriqEQ.BandOffset;
                  	ParametriqEQ.setAttribute(index, component.get("max") - value);
                  };
                  
                  Content.getComponent("loPassKnob").setControlCallback(onloPassKnobControl);
                  

                  Can't help pressing F5 in the forum...

                  1 Reply Last reply Reply Quote 1
                  • LindonL
                    Lindon @lalalandsynth
                    last edited by

                    @lalalandsynth you didnt set the eq to the inverted value...

                    inline function onloPassKnobControl(component, value)
                    {
                    	local index = ParametriqEQ.Freq  + 1 * ParametriqEQ.BandOffset;
                    	ParametriqEQ.setAttribute(index, component.get("max") - value);
                    };
                    

                    HISE Development for hire.
                    www.channelrobot.com

                    1 Reply Last reply Reply Quote 1
                    • lalalandsynthL
                      lalalandsynth
                      last edited by lalalandsynth

                      Ah, thanks ! Works now !

                      One more thing , in the property editor i set this lopass to max 20000 and min 400 , it seems to respect the max setting but it goes down to 20 hz , any thoughts on that ? When I start scripting a knob at all is it expected that i set the min and max via scripting as well or should I be able to combine ?

                      Also , the show value popup still shows the non inverted value .
                      Must say , flipping the values in the min max would be simpler ;)

                      ustkU 1 Reply Last reply Reply Quote 0
                      • ustkU
                        ustk @lalalandsynth
                        last edited by ustk

                        @lalalandsynth You can combine with the property editor for min/max, but NOT for processorId/parameterId. You must remove them if using script callbacks. And everything that is set by script overwrite the parameter in the propety editor

                        In your case (because min is not 0) you need to add it to the total:

                        // Invert loPass Knob;
                        const var loPassKnob = Content.getComponent("loPassKnob");
                        
                        inline function onloPassKnobControl(component, value)
                        {
                        	local index = ParametriqEQ.Freq  + 1 * ParametriqEQ.BandOffset;
                        	ParametriqEQ.setAttribute(index, component.get("max") - value + component.get("min"));
                        };
                        
                        Content.getComponent("loPassKnob").setControlCallback(onloPassKnobControl);
                        

                        Of course, the popup still displays the original Value of the knob, not the inverted one you made by script... For this, you have to create your own popup label.

                        Flipping the min/max would create some weird edge cases because it's checked in the Juce core.
                        Although, adding a button in the property editor to invert the value might be do-able, but I'm not Christoph :)

                        Can't help pressing F5 in the forum...

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

                        26

                        Online

                        1.7k

                        Users

                        11.7k

                        Topics

                        102.0k

                        Posts