Small fixes and tidy-ups spotted by cppcheck.
[dcpomatic.git] / src / lib / playlist.cc
index 22412da4a3640b5313cd6d75cdb25422a4ee08f6..1aeed4062a8e2d603f3d09b731e43e499b56879e 100644 (file)
@@ -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 ();
        }
@@ -78,7 +84,6 @@ Playlist::maybe_sequence_video ()
        
        _sequencing_video = true;
        
-       ContentList cl = _content;
        DCPTime next_left;
        DCPTime next_right;
        for (ContentList::iterator i = _content.begin(); i != _content.end(); ++i) {
@@ -361,7 +366,7 @@ Playlist::move_earlier (shared_ptr<Content> c)
                ++i;
        }
 
-       assert (i != _content.end ());
+       DCPOMATIC_ASSERT (i != _content.end ());
        if (previous == _content.end ()) {
                return;
        }
@@ -383,7 +388,7 @@ Playlist::move_later (shared_ptr<Content> c)
                ++i;
        }
 
-       assert (i != _content.end ());
+       DCPOMATIC_ASSERT (i != _content.end ());
 
        ContentList::iterator next = i;
        ++next;
@@ -393,6 +398,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 ());
 }