fix crash when looping with a MIDI track
authorPaul Davis <paul@linuxaudiosystems.com>
Wed, 18 Dec 2019 22:05:35 +0000 (15:05 -0700)
committerPaul Davis <paul@linuxaudiosystems.com>
Wed, 18 Dec 2019 22:05:49 +0000 (15:05 -0700)
libs/ardour/disk_reader.cc

index b7ac8dbfc92414883a9b947bc879016a2d9c1d94..700a058392b68210410ea7b3702962592fa8b168 100644 (file)
@@ -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) {