fix unnecssary disruption of MIDI stream when disabling loop

This commit is contained in:
Paul Davis
2019-12-10 19:30:28 -07:00
parent a660ab2584
commit e46c45f6f0

View File

@@ -526,6 +526,10 @@ DiskReader::set_pending_overwrite (OverwriteReason why)
overwrite_offset = c->front()->rbuf->read_ptr();
}
if (why & (PlaylistModified|PlaylistChanged)) {
run_must_resolve = true;
}
while (true) {
OverwriteReason current = OverwriteReason (g_atomic_int_get (&_pending_overwrite));
OverwriteReason next = OverwriteReason (current | why);
@@ -534,7 +538,6 @@ DiskReader::set_pending_overwrite (OverwriteReason why)
}
}
run_must_resolve = true;
}
bool
@@ -633,7 +636,7 @@ DiskReader::overwrite_existing_buffers ()
}
}
if (g_atomic_int_get (&_pending_overwrite) & (LoopChanged|LoopDisabled|PlaylistChanged)) {
if (g_atomic_int_get (&_pending_overwrite) & (PlaylistModified|PlaylistChanged)) {
if (!overwrite_existing_midi ()) {
ret = false;
}