summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/midi_buffer.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2014-12-17 21:48:09 -0500
committerDavid Robillard <d@drobilla.net>2014-12-17 21:48:09 -0500
commit0f759e9a936e3ea00a1196ab8b55e415240f5f5f (patch)
tree4a872ab6ff7dad79d1442d219fdc867522a16f25 /libs/ardour/ardour/midi_buffer.h
parent5f6630034919bde73ffa603e7420c8af2c3c16f7 (diff)
MIDI bounce.
Diffstat (limited to 'libs/ardour/ardour/midi_buffer.h')
-rw-r--r--libs/ardour/ardour/midi_buffer.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/libs/ardour/ardour/midi_buffer.h b/libs/ardour/ardour/midi_buffer.h
index 2923b784a9..8593a4ebb2 100644
--- a/libs/ardour/ardour/midi_buffer.h
+++ b/libs/ardour/ardour/midi_buffer.h
@@ -21,7 +21,10 @@
#define __ardour_midi_buffer_h__
#include "evoral/midi_util.h"
+#include "evoral/EventSink.hpp"
+
#include "midi++/event.h"
+
#include "ardour/buffer.h"
#include "ardour/parameter_types.h"
@@ -29,7 +32,7 @@ namespace ARDOUR {
/** Buffer containing 8-bit unsigned char (MIDI) data. */
-class LIBARDOUR_API MidiBuffer : public Buffer
+class LIBARDOUR_API MidiBuffer : public Buffer, public Evoral::EventSink<framepos_t>
{
public:
typedef framepos_t TimeType;
@@ -55,6 +58,9 @@ public:
bool insert_event(const Evoral::MIDIEvent<TimeType>& event);
bool merge_in_place(const MidiBuffer &other);
+ /** EventSink interface for non-RT use (export, bounce). */
+ uint32_t write(TimeType time, Evoral::EventType type, uint32_t size, const uint8_t* buf);
+
template<typename BufferType, typename EventType>
class iterator_base
{