summaryrefslogtreecommitdiff
path: root/src/lib/playlist.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2014-10-25 14:47:43 +0100
committerCarl Hetherington <cth@carlh.net>2014-10-25 14:47:43 +0100
commitb6c780d3107557d452c6612d715d01e2be52dbda (patch)
tree3548fe3eef61f3b0145bb33a57a89f97bfa75f50 /src/lib/playlist.cc
parente725a6b4bce2a05275ee611965c62d6803f3bf7c (diff)
parent0dcbc398124f740e4fd7b552926f601a3e5c755e (diff)
Merge master.
Diffstat (limited to 'src/lib/playlist.cc')
-rw-r--r--src/lib/playlist.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/lib/playlist.cc b/src/lib/playlist.cc
index 22412da4a..4580e54d4 100644
--- a/src/lib/playlist.cc
+++ b/src/lib/playlist.cc
@@ -62,6 +62,12 @@ Playlist::~Playlist ()
void
Playlist::content_changed (weak_ptr<Content> content, int property, bool frequent)
{
+ /* Don't respond to position changes here, as:
+ - sequencing after earlier/later changes is handled by move_earlier/move_later
+ - any other position changes will be timeline drags which should not result in content
+ being sequenced.
+ */
+
if (property == ContentProperty::LENGTH || property == VideoContentProperty::VIDEO_FRAME_TYPE) {
maybe_sequence_video ();
}
@@ -393,6 +399,6 @@ Playlist::move_later (shared_ptr<Content> c)
}
(*next)->set_position (c->position ());
- c->set_position (c->position() + c->length_after_trim ());
+ c->set_position (c->position() + (*next)->length_after_trim ());
sort (_content.begin(), _content.end(), ContentSorter ());
}