X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fmono_picture_asset.h;h=75ebc3aa562dd61db61b4ab07d2b6877ede5d240;hb=8c93d334d182394217cb5e77f0aa50d6ac2acf6c;hp=76a1f990305fc145be13293acd58301a082e7efd;hpb=f389d903e967f44a5d6eed60df48bd5a89994bb2;p=libdcp.git diff --git a/src/mono_picture_asset.h b/src/mono_picture_asset.h index 76a1f990..75ebc3aa 100644 --- a/src/mono_picture_asset.h +++ b/src/mono_picture_asset.h @@ -1,20 +1,34 @@ /* - Copyright (C) 2012-2013 Carl Hetherington + Copyright (C) 2012-2015 Carl Hetherington - This program is free software; you can redistribute it and/or modify + This file is part of libdcp. + + libdcp is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + libdcp is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + along with libdcp. If not, see . + + In addition, as a special exception, the copyright holders give + permission to link the code of portions of this program with the + OpenSSL library under certain conditions as described in each + individual source file, and distribute linked combinations + including the two. + You must obey the GNU General Public License in all respects + for all of the code used other than OpenSSL. If you modify + file(s) with this exception, you may extend this exception to your + version of the file(s), but you are not obligated to do so. If you + do not wish to do so, delete this exception statement from your + version. If you delete this exception statement from all source + files in the program, then also delete it here. */ #ifndef LIBDCP_MONO_PICTURE_ASSET_H @@ -24,27 +38,40 @@ namespace dcp { -/** A 2D (monoscopic) picture asset */ +class MonoPictureAssetWriter; +class MonoPictureAssetReader; + +/** @class MonoPictureAsset + * @brief A 2D (monoscopic) picture asset. + */ class MonoPictureAsset : public PictureAsset { + public: - MonoPictureAsset (boost::filesystem::path directory, boost::filesystem::path mxf_name); + /** Create a MonoPictureAsset by reading a file. + * @param file Asset file to read. + */ + explicit MonoPictureAsset (boost::filesystem::path file); - void read (); + /** Create a MonoPictureAsset with a given edit rate. + * @param edit_rate Edit rate (i.e. frame rate) in frames per second. + */ + explicit MonoPictureAsset (Fraction edit_rate); /** Start a progressive write to a MonoPictureAsset */ - boost::shared_ptr start_write (bool); + boost::shared_ptr start_write (boost::filesystem::path, Standard standard, bool); + boost::shared_ptr start_read () const; - boost::shared_ptr get_frame (int n) const; - bool equals (boost::shared_ptr other, EqualityOptions opt, boost::function note) const; + bool equals ( + boost::shared_ptr other, + EqualityOptions opt, + NoteHandler note + ) const; private: - boost::filesystem::path path_from_list (int f, std::vector const & files) const; - void construct (boost::function, bool, MXFMetadata const &); std::string cpl_node_name () const; - int edit_rate_factor () const; }; -} +} #endif