summaryrefslogtreecommitdiff
path: root/src/lib/playlist.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2014-10-24 10:27:56 +0100
committerCarl Hetherington <cth@carlh.net>2014-10-24 10:27:56 +0100
commit360f49fad409d1e37318ffcf3069c4111c19c7b8 (patch)
treee872689ec14485630f52eddc142bd1924eed1ae7 /src/lib/playlist.cc
parent1b4bb48ed28295f7c647adca041cc29fb061b2a1 (diff)
parentbccbbe081b484f48101d76ec52aee922efa2fc50 (diff)
Merge branch 'master' of git.carlh.net:git/dcpomatic
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 c3e430082..264d9ab4a 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 ();
}
@@ -389,7 +395,7 @@ 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 ());
}