diff --git a/libs/ardour/disk_reader.cc b/libs/ardour/disk_reader.cc index 35a6c6c00c..76afb6b00f 100644 --- a/libs/ardour/disk_reader.cc +++ b/libs/ardour/disk_reader.cc @@ -404,6 +404,12 @@ DiskReader::run (BufferSet& bufs, samplepos_t start_sample, samplepos_t end_samp playback_sample += disk_samples_to_consume; } + Location* loc = _loop_location; + if (loc) { + Evoral::Range loop_range (loc->start(), loc->end() - 1); + playback_sample = loop_range.squish (playback_sample); + } + if (_playlists[DataType::AUDIO]) { if (!c->empty()) { if (_slaved) {