-- play.lua : realtime transport playback to keep the DSP host's audio callback -- alive, so an external script can snapshot memory while ctx fields are live. -- NOTE: reaper.Sleep does not exist in the REAPER API; use reaper.defer loop. local keep_secs = 300 reaper.Main_OnCommand(1007, 0) -- Transport: Play (realtime audio) local t0 = reaper.time_precise() local function keepalive() if reaper.time_precise() - t0 < keep_secs then reaper.defer(keepalive) -- yield; runs on every UI update tick else reaper.OnStopButton() end end reaper.defer(keepalive)