summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/buffer.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-05-31 21:37:20 +0000
committerDavid Robillard <d@drobilla.net>2007-05-31 21:37:20 +0000
commit0f2f4d8efc7f3e1144c6f51fd17c1ab309056c3e (patch)
tree5f3b9c752aafcd9874ae55197d678d4b17bbc442 /libs/ardour/ardour/buffer.h
parent52a8242a1158426caeed4757bbc3f7f71091e351 (diff)
Rewrote MidiRingBuffer to more efficiently pack data (flat pack stamps, sizes, and event data into a single buffer).
Eliminate a double-copy on MIDI playback (MidiRingBuffer -> MidiBuffer). Various MIDI diskstream/source/SMF fixes (only write when appropriate, handle transport locates, etc). Fix MIDI rec region size/offset problems. Code cleanups. git-svn-id: svn://localhost/ardour2/trunk@1934 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/buffer.h')
-rw-r--r--libs/ardour/ardour/buffer.h12
1 files changed, 4 insertions, 8 deletions
diff --git a/libs/ardour/ardour/buffer.h b/libs/ardour/ardour/buffer.h
index b890afbb03..86a7aa9f95 100644
--- a/libs/ardour/ardour/buffer.h
+++ b/libs/ardour/ardour/buffer.h
@@ -197,18 +197,14 @@ public:
void read_from(const Buffer& src, nframes_t nframes, nframes_t offset);
- bool push_back(const MidiEvent& event);
+ bool push_back(const MidiEvent& event);
+ Byte* reserve(nframes_t time, size_t size);
const MidiEvent& operator[](size_t i) const { assert(i < _size); return _events[i]; }
MidiEvent& operator[](size_t i) { assert(i < _size); return _events[i]; }
static size_t max_event_size() { return MAX_EVENT_SIZE; }
- //void set_size(size_t size) { _size = size; }
-
- //const RawMidi* data() const { return _data; }
- //RawMidi* data() { return _data; }
-
private:
// These are undefined (prevent copies)
MidiBuffer(const MidiBuffer& copy);
@@ -221,8 +217,8 @@ private:
* (_size * MAX_EVENT_SIZE)
*/
- MidiEvent* _events; ///< Event structs that point to offsets in _data
- RawMidi* _data; ///< MIDI, straight up. No time stamps.
+ MidiEvent* _events; ///< Event structs that point to offsets in _data
+ Byte* _data; ///< MIDI, straight up. No time stamps.
};
} // namespace ARDOUR