diff options
author | David Robillard <d@drobilla.net> | 2009-10-20 01:24:31 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2009-10-20 01:24:31 +0000 |
commit | ac8b1656448949e5ef0094dacd768c34782b6ca4 (patch) | |
tree | 36bbc329f4be782b93b71b02247ba0b47c22e79e /libs/ardour/buffer_set.cc | |
parent | 61c508f3c0b9b4323ef07e58c6fc0af187370e52 (diff) |
Const-correct BufferSet.
git-svn-id: svn://localhost/ardour2/branches/3.0@5815 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/buffer_set.cc')
-rw-r--r-- | libs/ardour/buffer_set.cc | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/libs/ardour/buffer_set.cc b/libs/ardour/buffer_set.cc index 71b9ee6d9f..c77db6a683 100644 --- a/libs/ardour/buffer_set.cc +++ b/libs/ardour/buffer_set.cc @@ -243,6 +243,13 @@ BufferSet::get(DataType type, size_t i) return *_buffers[type][i]; } +const Buffer& +BufferSet::get(DataType type, size_t i) const +{ + assert(i < _available.get(type)); + return *_buffers[type][i]; +} + #ifdef HAVE_SLV2 LV2EventBuffer& @@ -284,16 +291,15 @@ BufferSet::flush_lv2_midi(bool input, size_t i) #endif -// FIXME: make 'in' const void -BufferSet::read_from (BufferSet& in, nframes_t nframes) +BufferSet::read_from (const BufferSet& in, nframes_t nframes) { assert(available() >= in.count()); // Copy all buffers 1:1 for (DataType::iterator t = DataType::begin(); t != DataType::end(); ++t) { BufferSet::iterator o = begin(*t); - for (BufferSet::iterator i = in.begin(*t); i != in.end(*t); ++i, ++o) { + for (BufferSet::const_iterator i = in.begin(*t); i != in.end(*t); ++i, ++o) { o->read_from (*i, nframes); } } @@ -301,9 +307,8 @@ BufferSet::read_from (BufferSet& in, nframes_t nframes) set_count(in.count()); } -// FIXME: make 'in' const void -BufferSet::merge_from (BufferSet& in, nframes_t nframes) +BufferSet::merge_from (const BufferSet& in, nframes_t nframes) { /* merge all input buffers into out existing buffers. @@ -314,7 +319,7 @@ BufferSet::merge_from (BufferSet& in, nframes_t nframes) for (DataType::iterator t = DataType::begin(); t != DataType::end(); ++t) { BufferSet::iterator o = begin(*t); - for (BufferSet::iterator i = in.begin(*t); i != in.end(*t) && o != end (*t); ++i, ++o) { + for (BufferSet::const_iterator i = in.begin(*t); i != in.end(*t) && o != end (*t); ++i, ++o) { o->merge_from (*i, nframes); } } |