/*
- 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
#ifndef LIBDCP_REEL_PICTURE_ASSET_H
#define LIBDCP_REEL_PICTURE_ASSET_H
-#include "reel_mxf_asset.h"
-#include "picture_mxf.h"
+#include "reel_mxf.h"
+#include "reel_asset.h"
+#include "picture_asset.h"
namespace dcp {
/** @class ReelPictureAsset
- * @brief Part of a Reel's description which refers to a picture MXF.
+ * @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 ();
- ReelPictureAsset (boost::shared_ptr<PictureMXF> content, int64_t entry_point);
+ ReelPictureAsset (boost::shared_ptr<PictureAsset> asset, int64_t entry_point);
ReelPictureAsset (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;
+ virtual bool equals (boost::shared_ptr<const ReelAsset>, EqualityOptions, NoteHandler) const;
- boost::shared_ptr<PictureMXF> mxf () {
- return boost::dynamic_pointer_cast<PictureMXF> (_content.object ());
+ /** @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 asset_of_type<PictureAsset> ();
+ }
+
+ /** @return picture frame rate */
Fraction frame_rate () const {
return _frame_rate;
}
+ /** Set the ScreenAspectRatio of this asset.
+ * @param a New aspect ratio.
+ */
void set_screen_aspect_ratio (Fraction a) {
_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;
};