diff options
author | David Robillard <d@drobilla.net> | 2006-09-01 07:38:55 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2006-09-01 07:38:55 +0000 |
commit | bd1220a46db9fe909d09c08139cfb61ba98ec9f3 (patch) | |
tree | 5662e862dba8408601c0495e1aa8dabba72c688a /libs/ardour/buffer_set.cc | |
parent | 017e16c530bb1a9f186aa81893089dc79b4ddc24 (diff) |
Fixes for IO port adding/removing
Working audio sends/port inserts
Send gain, panning
MIDI sends working (maybe port inserts too?)
Buffer/Port fixes (related to silence)
Metering bug fixes
git-svn-id: svn://localhost/ardour2/branches/midi@883 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/buffer_set.cc')
-rw-r--r-- | libs/ardour/buffer_set.cc | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/libs/ardour/buffer_set.cc b/libs/ardour/buffer_set.cc index 3989df2ad2..bbbf7e3b86 100644 --- a/libs/ardour/buffer_set.cc +++ b/libs/ardour/buffer_set.cc @@ -149,6 +149,22 @@ BufferSet::buffer_capacity(DataType type) const return _buffers[type.to_index()][0]->capacity(); } +// FIXME: make 'in' const +void +BufferSet::read_from(BufferSet& in, jack_nframes_t nframes, jack_nframes_t offset) +{ + 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) { + o->read_from(*i, nframes, offset); + } + } + + set_count(in.count()); +} } // namespace ARDOUR |