diff options
author | Bent Bisballe Nyeng <deva@aasimon.org> | 2025-03-05 18:18:49 +0100 |
---|---|---|
committer | Bent Bisballe Nyeng <deva@aasimon.org> | 2025-03-05 18:18:49 +0100 |
commit | a2aac07c9edaa96940ac4d1dd02a9bec21499e47 (patch) | |
tree | 143a16000fa126f6da7c9550a0b7c82b7686e87d /src/drumgizmo.cc | |
parent | dd9fd17e59155ca05f93c9ec1d48430041f648bd (diff) |
Block loading while free-wheeling. Fix rendering in Reaper.
Diffstat (limited to 'src/drumgizmo.cc')
-rw-r--r-- | src/drumgizmo.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/drumgizmo.cc b/src/drumgizmo.cc index 85624ca..093b0bf 100644 --- a/src/drumgizmo.cc +++ b/src/drumgizmo.cc @@ -31,6 +31,8 @@ #include <cassert> #include <cstring> #include <mutex> +#include <thread> +#include <chrono> #include "audiotypes.h" #include <config.h> @@ -361,6 +363,11 @@ void DrumGizmo::getSamples(int ch, int pos, sample_t* s, size_t sz) AudioFile& af = *sample_event.file; + while(freewheel && !af.isLoaded()) + { + std::this_thread::sleep_for(std::chrono::milliseconds(10)); + } + if(!af.isLoaded() || !af.isValid() || (s == nullptr)) { // This event cannot be played - schedule for deletion and continue. |