Rendering a "sequence" in the DAW not working
-
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:
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..)
-
@Lindon I get the same result with offline render. Realtime render works as expected though.
-
@d-healey thanks -- so yes, same as my results - so this is a BIG problem...
@Christoph-Hart !!!!!!
-
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.
-
@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...
-
@d-healey -- I'd imagine this breaks your legato scripting badly....
-
@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
-
@d-healey fingers crossed here!! -- I'm hopeful, as I seem to recall it working fine at one point...
-
@Lindon The mystery deepens. My glide script works.
I can think of two reasons why this might be.
- I'm using the synth
on timer
callback rather than a timer object. - The glide script is not part of the main interface script.
- I'm using the synth
-
@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.
- I'm using the synth
on timer
callback rather than a timer object. - The glide script is not part of the main interface script.
What Synth.onTimer!!!!
- I'm using the synth
-
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
-
@Casey-Kolb said in Text values for output bus, effects or gain reduction - use label, paintRoutine or animated strip?:
The Synth timer is different than the Engine timers you create with
Engine.createTimerObject()
. You'd use this call insteadSynth.startTimer(double seconds)
and put your logic in the onTimer callback of your MIDI processor. I believe other timers are on the message thread already? I'm not totally sure, but worth experimenting. -
@d-healey we need a way to "undefer " them then or we are back to a single (nearly un)usable timer - just like Kontakt....
-
@Lindon Do you need multiple timers running simultaneously at different rates on the audio thread?
-
@d-healey yes.
-
In that case it's time to pray to the Christoph gods.
-
@d-healey said in Rendering a "sequence" in the DAW not working:
In that case it's time to pray to the Christoph gods.
ha ha ha ha......well working back into Time Division Multiplexing is I guess an option....
-
@Lindon Did you ever solve this?
-
The timer object (and the timers from ScriptPanels) are not guaranteed to run (and in fact I took extra steps to ensure that they are suspended if the UI is not shown, because it causes some host to freeze up with multiple instances).
Those timers are UI tools. If you need a reliable periodic interval, use the Synth.startTimer, but if your audio processing relies in any way on a UI timer to work, then it‘s bad design and you need to change it.
-
@d-healey said in Rendering a "sequence" in the DAW not working:
@Lindon Did you ever solve this?
Well as far as I recall - I just went with Synth.Timer(s)