Add new LocalTime constructor.
[libdcp.git] / src / reel_picture_asset.h
index a41cd9d2c390dd481a5b151cecddce97eaeec83c..1611221fc32a777be7f0a174e91aa6a46aedeff0 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2014 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2014-2015 Carl Hetherington <cth@carlh.net>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -24,7 +24,8 @@
 #ifndef LIBDCP_REEL_PICTURE_ASSET_H
 #define LIBDCP_REEL_PICTURE_ASSET_H
 
-#include "reel_mxf_asset.h"
+#include "reel_mxf.h"
+#include "reel_asset.h"
 #include "picture_asset.h"
 
 namespace dcp {
@@ -32,7 +33,7 @@ namespace dcp {
 /** @class ReelPictureAsset
  *  @brief Part of a Reel's description which refers to a picture asset.
  */
-class ReelPictureAsset : public ReelMXFAsset
+class ReelPictureAsset : public ReelAsset, public ReelMXF
 {
 public:
        ReelPictureAsset ();
@@ -42,9 +43,14 @@ public:
        virtual void write_to_cpl (xmlpp::Node* node, Standard standard) const;
        virtual bool equals (boost::shared_ptr<const ReelAsset>, EqualityOptions, NoteHandler) const;
 
+       /** @return the PictureAsset that this object refers to */
+       boost::shared_ptr<const PictureAsset> asset () const {
+               return asset_of_type<const PictureAsset> ();
+       }
+
        /** @return the PictureAsset that this object refers to */
        boost::shared_ptr<PictureAsset> asset () {
-               return boost::dynamic_pointer_cast<PictureAsset> (_asset_ref.object ());
+               return asset_of_type<PictureAsset> ();
        }
 
        /** @return picture frame rate */
@@ -59,9 +65,13 @@ public:
                _screen_aspect_ratio = a;
        }
 
+       Fraction screen_aspect_ratio () const {
+               return _screen_aspect_ratio;
+       }
+
 private:
        std::string key_type () const;
-       
+
        Fraction _frame_rate;
        Fraction _screen_aspect_ratio;
 };