HISE Logo Forum
    • Categories
    • Register
    • Login

    Linkwitz Multiband Comp Question...

    Scheduled Pinned Locked Moved General Questions
    42 Posts 7 Posters 3.2k 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 @SteveRiggs
      last edited by

      @SteveRiggs

      • create a parameter in the main chain node
      • link the compressor to the parameter
      • read the parameter from your interface with a timer
      • do whatever you want with the value

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

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

        @ustk

        Ahhh! Cheers. I've only really ever used timers for normal compressors. Never with anything inside scriptnode.

        Just trying to work out how the code would work for that and how to point it to the right things, but as usual... butchered it 🤣

        Any idea what I need to remove/add to get it to work?

        My dsp module is called Script FX2, the slider on the interface I'm testing it with is called CompTest, and the parameter in the top of scriptnode is called SN250Comp. I'll screenshot below after the code....

        (I already have 2 timers in the project btw, hence the t3)

        // Create Script FX2 Reduction Meter
        
        const var Script FX2 = Synth.getEffect("Script FX2");
        
        const var CompTest = Content.getComponent("CompTest");
        
        const var t3 = Engine.createTimerObject();
        t3.setTimerCallback(function()
        {
            var v = Script FX2.getAttribute(Script FX2.SN250Comp);
            
            v = Engine.getDecibelsForGainFactor(v);
            
            CompTest.setValue(v);
        });
        
        t3.startTimer(30);
        

        Screen Shot 2021-02-19 at 16.26.21.png

        Screen Shot 2021-02-19 at 16.26.13.png

        www.anarchyaudioworx.com

        www.facebook.com/groups/audioworx/

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

          @SteveRiggs Yes, this is the way to handle it, except that it is not recommended to use a timerObject as it is synchronous. For GUI stuff you should take a panelTimer.
          Also, the issue is probably because you have a space in your declaration. Script FX2 isn't good ;)

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

          SteveRiggsS 2 Replies Last reply Reply Quote 1
          • SteveRiggsS
            SteveRiggs @ustk
            last edited by

            @ustk The space! 😵 That was it. Sorted. Thanks man.

            I've never used a panelTimer before. I'll take a look into those now.

            Thanks again! Finally getting somewhere now. I'm still a bit rusty after a few weeks off developing anything, but it's coming back slowly 🤣

            www.anarchyaudioworx.com

            www.facebook.com/groups/audioworx/

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

              @ustk Still tinkering... is it possible to get the filter display screen on the interface in a similar way so you can actually see the filter ducking? I've tried linking up a floating tile to ScriptFX2 and HISE just closes down as soon as you press F5, so I'm thinking not?

              Screen Shot 2021-02-19 at 17.57.13.png

              www.anarchyaudioworx.com

              www.facebook.com/groups/audioworx/

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

                @SteveRiggs Maybe in the new version of scriptnode we will be able to connect a filterDisplay, but in the waiting, I'd probably go with drawing my own panel...

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

                1 Reply Last reply Reply Quote 1
                • Christoph HartC
                  Christoph Hart
                  last edited by

                  Hmm, not sure about this one, the problem is that you are supposed to compile such a graph to a C++ node but then the filter is not accessible anymore because it's part of a opaque algorithm.

                  What you could do in that case is to setup a dummy filter or EQ as HISE module, bypass it so that it doesn't eat up CPU, and then set the parameters from your script node patch to match the curve. Then connect the filtergtaph to this module.

                  SteveRiggsS 1 Reply Last reply Reply Quote 1
                  • SteveRiggsS
                    SteveRiggs @Christoph Hart
                    last edited by

                    @Christoph-Hart Cheers Christoph. The dummy EQ is a great idea.

                    I've set one up now and have a floating tile on the interface thats linked to the dummy eq to test it.

                    Ideally what I am trying to do is to link a parameter in the top of the script fx dsp window thats linked to the gain of the svf_eq so that triggers the knob to move. I'd like to link that to the gain of the dummy eq on the main interface so it shows the same amount of animated ducking on there through the floating tile.

                    I've put a quick 1 min video below to explain it and show it a bit better....

                    www.anarchyaudioworx.com

                    www.facebook.com/groups/audioworx/

                    SteveRiggsS 1 Reply Last reply Reply Quote 0
                    • SteveRiggsS
                      SteveRiggs
                      last edited by

                      ...also, does anybody know why the frequency knob at the top doesn't show the correct value compared to the one on the actual svf_eq when I connect them?

                      Screen Shot 2021-02-22 at 17.35.13.png

                      Screen Shot 2021-02-22 at 17.35.03.png

                      Screen Shot 2021-02-22 at 17.34.50.png

                      www.anarchyaudioworx.com

                      www.facebook.com/groups/audioworx/

                      DanHD 1 Reply Last reply Reply Quote 0
                      • DanHD
                        DanH @SteveRiggs
                        last edited by

                        @SteveRiggs I think it's a bug, I posted about it today and a restart of hise sorted it out. https://forum.hise.audio/topic/3673/script-fx-filter-knob/5

                        DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                        https://dhplugins.com/ | https://dcbreaks.com/
                        London, UK

                        SteveRiggsS 1 Reply Last reply Reply Quote 0
                        • SteveRiggsS
                          SteveRiggs @DanH
                          last edited by

                          @DanH Cheers dude. Restarting doesn't work for me though unfortunately. I am on quite an old version of scriptnode so the bug must still be in this one ☹

                          www.anarchyaudioworx.com

                          www.facebook.com/groups/audioworx/

                          1 Reply Last reply Reply Quote 0
                          • SteveRiggsS
                            SteveRiggs @SteveRiggs
                            last edited by

                            @SteveRiggs said in Linkwitz Multiband Comp Question...:

                            @Christoph-Hart Cheers Christoph. The dummy EQ is a great idea.

                            I've set one up now and have a floating tile on the interface thats linked to the dummy eq to test it.

                            Ideally what I am trying to do is to link a parameter in the top of the script fx dsp window thats linked to the gain of the svf_eq so that triggers the knob to move. I'd like to link that to the gain of the dummy eq on the main interface so it shows the same amount of animated ducking on there through the floating tile.

                            I've put a quick 1 min video below to explain it and show it a bit better....

                            Bump...

                            www.anarchyaudioworx.com

                            www.facebook.com/groups/audioworx/

                            1 Reply Last reply Reply Quote 0
                            • Christoph HartC
                              Christoph Hart
                              last edited by

                              The skew factor of the chain parameter is still 1.0

                              SteveRiggsS 3 Replies Last reply Reply Quote 1
                              • SteveRiggsS
                                SteveRiggs @Christoph Hart
                                last edited by

                                @Christoph-Hart I tried changing it to 0.229905 to match the frequency but that makes it worse ☹

                                www.anarchyaudioworx.com

                                www.facebook.com/groups/audioworx/

                                1 Reply Last reply Reply Quote 0
                                • SteveRiggsS
                                  SteveRiggs @Christoph Hart
                                  last edited by SteveRiggs

                                  @Christoph-Hart Spoke to soon, I restarted after saving and now it works! :) Cheers Christoph!

                                  Any idea how to get the svf_eq gain triggering the connected gain at the top though? I still can't work that bit out

                                  www.anarchyaudioworx.com

                                  www.facebook.com/groups/audioworx/

                                  1 Reply Last reply Reply Quote 0
                                  • SteveRiggsS
                                    SteveRiggs @Christoph Hart
                                    last edited by

                                    @Christoph-Hart It would be really cool to be able to trigger the gain of the dummy eq so that it animates on the floating tile the same as on the filter screen on the svf_eq

                                    www.anarchyaudioworx.com

                                    www.facebook.com/groups/audioworx/

                                    ? 1 Reply Last reply Reply Quote 0
                                    • ?
                                      A Former User @SteveRiggs
                                      last edited by

                                      @SteveRiggs I believe red wire means the Parameter controls the control, yellow wire means the control controls the Parameter. If that makes sense?

                                      You could probably fake the movement of it by just adding another Parameter, setting the ranges of it to match the Gain knob of the EQ (-18db to +18db), then controlling that Parameter with the same Compressor output.

                                      Example:

                                      Here's the compressor setup:

                                      7b94a134-9b60-40fb-94c4-77de1a2edade-image.png

                                      Make sure the EQ Gain Parameter matches the EQ Node.

                                      ec35ba86-f77d-4883-b28a-0a58f8489d5e-image.png

                                      56ff97c1-b825-4154-92e9-bdfa1617470d-image.png

                                      SteveRiggsS 1 Reply Last reply Reply Quote 1
                                      • SteveRiggsS
                                        SteveRiggs @A Former User
                                        last edited by SteveRiggs

                                        @iamlamprey Brilliant mate. Thank you! That works perfectly.

                                        Now all I need to work out is how to get the 'GainTest' parameter to trigger the 'DummyEQgain' so that it animates the graph on the floating tile. The plot thickens! 🤣

                                        Screen Shot 2021-02-23 at 13.48.05.png

                                        www.anarchyaudioworx.com

                                        www.facebook.com/groups/audioworx/

                                        ? 1 Reply Last reply Reply Quote 0
                                        • ?
                                          A Former User @SteveRiggs
                                          last edited by

                                          @SteveRiggs You could do it with a timer, I don't think it's the best approach but it's what we have available at the moment.

                                          const var t = Engine.createTimerObject();
                                          
                                          t.setTimerCallback(function()
                                          {
                                              
                                              var dummyeqgain = ScriptFX1.getAttribute(ScriptFX1.GainTest); 
                                          
                                          //Replace ScriptFX1 with whatever your scriptnode is called. You also have to reference it.
                                          
                                              DummyEQgain.setValue(dummyeqgain); 
                                          
                                          //Make sure the slider on the interface also goes from -18db to +18db with a scale of 0.1.
                                          
                                          });
                                          
                                          t.startTimer(30);
                                          
                                          SteveRiggsS 1 Reply Last reply Reply Quote 1
                                          • SteveRiggsS
                                            SteveRiggs @A Former User
                                            last edited by SteveRiggs

                                            @iamlamprey Thanks mate :) That worked perfectly with a couple of small tweaks.

                                            But, I did originally have the 'DummyEQgain' slider on the interface linked to the actual 'DummyEQ250' module I'm trying to control with it via the property editor, which is obviously a no no once its coded.

                                            The code above now works for triggering the slider to move on the interface, but it's not controlling the 'DummyEQ250' module itself so the line on the floating tile still doesn't move yet.

                                            So, I'm thinking now its better to maybe take the 'DummyEQgain' slider out of the equation entirely and just have the 'GainTest' from ScriptFX2 linked to the gain of the 'DummyEQ250' module directly, if that would be a cleaner way and it would work?

                                            I tried the code below but I'm getting an error message in the console saying 'Unknown function 'setValue'

                                            It's almost doing what I need it to now. Apologies for the 20 questions!! I really appreciate the help. This has been driving me barmy for days 🤣

                                            // Trigger the 'DummyEQ250' modules Gain with 'ScriptFX2's 'GainTest' Parameter
                                            
                                            const var DummyEQ250 = Synth.getEffect("DummyEQ250");
                                            const var t6 = Engine.createTimerObject();
                                            
                                            t6.setTimerCallback(function()
                                            {
                                                
                                                var v = ScriptFX2.getAttribute(ScriptFX2.GainTest); 
                                            
                                                DummyEQ250.Gain.setValue(v); 
                                            
                                            });
                                            
                                            t6.startTimer(30); 
                                            

                                            www.anarchyaudioworx.com

                                            www.facebook.com/groups/audioworx/

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

                                            24

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            102.5k

                                            Posts