diff options
author | Carl Hetherington <carl@carlh.net> | 2009-06-13 18:44:05 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2009-06-13 18:44:05 +0000 |
commit | d1bc9e330b5b36d1d31af61e057871fc66a98749 (patch) | |
tree | 8cc62f290a6872078000d1f12e5dfb7da2f317af /libs | |
parent | 804da5653127aaedda057d3c683be5817f335fef (diff) |
Some small cleanups.
git-svn-id: svn://localhost/ardour2/branches/3.0@5180 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs')
-rw-r--r-- | libs/ardour/filter.cc | 1 | ||||
-rw-r--r-- | libs/ardour/region.cc | 17 |
2 files changed, 3 insertions, 15 deletions
diff --git a/libs/ardour/filter.cc b/libs/ardour/filter.cc index 32e942b924..5922936b85 100644 --- a/libs/ardour/filter.cc +++ b/libs/ardour/filter.cc @@ -40,6 +40,7 @@ int Filter::make_new_sources (boost::shared_ptr<Region> region, SourceList& nsrcs, string suffix) { vector<string> names = region->master_source_names(); + assert (region->n_channels() <= names.size()); for (uint32_t i = 0; i < region->n_channels(); ++i) { diff --git a/libs/ardour/region.cc b/libs/ardour/region.cc index 21e1a6c42f..804a4104dc 100644 --- a/libs/ardour/region.cc +++ b/libs/ardour/region.cc @@ -284,20 +284,7 @@ Region::Region (const SourceList& srcs, const XMLNode& node) , _pending_changed(Change(0)) , _last_layer_op(0) { - set<boost::shared_ptr<Source> > unique_srcs; - - for (SourceList::const_iterator i=srcs.begin(); i != srcs.end(); ++i) { - _sources.push_back (*i); - (*i)->GoingAway.connect (bind (mem_fun (*this, &Region::source_deleted), (*i))); - unique_srcs.insert (*i); - } - - for (SourceList::const_iterator i = srcs.begin(); i != srcs.end(); ++i) { - _master_sources.push_back (*i); - if (unique_srcs.find (*i) == unique_srcs.end()) { - (*i)->GoingAway.connect (bind (mem_fun (*this, &Region::source_deleted), (*i))); - } - } + use_sources (srcs); if (set_state (node)) { throw failed_constructor(); @@ -1627,7 +1614,7 @@ Region::use_sources (SourceList const & s) unique_srcs.insert (*i); } - for (SourceList::const_iterator i = s.begin(); i != s.end(); ++i) { + for (SourceList::const_iterator i = s.begin (); i != s.end(); ++i) { _master_sources.push_back (*i); if (unique_srcs.find (*i) == unique_srcs.end()) { (*i)->GoingAway.connect (bind (mem_fun (*this, &Region::source_deleted), *i)); |