diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2010-07-06 11:33:27 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2010-07-06 11:33:27 +0000 |
commit | 2f9184d65395da75a43ea21ffb5f11b8d577d27a (patch) | |
tree | a50a5d5a4bd8b09ca9bd1f3bb6754b7bf86cd3c5 /libs/ardour/playlist.cc | |
parent | 2f11b367cac5fe05f5f69e2c73946312d8145260 (diff) |
beat slicing patch #1 from lincoln spiteri
git-svn-id: svn://localhost/ardour2/branches/3.0@7381 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/playlist.cc')
-rw-r--r-- | libs/ardour/playlist.cc | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/libs/ardour/playlist.cc b/libs/ardour/playlist.cc index cc9dc62ec7..20d771c692 100644 --- a/libs/ardour/playlist.cc +++ b/libs/ardour/playlist.cc @@ -696,7 +696,7 @@ Playlist::add_region (boost::shared_ptr<Region> region, framepos_t position, flo framepos_t pos = position; if (times == 1 && auto_partition){ - partition(pos, (pos + region->length()), true); + partition((nframes_t) pos - 1, (nframes_t) (pos + region->length()), true); } if (itimes >= 1) { @@ -869,9 +869,7 @@ Playlist::remove_region_internal (boost::shared_ptr<Region> region) } } - /* XXX and thaw ... */ - - return ret; + return -1; } void @@ -1284,7 +1282,7 @@ Playlist::duplicate (boost::shared_ptr<Region> region, framepos_t position, floa RegionLock rl (this); int itimes = (int) floor (times); - framepos_t pos = position; + nframes_t pos = position + 1; while (itimes--) { boost::shared_ptr<Region> copy = RegionFactory::create (region); @@ -2094,6 +2092,7 @@ Playlist::find_next_region_boundary (framepos_t frame, int dir) return ret; } + /***********************************************************************/ @@ -2257,7 +2256,7 @@ Playlist::set_state (const XMLNode& node, int version) error << _("Playlist: cannot create region from XML") << endmsg; continue; } - + add_region (region, region->position(), 1.0); // So that layer_op ordering doesn't get screwed up @@ -2300,7 +2299,7 @@ XMLNode& Playlist::state (bool full_state) { XMLNode *node = new XMLNode (X_("Playlist")); - char buf[64]; + char buf[64] = ""; node->add_property (X_("id"), id().to_s()); node->add_property (X_("name"), _name); @@ -2312,6 +2311,7 @@ Playlist::state (bool full_state) if (full_state) { RegionLock rlock (this, false); + for (RegionList::iterator i = regions.begin(); i != regions.end(); ++i) { node->add_child_nocopy ((*i)->get_state()); } |