- /** Construct a DCP object for an existing DCP.
- *
- * The DCP's XML metadata will be examined, and you can then look at the contents
- * of the DCP.
- *
- * @param directory Existing DCP's directory.
- */
- DCP (std::string directory);
-
- /** Add a sound asset.
- * @param files Pathnames of WAV files to use in the order Left, Right,
- * Centre, Lfe (sub), Left surround, Right surround; not all files need
- * to be present.
- */
- void add_sound_asset (std::vector<std::string> const & files);
-
- /** Add a sound asset.
- * @param get_path Functor to get the path to the WAV for a given channel.
- * @param channels Number of channels.
- */
- void add_sound_asset (sigc::slot<std::string, Channel> get_path, int channels);
-
- /** Add a picture asset.
- * @param files Pathnames of JPEG2000 files, in frame order.
- * @param width Width of images in pixels.
- * @param height Height of images in pixels.
- */
- void add_picture_asset (std::vector<std::string> const & files, int width, int height);
-
- /** Add a picture asset.
- * @param get_path Functor to get path to the JPEG2000 for a given frame.
- * @param width Width of images in pixels.
- * @param height Height of images in pixels.
- */
- void add_picture_asset (sigc::slot<std::string, int> get_path, int width, int height);
-
- /** Write the required XML files to the directory that was
- * passed into the constructor.
+ typedef std::list<boost::shared_ptr<DCPReadError> > ReadErrors;
+
+ /** Read the DCP's structure into this object.
+ * @param keep_going true to try to keep going in the face of (some) errors.
+ * @param errors List of errors that will be added to if keep_going is true.