-enum ReelType
-{
- REELTYPE_SINGLE,
- REELTYPE_BY_VIDEO_CONTENT,
- REELTYPE_BY_LENGTH
-};
-
-enum ChangeType
-{
- CHANGE_TYPE_PENDING,
- CHANGE_TYPE_DONE,
- CHANGE_TYPE_CANCELLED
-};
-
-/** Type of captions.
- *
- * The generally accepted definitions seem to be:
- * - subtitles: text for an audience who doesn't speak the film's language
- * - captions: text for a hearing-impaired audience
- * - open: on-screen
- * - closed: only visible by some audience members
- *
- * At the moment DoM supports open subtitles and closed captions.
- *
- * There is some use of the word `subtitle' in the code which may mean
- * caption in some contexts.
- */
-enum TextType
-{
- TEXT_UNKNOWN,
- TEXT_OPEN_SUBTITLE,
- TEXT_CLOSED_CAPTION,
- TEXT_COUNT
-};
-
-extern std::string text_type_to_string (TextType t);
-extern std::string text_type_to_name (TextType t);
-extern TextType string_to_text_type (std::string s);
-
-enum ExportFormat
-{
- EXPORT_FORMAT_PRORES,
- EXPORT_FORMAT_H264
-};
-
-/** @struct Crop
- * @brief A description of the crop of an image or video.
- */
-struct Crop
-{
- Crop () : left (0), right (0), top (0), bottom (0) {}
- Crop (int l, int r, int t, int b) : left (l), right (r), top (t), bottom (b) {}
- explicit Crop (boost::shared_ptr<cxml::Node>);
-
- /** Number of pixels to remove from the left-hand side */
- int left;
- /** Number of pixels to remove from the right-hand side */
- int right;
- /** Number of pixels to remove from the top */
- int top;
- /** Number of pixels to remove from the bottom */
- int bottom;
-
- dcp::Size apply (dcp::Size s, int minimum = 4) const {
- s.width -= left + right;
- s.height -= top + bottom;
-
- if (s.width < minimum) {
- s.width = minimum;
- }
-
- if (s.height < minimum) {
- s.height = minimum;
- }
-
- return s;
- }
-
- void as_xml (xmlpp::Node *) const;
-};