summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2009-06-13 18:44:05 +0000
committerCarl Hetherington <carl@carlh.net>2009-06-13 18:44:05 +0000
commitd1bc9e330b5b36d1d31af61e057871fc66a98749 (patch)
tree8cc62f290a6872078000d1f12e5dfb7da2f317af /libs
parent804da5653127aaedda057d3c683be5817f335fef (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.cc1
-rw-r--r--libs/ardour/region.cc17
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));