summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/buffer_set.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2009-07-22 13:51:16 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2009-07-22 13:51:16 +0000
commit3b7230552d8aa6c36fd2fbc3ccc1cfb9109fc843 (patch)
tree9d838960d1cad7fca14957b5e5de3215cf938185 /libs/ardour/ardour/buffer_set.h
parent272c1a40db7c965664b256f7f5487dd224bfd413 (diff)
make i18n build work ; add mackie dir back to build ; token work on amp for MIDI; don't try to subgroup route groups with MIDI (for now)
git-svn-id: svn://localhost/ardour2/branches/3.0@5412 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/buffer_set.h')
-rw-r--r--libs/ardour/ardour/buffer_set.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/libs/ardour/ardour/buffer_set.h b/libs/ardour/ardour/buffer_set.h
index 1c77918789..284609a988 100644
--- a/libs/ardour/ardour/buffer_set.h
+++ b/libs/ardour/ardour/buffer_set.h
@@ -126,6 +126,25 @@ public:
audio_iterator audio_begin() { return audio_iterator(*this, 0); }
audio_iterator audio_end() { return audio_iterator(*this, _count.n_audio()); }
+ class midi_iterator {
+ public:
+ MidiBuffer& operator*() { return _set.get_midi(_index); }
+ MidiBuffer* operator->() { return &_set.get_midi(_index); }
+ midi_iterator& operator++() { ++_index; return *this; } // yes, prefix only
+ bool operator==(const midi_iterator& other) { return (_index == other._index); }
+ bool operator!=(const midi_iterator& other) { return (_index != other._index); }
+
+ private:
+ friend class BufferSet;
+
+ midi_iterator(BufferSet& list, size_t index) : _set(list), _index(index) {}
+
+ BufferSet& _set;
+ size_t _index;
+ };
+
+ midi_iterator midi_begin() { return midi_iterator(*this, 0); }
+ midi_iterator midi_end() { return midi_iterator(*this, _count.n_midi()); }
class iterator {
public: