projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge master.
[dcpomatic.git]
/
src
/
lib
/
playlist.cc
diff --git
a/src/lib/playlist.cc
b/src/lib/playlist.cc
index 22412da4a3640b5313cd6d75cdb25422a4ee08f6..4580e54d400e40e9fc59f7eaebec9bd806f8520d 100644
(file)
--- 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)
{
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 ();
}
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 ());
}
(*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 ());
}
sort (_content.begin(), _content.end(), ContentSorter ());
}