projects
/
ardour.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
37a9ef0
)
amend 7bb9d04, fix midi looping
author
Robin Gareus
<robin@gareus.org>
Thu, 12 Mar 2015 15:09:55 +0000
(16:09 +0100)
committer
Robin Gareus
<robin@gareus.org>
Thu, 12 Mar 2015 15:18:06 +0000
(16:18 +0100)
libs/ardour/midi_diskstream.cc
patch
|
blob
|
history
diff --git
a/libs/ardour/midi_diskstream.cc
b/libs/ardour/midi_diskstream.cc
index cd7e530a4294d05a82d4954fa9c2d4c042eb8508..9795d57b5c65d96b7a1dc8cea0e5d11fa6c229f1 100644
(file)
--- a/
libs/ardour/midi_diskstream.cc
+++ b/
libs/ardour/midi_diskstream.cc
@@
-1440,8
+1440,6
@@
MidiDiskstream::get_playback (MidiBuffer& dst, framecnt_t nframes)
size_t events_read = 0;
size_t events_read = 0;
- _playback_buf->skip_to (playback_sample);
-
if (loc) {
framepos_t effective_start;
if (loc) {
framepos_t effective_start;
@@
-1461,6
+1459,8
@@
MidiDiskstream::get_playback (MidiBuffer& dst, framecnt_t nframes)
_playback_buf->resolve_tracker (dst, 0);
}
_playback_buf->resolve_tracker (dst, 0);
}
+ _playback_buf->skip_to (effective_start);
+
if (loc->end() >= effective_start && loc->end() < effective_start + nframes) {
/* end of loop is within the range we are reading, so
split the read in two, and lie about the location
if (loc->end() >= effective_start && loc->end() < effective_start + nframes) {
/* end of loop is within the range we are reading, so
split the read in two, and lie about the location
@@
-1492,6
+1492,7
@@
MidiDiskstream::get_playback (MidiBuffer& dst, framecnt_t nframes)
events_read = _playback_buf->read (dst, effective_start, effective_start + nframes);
}
} else {
events_read = _playback_buf->read (dst, effective_start, effective_start + nframes);
}
} else {
+ _playback_buf->skip_to (playback_sample);
events_read = _playback_buf->read (dst, playback_sample, playback_sample + nframes);
}
events_read = _playback_buf->read (dst, playback_sample, playback_sample + nframes);
}