+extern bool operator== (Fraction const & a, Fraction const & b);
+extern bool operator!= (Fraction const & a, Fraction const & b);
+
+struct EqualityOptions {
+ EqualityOptions ()
+ : max_mean_pixel_error (0)
+ , max_std_dev_pixel_error (0)
+ , max_audio_sample_error (0)
+ , cpl_names_can_differ (false)
+ , mxf_names_can_differ (false)
+ {}
+
+ double max_mean_pixel_error;
+ double max_std_dev_pixel_error;
+ int max_audio_sample_error;
+ bool cpl_names_can_differ;
+ bool mxf_names_can_differ;
+};
+
+/* Win32 defines this */
+#undef ERROR
+
+enum NoteType {
+ PROGRESS,
+ ERROR,
+ NOTE
+};
+
+/** @class Color
+ * @brief An RGB color (aka colour).
+ */
+class Color
+{
+public:
+ Color ();
+ Color (int r_, int g_, int b_);
+ Color (std::string argb_hex);
+
+ int r; ///< red component, from 0 to 255
+ int g; ///< green component, from 0 to 255
+ int b; ///< blue 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);
+