bool success = read_contents (ev_size, write_loc);
#ifndef NDEBUG
- if (DEBUG::MidiDiskstreamIO && PBD::debug_bits) {
+ if (DEBUG_ENABLED (DEBUG::MidiDiskstreamIO)) {
DEBUG_STR_DECL(a);
DEBUG_STR_APPEND(a, string_compose ("wrote MidiEvent to Buffer (time=%1, start=%2 offset=%3)", ev_time, start, offset));
for (size_t i=0; i < ev_size; ++i) {
++count;
- if (ev_size < 8) {
+ /* TODO investigate and think:
+ *
+ * Does it makes sense to keep track of notes
+ * that are skipped (because they're either too late
+ * (underrun) or never used (read-ahead, loop) ?
+ *
+ * skip_to() is called on the rinbuffer between
+ * disk and process. it seems wrong to track them
+ * (a potential synth never sees skipped notes, either)
+ * but there may be more to this.
+ */
+
+ if (ev_size >= 8) {
this->increment_read_ptr (ev_size);
} else {
// we only track note on/off, 8 bytes are plenty.
_tracker.resolve_notes (dst, t);
}
+template<typename T>
+void
+MidiRingBuffer<T>::resolve_tracker (Evoral::EventSink<framepos_t>& dst, framepos_t t)
+{
+ _tracker.resolve_notes(dst, t);
+}
+
template class MidiRingBuffer<framepos_t>;
} // namespace ARDOUR