From f02e38d56090a50e1d269f85b61924ef8613ada6 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 21 Jun 2025 10:18:54 -0500 Subject: [PATCH] do not allow user to play notes during export issue #2579 --- src/engine/playback.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/engine/playback.cpp b/src/engine/playback.cpp index ce8ed4926..4378de719 100644 --- a/src/engine/playback.cpp +++ b/src/engine/playback.cpp @@ -1577,6 +1577,9 @@ bool DivEngine::nextTick(bool noAccum, bool inhibitLowLat) { cycles++; } + // don't let user play anything during export + if (exporting) pendingNotes.clear(); + if (!pendingNotes.empty()) { bool isOn[DIV_MAX_CHANS]; memset(isOn,0,DIV_MAX_CHANS*sizeof(bool)); @@ -2299,7 +2302,7 @@ void DivEngine::nextBuf(float** in, float** out, int inChans, int outChans, unsi } // process sample/wave preview - if ((sPreview.sample>=0 && sPreview.sample<(int)song.sample.size()) || (sPreview.wave>=0 && sPreview.wave<(int)song.wave.size())) { + if (((sPreview.sample>=0 && sPreview.sample<(int)song.sample.size()) || (sPreview.wave>=0 && sPreview.wave<(int)song.wave.size())) && !exporting) { unsigned int samp_bbOff=0; unsigned int prevAvail=blip_samples_avail(samp_bb); if (prevAvail>size) prevAvail=size;