HISE Logo Forum
    • Categories
    • Register
    • Login

    Slimming down a script(for best efficiency)

    Scheduled Pinned Locked Moved General Questions
    15 Posts 4 Posters 756 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
      last edited by d.healey

      var valGain;
      var valPan;
      //SMP 0 button
      inline function onSMP0Control(component, value)
      {
              SMP_INDEX = 0;//Sampler
              
              //Get Volume value
              valGain = (SimpleGain_SMP0.getAttribute(0));
              Content.getComponent("SMP_Gain").setValue(valGain);
              //Get Pan value
              valPan = (SimpleGain_SMP0.getAttribute(3));
              Content.getComponent("SMP_Pan").setValue(valPan);
                 
      };
      

      You don't need valGain or valPan, you can just refer to these attributes directly with SimpleGain_SMP0.Gain and SimpleGain_SMP0.Balance.

      //Gain
      inline function onSMP_GainControl(component, value)
      {
          if (SMP_INDEX == 0)//Sampler 0
              {
      	    SimpleGain_SMP0.setAttribute(0, (value)); //Gain SMP0
              }
          if (SMP_INDEX == 1)//Sampler 1
              { 
      	    SimpleGain_SMP1.setAttribute(0, (value)); //Gain SMP1
              }    
      };
      Content.getComponent("SMP_Gain").setControlCallback(onSMP_GainControl);
      

      Here you should do the same thing so you are not using the magic number 0 you should use SimpleGain_SMP0.Gain and SimpleGain_SMP1.Gain. Same goes for the pan parameter.

      You could reduce the lines of code if you put the simple gain effects into an array instead of two separate variables. It won't make it more efficient though, it will just use less lines of code.

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

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

        @ten7kur This is how I would approach it:

        HiseSnippet 1958.3oc6Z0saSbDEd23rzXWREk1K5MUZZTuvVklZyesRoHVxOPSIFrrSApPTX7tyZOhcmwZ2woIEEoJ0mBtiGgdauiGo9FzdlY206rK1NlPfBT6bimeNy467cNyLmyD2Jj6Phh3gFlk28fADCySa04.ln+F8wTlw1aZX9AVM29da01X8CFfihHtFllktgbPyxKZn972WccrOl4Px5xv3NbpCYGZ.Uj0aK6aR88uN1krKMPa1WzdaGNaCtOeH.jRV0MFfcdLtG4VX4zVvxv7Ta4RE7vNBrfDYXt35b2C5zm+qr34eGZDsqOQ1ngQGXgh695beWIhk8ZrQepuaqTCNxvvzpUl4WJ17+TqlTW5n9yngynF.kIgNeXtvzfWCc3Ue1gmoF7VLFderUGmP5.Q1HRr8gVayDjPOL3BzgU7bMVX2kr1fCyfIVM.+Xx0CgFijn5ktb8ygtT850Va4Jx+9luAI8unlb2g9jnkq.9lHAZObHpSv.4PIiftB59pfkU6QDa44QbDUWoCMXfOQsBOrSyV0Wo14VtBZJeNpUnwJ0dvZSeITXd8gBA.zBvsCwGVz0ELEZSYAPaavCFvYPCPgy.LmnjGM7Tn6lLd27XqYqGpn4qL40VMgUj9k7x0BOcwfwWIya9EnNXIiBxpHCJmsbEJymxHHugLUGHNKGYIW6PteUmzE9bfx8GRpsbkmDarTOT03tdRl0m8MvjuaepSeTThtoQnH0xSbylkzfnt6CFSNsuJk4R1+1dYpu1ZSPIcHBjnOA83X9srJhJg4VMhHtiDhUyG2dePkOPRaWSHBocGJF+DjcTSp3QKJvquhqYxAk0RsmCWtxgvW83gnpcQPzPNdnFpqTeINiMv99cgyEqNdeUpCO1kqBs.xQPY8Fq2NgiNZGMPx6RffuqsyNnto6wJqPLEbb0WCQQeegSFV0mv5I5CC8UekL9nbreqbx5ssGf.Bh6IccAxPCX5vw8tISQFakyDuOUwswDesQqn1pVHbvgGFRh.KxEreTfBUZyrnq4ARZdxdt3XgTlYs304vJkS7d5waiwWkmo02WJ2GeD9HXJS2E8J3INlz7KM4kDzOU9KYq03ouLRHl8z3nawEjaypVqxSpTtxgUPEGxyarikrbvASicXY5IgSSvprgAcIgolDLwXBMoezUth5D+ZpteRwCr1g3IjN+Q8eW7dDvOFbCBiDhgDIxSou3vfvMx3ywcfXaZu9u5J47mC80IZIcYhO2pxgPNI4S5wZxI8nmSlS70VZSjy1lQE2d.gMoTgLRtqCRJZwDO.LUgJknOJIkn36+MnPlOmxRdktgB35ooZLqx1HUVKSknSRtN9TWRnRtJVoazyo2G44U44yh7ksRhzKB6yXa7SauIVfkYDlvC.2LfDJnRZ2bSxdPp1w4GV1ZSRziE7AJhJ47BHG9ihp1ej998MrOHS42z9Woth9Yi11tOQFYom7dH1kxuQHe3fBj8rp+FZ523Wzz+u+imL5+CmE219R2MBj8.4W9C3KQBxfNzeK0Y7rm9z+5pA5U97kOO.qA8ur.ZMdzKf1evFtLJwQ4P6R7MBntt9jV7Hp7HF8RnlMKHKvICI1dZjn8irKXHJ94DxPrrjpdJFwKVDCTJk7xA4YL50WM5VCrZMzKjQVrBCV6CzMfWKEcMqv8isZQEN8GOdWXL3E1895FuIkvtrUbkTYfcQqqeuW+0qpCkklviIbZUgnPKRXiShWTXvL+hBlkdEeAg5iqD8S8V8KHLeu2+G2684wP4rVcDgDLbLeuj5+U3I4B+2n68ZER74X272.8b60GBbUX9d+SakptV.eHKmtRrg1jADrnY7cnICtjc61pq+KJ0eeUUfxtgPoD.MnOvsYDfyE513Fg7nHOvbTqUj9PsFF1SxUY8zlrGILJee2ZX.32YLhuLaXSYpi+TDQ5moNMwPd16qOakVpuKV4qWvJtciBsOeg1WnP6KVn8kJz9xEZ+sYsiIzl3AxnB4SrVHc9klsz4gE.R.f3qcT55zdiV73oqeJ5HZVAEMwRpDNRqq4m3NwSbKMav8HdV4xoXL9QW2hsGrSE5QhwyBon5gG5KR6M+M1M4L9f9bF0I+9BHNuWORnN1GqAAUdBaKy54SsaS7I3HhdZn6.YJfCyuc+khKZL6bwz7WelULbQxi5PuebSYo20to7jwMmkZpJj+Fop+rVE+WWLoKIelrl9MI93bD2cyWwzOa+BWidF6sgcRghVbebXQZuzIkst3LGaj8e44cgXY4wQ.k+tDfUgDu6.3yHKk+s.31lOTlHPZJSVPdUcfbIcH5YWsfLis310SemtNDlqpw+.eRFrQZpXxAajN3rRIejUblLHvBCEuk6+NskJGOjLk72m8cNoKEXaIeW89nlkHLYNkpx.8gDz80OgMBp1PBIHU2WxpkZLuZo4UKMuZo4UK8RUsz4mWsz7pk9+S0RS7RRzEtvmXeLpVx34yqVZd0RyqVZd0RyqV5+1pkdSfx2D5H.6DxenS7uEGIerjpGfIXpem4ksZJaix90+XUe05xeaCzG53Hux8qAu33k47GCYtvwPlKdLj4RGCYt7wPlu8XHy2MUYjEjbsgBdP7IrPGs1JN30bqQAukL9WTOlxqD
        

        It might be subtle to grasp for the beginner, but it allows you to add as many modules/samplers as you need with almost no maintenance cost...

        And the simplest solution if your code allows it:

        HiseSnippet 1909.3oc6Zs0aSbDEd23roXCAUn7.OzJsEUUYqllZGtUoTDlbApKDvxldSUzzw6N1dD6NypYGGHEgD+M5a8mPesukeR8eP6YlcWuytw1rDBTRqMBjmyLm47cNmYNWFbaNyAGFx3Flke39AXCyyX0cepX3lCQDpQqsLLeOqcZ8Ca2wXi8CPggXWCSyR2QNoY4EMTe9qatAxCQcvojLL9NFwAeOhOQjRscy6R77tMxE+Phu1puRyVNL5lLO1H.HkrpaDfbdLZ.99H4xVvxvboscIBFuq.IvgFlKtAyc+tCYOgFs9uiDR54gkCZXzE1nHx2l44JQrjpwlCIdtsST3PCCSq1opeoH0+BV6PbIiomZFde0D1obnaOLWXVvqgN7pWb3YpAuEif24r55vIAhzYjX6zVsnBLuOBbA5vJZsFKzeQqMYvJnhU8QOFeaNLXLGUu50puh8UqWu15KWQ9mu3Kr6hEBBcfcaDE6EtbEv6DJr2CwSloM0Kz9F1+Tx1N.K1j4GvnvfpWp6Nsara5JaboZqrbE6o8oP6wkp8n0mwd.eT.eiQBAf0LH1OnK1C6H1PPmMlqOabNKj9RgWho8is6h7C7vRKoDTDFc4JDpGghs6OhpHXynY.sTrblWUmDYtBnXdiv0VtxyhDZeF2tJATt5qaSr+JcuzpdX5.wPf9m8Y0dVJFS+l1h+IxiVMDN1lHw9HuPbs0UK84QbD8u57jAqqRnt3m9f9ofsV1sTvAfC1pmC+UA6d1DZVmTM6dqFJMwJN1D440CBGTcxVknSsZlt6yD3GPqVqxypTtxyqXmep98m3bwaG3Yl3zx.V7YwXU5H+dXdhqAVnzNQ5GS29F2v9tTVuZJxOarwO5xl88v8Exaaio+8n8vf4w+NXJlifPKRKxsDBNo2HAt5gmFXtQhvWuR98WLDa2gLX3quPVaE6OOVJIaSzwiJOGhRkMLn0zCCpGk1I5Zk1BYzVTh3AAX5zBNZDeWDBStTrG.VpPEj7rwAIiBFXPfXgKYIuean.NfKSUZmhxWiD9RS3MUd65QbwbEuUj7tqJUoN++R+9UNnH7WVwOXxyK9KVH1O8XwmE+1W9xevAEG+xyU4AvG1z3aasERfjIohcDfyI.yEDoe2bK7dP1+nTVks1BG9XAK.NdLNpITVwKyW8zwx6Ea1b+Tge2lOg3JFlNamlCwxi150SvQtD1c3rQA47ZEU9MzjuwOqI+W7MGOx+zQxe4jD5xLsJweNqbo9jHwx78fcXe4WdD7kXDXYVGNImHcKysgo5MHoNpxKkTKFQf8mE00zI2iwgS.cI+Zlx4hn1ATqQg5zMWPSmNaQtKnYWWQ2uVsYn.GnI2e+29s+7l95EZ9IG3izX+Sx4IL9kC4I95l9L23CgNjdfI1m355gayBIx325pR.hCZgl5bXOQPRDnVfNcdqtDYpbaoZsq5LKrEPEqPgUsTmiT5qQgLPoW10TPWc6yml29nNRcLYerrjh9smsorURKC5lmyLs6DmOuzZ7N8kh8RxyI6LnPte8f0mbtfLA2xataHZoiNYbE4005ncG4vMBBsixbG4IqJSuGU4VEOgDd5MCJa3iBvdecayajFWKJbOmUahvY3jw6BS.uxzMugwa7y.rr0186CMZjB1Est8O7lumecnbpo7fLmQ0LOLByabb7pLAE9UYLK8Z9JL0mzybrz6zuBy76d+e7t2GEAEHDsfiQPFjAwOaiBOwcn7V8tWaN1igbylb6flaLBrU4JL4OZpD0s7YinYjUrNzAGfQhchx6GO4oZ1oipek7b8W2TcP4gbjyiAyf9DOfhAatPWG2jyBC6CpiZuxTTT6Q7ARaUJkN38v7vrzt+HevuSkO6nr3MYi5eaHV5mIN6fDbxS0WsRJ0eHR4qWvJZbibiWK23Kma7UxM9p4Fesbiud53HC5Nn.4oB4yTm6APNUwd.DXCT05pEJcCxfwadzx0ihN1LqfhFawEaDpQZdD2oFwsTwf6K4o4Kmfwnx41ltGbSEnHw34gxp6iF4IRnlMi8NLJKXHiRbxdu.NmOX.lqi8IpP2RHfqkoTtPyNXOLJDqWg68fJEP7rW2ekrEMJtsXV9qKZEAWaYnN6+ajorzIsLkGOt4zRSUG4uSh3mPKMSIIYS4qPtE1Ckwv88YaF6GadnznW7fVvMItnMyCwya1KcboqKV3yFRU5jyYYY3HvjeRBvpiDmb.76Kekf2AfaG1HYg.IkLYA0U0EpkzAqWc0BxJ1hFWO4+UjtXpqZveCehmrQRoXxIajLYQMIm0JpRFaPC4h2w8emwRUimsrj7+K66bR1JP2h+t5+PGyRXprlRUafdPA5d5QXCgtMjPBJ08UraoFy6VZd2Ry6VZd2RuRcKs17tkl2sz+e5VZpIIk+lMZdD5VxXd2Ry6VZd2Ry6VZd2R+K2szaCT91PF9HGNaWmne8fR6woTT.KAU8a0ur0Nxw1i+MCZYUe05xe1Djccbjob+bvKNYdV6HvykOB7bki.OW8Hvy0NB7b8i.Oe4L4Q1PxsFIX9QQXABs2N5vq41iO7Vx3e.WOD.yA
        

        Note that you can still use control callbacks for the knobs instead of the property editor connections...

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

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

          Don‘t call the getComponent method in the control callback, but store it in a variable. The rest is cosmetics.

          ten7kurT 1 Reply Last reply Reply Quote 0
          • ten7kurT
            ten7kur
            last edited by

            @d-healey said in Slimming down a script(for best efficiency):

            You don't need valGain or valPan, you can just refer to these attributes directly with SimpleGain_SMP0.Gain and SimpleGain_SMP0.Balance.

            Doing this: the Slider is not responding correctly..

            inline function onSMP0Control(component, value)
            {
                    SMP_INDEX = 0;//Sampler
                    
                    //Get Volume value
                    //valGain = (SimpleGain_SMP0.getAttribute(0));
                    SimpleGain_SMP0.Gain;
                    Content.getComponent("SMP_Gain").setValue(SMP0.Gain);
                    //Get Pan value
                    //valPan = (SimpleGain_SMP0.getAttribute(3));
                    SimpleGain_SMP0.Balance;
                    Content.getComponent("SMP_Pan").setValue(SMP0.Balance);
                       
            };
            Content.getComponent("SMP0").setControlCallback(onSMP0Control);
            
            //SMP 1
            inline function onSMP1Control(component, value)
            {
                    SMP_INDEX = 1;//Sampler
                    
                    //Get Volume value
                    SimpleGain_SMP1.Gain;
                    Content.getComponent("SMP_Gain").setValue(SMP1.Gain);
                    //Get Pan value
                    SimpleGain_SMP1.Balance;
                    Content.getComponent("SMP_Pan").setValue(SMP1.Balance);
                  
            };
            Content.getComponent("SMP1").setControlCallback(onSMP1Control);
            
            1 Reply Last reply Reply Quote 0
            • ten7kurT
              ten7kur @ustk
              last edited by

              @ustk said in Slimming down a script(for best efficiency):

              @ten7kur This is how I would approach it:

              HiseSnippet 1958.3oc6Z0saSbDEd23rzXWREk1K5MUZZTuvVklZyesRoHVxOPSIFrrSApPTX7tyZOhcmwZ2woIEEoJ0mBtiGgdauiGo9FzdlY206rK1NlPfBT6bimeNy467cNyLmyD2Jj6Phh3gFlk28fADCySa04.ln+F8wTlw1aZX9AVM29da01X8CFfihHtFllktgbPyxKZn972WccrOl4Px5xv3NbpCYGZ.Uj0aK6aR88uN1krKMPa1WzdaGNaCtOeH.jRV0MFfcdLtG4VX4zVvxv7Ta4RE7vNBrfDYXt35b2C5zm+qr34eGZDsqOQ1ngQGXgh695beWIhk8ZrQepuaqTCNxvvzpUl4WJ17+TqlTW5n9yngynF.kIgNeXtvzfWCc3Ue1gmoF7VLFderUGmP5.Q1HRr8gVayDjPOL3BzgU7bMVX2kr1fCyfIVM.+Xx0CgFijn5ktb8ygtT850Va4Jx+9luAI8unlb2g9jnkq.9lHAZObHpSv.4PIiftB59pfkU6QDa44QbDUWoCMXfOQsBOrSyV0Wo14VtBZJeNpUnwJ0dvZSeITXd8gBA.zBvsCwGVz0ELEZSYAPaavCFvYPCPgy.LmnjGM7Tn6lLd27XqYqGpn4qL40VMgUj9k7x0BOcwfwWIya9EnNXIiBxpHCJmsbEJymxHHugLUGHNKGYIW6PteUmzE9bfx8GRpsbkmDarTOT03tdRl0m8MvjuaepSeTThtoQnH0xSbylkzfnt6CFSNsuJk4R1+1dYpu1ZSPIcHBjnOA83X9srJhJg4VMhHtiDhUyG2dePkOPRaWSHBocGJF+DjcTSp3QKJvquhqYxAk0RsmCWtxgvW83gnpcQPzPNdnFpqTeINiMv99cgyEqNdeUpCO1kqBs.xQPY8Fq2NgiNZGMPx6RffuqsyNnto6wJqPLEbb0WCQQeegSFV0mv5I5CC8UekL9nbreqbx5ssGf.Bh6IccAxPCX5vw8tISQFakyDuOUwswDesQqn1pVHbvgGFRh.KxEreTfBUZyrnq4ARZdxdt3XgTlYs304vJkS7d5waiwWkmo02WJ2GeD9HXJS2E8J3INlz7KM4kDzOU9KYq03ouLRHl8z3nawEjaypVqxSpTtxgUPEGxyarikrbvASicXY5IgSSvprgAcIgolDLwXBMoezUth5D+ZpteRwCr1g3IjN+Q8eW7dDvOFbCBiDhgDIxSou3vfvMx3ywcfXaZu9u5J47mC80IZIcYhO2pxgPNI4S5wZxI8nmSlS70VZSjy1lQE2d.gMoTgLRtqCRJZwDO.LUgJknOJIkn36+MnPlOmxRdktgB35ooZLqx1HUVKSknSRtN9TWRnRtJVoazyo2G44U44yh7ksRhzKB6yXa7SauIVfkYDlvC.2LfDJnRZ2bSxdPp1w4GV1ZSRziE7AJhJ47BHG9ihp1ej998MrOHS42z9Woth9Yi11tOQFYom7dH1kxuQHe3fBj8rp+FZ523Wzz+u+imL5+CmE219R2MBj8.4W9C3KQBxfNzeK0Y7rm9z+5pA5U97kOO.qA8ur.ZMdzKf1evFtLJwQ4P6R7MBntt9jV7Hp7HF8RnlMKHKvICI1dZjn8irKXHJ94DxPrrjpdJFwKVDCTJk7xA4YL50WM5VCrZMzKjQVrBCV6CzMfWKEcMqv8isZQEN8GOdWXL3E1895FuIkvtrUbkTYfcQqqeuW+0qpCkklviIbZUgnPKRXiShWTXvL+hBlkdEeAg5iqD8S8V8KHLeu2+G2684wP4rVcDgDLbLeuj5+U3I4B+2n68ZER74X272.8b60GBbUX9d+SakptV.eHKmtRrg1jADrnY7cnICtjc61pq+KJ0eeUUfxtgPoD.MnOvsYDfyE513Fg7nHOvbTqUj9PsFF1SxUY8zlrGILJee2ZX.32YLhuLaXSYpi+TDQ5moNMwPd16qOakVpuKV4qWvJtciBsOeg1WnP6KVn8kJz9xEZ+sYsiIzl3AxnB4SrVHc9klsz4gE.R.f3qcT55zdiV73oqeJ5HZVAEMwRpDNRqq4m3NwSbKMav8HdV4xoXL9QW2hsGrSE5QhwyBon5gG5KR6M+M1M4L9f9bF0I+9BHNuWORnN1GqAAUdBaKy54SsaS7I3HhdZn6.YJfCyuc+khKZL6bwz7WelULbQxi5PuebSYo20to7jwMmkZpJj+Fop+rVE+WWLoKIelrl9MI93bD2cyWwzOa+BWidF6sgcRghVbebXQZuzIkst3LGaj8e44cgXY4wQ.k+tDfUgDu6.3yHKk+s.31lOTlHPZJSVPdUcfbIcH5YWsfLis310SemtNDlqpw+.eRFrQZpXxAajN3rRIejUblLHvBCEuk6+NskJGOjLk72m8cNoKEXaIeW89nlkHLYNkpx.8gDz80OgMBp1PBIHU2WxpkZLuZo4UKMuZo4UK8RUsz4mWsz7pk9+S0RS7RRzEtvmXeLpVx34yqVZd0RyqVZd0RyqV5+1pkdSfx2D5H.6DxenS7uEGIerjpGfIXpem4ksZJaix90+XUe05xeaCzG53Hux8qAu33k47GCYtvwPlKdLj4RGCYt7wPlu8XHy2MUYjEjbsgBdP7IrPGs1JN30bqQAukL9WTOlxqD
              

              It might be subtle to grasp for the beginner, but it allows you to add as many modules/samplers as you need with almost no maintenance cost...

              And the simplest solution if your code allows it:

              HiseSnippet 1909.3oc6Zs0aSbDEd23roXCAUn7.OzJsEUUYqllZGtUoTDlbApKDvxldSUzzw6N1dD6NypYGGHEgD+M5a8mPesukeR8eP6YlcWuytw1rDBTRqMBjmyLm47cNmYNWFbaNyAGFx3Flke39AXCyyX0cepX3lCQDpQqsLLeOqcZ8Ca2wXi8CPggXWCSyR2QNoY4EMTe9qatAxCQcvojLL9NFwAeOhOQjRscy6R77tMxE+Phu1puRyVNL5lLO1H.HkrpaDfbdLZ.99H4xVvxvboscIBFuq.IvgFlKtAyc+tCYOgFs9uiDR54gkCZXzE1nHx2l44JQrjpwlCIdtsST3PCCSq1opeoH0+BV6PbIiomZFde0D1obnaOLWXVvqgN7pWb3YpAuEif24r55vIAhzYjX6zVsnBLuOBbA5vJZsFKzeQqMYvJnhU8QOFeaNLXLGUu50puh8UqWu15KWQ9mu3Kr6hEBBcfcaDE6EtbEv6DJr2CwSloM0Kz9F1+Tx1N.K1j4GvnvfpWp6Nsara5JaboZqrbE6o8oP6wkp8n0mwd.eT.eiQBAf0LH1OnK1C6H1PPmMlqOabNKj9RgWho8is6h7C7vRKoDTDFc4JDpGghs6OhpHXynY.sTrblWUmDYtBnXdiv0VtxyhDZeF2tJATt5qaSr+JcuzpdX5.wPf9m8Y0dVJFS+l1h+IxiVMDN1lHw9HuPbs0UK84QbD8u57jAqqRnt3m9f9ofsV1sTvAfC1pmC+UA6d1DZVmTM6dqFJMwJN1D440CBGTcxVknSsZlt6yD3GPqVqxypTtxyqXmep98m3bwaG3Yl3zx.V7YwXU5H+dXdhqAVnzNQ5GS29F2v9tTVuZJxOarwO5xl88v8Exaaio+8n8vf4w+NXJlifPKRKxsDBNo2HAt5gmFXtQhvWuR98WLDa2gLX3quPVaE6OOVJIaSzwiJOGhRkMLn0zCCpGk1I5Zk1BYzVTh3AAX5zBNZDeWDBStTrG.VpPEj7rwAIiBFXPfXgKYIuean.NfKSUZmhxWiD9RS3MUd65QbwbEuUj7tqJUoN++R+9UNnH7WVwOXxyK9KVH1O8XwmE+1W9xevAEG+xyU4AvG1z3aasERfjIohcDfyI.yEDoe2bK7dP1+nTVks1BG9XAK.NdLNpITVwKyW8zwx6Ea1b+Tge2lOg3JFlNamlCwxi150SvQtD1c3rQA47ZEU9MzjuwOqI+W7MGOx+zQxe4jD5xLsJweNqbo9jHwx78fcXe4WdD7kXDXYVGNImHcKysgo5MHoNpxKkTKFQf8mE00zI2iwgS.cI+Zlx4hn1ATqQg5zMWPSmNaQtKnYWWQ2uVsYn.GnI2e+29s+7l95EZ9IG3izX+Sx4IL9kC4I95l9L23CgNjdfI1m355gayBIx325pR.hCZgl5bXOQPRDnVfNcdqtDYpbaoZsq5LKrEPEqPgUsTmiT5qQgLPoW10TPWc6yml29nNRcLYerrjh9smsorURKC5lmyLs6DmOuzZ7N8kh8RxyI6LnPte8f0mbtfLA2xataHZoiNYbE4005ncG4vMBBsixbG4IqJSuGU4VEOgDd5MCJa3iBvdecayajFWKJbOmUahvY3jw6BS.uxzMugwa7y.rr0186CMZjB1Est8O7lumecnbpo7fLmQ0LOLByabb7pLAE9UYLK8Z9JL0mzybrz6zuBy76d+e7t2GEAEHDsfiQPFjAwOaiBOwcn7V8tWaN1igbylb6flaLBrU4JL4OZpD0s7YinYjUrNzAGfQhchx6GO4oZ1oipek7b8W2TcP4gbjyiAyf9DOfhAatPWG2jyBC6CpiZuxTTT6Q7ARaUJkN38v7vrzt+HevuSkO6nr3MYi5eaHV5mIN6fDbxS0WsRJ0eHR4qWvJZbibiWK23Kma7UxM9p4Fesbiud53HC5Nn.4oB4yTm6APNUwd.DXCT05pEJcCxfwadzx0ihN1LqfhFawEaDpQZdD2oFwsTwf6K4o4Kmfwnx41ltGbSEnHw34gxp6iF4IRnlMi8NLJKXHiRbxdu.NmOX.lqi8IpP2RHfqkoTtPyNXOLJDqWg68fJEP7rW2ekrEMJtsXV9qKZEAWaYnN6+ajorzIsLkGOt4zRSUG4uSh3mPKMSIIYS4qPtE1Ckwv88YaF6GadnznW7fVvMItnMyCwya1KcboqKV3yFRU5jyYYY3HvjeRBvpiDmb.76Kekf2AfaG1HYg.IkLYA0U0EpkzAqWc0BxJ1hFWO4+UjtXpqZveCehmrQRoXxIajLYQMIm0JpRFaPC4h2w8emwRUimsrj7+K66bR1JP2h+t5+PGyRXprlRUafdPA5d5QXCgtMjPBJ08UraoFy6VZd2Ry6VZd2RuRcKs17tkl2sz+e5VZpIIk+lMZdD5VxXd2Ry6VZd2Ry6VZd2R+K2szaCT91PF9HGNaWmne8fR6woTT.KAU8a0ur0Nxw1i+MCZYUe05xe1Djccbjob+bvKNYdV6HvykOB7bki.OW8Hvy0NB7b8i.Oe4L4Q1PxsFIX9QQXABs2N5vq41iO7Vx3e.WOD.yA
              

              Note that you can still use control callbacks for the knobs instead of the property editor connections...

              I like your solution!! Need to sit for a moment and digest it. But Sampler1(on Button SMP1) is not displaying the correct values. Even though the code is the same?!?!

              ustkU 1 Reply Last reply Reply Quote 0
              • ten7kurT
                ten7kur @Christoph Hart
                last edited by

                @Christoph-Hart said in Slimming down a script(for best efficiency):

                Don‘t call the getComponent method in the control callback, but store it in a variable. The rest is cosmetics.

                Was trying all sorts to get the value before.
                Ok. Variable it is!
                Thanks!

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

                  @ten7kur And a lot easier than my first solution
                  After all, I removed the non-necessary for loops:

                  HiseSnippet 1873.3oc6ZszbSbDDdWKu.VAmBHbHWRUSbwAop.iDlGoJJJV7CHNf.UR7JEEAFu6HooX0LplcjAGJph+FbK+Dx0bieR4dNjzyL6pcVYIYgwP3gru34QO8W+08Lc2xptfGPhi4BG2Et6N8HNtG0q4NLYm05foLmMW2w8vd017gazvY0c5giiIgNttEtgZQ2El2Q+yee0UwQXV.IaJGm6yoAjaQ6RkYyV2+lznnqiCI2k10Z2m2ey.NaMdDuO.jBdUb5gCdFtM41X01lyyw8PaDRkbQSIVRhcbmeUd3NM6veNyr+6SioaEQTCp5zDNHyzWmGEpPrZVm05PiBqmZvwNNtd0yL+BFy+jd0ngzAymQCGSu.JSBa9vctIAup1vqxzCOWK3MuAdG2qYff1SlshBaei2lLIQzBCt.aXY1qybO3vdqwgcvjK2E+Lx0EvfART5BWrxoQWnRkxWdwhpeO6YQJ+KpFOreDIdwhfuIVh1FKPM61SsTxJnqfdjNXY41D4FsZQBjkVpIsauHh9DdRyZ0qrT4SuXQzD9YuNgpKU9wWdxGgFyq1WJAfNDbaRhfCcUISi1TV.z1Z7t83LX.nvo.liUx8FdZzcSFeq7XqV8mno4qL9yVugkT9k7xUGOYwf0Wx3MAMuIKj7BDuER1gfh0zAIDEiUjrXwhpyjF9hA99eD0zrDxPcTNawhTVDkQPs5yzSf3rbTqBIBdTofTXbZ.pQ8IkWr3KMTCsEpjYpWlwUY+E.yGzgFzIEVHZ7.nlsK.lfYmSyKSUV2cZko5xWdLJnIQpofmY7DKni8R33kiIx6qfWo7Q3OBT4iUD70jRAcq9xQuA0DkUJdvgBdf2yyL4I0xo1yqVr3qf+rEWfJsEBhaxwCkQaozWhiXMbTzVvKnkFseJ8htwcqCBAxQRYsGomNgi1amrEIGvEBRLruP3TQc0FlYSixVimFBNUcWtngIr8civtyi5xVw2paO6g8BaYRlK58vTR7qCrlLiIIlYz1RFhLlhEfuMWRtCqT4hur3BEeUQzvK0p0HWK43faaibYUFZwjDrDqe2sHhTCA1n4hdx7nqbE8idk0S+xguIdKRKoxSLX9Gf2l.A2cuAgQDXHWZdpb2KCBWMKlXT2zaPa248WIm6znyjnkziwbgr3qfzx4y66M9791kkDXd41Zib1lLp7N8HrwUMfSxy8PcAym3AfsJ0UE7sIUEXRA5Pgj+GxSkUyQCb.Wt55rlV4plJWVEdiU1lQzPhPKaQuzac4jGsxJem+zH+BdIQ5Cqdm25buMWGKwphhR3Afa5QDRph1cWmrMTsooDoE7VmD+LIumlnRt7BkwtWT0KFnuWul+NYJ+l9OmFJ6jsZC+NDUjkc8qBbHkeCAueugHsoU+UszuyuYo+W+KGL5+alF2lEF7svvSeperjzqI82ScJ+wadyec0t1MAbp21EaI9oFB0NOcWn9m8g7BINr.5VjHmtzvvHRcdLU8Tic2DSmkjE.kgD+VVFh+tLDMOc.YHddJUOAiX20yCcUnRNndqwtUiAYMv5yvtldUc6L3r2w1.9fz+wzB2i6UmJC5LZ7N2HvKbK9CMdS5laQOSSEYfcduq+vO7stYCkiLl9pOptmLXDQT8fn45dScy0tE9PzL8g9jtY5Y289Z7t2OXfxI7ZJEDL7Le6jla03IIw+G06d0EjHNNLeFn25uZefqD4m8O80p5Zc48Y4zUhMzfzifk0L4PSV7H9MZnKCXXo96qpCTtq.Zo.nA6EtCi.btz1FWSviiaAli9rhsWpdeQaEWkMSCx1DQb94tc+tfemwHQpphcUkeduXhxOSCpgg5seg8t0ZoxcwZe8bdlwUGZ74FZ7JCM97CM9BCM9hCM9RYiMDZMbOUTg5Sabnx5O7zUVOb.PA.jHqctJs8fC2Licv6.ZVCEqWfm875XedsvzA283iScgTLZ9vF2fsMbsDlQgwS.0i1B2ORlNa9zy03LduNbFMH+k.HntcahvF6izff1Mg6fYybR+FjHBNlXWy4sfxBvh72sem3hpSOWLI+026YfKR8tF5KizhE9bKs3ASHeVcn5P9ajp9S3M7GY+3xH95UV4et55jHbNh6A4aO5W82UNyi4uIbSRHqyivhgo8BGTgzyO0wFY+2M9bHVV8bDP4eNAXcHwmO.9Xp91+D.tM38Uenzo0G4AEQ0DJbLfXWJ0bpxyLiqj9A60jvB0C9W3mjEqlV2kZwpoKNsTx25YJaAAVnP9It+6nd5B5Pp5u+R12EjdTfsk725OTT2BDlp.RcOeQP03Q1uvFCsVnfDTW66XqQUm0ZzrVil0ZzrViFeqQmaVqQyZM5qmViFaFQ8+iy8QqQNucVqQyZMZVqQyZMZVqQ++1ZzGCT9wPGcwAB9SBLeaaT7wQzy.LAS+kodAuZpwnAeGe77prbE02ZA5SBBTobOC3EGsLmaeHyJ6CYN+9PlKrOj4h6CYtz9PleZhxnZH4Z8k7tlWXgIpugI30ciAAuEb9O.h9mpl.
                  

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

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

                    @ten7kur said in Slimming down a script(for best efficiency):

                    But Sampler1(on Button SMP1) is not displaying the correct values

                    Seems good here when I import the snippet...

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

                    1 Reply Last reply Reply Quote 0
                    • ten7kurT
                      ten7kur
                      last edited by

                      @ustk said in Slimming down a script(for best efficiency):

                      HiseSnippet 1873.3oc6ZszbSbDDdWKu.VAmBHbHWRUSbwAop.iDlGoJJJV7CHNf.UR7JEEAFu6HooX0LplcjAGJph+FbK+Dx0bieR4dNjzyL6pcVYIYgwP3gru34QO8W+08Lc2xptfGPhi4BG2Et6N8HNtG0q4NLYm05foLmMW2w8vd017gazvY0c5giiIgNttEtgZQ2El2Q+yee0UwQXV.IaJGm6yoAjaQ6RkYyV2+lznnqiCI2k10Z2m2ey.NaMdDuO.jBdUb5gCdFtM41X01lyyw8PaDRkbQSIVRhcbmeUd3NM6veNyr+6SioaEQTCp5zDNHyzWmGEpPrZVm05PiBqmZvwNNtd0yL+BFy+jd0ngzAymQCGSu.JSBa9vctIAup1vqxzCOWK3MuAdG2qYff1SlshBaei2lLIQzBCt.aXY1qybO3vdqwgcvjK2E+Lx0EvfART5BWrxoQWnRkxWdwhpeO6YQJ+KpFOreDIdwhfuIVh1FKPM61SsTxJnqfdjNXY41D4FsZQBjkVpIsauHh9DdRyZ0qrT4SuXQzD9YuNgpKU9wWdxGgFyq1WJAfNDbaRhfCcUISi1TV.z1Z7t83LX.nvo.liUx8FdZzcSFeq7XqV8mno4qL9yVugkT9k7xUGOYwf0Wx3MAMuIKj7BDuER1gfh0zAIDEiUjrXwhpyjF9hA99eD0zrDxPcTNawhTVDkQPs5yzSf3rbTqBIBdTofTXbZ.pQ8IkWr3KMTCsEpjYpWlwUY+E.yGzgFzIEVHZ7.nlsK.lfYmSyKSUV2cZko5xWdLJnIQpofmY7DKni8R33kiIx6qfWo7Q3OBT4iUD70jRAcq9xQuA0DkUJdvgBdf2yyL4I0xo1yqVr3qf+rEWfJsEBhaxwCkQaozWhiXMbTzVvKnkFseJ8htwcqCBAxQRYsGomNgi1amrEIGvEBRLruP3TQc0FlYSixVimFBNUcWtngIr8civtyi5xVw2paO6g8BaYRlK58vTR7qCrlLiIIlYz1RFhLlhEfuMWRtCqT4hur3BEeUQzvK0p0HWK43faaibYUFZwjDrDqe2sHhTCA1n4hdx7nqbE8idk0S+xguIdKRKoxSLX9Gf2l.A2cuAgQDXHWZdpb2KCBWMKlXT2zaPa248WIm6znyjnkziwbgr3qfzx4y66M9791kkDXd41Zib1lLp7N8HrwUMfSxy8PcAym3AfsJ0UE7sIUEXRA5Pgj+GxSkUyQCb.Wt55rlV4plJWVEdiU1lQzPhPKaQuzac4jGsxJem+zH+BdIQ5Cqdm25buMWGKwphhR3Afa5QDRph1cWmrMTsooDoE7VmD+LIumlnRt7BkwtWT0KFnuWul+NYJ+l9OmFJ6jsZC+NDUjkc8qBbHkeCAueugHsoU+UszuyuYo+W+KGL5+alF2lEF7svvSeperjzqI82ScJ+wadyec0t1MAbp21EaI9oFB0NOcWn9m8g7BINr.5VjHmtzvvHRcdLU8Tic2DSmkjE.kgD+VVFh+tLDMOc.YHddJUOAiX20yCcUnRNndqwtUiAYMv5yvtldUc6L3r2w1.9fz+wzB2i6UmJC5LZ7N2HvKbK9CMdS5laQOSSEYfcduq+vO7stYCkiLl9pOptmLXDQT8fn45dScy0tE9PzL8g9jtY5Y289Z7t2OXfxI7ZJEDL7Le6jla03IIw+G06d0EjHNNLeFn25uZefqD4m8O80p5Zc48Y4zUhMzfzifk0L4PSV7H9MZnKCXXo96qpCTtq.Zo.nA6EtCi.btz1FWSviiaAli9rhsWpdeQaEWkMSCx1DQb94tc+tfemwHQpphcUkeduXhxOSCpgg5seg8t0ZoxcwZe8bdlwUGZ74FZ7JCM97CM9BCM9hCM9RYiMDZMbOUTg5Sabnx5O7zUVOb.PA.jHqctJs8fC2Licv6.ZVCEqWfm875XedsvzA283iScgTLZ9vF2fsMbsDlQgwS.0i1B2ORlNa9zy03LduNbFMH+k.HntcahvF6izff1Mg6fYybR+FjHBNlXWy4sfxBvh72sem3hpSOWLI+026YfKR8tF5KizhE9bKs3ASHeVcn5P9ajp9S3M7GY+3xH95UV4et55jHbNh6A4aO5W82UNyi4uIbSRHqyivhgo8BGTgzyO0wFY+2M9bHVV8bDP4eNAXcHwmO.9Xp91+D.tM38Uenzo0G4AEQ0DJbLfXWJ0bpxyLiqj9A60jvB0C9W3mjEqlV2kZwpoKNsTx25YJaAAVnP9It+6nd5B5Pp5u+R12EjdTfsk725OTT2BDlp.RcOeQP03Q1uvFCsVnfDTW66XqQUm0ZzrVil0ZzrViFeqQmaVqQyZM5qmViFaFQ8+iy8QqQNucVqQyZMZVqQyZMZVqQ++1ZzGCT9wPGcwAB9SBLeaaT7wQzy.LAS+kodAuZpwnAeGe77prbE02ZA5SBBTobOC3EGsLmaeHyJ6CYN+9PlKrOj4h6CYtz9PleZhxnZH4Z8k7tlWXgIpugI30ciAAuEb9O.h9mpl.

                      Just checked. Yea! All working!! yhhh..
                      Many Many thanks @ustk ! Need to sit and study this. Im grinning!:))))))
                      Thanks all for the inputs!!

                      1 Reply Last reply Reply Quote 0
                      • ten7kurT
                        ten7kur
                        last edited by

                        @ustk

                        for (b in SmpSelectBtns) b.setControlCallback(onSmpSelectBtnsControl);
                        

                        ughhh!
                        I understand that "b" is "SmpSelectBtns" array But ive never seen a ControlCallback like this!!
                        My digestions struggling at this moment😱 😳

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

                          @ten7kur That isn't the control callback, that's assigning the function called onSmpSelectBtnsControl as a callback function to each button b.

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

                          ten7kurT 1 Reply Last reply Reply Quote 0
                          • ten7kurT
                            ten7kur @d.healey
                            last edited by

                            @d-healey said in Slimming down a script(for best efficiency):

                            t's assigning the function c

                            mhm i see. Its a FOR statment/loop after the function.
                            Never seen it like this.
                            Though im getting the Logic, the code is still Extra Wings for me. Will digest hopefully 🙃

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

                              @ten7kur Did you see my HISE Scripting 101 video?

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

                              ten7kurT 1 Reply Last reply Reply Quote 0
                              • ten7kurT
                                ten7kur @d.healey
                                last edited by

                                @d-healey said in Slimming down a script(for best efficiency):

                                @ten7kur Did you see my HISE Scripting 101 video?

                                I did, though its been some time. Will view it again.

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

                                29

                                Online

                                1.7k

                                Users

                                11.8k

                                Topics

                                102.5k

                                Posts