summaryrefslogtreecommitdiff
path: root/libs/ardour/midi_playlist.cc
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-07-28 09:01:19 +0000
committerDavid Robillard <d@drobilla.net>2007-07-28 09:01:19 +0000
commit633d9131af0a04bed812ce75e9f1da07fe7dfcd4 (patch)
tree989f907ffa7a8c4829160946e49f503c4e3a903c /libs/ardour/midi_playlist.cc
parent6e167cb1a835cb0b44990cc4c2b2a47db9dd2b9e (diff)
Use 'show contents' note range by default (fix uninitialized value).
Obey note mode on playback (note offs are not sent in Percussive mode). Vary note colour/opacity with velocity (needs theization/tweaking, but hey, it's something). git-svn-id: svn://localhost/ardour2/trunk@2184 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/midi_playlist.cc')
-rw-r--r--libs/ardour/midi_playlist.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/libs/ardour/midi_playlist.cc b/libs/ardour/midi_playlist.cc
index 0aa3779034..27410462d1 100644
--- a/libs/ardour/midi_playlist.cc
+++ b/libs/ardour/midi_playlist.cc
@@ -150,10 +150,12 @@ MidiPlaylist::read (MidiRingBuffer& dst, nframes_t start,
sort(regs.begin(), regs.end(), layer_cmp);
for (vector<boost::shared_ptr<Region> >::iterator i = regs.begin(); i != regs.end(); ++i) {
- // FIXME: ensure time is monotonic here
+ // FIXME: ensure time is monotonic here?
boost::shared_ptr<MidiRegion> mr = boost::dynamic_pointer_cast<MidiRegion>(*i);
- mr->read_at (dst, start, dur, chan_n);
- _read_data_count += mr->read_data_count();
+ if (mr) {
+ mr->read_at (dst, start, dur, chan_n, _note_mode);
+ _read_data_count += mr->read_data_count();
+ }
}
return dur;