HISE Logo Forum
    • Categories
    • Register
    • Login

    Drum machine Structure.

    Scheduled Pinned Locked Moved General Questions
    20 Posts 3 Posters 495 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.
    • lalalandsynthL
      lalalandsynth @d.healey
      last edited by lalalandsynth

      @d-healey

      1. Bit confused here , all of my controls are in the onInit script so not only triggered when plugin loaded, that is , the controls run in realtime ?
        Wouldnt I script this triggering of the sample there and if not , where ?

      https://lalalandaudio.com/

      https://lalalandsynth.com/

      https://www.facebook.com/lalalandsynth

      https://www.facebook.com/lalalandsynth

      LindonL d.healeyD 2 Replies Last reply Reply Quote 0
      • LindonL
        Lindon @lalalandsynth
        last edited by Lindon

        @lalalandsynth said in Drum machine Structure.:

        @d-healey

        1. Bit confused here , all of my controls are in the onInit script so not only triggered when plugin loaded, that is , the controls run in realtime ?
          Wouldnt I script this triggering of the sample there and if not , where ?

        Your on init may well contain an onPad01 callback (or whatever you call the pad) - this is where you'd have your play note code - but only

        if (pad01) // pad pressed...
        {

        // do your stuff here

        }

        HISE Development for hire.
        www.channelrobot.com

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

          @lalalandsynth

          all of my controls are in the onInit script

          on init is a callback function, like on note on or on timer. When the function is triggered the code within the function is processed. The on init callback is the default callback, so any code that isn't inside one of the other callbacks is inside on init.

          When you write a function to trigger the action of one of your buttons you are writing a new callback function. onMyButtonControl(component, value) is a callback function. This isn't inside on init or on note on.

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

          lalalandsynthL 1 Reply Last reply Reply Quote 1
          • lalalandsynthL
            lalalandsynth
            last edited by

            Thanks ,turns out this was very simple...so far :)

            https://lalalandaudio.com/

            https://lalalandsynth.com/

            https://www.facebook.com/lalalandsynth

            https://www.facebook.com/lalalandsynth

            1 Reply Last reply Reply Quote 0
            • lalalandsynthL
              lalalandsynth @d.healey
              last edited by lalalandsynth

              @d-healey Probably a language/terminology issue for me but I dont really understand.

              Anything that is in the onInit Script is triggered on load , so if I made a button that triggers a note within the onInit script, it would trigger the button on load. Not sure how to implement an if statement that would only play it when button on , not off and not also on compile.

              Bit defeated at the moment , lol !

              Oh, i figured it out !

              https://lalalandaudio.com/

              https://lalalandsynth.com/

              https://www.facebook.com/lalalandsynth

              https://www.facebook.com/lalalandsynth

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

                @lalalandsynth

                There is no on init script. Within your script you have callbacks, on init is one of the callbacks. If you've ever scripted in Kontakt you actually have to write out on init and end on to define the callback, but in HISE it's default so there is no need to write it.

                All code that is not inside another callback is inside the on init callback and will be triggered on load. Buttons (and any other controls) are not triggered by the on init callback.

                After all of the code in the on init callback has been executed HISE then triggers all of the on control callbacks, but only for controls that have Save In Preset enabled.

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

                lalalandsynthL 1 Reply Last reply Reply Quote 1
                • lalalandsynthL
                  lalalandsynth @d.healey
                  last edited by

                  @d-healey said in Drum machine Structure.:

                  he code in the on init callback has been executed HISE then triggers all of the on control callbacks, but only for controls that have Save In

                  Ah, now I understand , thanks so much , so the reason the button was triggering is because it was saved in preset.

                  https://lalalandaudio.com/

                  https://lalalandsynth.com/

                  https://www.facebook.com/lalalandsynth

                  https://www.facebook.com/lalalandsynth

                  1 Reply Last reply Reply Quote 1
                  • lalalandsynthL
                    lalalandsynth @Lindon
                    last edited by

                    @Lindon said in Drum machine Structure.:

                    @lalalandsynth said in Drum machine Structure.:

                    @d-healey

                    1. Bit confused here , all of my controls are in the onInit script so not only triggered when plugin loaded, that is , the controls run in realtime ?
                      Wouldnt I script this triggering of the sample there and if not , where ?

                    Your on init may well contain an onPad01 callback (or whatever you call the pad) - this is where you'd have your play note code - but only

                    if (pad01) // pad pressed...
                    {

                    // do your stuff here

                    }

                    This presents an issue when using one shots , it will not play the full sample.

                    https://lalalandaudio.com/

                    https://lalalandsynth.com/

                    https://www.facebook.com/lalalandsynth

                    https://www.facebook.com/lalalandsynth

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

                      3b331a18-42c3-475e-931c-4c050e2c8ca7-image.png

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

                      lalalandsynthL 1 Reply Last reply Reply Quote 0
                      • lalalandsynthL
                        lalalandsynth @d.healey
                        last edited by lalalandsynth

                        @d-healey I meant when it is set to One shot and using this method it will not play the whole sample.
                        And if I remove the else , it just plays the note forever.

                        //kick Trigger
                         inline function onkickBtnControl(component, value)
                        {
                            if (value)
                        	Synth.playNote(36, 100);
                        	else
                        	    Engine.allNotesOff();
                        };
                        

                        https://lalalandaudio.com/

                        https://lalalandsynth.com/

                        https://www.facebook.com/lalalandsynth

                        https://www.facebook.com/lalalandsynth

                        LindonL 1 Reply Last reply Reply Quote 0
                        • lalalandsynthL
                          lalalandsynth
                          last edited by

                          Found this that solves the one Shot issue , although I am not entirely sure how .
                          Just putting it here if anyone needs it.

                          HiseSnippet 1672.3oc4X0uaaaCDWJIZq1qoXcn+w9mAPTLf4.jl5ORZKZ2PcyWEFqt0HNsX.EEsLRT1bQhTPjJodCEXuE60XOB6QpuAaGIkrncbbRyV+.aFH.gG4w6286Nx6n5kx8IBAO0wsx9iRHNtW1q+Hlb3VCwTlSmsA4damlEe.+0NaNJAKDj.GW2EenZZ2JK4n+816uINBy7IkhbbdFm5SdDMlJKk9p1+HMJZWb.YeZr0pWucGeNaKdDOCfxhd0cRv9GhGPdLVsrE7bb+rcBnRdZeIVRDNtKsIOXT+g7iYl0+LpfdPDQMngSeXiLh2kGEnPrRpyVCoQA8JbYgiiqWuRBXQCAbMutz.5X4kDwWpm.UpgMe3tv7fWCa3U+7COWK3sjAdW0queJMQVNiBaegWGljjFhgPfMrLq0Yge+RdawgUvjqEiOjraJLXrF0tU85qh1nd8Ut2xUWt5MuIpO3IDjbHAQNBzAQCP7P83ADFIEbw.DiKInPdpVrd.ms1xUgvnPhNBmZTsSf.8CnmeiFqhL+8hBa7TAAgQgznXgD.IRxQhCoLX6nBzAYRImYuaapkz.1rBGY.QtEONgyfA0td97WW4Cvt2E7RDUhh4wvz3zQHAG1ZL3KgnQ7LTJIhfEFmLlmIHqpV9wP1IRPXA.zL9TXHJF3YHUb4p41XMAALHUzsXuu9pHYZFYJSy3rajPRETgBtk1GrBm8cRfJAg3i.pD75jTBrqBDFLsONJBjxYvDTIEGQEXIUQGS..ktcX8zJBHHDGIHlH3EmeadF7aSM+l++yiGlXImNRm19sNC62xx9sNa62Zd1OLi4qnUfneLDpeBq1JU+0kqhfe.8suhlTmUD5TDCggFvQAvY5hjnjH7Hfj61Y6N5zEi1hioR+g05ZRaT9gZ+eLbIJIs1JqXVTtkT+7U4gqem6hrBuOCGkQpY7FzAoD7g2aJE1ndgBMOmJzrPgVmhB50+lpuo5zTSX3mdbSdT7cfbluFyhclTiYQOpj0TNbdMUwPUq.yhrlVUka1yjqXMl10WENC.FTsPKVxLGPJU.8Gizbl3tf3JVLk5GMrlYeTQIy5z2rHlbY4gwdlHzVqqu0Qbx67m718vvStKE2w+75u.N4p6bXMUfWETqs9cVE0n4sW4dSpGA3zYhmmJlx9vUVGptPdLFNdHgchauKtKa5czfFlI+cyQ6XfZMKHairI02JfqC5Jt1h7aNexerIZLCVYi5mJqb9vciWLstmAZaUf1JUNEb1bV3r4+Pb17zvYkJJD9F0IBnslI6ax6z6axtsNeSMBqExYcfhkOIgvNstobxKr.+2S6rMVhUMXkKCVGTpVRUPvcaxQPmql1sfteIhCk7DXWGWMxw8RR8rWIuYLCO6PCTJje9z40iau8250dz3AsIsOlFHGZ2T7PBcvPq1j+91VU0.Rw0EDZWESISux2IL0zBSne1BSnOdXpkElZejElb9WESmrQZncddPVDVNYO9pG1jOAbQ8DMSqZXlInxQ1O748Ri+mW3dUudpBEyFuKLC7Bo7uuwa9ynV1amvPhurDrK4s6O89+MS1P4aLP4q75KgadhorA8wwIPs57G1VL5C5CagDyHNNnO8WrV1e1dyLftRmT5ezVapG.uOgMgsxA9djDBVBQ+Rcd0gs2auGlxyRlVq2dectx9ovCqAlvdhmvH.sKs8wsR4BQH3N58RXOUurzAJtpTxdvc9ohIkAszAgdFCpWTbvDpuqB0T+tX3EIu1d0ZqTeerNbCu1WOtwTiaN03VSMd8oFuwTiu0Tiuc4XCg1EmnRLTesgoJK84muxRvFzCCtr0J2jNX7lajTl+Vujl0Pw5yYLiOFvm8I82p3C2MrKd9f6Y74TpTfw9TUzYG1QvwRPh4Z0sIg3rH4Xo1frKmwSFxYT+IOC.4zCFPRsg9L8mGHkvQvRIWq8dltYKE8sseDkQvoSbz9ciJZb9oh4Et9ZOCbQpq0P+2nv3h+uuv37ntqjWVDAVOU9Idb9xd5axQpBuerf5d7LITPsnnlGT4qOTs2mXW+aAUMUy35EMk1mvBzC9K3W9jMJJVplrQwjN9EaE3a4+u9ELtKRXpJG598hfxvQ1ozBnmBEjfBZePPYL1Ok+ReyW1Pg0Kok.njo+L9U75pFiZ3ne.JnmW80p6DCkpdouu5fvM.Fd15z7BnSqKfNqeAzYiKfN25Bnysu.5bm4pipKgGjI4wlKIAA81wjX4ty3DqEc9a.NAoDv.
                          

                          https://lalalandaudio.com/

                          https://lalalandsynth.com/

                          https://www.facebook.com/lalalandsynth

                          https://www.facebook.com/lalalandsynth

                          1 Reply Last reply Reply Quote 0
                          • LindonL
                            Lindon @lalalandsynth
                            last edited by

                            @lalalandsynth said in Drum machine Structure.:

                            @d-healey I meant when it is set to One shot and using this method it will not play the whole sample.
                            And if I remove the else , it just plays the note forever.

                            //kick Trigger
                             inline function onkickBtnControl(component, value)
                            {
                                if (value)
                            	Synth.playNote(36, 100);
                            	else
                            	    Engine.allNotesOff();
                            };
                            

                            you dont need the else...

                            HISE Development for hire.
                            www.channelrobot.com

                            lalalandsynthL 1 Reply Last reply Reply Quote 0
                            • lalalandsynthL
                              lalalandsynth @Lindon
                              last edited by

                              @Lindon If I dont use the else it just holds the note forever.

                              https://lalalandaudio.com/

                              https://lalalandsynth.com/

                              https://www.facebook.com/lalalandsynth

                              https://www.facebook.com/lalalandsynth

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

                                @lalalandsynth

                                If I dont use the else it just holds the note forever.

                                That's what one shot is.

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

                                lalalandsynthL 1 Reply Last reply Reply Quote 0
                                • lalalandsynthL
                                  lalalandsynth @d.healey
                                  last edited by

                                  @d-healey I mean if I replace it with a sine , it will hold the sine forever.
                                  If I play the keyboard in one shot mode , it just plays the sample to its end.
                                  If I play with the button it holds the note forever, not the same thing?

                                  https://lalalandaudio.com/

                                  https://lalalandsynth.com/

                                  https://www.facebook.com/lalalandsynth

                                  https://www.facebook.com/lalalandsynth

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

                                    @lalalandsynth

                                    I mean if I replace it with a sine , it will hold the sine forever.

                                    Replace what with a sine?

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

                                    1 Reply Last reply Reply Quote 0
                                    • lalalandsynthL
                                      lalalandsynth
                                      last edited by

                                      If i place a sine generator and bypass the sampler the note is held forever using the button without the else.

                                      So therefore I assume that the voice is being held in the sampler as well , maybe not ?

                                      https://lalalandaudio.com/

                                      https://lalalandsynth.com/

                                      https://www.facebook.com/lalalandsynth

                                      https://www.facebook.com/lalalandsynth

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

                                        @lalalandsynth A sine wave generator never has an end, a sample does. So you will get different results, unless the sample loops.

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

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

                                        48

                                        Online

                                        1.7k

                                        Users

                                        11.7k

                                        Topics

                                        101.8k

                                        Posts