Merge.
[libdcp.git] / src / picture_asset.h
index 8883e538fa9332e3bd8860e2bc98c826fb267e9a..cccea0f33dfaf527f4bcc8e62809e27de04d3456 100644 (file)
 
 */
 
+/** @file  src/picture_asset.h
+ *  @brief An asset made up of JPEG2000 files
+ */
+
 #include "asset.h"
 
 namespace libdcp
 {
 
-/** An asset made up of JPEG2000 files */
+/** @brief An asset made up of JPEG2000 files */
 class PictureAsset : public Asset
 {
 public:
-       PictureAsset (std::list<std::string> const &, std::string, int, int, int, int);
+       /** Construct a PictureAsset, generating the MXF from the JPEG2000 files.
+        *  This may take some time; progress is indicated by emission of the Progress signal.
+        *  @param files Pathnames of JPEG2000 files, in frame order.
+        *  @param directory Directory in which to create MXF file.
+        *  @param mxf_name Name of MXF file to create.
+        *  @param progress Signal to inform of progress.
+        *  @param fps Frames per second.
+        *  @param length Length in frames.
+        *  @param width Width of images in pixels.
+        *  @param height Height of images in pixels.
+        */
+       PictureAsset (
+               std::vector<std::string> const & files,
+               std::string directory,
+               std::string mxf_name,
+               sigc::signal1<void, float>* progress,
+               int fps,
+               int length,
+               int width,
+               int height
+               );
+
+       /** Construct a PictureAsset, generating the MXF from the JPEG2000 files.
+        *  This may take some time; progress is indicated by emission of the Progress signal.
+        *  @param get_path Functor which returns a JPEG2000 file path for a given frame (frames counted from 0).
+        *  @param directory Directory in which to create MXF file.
+        *  @param mxf_name Name of MXF file to create.
+        *  @param progress Signal to inform of progress.
+        *  @param fps Frames per second.
+        *  @param length Length in frames.
+        *  @param width Width of images in pixels.
+        *  @param height Height of images in pixels.
+        */
+       PictureAsset (
+               sigc::slot<std::string, int> get_path,
+               std::string directory,
+               std::string mxf_name,
+               sigc::signal1<void, float>* progress,
+               int fps,
+               int length,
+               int width,
+               int height
+               );
 
-       void write_to_cpl (std::ostream &) const;
+       PictureAsset (std::string directory, std::string mxf_name, int fps, int length, int width, int height);
+       
+       /** Write details of this asset to a CPL stream.
+        *  @param s Stream.
+        */
+       void write_to_cpl (std::ostream& s) const;
 
+       std::list<std::string> equals (boost::shared_ptr<const Asset> other, EqualityFlags flags) const;
+       
 private:
+       std::string path_from_list (int f, std::vector<std::string> const & files) const;
+       void construct (sigc::slot<std::string, int>);
+       
        /** picture width in pixels */
        int _width;
        /** picture height in pixels */