summaryrefslogtreecommitdiff
path: root/libs/ardour/disk_reader.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2019-12-18 15:05:35 -0700
committerPaul Davis <paul@linuxaudiosystems.com>2019-12-18 15:05:49 -0700
commitaeefd7e50a26d0d73d84dc4cd2245f0da2dc66bb (patch)
tree655967c091df9f990e2f9cb8663d7642ba69c164 /libs/ardour/disk_reader.cc
parent0aa3c587052ca297ee4519cebee352684fe0c6ba (diff)
fix crash when looping with a MIDI track
Diffstat (limited to 'libs/ardour/disk_reader.cc')
-rw-r--r--libs/ardour/disk_reader.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/libs/ardour/disk_reader.cc b/libs/ardour/disk_reader.cc
index b7ac8dbfc9..700a058392 100644
--- a/libs/ardour/disk_reader.cc
+++ b/libs/ardour/disk_reader.cc
@@ -1662,11 +1662,16 @@ DiskReader::reload_loop ()
return;
}
+ boost::shared_ptr<ChannelList> c = channels.reader();
+
+ if (c->empty() || !_playlists[DataType::MIDI]) {
+ return;
+ }
+
Location* loc = _loop_location;
boost::scoped_array<Sample> mix_buf (new Sample [loop_fade_length]);
boost::scoped_array<Sample> gain_buf (new Sample [loop_fade_length]);
- boost::shared_ptr<ChannelList> c = channels.reader();
uint32_t channel = 0;
for (ChannelList::iterator chan = c->begin(); chan != c->end(); ++chan, ++channel) {