Cleanup: don't need to store _{input,output}_channels.
[dcpomatic.git] / src / lib / content.h
index 5b804b3318aabde130272ebeb55afaeb66cd948e..0ce87ed9be0a192ec6923036f724b9d33abe7cd0 100644 (file)
@@ -31,8 +31,8 @@
 #include "change_signaller.h"
 #include "dcpomatic_time.h"
 #include "signaller.h"
-#include "types.h"
 #include "user_property.h"
+#include "text_type.h"
 #include <libcxml/cxml.h>
 #include <boost/filesystem.hpp>
 #include <boost/signals2.hpp>
@@ -50,6 +50,9 @@ namespace cxml {
 class Job;
 class Film;
 class AtmosContent;
+class AudioContent;
+class TextContent;
+class VideoContent;
 
 class ContentProperty
 {
@@ -172,6 +175,10 @@ public:
                return position() + length_after_trim(film);
        }
 
+       dcpomatic::DCPTimePeriod period(std::shared_ptr<const Film> film) const {
+               return { position(), end(film) };
+       }
+
        dcpomatic::DCPTime length_after_trim (std::shared_ptr<const Film> film) const;
 
        boost::optional<double> video_frame_rate () const {
@@ -201,7 +208,7 @@ public:
 
        std::shared_ptr<VideoContent> video;
        std::shared_ptr<AudioContent> audio;
-       std::list<std::shared_ptr<TextContent>> text;
+       std::vector<std::shared_ptr<TextContent>> text;
        std::shared_ptr<AtmosContent> atmos;
 
        std::shared_ptr<TextContent> only_text () const;