HISE Logo Forum
    • Categories
    • Register
    • Login

    A Button that shows/hides knobs?

    Scheduled Pinned Locked Moved General Questions
    36 Posts 4 Posters 5.0k 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 @Dan Korneff
      last edited by

      @dustbro http://hise.audio/manual/VideoTutorials.php ;)

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

      resonantR Dan KorneffD 2 Replies Last reply Reply Quote 0
      • Christoph HartC
        Christoph Hart
        last edited by

        1. Use the radioGroupId property for mutually exclusive button groups.
        2. Check that the value of the callback is true before you do anything (the callback might get fired for all buttons with each click, but only the active one is 1).
        3. Use an array to store all elements in a page
        4. Use a dedicated function that you just call from your callback.

        Check out this example, which should do what you need in the most recommended way:

        HiseSnippet 1235.3ocsWssaaaDDcosoSDSUPBPerOrvOIA3pHJeoEnvnNVNNPH0NBUtFEnnHXE4JyshZWgcWZEUCCj+u9Izeh9GzNKuHRYKoXFWym3d4LyYNyr25JEdTkRHQVO67oioHquxt2TtNnc.gwQcNFY8b6SIJMUhS55noiIJE0GYYs9aMcXUYCT72+7iGQBIbOZdWHzEBlG8mXiX57dGe36XggmP7omyFUX16dXGOAusHTDA7Yc6lnwDugjKomQLSaMazUL5DExpo8NsZHG51+Oecia8MgdTiFCFLe+HuHojx0W.vQV1V+K7YY+FelVH6oIZJXy0OR3OsWfXBOw0WvTr9gTSCWTOfSIciZGvB86lIaJDxZit4h35Ih3WaeJymMq+bw7EwCfyQTTNsVadJswbTxcYT5DQnuw.KgdVEn2FIz6k187jrw57QLb6Y1c3Pdd.AxfEoUxbQqctscaALCttwHxP5IRnwLD01uYysw60rY8enpSUmW8JbOxUTrNfhgbpVJBUXFWKv5IBLQJISU3ABIlRTLn1hAlgnYBtAL.PowWQj3wPx2Ee.92xb7kTcawnwBNzn1VuiK56tU8sq5fu62xgzp7P1Yq5+dbfca10Z0ra2x6p8JOj8yXGH6l7Fnz3lXPcci0XSRvv0Nbe5GwPNPA0TXJC5OShEoQSUGFOjwo3AQbOS9HdtcggpMyB0q5bcBAAiWanwYwFoNNo2qyY+vFF3sSJ.xs.9fCvPgR7ztIY1KvfsJmAcm2fN2XDjaGMB9QQZsf6lYBuLkbaHkFFQyCNPKaGP8FBxGQGqgwS.yTfrpfB4.3uIvFYXHgf8HggTev9gSwSBnbrWHyaH0upSE1fZYlthwvyTTPBLd4OhTI3ichHNqLivPCZUmahytKt.HMf1pdCko+3vpMXs9vdm0tc7lr5bYpRqUqJKORbShjHEsPLXxNPtzjdtuQQqUGEslKJ.GdFTGGmGLLQgIXOpTSRqeZT0oHAq5THdOSnoumWqty0NUbt4NiLXvhFJ06gT4hF0bVlbEvpwiF0mJyTzz4A6IO+l9ad+1z2KQEKLQAuCmoe+XZZ67iEbWvwBnzz.b.wloDDlpN93gmmd7PuPlOUhXfQdhc7dsnXtW77cz8FbqGB3cdHf28g.duGB38W.3eoywDMwbvbZJ.RKigxVlI6acL8J3BSIGSWw9XpZnVLFY8zYKUf+m2oIKMhcZE6zU6nOl6xiObZwFSX95.ykf9DzLfxtLPaZ8MPKEbhcGdWIEVBZN3WR7Yh2JEQiyphJCIZsTRb9+WjXyOa85RnvmHKiBMSxu2aWDGk1V+Ef5wv76jX9gVeYl+Ie1UFEMus0eCvWgouJauHq0KiW1aNM5wxK6emjco7zcukLbWcgeTHQO+E3MO5Ic.X+84tor41vbESOs3ihJws5atva0uvsuumz8k1cYZufEy20V.eg8kdr4a5ajpZ+lACnd5bxtg8I+5W5ChJAU9YQjlwu7ThVxLElmEMpG7hSOJvDNmFpLkGqYVHkztoosQY5Q49Myd+X5ftl1VoC5lMHZDwSJ9P1Ke.Q8ow8.bhG+V1Jvipg13YmnZ38H3ogevyyHDeKv7EinUoQrSoQraoQrWoQreoQ7ckFw2uBDl2g+5HsXTxxBD5+r0WLdC
        
        Dan KorneffD 1 Reply Last reply Reply Quote 0
        • resonantR
          resonant @d.healey
          last edited by

          Dear @d-healey can you make an example, I really don't know what to do :)

          1 Reply Last reply Reply Quote 0
          • resonantR
            resonant @d.healey
            last edited by resonant

            How can we add a phaser modulation tempo sync assignment to this button? @d-healey @Christoph Hart

            Content.makeFrontInterface(600, 200);
            
            const var button = Content.getComponent("Button1");
            const var knob1 = Content.getComponent("Knob1");
            const var knob2 = Content.getComponent("Knob2");
            
            inline function onButton1Control(number, value)
            {
                    knob1.showControl(value);
                    knob2.showControl(1-value);    
            }
            
            button.setControlCallback(onButton1Control);
            
            1 Reply Last reply Reply Quote 0
            • Dan KorneffD
              Dan Korneff @Christoph Hart
              last edited by

              @christoph-hart total noob question... what do I do with your HiseSnippit? is it a link of some sort?

              Dan Korneff - Producer / Mixer / Audio Nerd

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

                Select everything (including the HiseSnippet part), copy it into the clipboard and choose File -> Replace with clipboard content.

                This is the recommended way to share little example patches in HISE as it contains scripts, control properties, modules etc (but no external resources like images or samples).

                Dan KorneffD resonantR 2 Replies Last reply Reply Quote 0
                • Dan KorneffD
                  Dan Korneff @Christoph Hart
                  last edited by

                  @christoph-hart :love-you_gesture_medium-light_skin_tone: :love-you_gesture_medium-light_skin_tone: :love-you_gesture_medium-light_skin_tone:

                  Dan Korneff - Producer / Mixer / Audio Nerd

                  1 Reply Last reply Reply Quote 0
                  • resonantR
                    resonant @Christoph Hart
                    last edited by resonant

                    @christoph-hart
                    @d-healey

                    My modulators' name is PHASERLFO. I've first used "Synth.getEffect" to predefine the modulator. After that, used "setAttribute" in "onButton1Control".but it says PHASERLFO was not found. What am I forgeting?

                    Content.makeFrontInterface(600, 400);
                    
                    const var button = Content.getComponent("Button1");
                    const var knob1 = Content.getComponent("Knob1");
                    const var knob2 = Content.getComponent("Knob2");
                    const var PhLfo = Synth.getEffect("PHASERLFO");
                    
                    
                    inline function onButton1Control(number, value)
                    {
                            PHASERLFO.setAttribute(PHASERLFO.TempoSync, value);
                            knob1.showControl(value);
                            knob2.showControl(1-value);    
                    }
                    
                    button.setControlCallback(onButton1Control);
                    
                    
                    d.healeyD 1 Reply Last reply Reply Quote 0
                    • d.healeyD
                      d.healey @resonant
                      last edited by d.healey

                      @remarkablex It needs the name of the variable not the ID of the effect. You've put PHASERLFO.setAttribute() instead of PhLfo.setAttribute()

                      Generally once you store a reference to something in a variable you only ever need to use the variable name from then on (not always true but mostly).

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

                      resonantR 1 Reply Last reply Reply Quote 0
                      • resonantR
                        resonant @d.healey
                        last edited by

                        @d-healey
                        Oh, I've pasted wrong line. But even we put "PHASERLFO" it doesn't work.

                        HiseSnippet 1169.3ocyW0saaaCElxNZswctXcqWtKDBv.bvZMjcyx9IXnNwItyH+YTmkUfcQGsDcLgkH0jnRpWQAF1d.106oXuC6gYWu2fsCEokjSTbr6V6FuHw7b32gemCO7bn5ExcHQQ7PjwcNYR.AY7tl8mvDiZOBSYnt6hLtq4g3HAIzRIZmIA3nHhKxvn7SjBLVcETx3Oe7NXOLygjIBgNkScHGP8ohLoAs1m540A6RNg5ma0azpqCm0l6wiA9T1zFEfcFiOibDVtrRlnyojKhPF1lOpY8vwMF7CaWWNFJ+yypOcz6II+aOoljEfbhCCILwo.bjgoweACCy8boBdXeAVP.atxNb2I8Gwufo15SoQzAdD4jFn9.mTh6v8bkNuTJp8HpmauogvHDXkdYAzxp.58MOj5RSkmEXeuDEVYHxGZMJMO503lomcQzyHG8VQQu6Y12IjFHxzH41cL6xfy7gX3zLOsTqEU5mKY1lCqfIp6iGS5DBSRQTaSa6GXsgs85aUsR0JvYZjv5bbn0fXgfyr9RqoXOiHZy8C3LXRs01IQci0jvx.MlwGz3ZwruTaAHZNWDMuDhde01826oGz4X.UR5uDydCGRb..oJWS4OUqPYdTFwZXLyQPAGhyzTWtigbuZrX+AjvG.11Klrd0JurZEK8H0Z0iHhsEhPJDUH0xDeBAnJPBmov2JCbh2VOBRCltSEtjlyrjFOTuHo5pUdkzCTmDRJnWUarm2.31VsK6KJeNmqdDWPNlUa8JurxpUd0UzLbXQpzFyiDVjVYYfv4.6RwS85fT3Yui7NK1cDGUZQtExYcYTwwAD874eIGoyqf6Sk0DD9kH41zc02lTwPDELxpl5.JJg84KNhtN388ntjvD32xL4P+eB3lE.9q6tKVfkkDzdC3gAjPAUFHM1kbNT1VUfXUycIQiE7fD2UeMBB1KfC+BYw1eB1sIxerE7iKnthQxI+HLYDgd1Hgb1Gp7mqy3EDNRL8WL0z+10aZ6kzzMUldeCso+8avzWshJTWm6F6gEyVrW1rTq.RtmopprxIKhJljuY5RzAvdgaPsnz8dl8nBmQEy2REvWHS5MMe08SqZpJLmQ1UL67r2xMOu0z6F8FgiHv1K4QE0LqKwlNgjuOlvblzHKbMoUpzlYR+0VcHDWYYXsrua3v+3wGRewL4Ekm04JuXN2h8ZfBSFdese8FJ6807HnphwllPSS8aVRahdy7KM7mI71sjOIsa1KZa8Ks9F74jg7Pe8wcJ7CHmAwn7RRaam+NQeeNWLhxNa1G5d+VGv4A6wvPDvMuQZGGI39S2TjwGY1bi5yNN+X4yZ+X4O+71IyQ8Ejfjp4Feq4lWd8+aMtx86W+7tRKXd2GHOZsRO9j4e+Ourohwo4V+Wx3mxiEPh2gX3ElxNZGE62G9tJGBvVFi3EI6fUR1aTM2VNOImkvbsm9URZkMjyMzJaLU4ak8vG6Dxeti5sNxrmamHA7aVxWEtJ74ovbqzWHIiM9vGV8bGGYqgGBQmhQzboQ7nkFwFKMhOYoQr4Ri3SWZDe1bPH+J1sig5VpVCHzeCf01RwA
                        
                        d.healeyD 1 Reply Last reply Reply Quote 0
                        • d.healeyD
                          d.healey @resonant
                          last edited by

                          @remarkablex Well the error message says PHASERLFO not found this should be a hint. The thing you have called PHASERLFO is a modulator not an effect, the effect is called Phase FX. If you want PHASERLFO you need to use Synth.getModulator(). After you've done this you'll get another error, but I'm sure you'll be able to solve it ;)

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

                          resonantR 1 Reply Last reply Reply Quote 0
                          • resonantR
                            resonant @d.healey
                            last edited by resonant

                            @d-healey @christoph-hart
                            Thank you, it gives unknown function showControl. It's strange showControl was working before but now, when we add Synth.getModulator() it didn't work. I didn't managed to solve this....

                            HiseSnippet 1188.3ocyW80aaaCDmxNZoQctXcqOtGDBv.bPaMrcyx9SvPchc7lQbRLpyxF1dniVh1lvRjZRTI0qn.C8KvddeJ12g8gYOuuAaGknkjcUbr6V6Fevv2c7G4u63w6n54ysHAAbej1sOepGAo8t58mxDiaNFSYnNsPZ2Q+Dbff3aFq5vod3f.hMRSq3WJUns0Fnnwe93CwNXlEIUEBcAmZQ5RcohTsdMNl53zFaSNm5lY161niEm0j6vCA9TTuJxCaMAOhbJVNsB5nKojqBPZU0eT8J9SpM3mNnhbzrxrQ2Ve2nccvSt5htQx92GFmgrB88ILwE.bjlt1eACM8iroBteeAVPf0biC41S6OleEKdqufFPG3PjB0P8ANEqtM2wV57RsnlioN18lEBCPvpzKMfVLNfdO8Sn1zD8oA12KxfYJhrgVsBKid0tY5UMO5okgdaDSu6p22xm5IRsH41s06vfy7gX3zLKshmKpvKKn2jCyfIp3hmPZ6CBIHJuW0pOvb2pU2Y+RFkLfyz.g4kXeyAgBAmY9ElyvNhHZxc83LPn71GFYt11RXoflv3CpcsXNVZMGD0WJh5Kfn2WcP+idR21mAnhR+kXNgaG5fgyfxamXe6XWpjAk4PYDyggLKAE7INSwd4l5ycJyBcGP7e.r7NgjcJY77RFlpQxpUIfHNPH7oPfgTNU84Dfs.OrlAe+TvQNbk.HSX1Nk6TpO2Tp8P0jjlKY7BoGDeXHofZVMwNNCfKbkWzW1Y+Lt4obA4LV4cLdtwVFuvXQKCGlmI0B4P7yyprJf+RfsPrTMOHCd9qHuypcEwJNqHyD4rNLp3LOhRd42wQpzJ35TQEAg+IhtLcG0ko33GhBKxV5pfIJh8YqMhtN38cn1D+H3apGcf+OAb8b.+0cZgEXYEAk2.dnGwWPkARsVjKgp1w0G1RuEIXhf6E4tpaQPvdEb3mIq09RX2lJ+y9vethZKFKE9YPXLgNZrPJ8gw9Sxhu4MFNhV5Oe1R+aW+RCkAgtFpDAshnq2ExItEsKGqo1kee46B5UqsBU3mUCIaYeYaSkAHOet5qxZnr.pXZ11pqQufpqbqpUkt2UuGUXMNe9VHG9BIUuo4qpyZI8iFNjXIRI6F5s+12xsQ2b10jdiwADX6k7vHVxbA1z1m7igDl0zZogqoMRzVOU6u1nMgXKqFqz8CCG9GO9D5ylKun37NWwUy4Vs2Ejaxv6q7q2PYuulGAkhYrtNz6T85kjdo2L+RB+oJuUC4iS6j911F+RiuAeIYH22Ucbm.uKYDDixpIo6c16D8c4bwXJaz7O48dM5x4dGwvPDvN6hzLLPvcmsoHsORu9tUleb4YvOCuu7ueVyHYTeAwKpvt12qu2hy+eqwqb+90OuqvJl28AxiVyjiOY92+yKaFy3jbq+KY7S3gBHw6DL7PSYGsSCc6CegkEAXKiQbBjcvJH6.GKWUJGkyRX1Um88RJi0jxZJi0lY7sxd3hs74O0J9YOxrmaEoA7aVz2GtE7gpfrYxikjwFW3Srdpkkr0vCgnS9Hpu1HdzZiX20FwGu1H1asQ7IqMhOcIHjeO6AgPcq3VCHzei2rckk
                            
                            d.healeyD 1 Reply Last reply Reply Quote 0
                            • d.healeyD
                              d.healey @resonant
                              last edited by d.healey

                              @remarkablex It's an easy one but I'll give you the answer, check your spelling, don't mix uppercase and lowercase variations. If you call your variable knob1 don't try and use Knob1.showControl().

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

                              resonantR 1 Reply Last reply Reply Quote 0
                              • resonantR
                                resonant @d.healey
                                last edited by resonant

                                @d-healey Thank you brother, as I say, I'm a beginner to coding. It's so hard to be a beginner sometimes :)
                                Thank you for your help...

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

                                  @d-healey that's how I got up to this point :)
                                  Your teaching skills are much appreciated!

                                  Dan Korneff - Producer / Mixer / Audio Nerd

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

                                  31

                                  Online

                                  1.7k

                                  Users

                                  11.8k

                                  Topics

                                  102.7k

                                  Posts