HISE Logo Forum
    • Categories
    • Register
    • Login

    Preset Select + Mute script (to avoid clicks)

    Scheduled Pinned Locked Moved General Questions
    21 Posts 4 Posters 1.1k 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 @DanH
      last edited by d.healey

      @DanH said in Preset Select + Mute script (to avoid clicks):

      he's described it as "crazy code"

      I stand by this definition...

      You have a variable called on which is set to true and then in the timer callback you set it to value, what is value?

      In the timer you check if on is true and if it is you start the timer, but the timer is already started!

      Then if on isn't true you stop the timer and set on to true which will restart the timer. So your timer is never stopped.

      Check this snippet to confirm (set on to true in on init and hit compile, the timer will run forever)

      HiseSnippet 738.3ocsU01SaCCD1tzLs1sNMj1OfH9TqDqJcCXSpZZL5KnnsVpH.ZeCYRbnVjXG43vVEh+T6W19GrcNtPBaADpR3ujd2yctO97ycdlT3SSSERDtwQKRnH7Ks7VvUyGLmv3H2gH7qrlPRUTosw0dKRHooz.DFu19ZG3F0Q4qe+48HQDtOsvEBchf4S+FKloJ7Na2uxhhFSBnGwhKE8V655K3CDQhLfOqY4fRH9WPNmNknCqlEB+rQALkP5oHJZJBWeOQvBu4hevMweBKkcVDUazC4Aajw8XQTflwZunAyYQAyt4bmhfcYVQUXMSU3MVSXAra8WTMdcNfcQFkqG3ZOD85UldNOd5gKQu5F5stkmujknJPzb6EVtb3hJj.WAkokIVTsegsFHfH3ptwjKnikfwsYzdGGmMs21woS+VMujHsEb6OYqjYTvtUybQQ2TEQpzWZx185zOLi6qXPbB9Tghd.ucmlW0rQyqaZ+uPggUhooiTDEA6WUvl+objVMsgEKztslWFh0w37JyG8JmyY7.ZHiSC5W.TE8MnWa9PiRoUucgD.phsRjrjd8KuOvIJUDQ6lHYbU6MNxcxnCsc8rO73oScmt+FPzUVBZyyhOiJ2z9RRDbxtoX.232URYc+RpxJdey8bo.EbWNScPBkeeBMzRwA7qicGRTDs1aoOHtDpTwzT.OjdIzTaThMrFRSu.JFPa8+ISglEQPVDQc2NH8Xik.PM3NRUsbjmxTKJOV4Ios5wR20slwT9yqlu0pfuPU6oluKGR0xZTXH0WUP15Vi+9S+DIzghLEie9DhRx9InImlE6Ayr8o.S3bnUB7gqoUTFaGsstx3Q4A4F+AVKA6oswKA6cCHJl3KEm5a5NziAedtGfS77WCZ.OKA118P4cLPdVNccPwvz4S880kh2Bbu5bd2Jjy6Wgb1ZExY6UHmcVgb9vJjyGevbzOL9kLkH1zl.NlMJeLBFOhS.UVthD8W.pv3ic
      

      Edit: I just realised I missed out a key part of the logic in my snippet. on will be set to undefined in the timer (assuming value in your script is undefined as it appears to be), so the timer will stop after a few cycles. I've updated the snippet now.

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

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

        Can you post a minimal snippet that demonstrates the shapeFX = click issue?

        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 I'll have to post a project as you'll need presets...

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

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

            @DanH No presets needed. I can make my own :) just the simplest example that demonstrates the issue. Preferably with a sinewave generator rather than a sampler.

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

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

              @d-healey Ok! Snippet below:

              HiseSnippet 2126.3oc6ZzzaabbcnjVWSZKm3fDzdbAQOPgnnPR8ISgAW8AoDgkHI3Jaohz7wpcGJN0K2gX2gzV1U.8RA5egbK.8dOVfdK+.5gTzyEH.8PQu4+AsuYlc4NKEEEKAriUQW.a348l279bdeLzM8o13f.pOJU5iunGFk59ZlW3w5raGKhGp1dnTOTy7fsaVo5o50LMeRE8UQ6bQOqf.rCJUp42musToW.I9dc4crbs7rwwfPnmRI13CIcIrXnMMdLw0spkC9XRWkculQMap2tTWZePjlWKOpmk8yrNGW2hus4zPotSEGBi5axrX3.TpE1g5bgYG5y8j6+oj.xYtX9hBHS3fjfqRcc3RLGJZ2NDWmlQpd.BkRqYrgXdog3C0Nh3PFBO1f79BD5wTnZORM2jDuBphW9oW7RoHdKHEOvsX6S5whwvks6oUyig8aaAt.UwRtWzb+oEz1kB6visRWqmgq5CKFRQtMxmeY80ymeoewhYVLymdie55MaUwrxwl55SXWxyRty5aeTEc8idxwULWLC3oCX5Cr70M6X0CW8zB5ORWD8sx4XVk1sw1rbYE3zAjY4h0Uno3jnoXVopH2P.yxmwi27ykek7E3n3GD0CNBleerXqwLPQhejdjUCXxtzt8ndvhbYi2RHiHdtDOrd69d1LBbvTO4Vdb8F6vOBepaN6H5WFXiae7RKl4UKlQW9sXlzj154p3cNbNBt022G16SBv9M8wAXF+lPtkzezizylEHMMmpaV5VAnLWVF9ErrKqmc2CZzvrRnFJD8zgLG6FfmsC8FEYU1DpvWqeI8kvehhJ3rIJXNmDcjyeLnBYwkB+wjzAtOQpCgdlcsbcOCR2jaLdMo6UwuVmxvM7xsTlWkIclKynOJp1sGKtviyEz0wgVZEVhyKQTADL.RyRRKV5zhPUQPiPSGi4aUoMXBltIY6tLNBHlegWMhYGsWnXd8rJ+DXU9HVc4UsK47528LrezMiHKDj0KYZUsqOspZVeao6WYiTuZdDVidXuqKYKJLlAR6NenTArmIR5tXXR2is3Li.oVuql3eW.IDX0xdNVLKTpemVoMVI42fF0qWms0pGdZkM2UrF9qSKwWu9v0+5RG31H+Fx0qs5purzozm8zP7.8kJ0dMysBoe+82+webys5r1ZCou8GyYUI4ZoNITj4kJxCBUDSWhC1WnIOXXc982tV8Qzme61FSyYbes3KNW0hfdRs83FEnfTnMFr68v9LB2klZO7.nQAY0szZ6gCdFDoAt5gWbgxarvRyRNW0kZwHdmeLIza7dZpfJfdQrB7kFWDufX7bhCqSLfAFcvjy6D2ghdGiPYTJPumlLU1N9zmC40PmcdTSJ2WasBajey0Js9FagHLbWEDE2ZyMJUbyhETPTThoDPPgBEVGILIy8IozD4DyxiUMsFf2oOiQ8x9YhqeKODUkWzyxK.tyDrc.bd86x2RaK3Na7dDMS3eMG.O4TvUOV31kjfqhqp0.pOH+7NyRfrd+tRQfSSAILIfS3V2VfifBX9bYtdH2zHeK+eMBN7u.RbvCnGFT7Stw6lwgAFesRX.5yFILvfMZX.5yM5EkanlCu+pgsijPFt2zdsRIh7KTiHO654SOKen9IziFGwczDcb2k5DdKwlbF1E00J9fQ0MBX3dljWhU6LOne61DXWZZ5N6f5RbbbwMoADdB3388yMTUKsjl1Cs37R8hNuO.Ec5a6pnS4+MF7VCPoxDtY8j1rEltzHJJltxo+8ux.c0thgdyoN8csXIaXmayBQv0V0Ni4c+BWnXWnZqdizE+zJtOTqIgY2Y7x6biQdgDpuok2vYhVTS1gcrvtfV0SeyO.jpn7QRQ4dZm.YIEsjHDjORrtM0uq99XOrO2lVXBip98S6np8l5QUaXy.Q3XeHAcOZ.j2Q4jGAWQUb6gY88RtcInD6hqdUA0SYe20HBXQUfMs7RbXv5DmzQDk6T+P4Jd7rjlXPabZDXCJK21odcnYen9hHmdAUBiAWTE7AV9NfewNQ.57ScTw3mZO+3FK9NuSO09auzSyOch6M7vBoijQSR2dt3JdCvtP6YBY7CfJMss56xhfl7p0QTOZuNTORBmdKLymb943DwRiUg1lwf4thg7gFsvtXq.rZgoCgwKs7ORV4aVrEEldawj7W+LMo3pyyGn++FkUl+1VYkY2MufB+eXzzFgCpF9FZw8doJB612e.9ckI51gXEbHtcTcpe3Oz6uWlCqkR6qBfG..ZB5fZgqCoOOAne+eyH40JCiFCv9AVPd.XVJ06kIJhBSE1B6zOYMzs6ynmOxqBKJoVyqWeVhhb9jA3qsvzqKKM9UItPuuASpZxLGLfZQ6ymV7HKHSEu2XXjFSndtMFBE87vt7mZH0b7GEPtNOeMWDLwdNhE+a3KDYA95TgHKDgDM8waEGW71bZi5rkFmQb1Bfyjy90kGuy90kUb1ec61evT4rQn+uyNQ8zGDVOsEFrxmEVwWBRWBKYZlVTZWkY291u4a9Wk2CbNw9FiUW8eT9DL6PfZ2PX5+w8+qk2y+BUXnk9U+yxmnLgq3rp5iwuDqDB.P+yku0Zku6ve1JgIc+nJHQlccNjqcPfu6ub3Re2dXWqD08NIwqBf9kFiYTgZPiP9rlTWK+QqZN+ahRUStzNWkt8zJBuaRvjeaRfEgD2dD32WCF56c.w8sbxfIaRfJN2d7f+TMXV7h5hd10+wuo82FNx2F7nqksO8qrk+TF7br2U.AzaOw+CCRqcDes9vePGMs7qjm+bojux1lOXxm.1mwSSwYflUmAZVaFnY8YflMlAZ1bFnYqIRC+Ya3sY1UF+C.ZVQ7aljJk7kqDWEP+GXvDLvI
              

              I think that perhaps what is going on is that when I change preset HISE updates all the modules with their new settings, but gets to the UI knobs and buttons etc slightly later, thereby allowing the clicks through because the script hasn't got to the point where it mutes the ShapeFX etc.

              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

                So to recreate the issue all I need to do is save a few presets with different shapeFX settings and switch between them?

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

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

                  Yes, but make some super whacky shapes and crank the gain up - you should at least see the meters move when you change presets even if you don't hear the clicks. There's a lot going on in my project that's hard to replicate in a simple snippet to get exactly the same behaviour...

                  Thanks for helping!

                  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

                    I'm not hearing or seeing an issue, the meters jump, but only up to the waveform generator, it doesn't pass through the the main container or HISE output because HISE auto mutes the instrument when you switch presets. I disabled all the scripting before I tried this btw because I didn't want it getting in the way.

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

                    orangeO DanHD 2 Replies Last reply Reply Quote 0
                    • orangeO
                      orange @d.healey
                      last edited by

                      @d-healey I think this is happening on the exported plugin, not in Hise.

                      develop Branch / XCode 13.1
                      macOS Monterey / M1 Max

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

                        @orange It happens in Hise too

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

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

                          @d-healey Ha, I thought that snippet might not do the sameas my project!

                          I think perhaps my script needs to be a lot more efficient in order to speed it up. Quite often when changing presets the panel and knob changes lag behing eachother when changing state. I need to get better at Arrays for sure.

                          Thanks for looking at it!

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

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

                            @DanH How many components do you have in your interface?

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

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

                              @ustk 60+ including tables, analysers etc etc..

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

                              d.healeyD ustkU 2 Replies Last reply Reply Quote 0
                              • d.healeyD
                                d.healey @DanH
                                last edited by

                                @DanH That's not a particularly large amount of components so probably not the cause, but it's easy to test - make a backup and delete components one at a time and see if the problem goes away. I would suspect your script is causing the issue since I couldn't recreate it with the script disabled.

                                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 @DanH
                                  last edited by

                                  @DanH You got some controls but nothing that should add lag to the interface... I got lag in the past with 700+ components. If something is not going as expected it's definitely about the code (or when a slider sets 10 modules at the same time for instance...)

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

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

                                    @ustk I've no doubt the code can be better - it's the first one I've ever made! There's a lot of repetition. I was hoping to group some things into arrays but not having much luck - Can you put components into arrays?

                                    For example I have a button which switches on/off several panels and modules. At the moment the callback is one long list of about 15 lines, for eg:

                                    analyser1.setBypassed(1- value);
                                    panel1.showControl(value);
                                    etc x 15
                                    

                                    Can I get the list of components / modules into two different arrays and do for example:

                                    allanalysers = [analyser1,2,3 etc];
                                    

                                    and then in the callback:

                                    allanalysers[i].setBypassed(1- value);
                                    

                                    ?

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

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

                                      @DanH

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

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

                                        @ustk checked this out recently but will go through it again!!

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

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

                                          @DanH Make sure your code follows these guidelines and it will go a long way to cleaning things up - https://github.com/davidhealey/hise_documentation/blob/master/scripting/scripting-in-hise/hise-script-coding-standards.md

                                          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 Thanks David, v useful :)

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

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

                                            39

                                            Online

                                            1.8k

                                            Users

                                            12.0k

                                            Topics

                                            104.4k

                                            Posts