diff options
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. |