diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2019-12-18 15:05:35 -0700 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2019-12-18 15:05:49 -0700 |
commit | aeefd7e50a26d0d73d84dc4cd2245f0da2dc66bb (patch) | |
tree | 655967c091df9f990e2f9cb8663d7642ba69c164 /libs/ardour/disk_reader.cc | |
parent | 0aa3c587052ca297ee4519cebee352684fe0c6ba (diff) |
fix crash when looping with a MIDI track
Diffstat (limited to 'libs/ardour/disk_reader.cc')
-rw-r--r-- | libs/ardour/disk_reader.cc | 7 |
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) { |