HISE Logo Forum
    • Categories
    • Register
    • Login

    Lord of the Knobs :)

    Scheduled Pinned Locked Moved General Questions
    41 Posts 5 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.
    • orangeO
      orange
      last edited by

      @d-healey
      Interesting...

      This is the snippet.

      HiseSnippet 1292.3oc0XszaabCDlqk2VK0phjhhdpGHzIoVYCsRIM8ALhrke.gTK6Z43jCEvfdWJIBuK4hc4pD0.C3C8GV9oz68RA5OfVRtOkzZYoh5hXdXg3L7i7aFRNyPchGyD66y7.ZEOahKFn8o58mP4i5LBQnft6AzJoebu8eQui20.r6DWjuO1BnoU3PodshqCTs+746hrQTSbpH.3bFwD+SDGBOU5IseAw19.jE9LhSlQ+j1cMYzNLaVffKEza.bQlWgFh6gjCaMcfl99VDNyqOGww9.s02kYMo+H1angi+bhO4RarriAnuXhBEe.y1RxXoTPmQDaqShsYefXVNI0CTHzC7E5GQrHIxS8DORo.lhHq+PasEQOirzqwxSOsLza8P58X89ldDWdpFI29D8tTN1a.RrEjkVgiEr1K+H8NLwHn7sbPWgOvSzIAQ0m0nQcnQyF09wxkJWRrQ3ygiQdvSQzgXC31vXrCw7NLGWFUzoZkP0UjnlASyEioYdXZsXLspDxtr35SbbswxihBrpysRj6OX.1T.KUaBTB0lPwvAATSNgQgTlmCxlHbVmwTqR0TImirCv0gNDp3C5s0JW5ckKAEMOLOviJU.+F3LiG90vphAC2TpVtpWm2xxnGsS2dWHuUIsXOlcUyXystvxDSjb4jKlZIkeHCpF5uklnZspVCt81PiZgrRMZYqXBLUylYhrgik6hyasiCsQwt+SUa9Eyfn4hProg5HybfZsHPFwHj.tVsk.mw5Zt.qKwlldIuKKqYiU1zpCashVVCEFAnhKx5Z8eu0YrpVWqU23BQjwxRXp7q3DrOyFukqGQdYcrwO.qHtXL1PsHypsYj1l4psUj1V4ocSQScStXwXma5U7s7w7c3bOxkAbb0LxeEwhOpdDcfEWBDxO0iY3RL98v1nI0iHcneIb6O+nYIW8qTSNkQA.5frsuTjxq57wFBCdkI3QOFGeLsZsRuqTwRWOmlACxSUzjYi8xSqLar2BfUkF3bI1KN3Tz3DIklNqm9sm0KaRYyPGSlAxncoD9wtX5skKDD4MkIsiHkXnbUNwOKJmXeahE1CPrjIDSbi.Emip03l+3m+8mCtsIX2.NmQUSvF5ggamBspTmU.cyXz5ZJvKOxVyf7kc2CwQxRBh7CBeiK1iSjtcs8viE0ZEVfPQ88v9WwYthxlRN1IbZKkq5sIF56caOIoyMG2FjYt1HbtJGWJBhhsiHu52FYlGPkLyCnZ62HuOlH.9asGgICGkVh3MG19Rlmfa8I+5TkSFJ8TjEIvOqbsByyrEselgZvrT6qlgZfymiZsa6h7DqS1EL1h8DDicnGKvMcF1HOu1hNsjw8+5Or3Vqrba38O2luvWQ42Lq.aDe5ZxkgfiTHhXMUwuxBbo9D9jr2duWJTeYo6i0OgvMGkOeWKG9JNdeey2nm8TVOrt4Txtt9Au9e6abx+IXMtq237wIOBMI8phJSI3VdFZ6V+09uWkKN18U6W9x1uZpyl278sy4gpZEl1tJrb10c7bxEeNP8nkGLma+bcki8gDgUa7ObH7ijwC+.ftmxB3D5viPhBcEQ706E3zmE3YhETkJBXKKxSaMYoLg8aDWgReL0R04uEsHkFx9ZQJMhU9+xZ3fL8XWXFVuk7p4FJIB6lp9GkJpejrOLo9NouwgXQtvzTF5aSg2IeDMWYDsVYDOYkQ7zUFw2txHd1Ji36V.B4el1NAblS34c.3e.zIJ6EE
      

      This is the interface code:

      Content.makeFrontInterface(700, 120);
      
      const var Range1 = Content.getComponent("Range1");
      const var Range2 = Content.getComponent("Range2");
      const var Range3 = Content.getComponent("Range3");
      
      
      const var SimpleGain = Synth.getEffect("SimpleGain");
      
      
      inline function normalisedToRange(normalisedValue, min, max)
      {
          return min + normalisedValue * (max - min);
      }
      
      inline function onMAIN_KNOBControl(component, value)
      {    
         
        if(Range1.getValue() == 1)
          {        	    
              local v1 = normalisedToRange(value, 0, 50);
      	    local v2 = normalisedToRange(value, -100, 10);
      	    local v3 = normalisedToRange(value, 1, 10);
          };
      
          
        if(Range2.getValue() == 1)
          {   
             
      	    local v1 = normalisedToRange(value, 0, 200);
      	    local v2 = normalisedToRange(value, -10, 30);
      	    local v3 = normalisedToRange(value, 100, 300);	
          };
      
          
        if(Range3.getValue() == 1)
          {   
             
      	    local v1 = normalisedToRange(value, 0, 100);
      	    local v2 = normalisedToRange(value, -3, 30);
      	    local v3 = normalisedToRange(value, 1, 30);	
          };
             
          Console.print("v1: " + v1);
      	Console.print("v2: " + v2);
      	Console.print("v3: " + v3);
      	Console.print("----");
      		
      
          SimpleGain.setAttribute(SimpleGain.Width, v1);
       	SimpleGain.setAttribute(SimpleGain.Gain, v2);
      	SimpleGain.setAttribute(SimpleGain.Delay, v3);
          
      };
      
      Content.getComponent("MAIN_KNOB").setControlCallback(onMAIN_KNOBControl);
      

      develop Branch / XCode 13.1
      macOS Monterey / M1 Max

      1 Reply Last reply Reply Quote 0
      • ?
        A Former User @d.healey
        last edited by

        @d-healey @orange This is so helpful. Thanks very much. I'll have a play around tonight, want to try and make it so that it picks up from wherever the knob is at previously rather than snapping to value, will upload a snippet here if I figure it out! Thanks again both.

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

          @orange Yeah the value will jump because the range has changed and as soon as you interact with the knob it will recalculate and apply the new values. If you want it to move from the existing value of the previous range then you will need to add the previous value into the calculation of the new value (and you'd need to know what the previous range was too). It shouldn't be too difficult but it might cause a headache :p

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

          orangeO 1 Reply Last reply Reply Quote 1
          • orangeO
            orange @d.healey
            last edited by

            @d-healey Yes this is a trouble :) Can we make only this?
            When we change the range (press the buttons); could the parameters and knob returns to their minimum values?
            I tried that with .setAttribute but it doesn't accept.

            develop Branch / XCode 13.1
            macOS Monterey / M1 Max

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

              @orange This is probably how I'd do it.

              HiseSnippet 1441.3oc0X80aaaCDWJIZKwadncXOtG37S1MNIR1sqC0qXtwIoHnKIF0coEnnnfVh1lHxjBTTN0qH.8g8Aqej12fsiTxVxIJI1IqCsBv+g2c+N96NRc5nZK3tjvPtvvbsWLNfXX9sVcFyjCZM.SYF6uigYAqiNb2mc3Qa6Xr83.bXHwyvzb4mpzat1JF5q+921F6iYtjTQFFGyotjemNjJSk1t4yn996g8HufNLi02u49tbVKtOOB3xxV1FAX2Sv8IGhUlsjkg4WsqGUxEcjXIIzvbks4di6LfeJK19iogzt9D0.GiNfihEuG22SwXkTiVCn9dsmDygFfWZmlAVNNC7CVGP8nSkmlItiVAJEQ17g4RWE8btgzyLC8VIld20piqfFHS0n312XsOSRD8vvRPVZEaqwRqrpUKNXASt4P7Ij8DvfoHJ+Pa6pHmZ1UZTrPwBvBQnDMBKPcnCC7IpkZziQ58Ea1mH2sWOhqrboTskNOvQf8u9MMPas0HmpnQ0fO0KVXzlBRHQLhTtdL.AoOh1H92gbORir9PfY8IaGIkfjX2ofziKPkovX6FHJ5WQ0geVe8JEK79hEPvUVTul9FvvIwMv7V7gAbFLnbomqrqz5koq6TQQlbvtYnBASJ39sv99cgMjk6JYZjs1tRiBmoHDk4SYDTuHlqjxYHFWLD6Sg7+K3ZSKmJ4XreDoJZHkAegeWFVSjQBlRAZcz4rGcOTYvXzFJ0Jpl6zFE3Aa7RVZNgw6pwlNCzdfWfTL5mdLJh4Q5An8p.KPsEjQPFAcJVvnr9HvWTFUFiJAr5J7TpzcPrSpjJNiEpKWbHAY+nYEptF8Za0hwEyNS4ZUDrI7A1SVLlEry0BdCG8l3KAesqEuSdf6JH3SZjSH5byCwZ12lXrJp9MODs0vm+nr1MOJctEQY8aUPlG33Hbpnyh0lZSZoL0M8OQJEztQRR4LxeI0SNnpN7y584.o5qp5HeAAtCwGOtpNpmf7r7u6OsrTY23JV.rYK.nu4+wyTiaSJTH3cG0aBlISxL0RruzRNb1AOY+Ceqp2fjxjfiRJvlY5Syzy32X8oIj3+r08.WEx8IaFHnp5zibdDpDTTbjix10Nu1ZIZqkq15IZqmm1MfK3AWpY8daAgn9wK4+vhowYoJ48PgKlHpzHSV5PtjbDqbkBuuvZENqv40zqWdpRbjOQjmVUyShq.VYVzvtDwjUgD6fdHlsIEq4qIE23jRFC4r8gmQbT.gcYstXjjIU8XkPJvTotEluKoElN9TOhvf5o5eYZJzPy4r8VZbYNHder1AqZouAv4Vgt14QmDGyG554f9O1eGrDq5jKIe.4n.hPRUoeycHifVji6qaMqcHgmH4AP2tS25AIu4Jk8toS5GCZNd5fObTSiL9Z0XeUbRGjXFwOI.z+2IieLJkwOFkadpp72TAn+p4.Bs+fzN6+vSa1kK.t0g9myjBhk9brGMJLqbykuHytp00LTCkkZ+34nlwwWfZMaFfEv7jcBmDwBfX7mJ3QAodX07xZW0tlLo+W84E2pmka8+zysKddE3TSbuHerb1iRod.WhBnx0LmYQctDVHUNN6cwKv4qrm6yWMuz8tVsUM+lOeWJG9Bau+Ty2jSqVzJ94oojcEq8d0+sGM095NZ5WO8cGLs4EMUlQvk+1CV8i5Ncxtb+xY2aZXjy6Wvb4Yiqkmu35ZdK.W89.8Yg+hYe62aoSreIQX8B+WND9Np5geFP2myijvo2O.CGi.p3acXzvN7HgKAnJCJXqZ1ybIU6LwisUiUDpCg4oG7OvUhRG0XyDkNST9+xbLD6J3uM47HpaMWUKAhal9EAtl0Apwno84oxMCodz255pJ8sAjcxGQsEFQ8EFw8WXDOXgQ7yKLhGtvH9kq.g5cf9jHIeX79cPP6c083ZZtKCC6b0a8M9W.x2t6GA
              

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

              orangeO 1 Reply Last reply Reply Quote 1
              • orangeO
                orange @d.healey
                last edited by orange

                @d-healey Thank you so much David. After selecting a couple of buttons and return to select Range 1 button, the values aren't controlled by knob 1, why is that?

                develop Branch / XCode 13.1
                macOS Monterey / M1 Max

                1 Reply Last reply Reply Quote 0
                • orangeO
                  orange
                  last edited by

                  And also is this possible return the knob value to 0 when a button selected?

                  develop Branch / XCode 13.1
                  macOS Monterey / M1 Max

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

                    Seems like mode != undefined and mode != 0 are equivalent, so I had to use mode !== undefined instead. Added a couple of other things to, including setting the knob to 0.

                    HiseSnippet 1491.3oc0X01aaaCDVJIpKwaYncXebefKeRtwIwxtccndAyMuUDzkWPcaZGJJJnknsIhLoGEkS8JBP+v9g0eR6ev1QJY8RrRhc55Pq.xK7t643ycj7zQcrf6RBB3BCykd1nADCyuwp0Hlr218vTlw96XXVx5nC28IGdzVNFaMZ.NHf3YXZN+iU5MWZAC8ye+qag8wLWRpHCiS3TWxuQ6SkoROt4Sn996g8HOi1Oi02q49tb11bedHvk4spZL.6dJtK4Prxr4rLLu0tdTIWzRhkj.CyE1h6MpUO9YrH6OgFPa6STCbLZANJR7dbeOEiURM1tG0263wwbfA3kiSy.yGkA9dqCndzD4oYhaqUfRQjMeXN2UQOmaH8LyPuEhn2crZ4JnCjoZTb6qs1mIIhNXXIHKshr0Xt+XQqs4fEL458wmR1S.CRPX+fpUqfbpUsbikKsbIXgHPhFhEnVz9C7IpkZzlH89h06Rj61oCwUZuRp1UtHvgf8u50MParwPmJng0fepubogqKHADwPhc8H.BRWDsQze6y8HMx5CAl0krUnTBRhbmBRGt.YSgwUafnneAUG9ypqVd4Rua4RH3IKpWQeMX333FX9179C3LXf8JOUY2JqZSW0orhLEfc8.EBlTv82F662F1PZ2VxzH2dqxMJcd9f9fGs+guQcR4RmzDKzIrjQEMQbVh5XUQoLJymxHnNgLWIkyPLtnO1mBK2OiqYlcpjSv9gjJn9TF7K7ayjjHxPASo.sJ5B1itKxFLFslRsZNOunoMbfGrOOdmvoLdaM1zYf1A7Brhh9wM2DEx7Hc.3dkgMDGKHCgjA5LrfQYcQfynLpLBVLZ0SvYToauHuTNUbFKTOt3.Bp5CyKT8L7UUUK9SldRHaEDro+9UGu3mGry0BdMG8glKAesqEuSQfaKH3SaTPH5byCwZU+XhwJn527PrpF9zGk0t4QoyGQTV+iJHKBbTDlH57Hso1jV5Tc1+QRof1NTRryH+ETOYuJ5vOq2mBjpeUQG4yHvcH93QUzQ8XjmW7w+zxf1tQUm.XSVAPKBAU.bJOw4ac0gMyUyccJTn3sG0YrOyR+bEK0od6bY8bEj.Mkhy6ER+IKtBSYbU5LAR5ZVNuGoOcti9mMtK3p.tOY8ABppX+PmGhVApuNzQY6RWTasXs0JTa8Xs0KR6ZvC7FD0rd2MfPrQl.6PtjbDytbo2UZoRmW5hZ5zoHUwIAehnHspN0DWALaVX+1Dw3DWrcPCK46Hpzz0QjazaNyXHmsO7BhiFPRFGEjikT0HI3xJJMnxJUGLEXVpnIaCyH9s4p9EiMGLUpaG6aiaGqkO0iHLndpdwR1cYnSIPat2ZbSwFWlChNCncvhV5CWNInS5xdFPW6hnmo4tdAne996fkXUWow4CHGMfHjT0pq4NjgP69Q8ntj0NjfSk7APm6Is+.IuoJk81jI8CCZNJYv6OpoQFesXjuVdb2vXFwON.z+uSF+XrRF+XX27LUo0DAn+pYOBsauzao79G2rMW.bqE8OykBhj9TrGMLHqby4mjYW05ZFpgxRse3BTy3jInVylCvBXdxNgiiXAPL9iE7vAodXwhxZW0tlLo+W94E2pmkac+zysIu6EbCPtWnOVl+ZgpWdFq.JLl69Wp6XwBnxQYOEOC2Ur5TeWwokt2w5XUi0Ey24Jfuv16O07M9l2KaE8F1Txtf0du7+1qYW85tl8Wk7cPRZLRSkbBt7uDxu+AcWTYWteQ98lFFE7sRLmOebM+zEWWyWz3p2GnuW+WL6a+NKch8KIBqW3+xgv2VUO7y.59Tdnjx5d.FthBTw25vv9s3gBWBPUFTvFlHKy4TsyDMtpZrhPsHLO8f+AdhU5nFaFqzYrx+Wli9XWA+Mw2kQczbQsDHtY5Op4RVGnFiR5ySka5S8nuw0UU5aMH6TLhZyLh5yLh6MyHt+Li3mlYDOXlQ7yWAB02y8QgRd+n86ffi2U2iqo4tLLryUu023ewW0MhQ
                    

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

                    orangeO 1 Reply Last reply Reply Quote 1
                    • ?
                      A Former User
                      last edited by

                      @d.healey Would it be ok to show how to do the three knob version below, but scaling from their current position instead of snapping? Been trying to figure it out but getting absolutely nowhere :/

                      HiseSnippet 1242.3oc6X0saZbDEdVvqSgVhhi5CvHeEnj5rfSRqjqUHfsiPw+fJ1tsJJJcX2YgQL6Lq1c1TnQVpuFsW2Whdmej5aP67yBrXiIPUZTsTlKr7YNmyLemyb9aocD2EGGyi.VENcTHFX8E1cFwD8a1GQXfV6ArV2tKE0GzXTHJNF6Arrx+BEOqBqAzq+5YMPTDyEOcK.3bNwEeHIfHlta65ujPoGf7vmRBxH8iq2xkyZxo7DINxa6.BQtCP8vGiThkyVBh88HBdTGARfikxzf6MpSe9OyLxeNIlzkhUDUAcjGjYaPy9DpW6w1XL.XsV6oVbdiE+k1GQ7HS1epkeOMC3TMx5CrxMKjVaFHU8lfzAbpm5.tA3YkAdqYf2F1cbiHghobTX6ysawD3HejzsmEVFYA49i71M4RIXhsBPCvGDIIlnQ4m537P3SbbprSohkJFg6AI5+S9LDKfuEEA8GB2E9pWK20e3qbdsjPGVrUOrXeeerqn7lcHAgTLTELrYEifUeeBVayJW4h5JXGRXCj5MFuRMaxCB4LIQ4MajHDbV0qo2.Fua7XLpILvb9mxKkBXNCinUWrnig43ycqXkHLQDm1DQockgmkU7Z1H6QtXoJUjvnDFF5mvbEDNCZ3U10nxCklEMAWoTw2UpHTtnbWDER7TuD5qXKByCO7D+wZnNUkfl+R7gkSclJK5b0gUtBb2cgNUfO5Qo.KFx3BnDGCvdF8RuM0R9BJuNsc7bgHhzMQfK6LFX6nk6Bi3XZLFd8CfGAKSj30YGHA9sovlhY8D8k67fGTYprYTa7cei27rhZ72FoMlYV.pAYVnpVEuXhWmyNlKvmvJWo36JVn3EEuJGe+4wJ0+QwQyiqpfVzBTqLKInKNZrAkJmLGe1hHqubEQbMAtYDjyZwHhSBwozSKyTcNkY.oQ9xBN4SAn7+D5xM2MsbSGJwCGAHxC4N15zGfF6oksqu81abIXoUt1JnrIiWqbA6zz+YTW2yAbVq8PBjplYp0HsvPbjfnbjV6geqrAjoBZA68vwCD7Ps4llnCrJ8dM3gSuvCqOZBQ8ypGKFodVVWKHHf34Qws4wD0qtRNKsf0tLVfC6P9EMx+8eSs9ymEjs44OdY.ZX1FmwI99D4N11PuF.eBMHVlOD1JP1ODXce6yj4cdXeTBU.iGHOJSt7obcix.tWpA6R5hopW5k1dqkwdcByXu+5GT68CqAdEuWV60dIBqlp7O0KiEC5UWfGJTFrpdpbzkq0VVNb.2KghDyNwfpIWJCkqIaqYU6WlzkMJaX7JLFgybGiXt42KIb2vtMQ31e93M2bvqLa6+Z7lNTVIayzCSA6Z1G7CeDl.KWFrbmIiDqmf4EigRI6LizbSSFqKxsGlhlw+88DOQ+LoC0myryV4WzztU+WNs6hCDT.GdqIv891ZG6sI.qe3u8.36Y2F8+g.huimHHrdGgj8HTMMNNIni7yDcwRnxXxoPk6YkSU32P6nnU.pCl4oI9a4JkYUEsUJypiYBVhL96lMiu1mR4+TJ+mR4uMmx+w3NBPtQ72j9s5pTyOSuiztY5eWqB1GongS93FkuQNZM4Mttpwc9Jo2Y9ZTak0X6UViGuxZ7jUVimtxZ70qrFeyBzP8y687DAOvDuK2n895OpzxZeFRF4pC8A+CP6V2pj
                      
                      d.healeyD 1 Reply Last reply Reply Quote 0
                      • orangeO
                        orange @d.healey
                        last edited by orange

                        @d-healey said in Lord of the Knobs :):

                        HiseSnippet 1491.3oc0X01aaaCDVJIpKwaYncXebefKeRtwIwxtccndAyMuUDzkWPcaZGJJJnknsIhLoGEkS8JBP+v9g0eR6ev1QJY8RrRhc55Pq.xK7t643ycj7zQcrf6RBB3BCykd1nADCyuwp0Hlr218vTlw96XXVx5nC28IGdzVNFaMZ.NHf3YXZN+iU5MWZAC8ye+qag8wLWRpHCiS3TWxuQ6SkoROt4Sn996g8HOi1Oi02q49tb11bedHvk4spZL.6dJtK4Prxr4rLLu0tdTIWzRhkj.CyE1h6MpUO9YrH6OgFPa6STCbLZANJR7dbeOEiURM1tG0263wwbfA3kiSy.yGkA9dqCndzD4oYhaqUfRQjMeXN2UQOmaH8LyPuEhn2crZ4JnCjoZTb6qs1mIIhNXXIHKshr0Xt+XQqs4fEL458wmR1S.CRPX+fpUqfbpUsbikKsbIXgHPhFhEnVz9C7IpkZzlH89h06Rj61oCwUZuRp1UtHvgf8u50MParwPmJng0fepubogqKHADwPhc8H.BRWDsQze6y8HMx5CAl0krUnTBRhbmBRGt.YSgwUafnneAUG9ypqVd4Rua4RH3IKpWQeMX333FX9179C3LXf8JOUY2JqZSW0orhLEfc8.EBlTv82F662F1PZ2VxzH2dqxMJcd9f9fGs+guQcR4RmzDKzIrjQEMQbVh5XUQoLJymxHnNgLWIkyPLtnO1mBK2OiqYlcpjSv9gjJn9TF7K7ayjjHxPASo.sJ5B1itKxFLFslRsZNOunoMbfGrOOdmvoLdaM1zYf1A7Brhh9wM2DEx7Hc.3dkgMDGKHCgjA5LrfQYcQfynLpLBVLZ0SvYToauHuTNUbFKTOt3.Bp5CyKT8L7UUUK9SldRHaEDro+9UGu3mGry0BdMG8glKAesqEuSQfaKH3SaTPH5byCwZU+XhwJn527PrpF9zGk0t4QoyGQTV+iJHKBbTDlH57Hso1jV5Tc1+QRof1NTRryH+ETOYuJ5vOq2mBjpeUQG4yHvcH93QUzQ8XjmW7w+zxf1tQUm.XSVAPKBAU.bJOw4ac0gMyUyccJTn3sG0YrOyR+bEK0od6bY8bEj.Mkhy6ER+IKtBSYbU5LAR5ZVNuGoOcti9mMtK3p.tOY8ABppX+PmGhVApuNzQY6RWTasXs0JTa8Xs0KR6ZvC7FD0rd2MfPrQl.6PtjbDytbo2UZoRmW5hZ5zoHUwIAehnHspN0DWALaVX+1Dw3DWrcPCK46Hpzz0QjazaNyXHmsO7BhiFPRFGEjikT0HI3xJJMnxJUGLEXVpnIaCyH9s4p9EiMGLUpaG6aiaGqkO0iHLndpdwR1cYnSIPat2ZbSwFWlChNCncvhV5CWNInS5xdFPW6hnmo4tdAne996fkXUWow4CHGMfHjT0pq4NjgP69Q8ntj0NjfSk7APm6Is+.IuoJk81jI8CCZNJYv6OpoQFesXjuVdb2vXFwON.z+uSF+XrRF+XX27LUo0DAn+pYOBsauzao79G2rMW.bqE8OykBhj9TrGMLHqby4mjYW05ZFpgxRse3BTy3jInVylCvBXdxNgiiXAPL9iE7vAodXwhxZW0tlLo+W94E2pmkac+zysIu6EbCPtWnOVl+ZgpWdFq.JLl69Wp6XwBnxQYOEOC2Ur5TeWwokt2w5XUi0Ey24Jfuv16O07M9l2KaE8F1Txtf0du7+1qYW85tl8Wk7cPRZLRSkbBt7uDxu+AcWTYWteQ98lFFE7sRLmOebM+zEWWyWz3p2GnuW+WL6a+NKch8KIBqW3+xgv2VUO7y.59Tdnjx5d.FthBTw25vv9s3gBWBPUFTvFlHKy4TsyDMtpZrhPsHLO8f+AdhU5nFaFqzYrx+Wli9XWA+Mw2kQczbQsDHtY5Op4RVGnFiR5ySka5S8nuw0UU5aMH6TLhZyLh5yLh6MyHt+Li3mlYDOXlQ7yWAB02y8QgRd+n86ffi2U2iqo4tLLryUu023ewW0MhQ

                        Great stuff David. Thank you so so much bro!!! ;) :)

                        develop Branch / XCode 13.1
                        macOS Monterey / M1 Max

                        1 Reply Last reply Reply Quote 1
                        • d.healeyD
                          d.healey @A Former User
                          last edited by

                          @duno Something like this

                          HiseSnippet 1361.3oc6Xs0aaaCEVxIpcwatncX+.XySxKWpcVa2.xBharSJBZtXTmltghhNZIZahPQZHQm3ff.zeZ6GxdX+D5K64sCIksjcTbrK1FZ.hdvV7bgmuyEpyQpdnviDEIBsrW3ny6Rrr+FmFmykcp1AS4V6Vyx9dNMY3NVacdWbTDw2x1dtWp3Yuv7V5qOs4VXFl6QRHYYcrf5Q1iFPkITqW4UTFaGrO4HZPJoeZkc8D7pBlnGfi4bJY0E6cBtM4.rRrbN.H11mJEgMjXIIxxd9sD9m2ni3LtQ9ioQzlLhZQYqFvFYHuif4qPrhpU0NTle8A9ajErK0S794Ld+24rO0mNjdRT3gZFnDMRGOryMI3U9yDd1of27F38HmFdgztxDNJr80N6xkjvVXHEjFVFYsxcv8bpJ.I3xUCvmP1IDVLTC2mWpzxnmUpTw0KjuP9PRaDUeGjRhjnSwgnV8Qafd26Aps5+tRuGVnKQVsMQtcqVDOo6hMnAcYDjpvXwhFAKeSBt1hEGyPMk78n7S.8FfWPyphftBNrvcws5IkBd4qnGCGIeEWz7XLqGIZ.XSKwI.2gLzKLNR11QsWFqXDs7jE03HiBBy1OvRJkzzcyPxxIRVdLIGpejxnbYnfUEyXMgiGtJdU2JMHmrTExS4LJmfZ0i6IoBNxvy0ynxxPfBrawB4u.gPExC+fXBOLCQ86O.gqR49j9G1ZfRpMNQvSUqLDnsPtONNelxmJhdxShgXDhKjH.QmP7M5bg4O0ET+.VU6QuPJCoM6IItPcJWDFfYTn.+Hwqw71DWiyqENwLKiVorprtTwA.TCxQi6JcFF4GaCh05RyeDVDAcELdJnbVa4Jl.45fqViBk8gD3YinlD4YDBWqABy8Qd8BANRivI6ZpXfHD4RAiTZcDE8ywI.Fg2V1AnrzRESj8BTpqDxCxDTzi2XCUdTE+O.B6xND89A2fknyvQn.woCxCC2zQWpthCV5DiITsOFNfGlNUjNNtxoPRXYTYHOLxdc40iWUpeFR72bZOqTepDeFocMBSW.j+xrN+bULkPQugKiBnb3Gbe0oJyVERj8B4JFnkPiIO56QtfvPEDvVAlKGZKAGRajC4tEyeQ9ExeY9w4zpUVrhOqwHgYwU0FNbBp4x6EzjDN3ICwxAciFscmyz0tyy7.zTBJ36xoxC6R3WWSPq3m5BsCmKFTvcRcyvGD2LrAi5SBsnPOu66nezskFuoGGwZpUdsQTtxe49GadsJa5GoUdAm3lSia6Oso0a1sFVhUczi8FvC6RBkTUvytF4TXTIS+8EbpQhNQJ5pc23lLP.9Fc39IFbuJmObQk2TIf56yH0EQTUtMQr+T4VSsEVKkEJ0MkE93moExLzkXieqcJaX0thjzWpFEU0NAFj7JCFAimI76wvxQmYSMlQLCEzRObjZ.HN.4ySmplgA4JM0CxMsv8QN0oRuNYi2bYfWnh5+Z7FOVbAGy7aIfcdmc9k+cmAtTVy.mKEVt+vWPQOC4KG.kBNoFpbBumxu960HL7Hwu2R8kcRIQkLdSF64F0wla5bra38MlbgfB3naMEteqiNvdaBv5D+sG.+Pm53uDJHdsnmjxaCy7ERgGV6bPufFvKs6Q.nx4vXx.M6bp1sl0kTqU.pAg6qW72vULyxp01wLKOfo0Tbh+AoOwu10cj+iPuv6Nxe2Q96Nx+k9Q9+OrQ.1KT7g3Oag5n4Woo.9MW+UFWvYe0ZzvA3UwFXzV5G77Ti6rBDcxVi0lYM9gYVimNyZ7rYVimOyZ7iyrF+zDzP8AVeQOoHvTuCDpus9Emrs2ligJWcou0+zC7snG
                          

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

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

                            @d-healey said in Lord of the Knobs :):

                            HiseSnippet 1361.3oc6Xs0aaaCEVxIpcwatncX+.XySxKWpcVa2.xBharSJBZtXTmltghhNZIZahPQZHQm3ff.zeZ6GxdX+D5K64sCIksjcTbrK1FZ.hdvV7bgmuyEpyQpdnviDEIBsrW3ny6Rrr+FmFmykcp1AS4V6Vyx9dNMY3NVacdWbTDw2x1dtWp3Yuv7V5qOs4VXFl6QRHYYcrf5Q1iFPkITqW4UTFaGrO4HZPJoeZkc8D7pBlnGfi4bJY0E6cBtM4.rRrbN.H11mJEgMjXIIxxd9sD9m2ni3LtQ9ioQzlLhZQYqFvFYHuif4qPrhpU0NTle8A9ajErK0S794Ld+24rO0mNjdRT3gZFnDMRGOryMI3U9yDd1of27F38HmFdgztxDNJr80N6xkjvVXHEjFVFYsxcv8bpJ.I3xUCvmP1IDVLTC2mWpzxnmUpTw0KjuP9PRaDUeGjRhjnSwgnV8Qafd26Aps5+tRuGVnKQVsMQtcqVDOo6hMnAcYDjpvXwhFAKeSBt1hEGyPMk78n7S.8FfWPyphftBNrvcws5IkBd4qnGCGIeEWz7XLqGIZ.XSKwI.2gLzKLNR11QsWFqXDs7jE03HiBBy1OvRJkzzcyPxxIRVdLIGpejxnbYnfUEyXMgiGtJdU2JMHmrTExS4LJmfZ0i6IoBNxvy0ynxxPfBrawB4u.gPExC+fXBOLCQ86O.gqR49j9G1ZfRpMNQvSUqLDnsPtONNelxmJhdxShgXDhKjH.QmP7M5bg4O0ET+.VU6QuPJCoM6IItPcJWDFfYTn.+Hwqw71DWiyqENwLKiVorprtTwA.TCxQi6JcFF4GaCh05RyeDVDAcELdJnbVa4Jl.45fqViBk8gD3YinlD4YDBWqABy8Qd8BANRivI6ZpXfHD4RAiTZcDE8ywI.Fg2V1AnrzRESj8BTpqDxCxDTzi2XCUdTE+O.B6xND89A2fknyvQn.woCxCC2zQWpthCV5DiITsOFNfGlNUjNNtxoPRXYTYHOLxdc40iWUpeFR72bZOqTepDeFocMBSW.j+xrN+bULkPQugKiBnb3Gbe0oJyVERj8B4JFnkPiIO56QtfvPEDvVAlKGZKAGRajC4tEyeQ9ExeY9w4zpUVrhOqwHgYwU0FNbBp4x6EzjDN3ICwxAciFscmyz0tyy7.zTBJ36xoxC6R3WWSPq3m5BsCmKFTvcRcyvGD2LrAi5SBsnPOu66nezskFuoGGwZpUdsQTtxe49GadsJa5GoUdAm3lSia6Oso0a1sFVhUczi8FvC6RBkTUvytF4TXTIS+8EbpQhNQJ5pc23lLP.9Fc39IFbuJmObQk2TIf56yH0EQTUtMQr+T4VSsEVKkEJ0MkE93moExLzkXieqcJaX0thjzWpFEU0NAFj7JCFAimI76wvxQmYSMlQLCEzRObjZ.HN.4ySmplgA4JM0CxMsv8QN0oRuNYi2bYfWnh5+Z7FOVbAGy7aIfcdmc9k+cmAtTVy.mKEVt+vWPQOC4KG.kBNoFpbBumxu960HL7Hwu2R8kcRIQkLdSF64F0wla5bra38MlbgfB3naMEteqiNvdaBv5D+sG.+Pm53uDJHdsnmjxaCy7ERgGV6bPufFvKs6Q.nx4vXx.M6bp1sl0kTqU.pAg6qW72vULyxp01wLKOfo0Tbh+AoOwu10cj+iPuv6Nxe2Q96Nx+k9Q9+OrQ.1KT7g3Oag5n4Woo.9MW+UFWvYe0ZzvA3UwFXzV5G77Ti6rBDcxVi0lYM9gYVimNyZ7rYVimOyZ7iyrF+zDzP8AVeQOoHvTuCDpus9Emrs2ligJWcou0+zC7snG

                            Thank you David! Much appreciated. They seem to be jittering a little when moving them, an idea why that is?

                            d.healeyD 1 Reply Last reply Reply Quote 0
                            • d.healeyD
                              d.healey @A Former User
                              last edited by

                              @duno Nope, I noticed it too but couldn't figure it out. If I spent more time with it I'd probably solve it but I'm too busy at the moment.

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

                              ? 1 Reply Last reply Reply Quote 0
                              • ?
                                A Former User @d.healey
                                last edited by

                                @d-healey No worries! Thanks for that snippet, will see if I can figure it out. Cheers David.

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

                                  You simply need to make sure that the actual value update is fired from both callbacks - the knob and the ranges. Move the logic to a separate function and call it from both callbacks.

                                  I've implemented this along with a few comments. Also note how I tried to use arrays wherever possible which heavily simplify the logic.

                                  Content.makeFrontInterface(700, 120);
                                  
                                  // Set to true to print the values to the console.
                                  const var DBG = false;
                                  
                                  const var simpleGain = Synth.getEffect("SimpleGain");
                                  const var mainKnob = Content.getComponent("MAIN_KNOB");
                                  
                                  // Store the button references in an array. This will make it
                                  // more easy to set the currently used range
                                  const var rangeButtons = [Content.getComponent("Range1"),
                                                            Content.getComponent("Range2"),
                                                            Content.getComponent("Range3")];
                                  
                                  // Store the ranges in a globally accessable array
                                  // It is multidimensional which makes the logic pretty easy
                                  const var rangeOptions = [ [[0, 50],  [-100, 10], [1, 10]],
                                                             [[0, 200], [-10, 30],  [100, 300]],
                                                             [[0, 100], [-3, 30],   [1, 30]] ];
                                  
                                  // This will store the currently selected range
                                  reg currentRange = 0;
                                  
                                                             
                                  // Changed the function to take a [min, max] array so 
                                  // it's compatible with the new functions below
                                  inline function normalisedToRange(normalisedValue, range)
                                  {
                                      return range[0] + normalisedValue * (range[1] - range[0]);
                                  }
                                  
                                  // This function will be called from both the knob callback
                                  // as well the button callbacks to make the module parameters
                                  // stay in sync when you change the range
                                  inline function updateValuesFromCurrentRange()
                                  {
                                      // get the range we're currently using
                                      local rangesToUse = rangeOptions[currentRange];
                                      
                                      // grab the current main knob value
                                      local value = mainKnob.getValue();
                                      
                                      // get the values for each parameter
                                      // (note how we access the array within the array)
                                      local v1 = normalisedToRange(value, rangesToUse[0]);
                                      local v2 = normalisedToRange(value, rangesToUse[1]);
                                      local v3 = normalisedToRange(value, rangesToUse[2]);
                                      
                                      if(DBG)
                                      {
                                          Console.print("v1: " + v1);
                                          Console.print("v2: " + v2);
                                          Console.print("v3: " + v3);
                                          Console.print("----");    
                                      }
                                      
                                      simpleGain.setAttribute(simpleGain.Width, v1);
                                   	simpleGain.setAttribute(simpleGain.Gain, v2);
                                  	simpleGain.setAttribute(simpleGain.Delay, v3);
                                  }
                                                            
                                  inline function setCurrentRange(component, index)
                                  {
                                      // Update the current range variable
                                      // Note how we can use the same callback for every button
                                      // and just set the value by checking the index in the
                                      // component array
                                      currentRange = rangeButtons.indexOf(component);
                                      
                                      // Update the actual values when the range changes
                                      updateValuesFromCurrentRange();
                                  }
                                  
                                  // set the callback for every button
                                  for(r in rangeButtons)
                                      r.setControlCallback(setCurrentRange);
                                  
                                  inline function mainKnobCallback(component, value)
                                  {
                                      // We just call the update method here, since the logic
                                      // has been shifted there.
                                      updateValuesFromCurrentRange();
                                  }
                                      
                                  mainKnob.setControlCallback(mainKnobCallback);
                                  

                                  Here's the snippet:

                                  HiseSnippet 1980.3oc0Y08aajaDeW6rswpmKxc3d7dfPOzacqhOsR2WnGJhh+HAFo9CD4jb.FFoT6RIwy6RJPx0NpAA3dnu2+g5CG5eI8g9GPe3tmuaH49AkkrpbJthKxFIhCmY3uY3LC4PehfGSjRtvyeiSmNg34+dA8mxTi2cLlx7NXOO+FAGez9O4ni2IxamoSvRIIwy2e8Gqm2ei63Y97edvN3TLKlTSxy64bZL4OSynpZpmz6IzzzGgSHmRyb39S6cPLmsKOkmCXY8f1dSvwWfGQNBqYas.O+e09ITEWzWgUDom+c1gmLs+X9ULK+OmJoCRI5AQd8AEYI+HdZhFwZpd6NlllbRoMK8.sbRsGXcqG3CCNjlPqnW6ItmYBTsDt9C+0VF7hbgW6EBu1KBd9Nv6NV389A8iEzIp5YzX62Db.SQDCwvVfKrr75s1VuWvtbfClZ6L7EjGIfAURD9Esa2BE0o8Ve0lM1rwm7In9DERwQJQNQ++SDTFPXLAcINMmHMyAifsLIOkr8lMzeSAyJP6syiQ+IzPbpjXzV8LRZ1jThNvAXvDks8HhZ+gCIwpvl8qlsoFF0hkAjdBiO.DpzD.w1kmMgyfAgMO7gGbzK0QnMqwOrSPLPbPtRwYHAYHQPf.TIBVdL7qPfmtM5zwTI5JHjDocKHpxHdlVZBVNUanRh0ziyEfFToSQ4fyEIvrQDWbZHriY4j.VOawf8oZthZtUqMaftwOKQzNu8h1s4VmOuCx.aqWAMJkO.mBVHNVGagg.VqixHyAJD3rxxSUPZPFgIobFNEc0XZ7Xi6SZTXJeDMFBYHJ0TiSbNmzwSTzBmD5ryfPuOq84sPnytejINTO3rHyWNeo1pU3NsMB.B2B00pHid51d0jOpP9tkhaVb3qmipbW0gIxJGWc7fjjBgv0wDBxnxYMNdvPaazzRfhYYfZM.6IF0OLmEqcSlbMcrIFcVFk0B7zu5b6tBRxsxQUerDRFylfU5hL.RUiMJgQtpRQRz.RJ+pMaPYoTlyBv3hLbJEBpOkavaXMkmqy2aYMrs1rwqs1.r2lKXVpm09bze.cMIP+dTnc1nyQ2uhQc94abcoUXv3aG.NUH7Cb.CE7Lz.dgUbgN6WOy.3LAivXX2f.R3jgWNuo3jIYVOYFOIGbHSvB3bDnbmzHtTANOHhWNkECwuDFZJOGEa790IEy6oxmj.U2MVnDJglsqylbXs6AVgQEEMLJBv5GKls.BkMxxaJG.dQR3o7mI0AKtIIm4FHoiGsAKkKi.OvMXzTrz5uLUpcWCCAP6k0S0kHLlR3VyoVxLU6GxEPhLjjW4Fq3DBUTDDbLGXiEUMLRZiO0wg.dpHr0L3IB.y7wdW5DwY8HEANNR1YUkL55R1cUkry4y5UnCCgS1JLfWWmJuawQfliHCadYzeD0DxGtLpT7EwTmBl5rLl5VvT2kvz8gOvod5YLr7FWHWed61vYXOToDTHWgD5P+EzD03VknciUPB8+zp.4qB+6QRwSaYrhFuYYU.mOaCT4LIXwkmm0BxcSHuZlDtmYRMmIWvl6Am5P0GjUw4QNQrwvMAfSyMhIgP6ppH1X9KIhoE0WpDGyRPeSNbblzMIAMXJT+fDeAjXanZPHxF7WIakETdppl90Nov8ZDaazxwCqM84RUcrabrJuLOWZKqUWBxVbSZka40w9ppZzUW84l8J.kPg1NcwcQZhPGUnuPhfmtagJBu1tp8JaWequrFUkTN68F6al89WPr6HZXZvq09PPopw7DzX3lesfrA31e0WPoR3wX8AifuRNlNTYO7UnuR6J5nr6FUEUWfEeciwZx5eprWNSGUdLKbqFutwFMdybyLb3hlpXkRIhEMqtCKwRDKjkmMfHJ8nE7AMZLamLMt4NYbazJ1dwSGF4rCXT0wSHUisFYIk1dUFmKoZixkpwXV.a0jlu8IuhKCq6yqfcfUkoMpeaQaT8SoIDgGMQ2CUUmDdFWRQ6oe2OD9Odf2Mo.aHuQA2Mvd69RoC7M81t5R14sVxtyfXSG4dO6f8vJrtKxB+.3alPDJpdW0eOxkP641dJ2HXOh7BEeBzocUWCfSakbUupZQ+tI8lVM3aOtmmittqUWaV18JlQRKL.y2ibziWSG83E16J8oTUDP+sdiIzQiqeUgu8w8FvE.15S+qy7BDVpOEmPyktz8Wedjsr8SGngbg1GcMn4874fVudvklf0wcAKsXA.L9iE77I0Z3tKxqsrHFG2+W+KKr00Eai94Gay+VI2K3P88+wpYeFG8ESJl.JHNy6kneSDnwV0T2Lo+meamE8zSqJbe+fSnp3wKFuqs.7Bg2+bi2hWJay.6i2TC16D7nu9s8Ywhd6dVrec06VVcoSCTlgvM7xk+quO7e+.yMTKH7W96+y606EyFa965sf21ze8Ysq0WM65+xKPt73.yKm8NSb6GDXbruKAXyF+6N.9d55g+B.tOkmqf1dNDCs+AU7CNJOqOOWDSzOmETvVpuOyZ5qyXG2t79M8IrDyfeD9TLYjdrewjQkS9+k0HCGK3uL1dmKcp4cMT.6lY9iPrQvg5wnp62o8MYzD5Kii0k9tO3cVrDct0Rz8VKwmdqk3yt0R742ZI9hasDe4RjP+2e4g4JdlMdGHbx9l6356uOS2juIz26mPV4e3T
                                  
                                  orangeO 1 Reply Last reply Reply Quote 3
                                  • orangeO
                                    orange @Christoph Hart
                                    last edited by

                                    @christoph-hart That's what I am exatcly looking for, thank you so much bro :)

                                    develop Branch / XCode 13.1
                                    macOS Monterey / M1 Max

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

                                      @orange @d-healey Hi guys, I'm attempting a 'One Knob' plugin too - tried the link sliders method first (https://docs.hise.audio/tutorials/recipes/ui/general.html#link-sliders) but the ranges were totally out of whack with each other and so moved onto the script that @Christoph-Hart first posted above. Now I have the ranges spot on, but the individual knobs are no longer linked to the fx parameters I wanted, even though they have been set correctly in the Prop Editor. Snippet below:

                                      HiseSnippet 1551.3oc4Y0sSabDEdVvCAaJQIUUp2zKVwUl1DjM+DpTZjMXrCVAHtXBoQUQoCqGfQY2Yb2crabRiTdD5s4lpp1mfdYuKR8UnuA8pdUyaP6YlcWuiWLfqiHUQYEBwd9YNemelyblkF9BGZPfvGYkcudsoHqO.2rGWdbkiILNp9FHqKi2lDHo91gjVuWaRP.sExxZxaqHXkMCR+75RqSbIbGZBIDZeAygtEyiISn1n7cXtt0Hsn6w7Ljd4x0cD7JBWQG.OShKfZSbdL4H5NDkXSfQVSUsESJ7aJIRZ.xJy5hV8Zdr363gxuOKfcfKU8RQTSXgBIWS31RgXEUTkiYtsZD62AHXUZjDElLLJ7Q3sYsX8omDMthlgchFlwCqINK3UzDdEFc3YY.uLgv6p3lN9r1xDNJrMCtNGRTGRfTfIrBkEMwpYvUDfDb4BdjGSq4CuzWi72nPgqYuRgByeyYyMaNHQDHs6R7s2pl8sri06HprhvqsfCujetspMmR5DY27zkcyzx1bs8t2tqsW86tyopShHoz8902XuMOU0zbSowtU2u5tqeppDxdtz9d0urHnhdCgRgpGdH0AjFHGIJi6x3T6C6vcjLA2lK78HtLHvumXWB+HZ9DJ6Sb6PulsGiC+h7j4mM2ylMmM73Skc74JF1elcJ4s+T67fv1WWwVYymOLyJ3auV8cTtluvMuSrecMvIf0HzRYcENDW6tJO5jvraH3fRfUUVIV3E+uH7RmivEMEd4yR3hpZwhqVvTgUNmUuvBEWQKO7yV0VHfJ0Av7cCM6lljVTSJo7xf0RZV5RHCpKqoFVkXPN1fOWWLL7RKUlYt4UJEkepPbcO.Zrkefr172zHatiPRuKO+74dVtr4ddN6zrN7vgxKZobo9Ckspaq+YoXddGuCn9wkMwBBscFru1LmdeMy1tNgwCCAE75bl7tsoQua14K1qi4V.02YMIk3ilT0t1PDKgzIarhhxWPK1ohDGDUpavd4nFrMcYsn9HFfwL3spgzAljSr9jxnQRyMGSMgCi6WildEdcoQYEtDVWJmR4xzQx7SiCq3SzdI8yuORldJrp7dHv9d02fHIpS1hx.PVoM0WxT0VVaP6BiLDdNWV7FzfGKEs0onnsTfSc1IomfrvVWGrUO0e7EvezNNsWGjAig92vnE9vTEvge00PUOJCznMUFZjL4lZSFq2cJ2q+Ku5gkSslm.IKNTjXZ5oFsxiSABu3nz1DzYPaNC99T4ZdhNp8BFFN64VUkXyWrlgM+F9f17R3aCUBoh4vZvZIOF0hdHoiaXG0DW3ACD3f5UOyQMev.4loO+BXCfV2.n+feYVv1TIoQLxfBvIF.6YiVhTnOmJlsEsK0MtpwXqQejk471bnKUeXbo5OZolN9DS6AybJZ0wkHGbPTUgRDCnK9.S7olpiGvj8L22cgLc5nB2qhavjNGOb7NwPvKzd3hFuQy5OKNbttDvlAW6qF2A6G98NF14OV3Fm31WYwU532kV8a03HrSkIP1oiWMlKTCFnpWTkKqS3sJXF1TDJFQ3Ue+O+0kUDVbvqowasTZBKmP3Jksl7BveQ6J5HY7i1lH8YpBevYZBW0ygBQdNm5p8oITGLG9dA06J.0jp8Qr0+.OQLKFG.TLKFyDMJgzEeSBon+3W902aCoWJLjNCtIAtxhZGdTPUclx.W4LjuZedXL3E2J2eWJ4XFifaCe5feGAfjHPll1ab7aTua8Pae8w3DOx9++ltukS6S2+SCw7Z6FltTQk3y0O8uIDBsA0kLPa8vS8MNJeHe0n57tv7fMDtD+zGJbgTFjYjOES4d1uybp6Gh0g+2k.rt73cG.eEbCx6gcDhNa8xQcD1EFD1+.c.IYdYyHwtBgWS1Si2j+Su7k+UoMHdsAHGQp7RK8mk5OSsYCD+don85Rl8PzqUMeJ8oTHMXXgeqzERyh2Jg52F1vi33KdjS3E4UcAmVSA7at96smEus5c6hwWgGiKrPAjGqE6QNNpojuNDeFtNKNF5rzXnyxigNqLF5biwPmUGCc97yTG0+5g05HEdgsZ.BMpp+TJVVU4DnRVuWC8uPnuns0

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

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

                                        You need to call the .changed() function for each knob after you've set its value.

                                        	LF.changed();
                                        	HF.changed();
                                        	SATURATION.changed();
                                        	WIDTH.changed();
                                        	REVERB.changed();
                                        

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

                                        DanHD 1 Reply Last reply Reply Quote 0
                                        • DanHD
                                          DanH @d.healey
                                          last edited by

                                          @d-healey 🙌 :folded_hands:

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

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

                                          33

                                          Online

                                          1.7k

                                          Users

                                          11.8k

                                          Topics

                                          102.7k

                                          Posts