HISE Logo Forum
    • Categories
    • Register
    • Login

    Control Parameter with single Slider from Sliderpack?

    Scheduled Pinned Locked Moved Scripting
    sliderpackparameterconnectivity
    15 Posts 2 Posters 573 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.
    • d.healeyD
      d.healey @trillbilly
      last edited by

      @trillbilly Ok so you do the exact same thing with a sliderpack. The value parameter of the sliderpack callback is the index of the slider that you moved.

      Also note that using a bidirectional sliderpack, where the min/max are not equally apart, prevents the sliderpack from drawing properly - bug for @Christoph-Hart

      If you draw it yourself with LAF then you shouldn't have a problem.

      HiseSnippet 1158.3oc2W0saaaCElJNpn1csnsnXXWxErKbVKLraRy1PwPsi+oHX0IdQtYaXWzwHQaSDJREJJuZLz2s8DLrGkd2tb6PI4HoFgLGiNTrpKDDO+P9cN7vuC0HkzkFFJUHqpiWDPQVehsyBgdV2YDl.cPOj0crGRB0TENQz9KBHggTOjkUkmaDXUcST7yae19DNQ3RyDgPmHYtzWv7Y5LoiZ+cLNe.wiNl4my5caefqTzUxkQ.dpX2DEPbOiLkdHwX1F1Hqaz2iokJGMQSCAa1W5svYl7WEI1eBKjcJmZFzB4.SThXT2YLt2nkwZHBYYOJKxqjD4OvdHyicg7rLvciUfy7HeNvZiqBRstFPxJGj1LAR2y1wUwBzYZL34V1GHfMjIDHUmGJI1h13urr6JAKD5F9jynCTvfK7n9dMa9HL7Z6mVqFjtC034DEdDQAIYshcd+uuE9awwEAMlR08mLg5pquUlAXvhsLdyDblfhmDIb0Lo.KENblGUMB10ZYPfRxq6J8CjB.KOBVGdDc6Z+VspboKgimCqyEpMqUh6mXLqitdh4OsZsZUKftFgTcGML3zHMsdQUlJR7CwOA+kXHJmCn7M.PWlMfkn6x0q9V4.6VaalzTH2kv4mBRqWV7.yXt38PoldjndbLU6M0vuqpISJUW5bwopRUaNUntJGqKh7OkpxmQMFBkMEqEuwpUK5ljdxYnTbffoOJflNdfj6YpwLee4JWTZ90TCmhP.J53J36mVAmkIQLXhtsctTKJNLxyZ3QzDj0Oau2tMfmQM5.u6zCd0azEi+ltvqcNBdM4gMttiQnWdPOyhjBY.8PDEPUZlIwY0iNG3sRNDV0tGM7LsLH11zxGH4dMBvWCDNVSg.ag4iOG9vOOy4O869jWmM7lsQWlJ.HgjdQbhtHyjofOUAThTfNvbjWDxzKxSQeMnqZdkzUqJDum8Hl1cV4XbiRvHrk7eAFSI4uscBgVF.2zdvOttL5q9xemjk+V1N.kYL4Z7h+owiw+.YNE+bpfpLIuVWQS1+bUaxFrxMYOxUCK+XEQDFHCKLwNTe1XndOLuvWFBsTnmerY2Lu7tRhpTUu8YCffrTebH5HUbYQGeYjPWnLnRw8gMWM1rhmHxYeIsb27Cvs.d+br5C3I+BWTo5RL5v7C3z9h4TNviFiw6CDmSHQb8RoEKrGJExfYRAyM+t9wld4SmRU4wdoADbG.Ca6ERdP6iobJIeE7Wz9EPkGQA4I5ZlKt9WZqz8qOyNAtXyoQ7+eYrq7QMicgsyZKa+2MRMm1+7zycEuHbAbbXj+.FGtncnoMuEDN6SDdMy2Y2HnUpfe4OZ0NVviK9STBucdWA6lI3tsGLXbeAABnjfux6oZYzwxHMSLcHABNyMVfvwA5R3RgTuPP4wQ0FFl9jwMMiSZSDGk1V+M7jpr0xTfQYqkJ+nYM7ItJ4qbStsqox4lwRfbqH9mUqB+0LLFWxka8g1Hux0s3TcIGe7553Nqqi6ttN9j00w8VWG+p00wu9e2QSW9NQZoeB2GBMbT+3eUvxJ2oNz+fxSipG
      

      Libre Wave - Freedom respecting instruments and effects
      My Patreon - HISE tutorials
      YouTube Channel - Public HISE tutorials

      trillbillyT 1 Reply Last reply Reply Quote 0
      • trillbillyT
        trillbilly @d.healey
        last edited by

        @d-healey Great, that works. But now it seems I cannot choose the Slider Index. i tried changing the getSliderValueAt(value); to setSliderAtIndex(0, value); with no luck.

        Also, is there anyway I can use this in an ELSE function?

        Here is my snippet. When I turn the power OFF, i'd like the slider to be manually editable and still control the EQ Band.

        HiseSnippet 3176.3oc6bs8abbUFeFaONYcaCIgpBUhGFYwCavI16NydKkKYhWuapUr8t16l1zRjZGu6YWOMyNylYl0wtQQMRHjPvCEg3EDBoJgDOwCHPPe.gnuv+.fPBDRnHPkWPnFwkWo7cNm4xY1KyNqsaaZYshVumuy2224247c4b0opkYCjssoEGeh5G1Eww+jB0NzvYuh6opYvs9Zb7mQXSUaGjkHkzpG1U01F0jime1qgIvmXNNxOO5JqppqZz.EPhi6EL0Zf1PqilS.0pJWWSWurZSTcsNLbmQY8FlFEM0M6A3YVgTbcUaba01nsTwrMi.G+7kZp4XZUyQ0AYywO2plMOr1dl20fx+KnYqsqNBWHMWMPQTxkM0ahQLlJWw8zzaV0qeaywwKTMXTXV5nvSKroVSMe5AiFmkTgXfDriG7yDFdyFBdoYgWJF3MDHwy.o4nP5bB0ZXo00InFLddBg0M.iSKUXXmEJTd4lo9SKTzD3vvY4Np2FU1BJ3KQxboRcQQ3iK7EWXAXn21QbeUKwZ5ZMQVUgw9zheYQOwaibJZ1oqoATH4hL7rXXoutg4tiVNRsXIBKfTjBHMn.xQJfLASqrxFkqXyHHTbSyl8zUAaDFhDOcr39TStHviX.SgaXV4khi7RiVd43Hu7nkOSbjOynkOabjO6nkOWbjO2nkOebjO+nkuPbjufqePosYzRUUKHehik1cJscHufRsZgZ.dPALHBbzm6sCHQIi1ZFnkaXgf3bbNLqJ69ZXQos1NWcq0proXksVoR4xKnYnCLK1pmQCGMSCQSiU643XZHgcesL0S1vy28hPCn2CcgEt2BIzZIlzsTBnXhUVgzNK.e0YYajCoTQUc8cgPvjdJOIvMgcQ3GLZ2GPaHudRvROKKn41.sORGCYF1S2G+Rigeo93WdL7K2G+YFC+Y5i+rig+r8wetwvet93O+X3Oee7WXz7G9WqrBMiIdFMWRLoPwVTZwqBYmahNHIjWdeeUEImoANSGOVk.VkhGqx.qxwi0L.qYhGqYAVyFOVyArlKdrlGXMev3d+C7PvO8qgB7wp4pNPgc64fRFtJ75ZDWRLq3WPDaGfeIEzAOJZgXiN9pgX+N9pgXaO9pgX2O9pg3Sb7UCwe43qFhuTfZtO4SZRWGUKZZ2jx3ELk39K.UfzsQ3eeOWdL6RYwSNx+vbdeXpggufE2oCV7BXH5Nofel89ms.OCyBLSxr9V0KsUs0q+RCYdFxZshbVlvSM.MOdogF1ZNGlbSUXRQKUillcRdAbuI7zBwmW4If2LS.uYm.dyMA7leB3sPz7NZat6xfGtEm0tQr29V6x6.IyFtgVZxLzAgBgqprE5N8PFMN7hh98FnChmkIctg6GLbUIMgpRdzpRdBUUlQqpLSnpxNZUkcBUUtQqpbSnpxOZUkeBUUgQqpBiWUQ6fKEkCNaBMxF0DqsYkJ0e9025ZhWamJ2n5H7ykOY7yq0wzzYOMi13z0dZXR7tiiBhzmNNJHRO43nfH8eiiBhzqMNJHRe03nfH8PGgBh1uTNJ+R4vIdwNl0KsYUv87k1p3H8LoSRm9jw2rNBjF1UZiI2ub7BKebDNywQ3rGGgycbDN+wQ3BSnviagdoidgdLS7y3eskoCpBd682CuTxED6upVsFZct5RGufzgTs6RUGsfIM50YWjEqWLlQN94BePmBi9fNYOG1FzgEFFMMV2PyoRWjwnNcVN2wRNN94cQEvpC4HQOi6QhR2NHmVSN9SIPBh4H.1+nkevWSgyW34nBe9PBi2ZIQAOk.ydM8Ti.+o.szT0QkiOkfrzxHiharzM2HkbdsWN25RUbdQIzRU2nZpBEq+xcNnxssM1ZoVEt4kyWjiaTvlZvIsZBAWqee.miKVhS60GKgkNZB6A7AD+QWg6FquFdDiim20FB10tHKGMrKC+Zn80ZfnmscBg0P12F17DfF+.F36i0LefeC9v8UNzuv6rqRG0f5TdSkNZMapipZBqSG7vCp4MTbPG.M0oEnSkf6z9sehIvSIn0dm1LHgKihM8vJ5X1yf4RPDUzbPc7triDyu8u+sdeL8.pRXxdlBLJCX1i5tsCnAa388csZ9cfmvw81Lncfx5lpNjIKgXSbW3SIvRhsSnfX5Du0gJtVPp45YDVyRscaUHDurltCdHv.oGBMdHbfN4ACoS502ItK76HbuEDEWzOIv5MW74D6+PYuHlExw+.UdozjhkgLcl28EMstscW0FHnhVp3smeet6p0DLs9YCtixdHs16EXMTdUE1gMgXDmx3485r16sbcndBA+4FBYRlerAwAZ9Aayp4ltZNg.cGmfIzdSyNfVUs.13mYRZFIVa8qMrlYdA7x+ipMDhQVgfVg6qDNrf1JmRnp4cgfZtAuvqyJ3OQK68ugOrF2JvQxrW5k+NwYSCchcobwEhmSnplSi8FNFmYHXDxP9AAFcuJymRfduFA.bNgx27Cl6sjs4+b08Rd5XgT6.4Xpo1oKrTDBFVPvsT5ShaTtaruQ4pVHHiWyZZuNCauixp8fwHqvT+IJjlp+D2cUbQ9NntHU7UOwHyoU1YmqYY1qa+R8nqPbJpaASV.CErUTw.Ai0Nr8whVl11sftCQW1rUUsmUa7XU.kcP6irrCSaqdc.6sAjUFu5LddfzMrQX6qVCXq7VZGvxMoURUWkXimQfVNcekk5qrbekyzW4r8UNWekyGTlWHr+27wa4jap1kLwCCmqp45kA0QoLl69e9G6t6+OFjILzySHgGFqogG3KYrODgATvX77v55Zo1S2wipTHTtoogY28LMzZD1eF7Oa2FYwh8g1gfckgWLlOkmVYGjNR0lIf7yqrArUcUqvgoSzXQ5I9oZLT60mUfBWQbJJwO9NC1rehdFL9YFz097vZTzOj5nRWuKADIDnEhZFLNN+yP0m3232orMq4Mrq4EU1tmpdvnq3y9Y9EWcUstl5pVG2Q9w3IOWLcOdFA+N0i69wja16ilbjmlAjmkBRAgMJWwM4c32YTj.S4+b2+1UFzOBVrAdEOqavtO2WTceTKSqNt6q1uesApMzPrTB1dBiyTnySk83S1vzraIC7L1MCsnl8frsUZ0xFEZ8KX0V2j9tAKpaxlilia81FlVH5IZEZQO8rcL630A33KIjovxg+Y+J3OWB+wkKRJ2Kmy0WpJZGT1hd02ZIF94p4f5R2W4WUHWlk8qmHubkSlxmfAgyDSe6OMwCx2UA6K8XXDHEkgRW7QDJGWHnTj35Uyk9cGVHn3mrCAyJHmargfSC4lFxcjB4jiDWO3Mele8vB4RNMjaZH2zPtiVHWlHw0C+Q+3u6vB4dzUlFxMMjaZH2QJjKazyx8a+y+zgExc1oyxMMjaZH2QKjKWj35s9Vu8ecXgbWbZH2zPtogbGsPt7Quvxu2+3u++gmf4zPtogbevExUH5KM3T2+OM8DKmFxMMj6DBkOqf6svRP5i2W74YD19id.dIu21awdV6iJcG2bXgeHmgv1V85PuRcxiV5zf5VU0nYJuEQX80SofIj1C5m6gWlPPhM8Flfb32PlQyLr6rFSHq29u+m0RSHjyqUJr30HDx2uRKzuRub+JMsGT49N+xbTJdX8g2XlcoTF.roG.soG.to8vqxY9W4oT7.r32+cOfRY.Dmd.Hmd.LK4g4W87+WJlk7w7AeyuMkx.XVZ.LKM.lk7vr368GVgRwGy+b9eHkx.XVZ.LKM.lk8v7CN28oVOYOL+fev+9soTFzoX.LKO.lk8Gmu0ezUydXV4W8y9MTJCfY4AvrbHLWtbc+oA4mke1SnoA31wrG9sa68f9Df3mZl8rZfXe6eyfmkjVNEtLYpVDIrRf+8gebqLs2CEDWYZuJieFG56tSrF9OS5GCSI9jBjWcnHd0OeXBuOLrQM7TEzeb+Nc0Lyh7c6lQG+eOErKcxtWqVXHMi.7chwqC9QSxG73SU6zQMznBOkON9E1wD+hUE3+RPEaXdczgdv940bK7FjZdAba5UiaAbMtOSVu9Cj128+km1T3ZO2sRII97qWqzsveHtZOXL09Vk.7gLbDuj3ZVlFH2+SX4VT2N6aU+l0EulNXUOTDLBcP1KeW084VqWWcsFfMDOBfWNJ08DZ02K6Lbz0m1DW7uTX9ObrUcTaXY9JMn+k0PdmPDJfsxfz+SHrItrXve6QBoVNEWGslZuRiF3m91kRywMbYjNBxHeDjIyQPlrGAYxcDjI+QPlBQJC9Q+d0dvtLnKlBHTsDM7hmIqN2+CP54ziL
        
        d.healeyD 1 Reply Last reply Reply Quote 0
        • d.healeyD
          d.healey @trillbilly
          last edited by

          @trillbilly said in Control Parameter with single Slider from Sliderpack?:

          But now it seems I cannot choose the Slider Index

          What do you mean?

          @trillbilly said in Control Parameter with single Slider from Sliderpack?:

          Also, is there anyway I can use this in an ELSE function?

          Again, not sure what you mean. Else is part of an if statement, it's not a function. You can call any function from within the else clause though.

          Libre Wave - Freedom respecting instruments and effects
          My Patreon - HISE tutorials
          YouTube Channel - Public HISE tutorials

          trillbillyT 1 Reply Last reply Reply Quote 0
          • trillbillyT
            trillbilly @d.healey
            last edited by

            @d-healey said in Control Parameter with single Slider from Sliderpack?:

            @trillbilly said in Control Parameter with single Slider from Sliderpack?:

            But now it seems I cannot choose the Slider Index

            What do you mean?

            I now cannot choose which slider within the SliderPack controls which EQ band. They all just control the same bands.

            @trillbilly said in Control Parameter with single Slider from Sliderpack?:

            Also, is there anyway I can use this in an ELSE function?

            Again, not sure what you mean. Else is part of an if statement, it's not a function. You can call any function from within the else clause though.

            My aplogies for incorrect wording of the ELSE Clause.

            In the last snippet I posted, I have an Inline Function with IF & ELSE statements. I cannot nest the Inline Function you created within the first Inline Function (in the ELSE clause).

            d.healeyD 1 Reply Last reply Reply Quote 0
            • d.healeyD
              d.healey @trillbilly
              last edited by

              @trillbilly said in Control Parameter with single Slider from Sliderpack?:

              I now cannot choose which slider within the SliderPack controls which EQ band. They all just control the same bands.

              The value parameter is the index. You can use that in your code that calculates the band to move.

              @trillbilly said in Control Parameter with single Slider from Sliderpack?:

              I cannot nest the Inline Function you created within the first Inline Function (in the ELSE clause).

              To be honest it all looks a little janky to me, you are dynamically creating a timer callback within an inline function which doesn't seems like a good idea.

              Also you have tons of unnecessary duplication.

              This:

                  var v = LFOModulator1.getCurrentLevel();
                  var v1 = LFOModulator2.getCurrentLevel();
                  var v2 = LFOModulator3.getCurrentLevel();
                  var v3 = LFOModulator4.getCurrentLevel();
                  var v4 = LFOModulator5.getCurrentLevel();
                  var v5 = LFOModulator6.getCurrentLevel();
                  var v6 = LFOModulator7.getCurrentLevel();
                  var v7 = LFOModulator8.getCurrentLevel();
              		    
              		    
                  //Sliderpack
                  SliderPack1.setSliderAtIndex(0, v);
                  SliderPack1.setSliderAtIndex(1, v1);
                  SliderPack1.setSliderAtIndex(2, v2);
                  SliderPack1.setSliderAtIndex(3, v3);
                  SliderPack1.setSliderAtIndex(4, v4);
                  SliderPack1.setSliderAtIndex(5, v5);
                  SliderPack1.setSliderAtIndex(6, v6);
                  SliderPack1.setSliderAtIndex(7, v7);
              

              Could be written as:

              for (i = 0; i < SliderPack1.getNumSliders(); i++)
                  SliderPack1.setSliderAtIndex(i, modulators[i].getCurrentLevel();
              

              For this to work you'd need to put your modulator references into an array called modulators.

              I think once you refactor your code it will be easier to add in additional features.

              Libre Wave - Freedom respecting instruments and effects
              My Patreon - HISE tutorials
              YouTube Channel - Public HISE tutorials

              trillbillyT 1 Reply Last reply Reply Quote 0
              • trillbillyT
                trillbilly @d.healey
                last edited by trillbilly

                @d-healey

                The value parameter is the index. You can use that in your code that calculates the band to move.

                I think we are looking at 2 different indexes. Im speaking about the SliderPack Index. How does your snippet know which Slider in the SliderPack (8 total sliders) controls which EQ Band?

                To be honest it all looks a little janky to me, you are dynamically creating a timer callback within an inline function which doesn't seems like a good idea.

                What would be a better way to power this on and off? Should I leave the timer on at all times and shut off the LFOs instead?

                And yes, I need to learn how to compress my script in a more efficient manner.

                d.healeyD 1 Reply Last reply Reply Quote 0
                • d.healeyD
                  d.healey @trillbilly
                  last edited by

                  @trillbilly said in Control Parameter with single Slider from Sliderpack?:

                  How does your snippet know which Slider in the SliderPack (8 total sliders) controls which EQ Band?

                  It doesn't, I just copied from your original bit of code:

                  ParametriqEQ1.setAttribute(ParametriqEQ1.Gain + 5 * 0, value);

                  You tell me which band will be affected?

                  @trillbilly said in Control Parameter with single Slider from Sliderpack?:

                  What would be a better way to power this on and off? Should I leave the timer on at all times and shut off the LFOs instead?

                  You could put an if in your slider pack callback that checks the status of the power button.

                  Libre Wave - Freedom respecting instruments and effects
                  My Patreon - HISE tutorials
                  YouTube Channel - Public HISE tutorials

                  trillbillyT 1 Reply Last reply Reply Quote 0
                  • trillbillyT
                    trillbilly @d.healey
                    last edited by

                    @d-healey

                    It doesn't, I just copied from your original bit of code:

                    ParametriqEQ1.setAttribute(ParametriqEQ1.Gain + 5 * 0, value);

                    You tell me which band will be affected?

                    The first EQ Band, but tell me which Slider in the SliderPack will affect it? This is the issue Im having. I cant determine which Slider in the SliderPack effects which EQ Band with getSliderValueAt(value);. I am unable to get the Index of the SliderPack to be chosen. If I try and add something with the setSliderAtIndex(0, value): it breaks the SliderPack/EQ connection.

                    That original bit of code was strictly to show you how I would connect a knob to the Band of an EQ.

                    You could put an if in your slider pack callback that checks the status of the power button.

                    Thanks, I will try this instead.

                    d.healeyD 1 Reply Last reply Reply Quote 0
                    • d.healeyD
                      d.healey @trillbilly
                      last edited by

                      @trillbilly said in Control Parameter with single Slider from Sliderpack?:

                      The first EQ Band, but tell me which Slider in the SliderPack will affect it?

                      You're overthinking it. Remember value is the index of the slider that you moved. So if you want slider 0 to control band 0 all you need to do is change 0 to value.

                      ParametriqEQ1.setAttribute(ParametriqEQ1.Gain + 5 * value, v);

                      v here is from the snippet I posted, where I get the actual value of the slider that was moved.

                      Libre Wave - Freedom respecting instruments and effects
                      My Patreon - HISE tutorials
                      YouTube Channel - Public HISE tutorials

                      trillbillyT 1 Reply Last reply Reply Quote 0
                      • trillbillyT
                        trillbilly @d.healey
                        last edited by

                        @d-healey Holy Shit, thank you.

                        Thank god its almost the weekend. I've been in this dungeon long enough. I've overlooked everything.

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

                        47

                        Online

                        1.7k

                        Users

                        11.7k

                        Topics

                        102.1k

                        Posts