Various fixes to make tests pass again.
[dcpomatic.git] / src / lib / playlist.cc
index 1712dc8ff54dee392f5e865830aa91cea76c2cf1..c54b24c1c947e3bc78c134c74fc36f0e30468ee5 100644 (file)
@@ -82,14 +82,14 @@ Playlist::maybe_sequence_video ()
        _sequencing_video = true;
        
        ContentList cl = _content;
-       Time last = 0;
+       Time next = 0;
        for (ContentList::iterator i = _content.begin(); i != _content.end(); ++i) {
                if (!dynamic_pointer_cast<VideoContent> (*i)) {
                        continue;
                }
                
-               (*i)->set_position (last);
-               last = (*i)->end ();
+               (*i)->set_position (next);
+               next = (*i)->end() + 1;
        }
 
        /* This won't change order, so it does not need a sort */
@@ -260,7 +260,7 @@ Playlist::length () const
 {
        Time len = 0;
        for (ContentList::const_iterator i = _content.begin(); i != _content.end(); ++i) {
-               len = max (len, (*i)->end ());
+               len = max (len, (*i)->end() + 1);
        }
 
        return len;
@@ -390,3 +390,15 @@ Playlist::move_later (shared_ptr<Content> c)
        
        Changed ();
 }
+
+bool
+Playlist::content_paths_valid () const
+{
+       for (ContentList::const_iterator i = _content.begin(); i != _content.end(); ++i) {
+               if (!(*i)->path_valid ()) {
+                       return false;
+               }
+       }
+
+       return true;
+}