From 7bf464795a4bee7fb0c90a450b74778f52c2c2c0 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Wed, 26 Jun 2024 06:55:40 -0600 Subject: [PATCH] add ::render() to MidiModel since that's what we'll be editing --- libs/ardour/ardour/midi_model.h | 1 + libs/ardour/midi_model.cc | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/libs/ardour/ardour/midi_model.h b/libs/ardour/ardour/midi_model.h index 12d3e218ee..6b726775a9 100644 --- a/libs/ardour/ardour/midi_model.h +++ b/libs/ardour/ardour/midi_model.h @@ -327,6 +327,7 @@ public: void transpose (NoteDiffCommand *, const NotePtr, int); void track_state (timepos_t const & when, MidiStateTracker&) const; + void render (const ReadLock& lock, Evoral::EventSink& dst); protected: int resolve_overlaps_unlocked (const NotePtr, void* arg = 0); diff --git a/libs/ardour/midi_model.cc b/libs/ardour/midi_model.cc index 1387841c18..de4f2f1270 100644 --- a/libs/ardour/midi_model.cc +++ b/libs/ardour/midi_model.cc @@ -1882,3 +1882,11 @@ MidiModel::track_state (timepos_t const & when, MidiStateTracker& mst) const mst.track (ev.buffer()); } } + +void +MidiModel::render (const ReadLock& lock, Evoral::EventSink& dst) +{ + for (auto const & ev : *this) { + dst.write (ev.time(), Evoral::MIDI_EVENT, ev.size(), ev.buffer()); + } +}