Fix code and tests so that SubtitleString::v_position is between 0 and 1 (not a perce...
[libdcp.git] / src / reel_asset.h
index b5e0537c4172f55c0638297dc05492c9e382e7c6..6db621ccf0b90c073dbfb6a6423eae2f49dfec2d 100644 (file)
@@ -48,41 +48,27 @@ class ReelAsset : public Object
 {
 public:
        ReelAsset ();
-       ReelAsset (boost::shared_ptr<Content> content, int64_t entry_point);
+       ReelAsset (boost::shared_ptr<Content> content, Fraction edit_rate, int64_t intrinsic_duration, int64_t entry_point);
        ReelAsset (boost::shared_ptr<const cxml::Node>);
 
        virtual void write_to_cpl (xmlpp::Node* node, Standard standard) const;
-
-       virtual bool equals (
-               boost::shared_ptr<const ReelAsset>,
-               EqualityOptions,
-               boost::function<void (NoteType, std::string)>)
-               const {
-               
-               return false;
-       }
+       virtual bool equals (boost::shared_ptr<const ReelAsset>, EqualityOptions, NoteHandler) const;
 
        /** @return a Ref to our actual content */
        Ref<Content>& content () {
                return _content;
        }
 
-       /** @return true if a KeyId is specified for this asset, implying
-        *  that its content is encrypted.
-        */
-       bool encrypted () const {
-               return !_key_id.empty ();
+       int64_t entry_point () const {
+               return _entry_point;
        }
 
-       /** @return Key ID to describe the key that encrypts this asset's;
-        *  content.
-        */
-       std::string key_id () const {
-               return _key_id;
+       int64_t duration () const {
+               return _duration;
        }
 
 protected:
-       /** @return the node name that this asset uses in the CPL's <Reel> node
+       /** @return the node name that this asset uses in the CPL's &lt;Reel&gt; node
         *  e.g. MainPicture, MainSound etc.
         */
        virtual std::string cpl_node_name () const = 0;
@@ -90,7 +76,7 @@ protected:
        /** @return Any attribute that should be used on the asset's node in the
         *  CPL.
         */
-       virtual std::pair<std::string, std::string> cpl_node_attribute () const;
+       virtual std::pair<std::string, std::string> cpl_node_attribute (Standard) const;
 
        /** Reference to the content (MXF or XML file) that this reel entry
         *  applies to.
@@ -99,13 +85,12 @@ protected:
 
 private:
        
-       std::string _annotation_text; ///< The <AnnotationText> from the reel's entry for this asset
-       Fraction _edit_rate;          ///< The <EditRate> from the reel's entry for this asset
-       int64_t _intrinsic_duration;  ///< The <IntrinsicDuration> from the reel's entry for this asset
-       int64_t _entry_point;         ///< The <EntryPoint> from the reel's entry for this asset
-       int64_t _duration;            ///< The <Duration> from the reel's entry for this asset
-       std::string _hash;            ///< The <Hash> from the reel's entry for this asset
-       std::string _key_id;          ///< The <KeyId> from the reel's entry for this asset, or empty if there isn't one
+       std::string _annotation_text; ///< The &lt;AnnotationText&gt; from the reel's entry for this asset
+       Fraction _edit_rate;          ///< The &lt;EditRate&gt; from the reel's entry for this asset
+       int64_t _intrinsic_duration;  ///< The &lt;IntrinsicDuration&gt; from the reel's entry for this asset
+       int64_t _entry_point;         ///< The &lt;EntryPoint&gt; from the reel's entry for this asset
+       int64_t _duration;            ///< The &lt;Duration&gt; from the reel's entry for this asset
+       std::string _hash;            ///< The &lt;Hash&gt; from the reel's entry for this asset
 };
 
 }