diff options
author | David Robillard <d@drobilla.net> | 2007-04-09 01:01:50 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2007-04-09 01:01:50 +0000 |
commit | 6eec851cda92e1030173dbfd613c44883ced6816 (patch) | |
tree | 895691d6f439c1c0fcf26946832c2b0de7c9593c /src/libs/engine/MidiBuffer.h | |
parent | f211975fd97c39668b61170d11960bd1c565ae79 (diff) | |
download | ingen-6eec851cda92e1030173dbfd613c44883ced6816.tar.gz ingen-6eec851cda92e1030173dbfd613c44883ced6816.tar.bz2 ingen-6eec851cda92e1030173dbfd613c44883ced6816.zip |
MIDI patching. wooo!
git-svn-id: http://svn.drobilla.net/lad/ingen@429 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/engine/MidiBuffer.h')
-rw-r--r-- | src/libs/engine/MidiBuffer.h | 23 |
1 files changed, 6 insertions, 17 deletions
diff --git a/src/libs/engine/MidiBuffer.h b/src/libs/engine/MidiBuffer.h index 79f7098b..54a245df 100644 --- a/src/libs/engine/MidiBuffer.h +++ b/src/libs/engine/MidiBuffer.h @@ -27,19 +27,8 @@ namespace Ingen { class MidiBuffer : public Buffer { public: - MidiBuffer(size_t capacity) - : Buffer(DataType(DataType::MIDI), capacity) - , _buf(lv2midi_new((uint32_t)capacity)) - , _joined_buf(NULL) - { - _local_state.midi = _buf; - _state = &_local_state; - assert(_local_state.midi); - reset(0); - clear(); - assert(_local_state.midi == _buf); - } - + MidiBuffer(size_t capacity); + ~MidiBuffer() { lv2midi_free(_local_state.midi); } void prepare_read(SampleCount nframes); @@ -51,11 +40,11 @@ public: uint32_t this_nframes() const { return _this_nframes; } - inline LV2_MIDIState* data() - { return ((_joined_buf != NULL) ? _joined_buf->data() : _state); } + inline LV2_MIDI* data() + { return ((_joined_buf != NULL) ? _joined_buf->data() : _state->midi); } - inline const LV2_MIDIState* data() const - { return ((_joined_buf != NULL) ? _joined_buf->data() : _state); } + inline const LV2_MIDI* data() const + { return ((_joined_buf != NULL) ? _joined_buf->data() : _state->midi); } inline void clear() { assert(_state); assert(_state->midi); lv2midi_reset_buffer(_state->midi); _state->position = 0; } |