Disallow referencing of Interop DCPs in SMPTE films, and vice versa (#804).
[dcpomatic.git] / src / lib / dcp_content.h
index 269a0373cfa2f55a038c319d2d0b30b625403e59..7ea9c3500f95b1284b05c9c9210cd742ad5004ff 100644 (file)
@@ -37,6 +37,8 @@ public:
        static int const REFERENCE_SUBTITLE;
 };
 
+class ContentPart;
+
 /** @class DCPContent
  *  @brief An existing DCP used as input.
  */
@@ -65,8 +67,6 @@ public:
        void set_default_colour_conversion ();
        std::list<DCPTime> reel_split_points () const;
 
-       void changed (int property);
-
        boost::filesystem::path directory () const;
 
        bool encrypted () const {
@@ -114,7 +114,11 @@ private:
 
        void read_directory (boost::filesystem::path);
        std::list<DCPTimePeriod> reels () const;
-       template <class T> bool can_reference (std::string overlapping, std::list<std::string>& why_not) const;
+       bool can_reference (
+               boost::function <boost::shared_ptr<ContentPart> (boost::shared_ptr<const Content>)>,
+               std::string overlapping,
+               std::list<std::string>& why_not
+               ) const;
 
        std::string _name;
        /** true if our DCP is encrypted */
@@ -134,6 +138,8 @@ private:
         *  rather than by rewrapping.
         */
        bool _reference_subtitle;
+
+       boost::optional<dcp::Standard> _standard;
 };
 
 #endif