HISE Logo Forum
    • Categories
    • Register
    • Login

    Rendering a "sequence" in the DAW not working

    Scheduled Pinned Locked Moved Bug Reports
    39 Posts 3 Posters 1.6k 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.
    • LindonL
      Lindon @Lindon
      last edited by Lindon

      Ok so more testing in this one , and clearly I dont understand timers AT ALL...or they are broken badly...

      heres a simple snippet that waits for MIDI note 60 then uses a timer to play a quarter note evey 1/2 bar until the MIDI note 60 off...- this works fine in HISE, but as soon as I compile it and run it in Reaper it fails (it just plays the held note...)

      HiseSnippet 1110.3oc2W89aaSDF9bSMBmwPLzDhOZj.oTotn3xnfDZZsMMYJhklPc1fuMc090IG09Ny4yAhP4+Q9SY+G.u24jZ6RVUHhgXjOT468G2879bu2yccrTD.YYBIwxYxhTfX8A19K3pYcmQYbxfyIV22dBKAjSfLUmiHmsHklkAgDKqFOSGhky9DyuW+zynwTd.TZhPdofE.OmkvTkVGex2whi6SCA8DWZ+wmLHPv6JhE4HbZX2gjRCtlNEtfpCaOah060KjoDReEUAYDq8OSDtvel3W3Ew+RVF6pXPOvi3iSTg49h3PMh0VIcmwhCGutryHDK6wkjPiBR3g1CYgrarWRFejwgaYFU4Cq8pCuF0fmWU30oB71.jrp.o8KfzCr8CjrTUoGMdtm8.tBjQTj1qBkhXI68EMr6JvH3p1Izqg9RbvMYz53NcNzE+yAeaylyoR2jEWHTvfyceh6i7Pa31QlxsvyXPxDgnmd7oLNzdJnFhaiLe.iJLquP984TINymATUVKuCtU9llnxzCjXXlF.4nq9IHP0RmvpvZmAJyGcowwWgMAshx4AJlf25feqoSSmzX5hgFvpSyo4RcxqiwspWLbVTqxBSWYGzzAM6ToZMs7s04Yx53NG5cjlUbVBwYfN3hH3n2QQQmsn2bjRGDdyDqi04VzmyRGMztAVBt18HrFZhy3PbSD6saylxERvLesTxbPWIZHu1Oxy5ztHO4JP15.cEbbmUUvsnAmanOEtSX9r05MNieDRMW1z81HJJp.Ra4pVagDoEqiY9YQtkT8m8DCSaRYqnukajCqQf5dYoHNVufZDeqpYET1fmUI1haJnCwdxXjpWGHdHq9IW627I2pBKAEGspDnfOfyTiRA9aRtgr57H90KFbNUQ0G2WYCiKEjJlFBVmCyQsyhC+N1mCYWijMpd9WTFPMIQXdLUUWnRqNuxAxA0TGzJ.7LlZQU06+wTu1VH9.6wLUvrMiw81.FQl5sAFWo4ee6dQQnPTI.22t+O91Qfu5x+gEK+8r8QcQy4Dyh+Ilwt+.cN39LfCRM44cG2+96a68uoa88uiBT3xOQR4YohrZSrOjvlH3ZVnz3KxvaXfe9R8tYU6cET4Fc85m1GKxMliOUkKMsEmlHx4pZsAMtq2A3siuCX++y8Nf2ANrW6oJNqwnOKIMF5wmCwnhlAieLJgEQyiUqsVuWdnfKRmI3rfpazWBJIa5TPVE6arfNUov2ITZ4gmbIDCzpMse9IOGa1nRjmfcjK79a+rsMte8o1Ev0Ue.z8cWQ5F++Vj9RQthwmNjhMg+J9n.70P9n1X.fqNmiuLDsYsmVeqXbG83BwQdnYvef+V4zSO1ZkSu0N+WYMRnARwqBJdBjtO88MVv5la9OqbrGpG65QLOKByytS6NjDTg6UAAZJ9Qnf4ly4ncHmubGx4w6PNe0Njyw6PNe8Njy2bm4nub4zbkHo3HGZXbOyaEsr5woX2qoSm7mfWyiji
      

      Can anyone else test this is the behaviour they are seeing(hearing) too?

      And any pointers about timers would be a great help...

      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 I get the same thing. I didn't bother testing as a plugin, I just built a standalone and the note plays continuously. I'll see if I can find a solution.

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

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

          @Lindon I solved it. You're only getting the period in on init but you need to get it in on note. I'm not 100% sure why this is but I can see it would be good practice to get the tempo at the time you need it as it might change after the plugin has initialised.

          function onNoteOn()
          {
          	local myPeriod = Engine.getMilliSecondsForQuarterBeats(1);
          
          	Message.ignoreEvent(true);
          
          	if (Message.getNoteNumber() == 60)
          	{
          		playMyNote();
          		myTimer.startTimer(myPeriod);
          	}
          }
          

          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 thankd - slightly odd though - why would setting the time period have any effect on the playback?

            HISE Development for hire.
            www.channelrobot.com

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

              @Lindon

              All will be revealed.

              const myPeriod = Engine.getMilliSecondsForQuarterBeats(1);
              
              Engine.showMessageBox("time", myPeriod, 0);
              

              Basically the timer never runs.

              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 Lindon

                @d-healey sadly it still never runs in the compiled VST3... no matter where Im setting the timer....so its still broken.

                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 I shall investigate

                  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

                    so:

                    function onNoteOn()
                    {
                    	Message.ignoreEvent(true);
                    	local myP= Engine.getMilliSecondsForQuarterBeats(1);
                    	
                    	
                    	if(Message.getNoteNumber() == 60)
                    	{
                    		playMyNote();
                    		Engine.showMessageBox("time", myP, 0);
                    		myTimer.startTimer(myP);
                    		
                    	}
                    }
                    

                    gives this output:

                    067cfafe-adde-4639-a17a-e86fdeeeae52-image.png

                    HISE Development for hire.
                    www.channelrobot.com

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

                      It's working here. I added a visual indicator so we can see that the timer is running.

                      HiseSnippet 1250.3oc2W80aaaCDmJNZnxcYXcnXXOpUrGjARMrx5xVPwPchicgwpS7hS61SqfQh1lKTjpTzoynH.6q2daeT52fsijRVxYNAYFqCqynnP73c79c+g+3kgRQDIKSHQNdmNOkfb9P2Qy4poclhobT+CQNa4dJMgHOkjoZsC5f4o3rLRLxwo1S0p33sIx76sO4.LCyiHkhPnWHnQjmQSnpRoCa+cTFqGNlnO3R4Opc+HAuifIlAvolaKTJN5b7DxQXsZa3hb9ftwTkPNRgUjLjylGHhmOZp30bq9uflQOiQzKBQifCxJtmfEqQrVJpyTJKdXQXmgPNtCKSB0rIg66NfFSWHuLY7wlM7KsnZ9vYikgWskfWXU30pB7VAjbp.oMsP5dtihjzTU4NZ7bW29bEQNFCo8pPwpKZieqlaGAnAW0LAeNomDVrvhfca0Zae3+Z7350kjI9IyORnH8Oz+a8e3d6ABg5QlBDa5..oc4SnbRyHIAhPiviO6mIQp.8IjqVyLhx7QGLicFTACFOiGonBdPi5uwqtWJCOefwSZy7Fh4DVXSIIERxlS5R8oQ4LvU9E15W0JywPG6GTBXChaT26M087pDFld4lZaMVtKDug6niWuKq6QXYDqEV03fJGOd7Ay6dAjv5Gu33056c0jCbBWVjgt.K8swAraQBeBQ0QjjJ3vhfGX29A5PKOhg7zPcHehXlBB0xzzDH.q6Mo4X3Zx9LVv.L.NIlGCUtfvV1ea6uW9WsZXyYKRUBtFoGax208XhHLCpgCIRpHtrHBva.3.5HBDCwY8DxueFVBsFG.E2rfPMR8F.sZvMvlzIbgjXxKAJ4LhYScEnPA3zzN8nYImQjAMzEjcakWOtRA2aQihB7m4yfB303wdd1Lq+UCmwiswysxq5SoheDoV2XbO7uk5c97hdmaSev0zHTAr5xuTvXZ2ow6UhkbfrhcxMLfahlsglJFjnKTDHBVlcw85YWpR9EY6Fqnnf2mSUGmR3WGkHJuEF9548ODqvZJobYfdoDohpgfygjK.9cKAkm6gjrygTsQ279dfxVY1cqB5KcuOhBjT2w0dO.8KkOAD2dd0EulFqltPvu9p1SIzISq7TxO0F8WYJANZQ7LFVsLws90p7Mf78RrkZFQdFUMu5qY+iwleag38bGRUQSWMF2XEXDpJuKvX9afa41c7XfauDfa516Ge27fWU2+QV2eW2Q.Kk4Bow4epYs+Ofuf3+TBmH0IuvaXdje+1NOR5sddjiiTf6OEnhyREYKcviHIzSgV9rpBedF7hK4UmnqlUk2Qfkqbq29jdPPtRaFgUyjl1h8SDy3pkZCpcSyEEtlyEs4+4lK58fK6KM5lWAFGQSRYjt7KHLf8zfwOAnKGimwTERWtWdffKRmJ3znpE5SHJIcxDhrJ1WY.suRAidUJ49sOgvH3pMseQ6mAMaXIjmHqYtH7u8Xrqrd8YtV35qu.5+9KIcs+eSRaGTcBLNpjBOZ6BicMB3FiHf24vS45gRb1PyuYW2Ru1RNxiMK9C3W9lg50N4aFVr4+J9HAGIEuLxNtktO8NFIPbyM+kldtCzq8CQlQv.6ba0rEJAX3dYTjNE+Pfvb01ryZXyWtF17n0vluZMrY20vludMr4atQazOtr+LkHwdkCDLrqYtTGmtbLz8Z5zQ+IXoWQx.
                      

                      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 Lindon

                        thanks and so now we get to the ACTUAL problem....

                        Load this into a track in reaper, and render the track....this is what you get:

                        28d661e2-516b-4bb9-96e4-290f07dbafdc-image.png

                        So the timer DOES NOT WORK in off-line renders....and this is very very bad because some DAWs(I'm looking at you Logic) are really bad at real-time rendering... and some (I'm looking at you Reaper) do not offer out-of-the-box real-time rendering for tracks....

                        Can you please go confirm this is correct...(that this is what is happening for you too..)

                        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 I get the same result with offline render. Realtime render works as expected though.

                          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 Lindon

                            @d-healey thanks -- so yes, same as my results - so this is a BIG problem...

                            @Christoph-Hart !!!!!!

                            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

                              so this is a BIG problem...

                              Yes I think so too. I also tested using a fixed interval of 500ms and the result is the same, so it's not related specifically to the tempo functions but is a problem with the timer in an offline render.

                              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 yeah this all started with a plugin I wrote that uses fixed time rendering -in truth there's more than one of them, and they are ALL failing in this way...

                                HISE Development for hire.
                                www.channelrobot.com

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

                                  @d-healey -- I'd imagine this breaks your legato scripting badly....

                                  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 said in Rendering a "sequence" in the DAW not working:

                                    @d-healey -- I'd imagine this breaks your legato scripting badly....

                                    I am testing that right now :) Actually I think the legato will be ok because I'm using the built in fade functions, but the portamento/glide is controlled with timers. I'm also going to double check older versions of my plugins to see if it used to work. If so there is hope :D

                                    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 Lindon

                                      @d-healey fingers crossed here!! -- I'm hopeful, as I seem to recall it working fine at one point...

                                      HISE Development for hire.
                                      www.channelrobot.com

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

                                        @Lindon The mystery deepens. My glide script works.

                                        I can think of two reasons why this might be.

                                        1. I'm using the synth on timer callback rather than a timer object.
                                        2. The glide script is not part of the main interface script.

                                        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 said in Rendering a "sequence" in the DAW not working:

                                          @Lindon The mystery deepens. My glide script works.

                                          I can think of two reasons why this might be.

                                          1. I'm using the synth on timer callback rather than a timer object.
                                          2. The glide script is not part of the main interface script.

                                          What Synth.onTimer!!!!

                                          HISE Development for hire.
                                          www.channelrobot.com

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

                                            Using the synth timer the offline render works. And now I think about it I seem to recall that timer object callbacks are always deferred (I'll see if I can find a reference for that).

                                            HiseSnippet 1220.3oc2W01aaaCDlJNZnxcYXcnXXeTqXePFH0UJqMaAAC0IN1EFqNwKNsceZErRmsIhDoJEU5LJBv9IteJ8ev1QJYa4LmhLi0g0YDDXd7NdO2K7gmGHEgPVlPRrbNaZJPr9T6gS4pIsmPYbRuiHVaYeFKAjmAYJ+cHGNMklkAQDKqZOQqhkylDym283CowTdHrPDg7bAKDdJKgoVHcPqejEG2kFA5Cdg7G1pWnf2VDKxQ3Ty1mjRCOmNFNlpUaCah0mzIhoDxgJpBxHVadnHZ5vIh2vKz+4rL1qhA8h.xP7fJD2UDGoQrVJo8DVbzfYgcFgXYOXQRnVQR3t18YQr4xWjL9byFtKrnZ9vZikgWskfWPU34WAdq.RVUfzlEP5N1CCkrT0hcz341183JPNhho8pPoPWxFo0raKPM3plIzygtRbwbK7102eaW7eM1udcIL1MY5wBEz6H2ev896sGJjwiYbvcTNOTwDb2zX5z9Fk7ZT+sN0cXib8VXkwrF0cdacGmJmkogpo1Vik6hNMXGsSctrtCDmAEVTnFGU4jQiNbZmKPT2KZ9wq024pHDOgKqWGaaxTtWPktCnbHN.2cVTOFTsEIoBNtv6dEaeOc7V70lYfZ.VbUmJxUXn5MKT8FiAXcmwMGg8pGDG60mhfSR4QX5yKvu3y1t6U9M+F3gdYi8mmpDbMROg6YNmXQHMFyuC.ISDg3yu4i1+AOnCeL5TMH6itgMDvHIJqqP9S4TIVkNDnpLu.Mdc5iUc7xPS1XtPBlrimRlClM00gYJfml10Gmm7JP50PWV10urpTs.t+7bdlB8l4Vt2LH1XeGmhrq6UCoQiJhoajO0mxbuHRKbhw03eK0870y5dtIcBWSqPEnpa.jh3Xs6zn8JQRIPz6bkbRYigDR08EZQKaY4A6wMw51XaWLVDl4B795xj.1WOIPUNpvh90JJJ383L0Io.+5XtHkM432dVuinJpl4nTFpWJHULMDrNBt.ogK3QbrOBxNGKEFcKuYfLqJytaMikQmDHLjK4V1EIDxutfoNp0zpKdCKRMYtfe60sl.rwSpv3+KsH+UBMjJUDkGSUKyupeTobCLeuDoll3hmwTSq9ny+Xjt2THdG6ALU3jUiwMVAFwpxGBLV9T0V1cFMBBUK.3l1c+4OLuKU08eVg6us8PjAybg037uzr18EzK.2m.bPpSdAumwF98a5XCo23wFNITgt+LjrNKUjszAODRXmgs7YUE9rL7gQ30mpqlUk2VPkqbq283tXPtRaFRU4RSawAIhbtZo1fZuuwWBVywW17+biu7Qvk8klvxYFFGxRRigN7KfXj8zfwu.oKGQyiUyjtbubeAWjNQvYgUKzmBJIa7XPVE6qLfNPovYbWH4tsNEhAZ0l1uo0SwlMpDySvZlKB9aOs4JqWekcAbc0W.c+3kjt1+uIoKFkcLNvpjgOZaiCkMD4FCAz6b7ob8PIVan42JV6qWWPNxiLK9C7S4lA50VkaFLay+U7QBMTJdYXw3V59zaYjfwM27CBcr6qW6FPLifg1Y62zmjfLbuLLTmhuORXtZa1YMr4aWCad3ZXyiVCa1cMr46VCa992qM5GWNHWIRJtxgBFzwLWpkUGNE6dMc5j+DfqiwQK
                                            

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

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

                                            14

                                            Online

                                            1.8k

                                            Users

                                            12.1k

                                            Topics

                                            105.7k

                                            Posts