#define LIBDCP_TYPES_H
#include <boost/shared_ptr.hpp>
+#include <boost/function.hpp>
#include <string>
namespace dcp
*/
Fraction (int n, int d) : numerator (n), denominator (d) {}
+ float as_float () const {
+ return float (numerator) / denominator;
+ }
+
int numerator;
int denominator;
};
, max_std_dev_pixel_error (0)
, max_audio_sample_error (0)
, cpl_annotation_texts_can_differ (false)
- , mxf_names_can_differ (false)
+ , mxf_filenames_can_differ (false)
+ , reel_hashes_can_differ (false)
{}
/** The maximum allowable mean difference in pixel value between two images */
int max_audio_sample_error;
/** true if the <AnnotationText> nodes of CPLs are allowed to differ */
bool cpl_annotation_texts_can_differ;
- /** true if MXF filenames are allowed to differ */
- bool mxf_names_can_differ;
+ /** true if MXF file leafnames are allowed to differ */
+ bool mxf_filenames_can_differ;
+ /** true if <Hash>es in Reels can differ */
+ bool reel_hashes_can_differ;
};
-/* Win32 defines this */
-#undef ERROR
-
+/* I've been unable to make mingw happy with ERROR as a symbol, so
+ I'm using a DCP_ prefix here.
+*/
enum NoteType {
- PROGRESS,
- ERROR,
- NOTE
+ DCP_PROGRESS,
+ DCP_ERROR,
+ DCP_NOTE
};
enum Standard {
SMPTE
};
-/** @class Color
- * @brief An RGB color (aka colour).
+enum Formulation {
+ MODIFIED_TRANSITIONAL_1,
+ DCI_ANY,
+ DCI_SPECIFIC
+};
+
+/** @class Colour
+ * @brief An RGB colour.
*/
-class Color
+class Colour
{
public:
- Color ();
- Color (int r_, int g_, int b_);
- Color (std::string argb_hex);
+ Colour ();
+ Colour (int r_, int g_, int b_);
+ Colour (std::string argb_hex);
int r; ///< red component, from 0 to 255
int g; ///< green component, from 0 to 255
std::string to_argb_string () const;
};
-extern bool operator== (Color const & a, Color const & b);
-extern bool operator!= (Color const & a, Color const & b);
-extern std::ostream & operator<< (std::ostream & s, Color const & c);
+extern bool operator== (Colour const & a, Colour const & b);
+extern bool operator!= (Colour const & a, Colour const & b);
+extern std::ostream & operator<< (std::ostream & s, Colour const & c);
typedef std::pair<std::string, boost::shared_ptr<const parse::AssetMap> > PathAssetMap;
+typedef boost::function<void (NoteType, std::string)> NoteHandler;
+
+
}
#endif