+void
+BufferSet::merge_from (const BufferSet& in, framecnt_t nframes)
+{
+ /* merge all input buffers into out existing buffers.
+
+ NOTE: if "in" contains more buffers than this set,
+ we will drop the extra buffers.
+
+ */
+
+ for (DataType::iterator t = DataType::begin(); t != DataType::end(); ++t) {
+ BufferSet::iterator o = begin(*t);
+ for (BufferSet::const_iterator i = in.begin(*t); i != in.end(*t) && o != end (*t); ++i, ++o) {
+ o->merge_from (*i, nframes);
+ }
+ }
+}
+
+void
+BufferSet::silence (framecnt_t nframes, framecnt_t offset)
+{
+ for (std::vector<BufferVec>::iterator i = _buffers.begin(); i != _buffers.end(); ++i) {
+ for (BufferVec::iterator b = i->begin(); b != i->end(); ++b) {
+ (*b)->silence (nframes, offset);
+ }
+ }
+}
+
+void
+BufferSet::is_silent (bool yn)
+{
+ for (std::vector<BufferVec>::iterator i = _buffers.begin(); i != _buffers.end(); ++i) {
+ for (BufferVec::iterator b = i->begin(); b != i->end(); ++b) {
+ (*b)->is_silent (yn);
+ }
+ }
+
+}
+