HISE Logo Forum
    • Categories
    • Register
    • Login

    Knob is selected? use for function

    Scheduled Pinned Locked Moved Scripting
    12 Posts 4 Posters 654 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.
    • Dan KorneffD
      Dan Korneff
      last edited by

      @d-healey Thanks!
      Here's what I ended up with:

      HiseSnippet 980.3ocsVEsaaaCEkz1JK1ctXAne.B4IGf1.a0ztADTjrXGWXzkTi5th9VAiDcLQjHMjnypQP.5mx9T1GP+BJ5K8g899CxtjTxRxQwwZXUuXy68dt7vit5d4vPgKMJRDhv0e67oTD9GsFMmKmzcBgwQC5gvOz5DRjjFZaLcz7ojnHpGBiq9RkAb8ZH8y+bvQDeB2klZBgdmf4R+MV.SlZc3guh462m3QeKKHSz6c3.WAuqvWLC3SUq1noD2KHmSOknBqhEBuwwdLoHbjjHoQPLGI7lOZh3O3l3eGKhclOUsnCZDjHiYT2ILeugIm0HDBWaX5Iup4j+HqSXdrE1SUfeR6vNEQVM.WIOkpkiRctKJ0W36oRvcPObF5UyPusrF4FxlJS8n31CrFvgWNiIfrmkVlXQU9RUqtBHBtb2.xEz9gvhEHZsW61O11oc6c1uYilM.wORZeIIz9UbwYcregcBzyoxthfoBNrn01ZuaqvjGgyJQ3rsYWxhZHgS8u6Mx3docRazY0XR2KF2mwo1imwckLA2Vv0rWgMT32xMA3igb6OitSyFW0rQc1X6VIqsgmqL+ndLbZ2H3MbRRjgPf6uTHN4BYLwOBhQGx0lHofk0I6wPSiIIIWqOhq7UztQJq57zk36eF74Tq7Jvp0Im+W0oacRJPnLZ45oSqThuO0wYUpiSF0IijbpPReMu0NMtpQ8FW2vdYWiGWnu3j4SCKzspIX3p.1hOK3LZXhzmDHzYHeqmGrdsdbMZRl.E7Abl70SowqSaNo7YN0IdaiVbXyZJ8Ll0p9nUPXoltcuOT76LnKXk3vgPk5dfOLtG3HelGMDw.N9CV5xYjVahmk7mu7ae4.zZC1IG3+5ye9qGf98A8HRhpSbLc.JNkFJYJgF2idILVyzWttUOZzERwT38whZL3+2Ki+HBag2G1w4KFA9odGhxjCKSNZlz4WUzqSwlVlOuL4XK7R4fIoAlwnNf4M5it4FsqRPOmbzyBKWB+F2C0bxQMC9kn0eGSqKSJSwUQ2drGL7U3MymHyOQVc0iXGv2J4F8oFuwiXx4YuZRIFS2tvwzcJpTcMo6VVCYR2IEy2JEvWUs+2Y9FeomlVGOdL0UlR1ZV8e++0a3TBp7FwLIie9IDYHSUpb5rfQPkgKEXBGJfhTUMUTEcl0sUqUJyHJ2Su3F3I1YG0ZbryNINQAD2PwGbM8ATWqZSsEfSb8MJqCWsEVaun6gh2Avc89fqqRHdBv7hQ3TZDOszH1qzHdVoQ77Ri3mKMheYEHTWr9WmIEAlOK.CCOV23EiOlSfpJcEH5egVL2UO
      

      Dan Korneff - Producer / Mixer / Audio Nerd

      1 Reply Last reply Reply Quote 0
      • Dan KorneffD
        Dan Korneff
        last edited by

        I added a few elements, and all thumbs up over here
        visibiblity 2.png

        HiseSnippet 1192.3ocsWszSibDDtGfgr1a7pfTjxdbjUTjQhfrmPdHgPqCFbDYWXch2f1SYSyLswsXb2VyzlEGVj1ej4PtEkC4Ttj+AjpeLdd3wC1QJCGvcU0WWe0i9UuPtGIJhGhrp7poiIHqOzt+TlXXmgXJCcxQHqmXeJNRPBczhNb5XbTDwGYYs92IEXUYCj56ed1g3.LyijHBgNmS8HufNhJRj1q8yoAAcw9jWQGkx58ZehGm0gGvm.7Yc6lnwXuqvWRNCKMaMaj0lG6SE7v9BrfDA1bH2eZ+g72xz1eNMhdQ.QNnEpOLQZwnNCoA98hi0HDxZidIQ955H+isOk5SmIOIC7QJENIHRmCrVKKk1HCkZsHJ0kG3KmfEPOqTzaCM81xtuWHcrHQijaO19DFTbFfgzdZZosEs1eXa2gCVvD6NBeEoaHLXFhF60r4NNtMat890pVqJj7iDNWiCcdNieQKmCbhgdIQzgOZLmACZTWostDSVDtkhvst1KoQ0CyHAK1QZ047jRna4Xh8UBpCmHDb1hckQeNeok59.nl2au.eQYwkV8r7g7OJKfxHNClv7DTNyjY5ZF1vKF7Nv7GLgrcsp2VqZE5.mFppgzAmKUzXamCNPaiy6dWbXmScyEppELwNv2s5+I+zLY2HnkVFMg7fFhPfA6myD2LlL.GDkwFcLuaDAheA4FQ8cbpCKwX.RmVNzHmHR.wSP7qmFk5G2oGSfYbYX2btNdRtSkuKsmVxOy7zAGDbAr+SirkB4DGm5VJiWX00cYqttkWccWb00c9pakUL4UPsMe4urRqatR6xUPKrWZYKitkTFcmuL5tLFOqxwYmwEjWxZrc0aqVo5cUcxqZvfB0Y7P.IrP0xSBCKCXC1jQWPBi6PhMDNdH64OOd4N+wSm9RYHmcBiJd4XhYbxITRc5nNVaSzrfMsnjXLsTUnUfYIhl+.Pjo7BGEZaLGLUnNH7IlCB6GP8IgHJvwOvVs9EoxMlKTz9O+0e6YnkFraFvu+u+geewf0MNJvUrMaFjAt51PqBb27vMofzvqYfqVtoP+Ha8RuXvehcg6nhP+zIGgEX48JL4UHWOlDJnxNFqiHWCWRSeKiJ1GQhtRvGC4kYqqflrGL0eCTor1Gn8zYAw6OpMJ0bXmMLTKwLggdiH8brkUt4fJHizWJzEDuYWz82axOKM8byPOaKQN7a9.TyMC0z3yQq+xPqqiWuYsdAdnzNnaRJ+61NIEf991uk5KFJc7mBCGRnWNTlOsbJNLJsOKkSZlxIN+RhS9rLN4o4bh8C1MlxE+b533oskmNTRa57W5Et5M2eR.Vj893xGdXT.aRl4huxK2xhnhooWJtBWRuYgWRuUQ6QsjzcK6dTg2vh46ZEvWXc5+2707jmZ1GOX.j7SH6F1ce8+022rBT4G4SDT1kmhEgT4RqylLpOrRxiX5LhjcdqIa7ziaJGKyL8ILe0f6gOixVxwVFkshUhFg8B4uwSuKp7QUORIA3DS8dxJvCagwNy19Tx6QvK8dimmLQ74.yKFg6Ji3KVYD6sxH9xUFwWsxH95UFw2TBB4yp+1IB9H8xBPPuiUGTYYcLCCcUpNPz+Bw3mjAC
        

        I've added buttons to the control callback and used this logic to show a panel whether the button is 0 or 1

        if (Knob1.getValue() == value || Button1.getValue() == 0 || Button1.getValue() ==1)
        

        Is there a smarter way to do this? If I wanted 20 different elements to display a specific panel when selected, that line of code will get pretty long :alien_monster: :alien_monster:

        Dan Korneff - Producer / Mixer / Audio Nerd

        d.healeyD 1 Reply Last reply Reply Quote 0
        • Dan KorneffD
          Dan Korneff
          last edited by

          @d-healey Is there a thread or tutorial on how the Timer works?
          Once a panel is revealed, I want it to disappear after a set period of time.

          Dan Korneff - Producer / Mixer / Audio Nerd

          1 Reply Last reply Reply Quote 0
          • Dan KorneffD
            Dan Korneff
            last edited by

            Nevermind...... I'm tinkering and this works :)

            const var Panel1 = Content.getComponent("Panel1");
            const var Button1 = Content.getComponent("Button1");
            
            
            const var panelTimer = Engine.createTimerObject();
            
            inline function panelTimerFunction(component, value)
            {
                if (Button1.getValue() == 1)
                    {
                        panelTimer.startTimer(2000);
                        Panel1.showControl(false);
                    }
                else (Panel1.showControl(true));
            	
            	
            };
            
            Content.getComponent("Button1").setControlCallback(panelTimerFunction);
            

            Dan Korneff - Producer / Mixer / Audio Nerd

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

              In the meantime I was making an example for you so I'll post it anyway :)

              Panel's have a built in timer object so you don't need to declare a separate timer variable in this instance.

              HiseSnippet 1313.3ocsW8laaTDEeVmrg5EbEUhCvH+ghsHswtzV.EEgINIEKZRspSS4CHUFu6X6QY2YVM6rI0DEAbS3nvgfC.GAtAk2Lytd2M1ApQh8KIu279yu2el487PovmljHjHm5mNOlhb9H2Qy4pY8mQXbzfCPN208XRhhJwVV6OOljjPCPNNa7LMCm5ahLe+0WuOIjv8oErPnyDLe5yYQLUA2g89NVX3Qj.5ornRR+3dC7E79hPQJfmMb6fhI9mSlROgnEqlKxYqCCXJgbjhnnIfL6KBlOZl3RtU9yXIrwgTMQWzHvPV1n9yXgACyi0DDxYygEQ9F1H+SbOlEvVvuHC7wlCvEZTNG3TqJj1rBj5daP5HQXf1.2B7bJAuMsv6dti7krXUwIZr8gtC3PwYBAR6kgkUVTsey0su.jfqdXD4b5QRfXgFsdZmNaieRmNs2sgWCuc1YDUgUyn3PxXZ3mlfUz2pvBNlwYpFd4FZJU0WDEK3.QqlOWKa2lseXBEnzZzbabyNMys4y.aRvR5DpjBMGXkv3hKYAfcvO.OjvA8a3Ak9DE9BhLiCdO7pcn83l2DywZ1.l0XkQBAKElRK.uUKMHOSePqJwbZrwDDeECTPMin.7EFhE99oR7kP4gVwGJnuUhYIXYJmy3SKadcOsrOILbLz71ZRJ2XzVswW0vCq+r+YmcdUB8F.GJK7EHmj.oMHcvHiCMYMeQJWgmHEQ3NZ5tcrV5lQVF8zb513OC2UGskc9Arj3Px7J.v5WFG7qoAvJ6ZT0Wxy4dEWIve8LJ23XSDAIRIk3OilrHhXSvqHJ1aOPf1VItpvt4gObkSCUoHr0DRXBs8tfq9VVPoj7xJoDwl5UKizi.Riz15a1mQoq8tdEMLiSUJngwOqZ2viwCYbJNupCseiUb3oAoJGa944vss4anuHKwDJ.6fkvyHPqOboTiHC3r7f5RTR4h35dcDL2Ko.2J2tq1BUJGpjo1T3RcJqtqqSIGTp11vq9hbMjErIac7jkvAdU5AGmxBU5X0TBZ3csIou5PMO0ZC1Lfu3l2Ro916VprbhPQeAbqz6Ju5dW6cySlLYUGkYnPc+xxml0Hcqp0hmFMlJyq6YxAuuWc.xVueCP7sojRBJ3CfW5dQLMitXDS2ULhAkkS0Cax.HHpxLpoQ1nFSuDhA13Nt19JjA6vH6s7xmv+pAGPTjby.VD7RLUpX5fw4.5EvB.1IX0cOflbNbGClkunLhb9.qSualS22bmx3UO27RH5sHGWm8.2MW+OaC+it60.USOjI4iRHWPGvGJ0cg5ofrjiEQfSHRPMmZnRd0qZnZZRyBUaCq1kYal7m+Xu4KH9kfdvrK0LMNBbPnYT1zYJM0e.mNdZ99K02Bg15cZMXJZTA26e+e8FbeTY1WjWtgUKbJg25+qklB716GJg2e+zdwDXzqpjwVDiSfR1H1OUZIrupH59YT4nq6hbdoh+xqo.KKIBRCIppaPoWUL6.3RQkUUzqivSXp4kWkbMVqpyJWqZk87umv8dtCYJ+YqFu0VAdgt++uwa1RpMbObxDpup.ra5dz2+eciz0.JuTjpfMcNlnjL8kwSRiFA8t9T.IbnWJQ2iTS+thktilVmYFQ4AFh2AeYG1US6jcX27CQQDeo3M91WizqAeGCG.Sbyu.nN7SQ.Z7hmgz3NB1M+M995DwC.juZMdzZqwmu1Z730Vimr1Z7z0ViuXs03K+GzP+Cg9lTkHxds.XL7Pyy+NNGx0KpZ5.Q+Mr.R9mA
              
              Content.makeFrontInterface(600, 500);
              
              //Set the label's text on init
              Content.getComponent("Label1").set("text", "0");
              
              //Get a reference to the widget - Panel1
              const var Panel1 = Content.getComponent("Panel1");
              
              //Set the panel's initial value on init
              Panel1.setValue(0);
              
              //Set up the action that will occur while the panel's timer is running
              Panel1.setTimerCallback(function() {
                   
                  //Use the panel's internal value as a variable to count from 0 to 10
                  Panel1.setValue(Panel1.getValue() + 1);
                  
                  //Display the panel's value in a label
                  Content.getComponent("Label1").set("text", Panel1.getValue());
                        
                  //When the counter reaches 10
                  if (Panel1.getValue() == 10)
                  {
                      Panel1.showControl(false); //Hide the panel
                      Panel1.stopTimer(); //Stop the timer        
                  }
              });
              
              //Set up the button callback
              inline function onbtnStartControl(component, value) { 
                  local rate = 500; //Timer rate in ms
                  
                  Content.getComponent("Label1").set("text", "0"); //Reset label's text
                  Panel1.showControl(true); //Display the panel
                  Panel1.setValue(0); //Reset the counter
              	Panel1.startTimer(rate); //Start the panel's built in timer
              };
              
              Content.getComponent("btnStart").setControlCallback(onbtnStartControl);
              

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

              LindonL 1 Reply Last reply Reply Quote 1
              • d.healeyD
                d.healey @Dan Korneff
                last edited by

                @dustbro said in Knob is selected? use for function:

                Is there a smarter way to do this? If I wanted 20 different elements to display a specific panel when selected, that line of code will get pretty long

                Yes. Use arrays and loops. I've demonstrated this in a few threads now so I think it's time I make a video about this.

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

                1 Reply Last reply Reply Quote 1
                • LindonL
                  Lindon @d.healey
                  last edited by

                  @d-healey said in Knob is selected? use for function:

                  Panel's have a built in timer object so you don't need to declare a separate timer variable in this instance.

                  ..woah, I didnt know this. so if I have (say) 10 panels they can all have their own timer running at different rates?

                  HISE Development for hire.
                  www.channelrobot.com

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

                    @Lindon Yeah but if it explodes let me know.

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

                    LindonL 1 Reply Last reply Reply Quote 0
                    • LindonL
                      Lindon @d.healey
                      last edited by

                      @d-healey lol

                      Wow this product just gets better and better...

                      HISE Development for hire.
                      www.channelrobot.com

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

                        @Lindon Yeah but if it explodes let me know.

                        You should be fine with up to 100 of them per plugin instance.

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

                        36

                        Online

                        1.8k

                        Users

                        12.0k

                        Topics

                        104.6k

                        Posts