summaryrefslogtreecommitdiff
path: root/libs/ardour/buffer_set.cc
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2009-10-20 01:24:31 +0000
committerDavid Robillard <d@drobilla.net>2009-10-20 01:24:31 +0000
commitac8b1656448949e5ef0094dacd768c34782b6ca4 (patch)
tree36bbc329f4be782b93b71b02247ba0b47c22e79e /libs/ardour/buffer_set.cc
parent61c508f3c0b9b4323ef07e58c6fc0af187370e52 (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.cc17
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);
}
}