Tracktion waveform render issue with a plugin


I hope I’m not too far off topic, but I have trouble with Tracktion Waveform 11. I have a plugin that requires loading audiofiles as synth samplersounds “lazy”, so loading during processing buffers. It’s on it’s own thread but basically has to make audioprocessing thread to wait for the results if the loading is not fast enough (there’s some overhead of the sample loaded prior, similar to Kontakt giving time for the processing to go on multiple buffers while the tail loading happens).

This seems to work well on most DAW’s but on Waveform rendering the song out will give huge glitches. Realtime playback seems to work ok. The rendering is really fast, obviously faster than realtime so I imagine the samples cannot load as swift, which then makes the processing to wait for the sample finish loading… But somehow the glitch still happens.

I wonder does waveform ignore this kinds of waiting during rendering and just forces the buffer out in x amount of time even if it’s not finished processing?

Any other ideas why Waveform particularly gives this trouble?

It should set the setNonRealtime (false) flag when rendering which synths can use to block until samples are loaded.

Can I ask if you’re using the old or experimental engines in Waveform? (From the “Advanced” settings page).


Sorry for the long wait, I didn’t notice a new reply. I tried both engine versions and the result was the same. Also, my synth is blocking by default anyways without checking the NonRealtime -flag, whenever loading takes too much time it will just chop the playback usually but load everything in the end… :thinking: For any reason Waveform just pushes through like a maniac :smiley: I guess it might be my code is buggy then…

I’m not sure I understand, if your process block actually blocks, Waveform can’t just continue… It has to wait for each process call to complete so I assume you’re not fully blocking?