+ : runtime_error (String::compose (_("Cannot handle pixel format %1 during %2"), (int) f, o))
+{
+
+}
+
+TextSubtitleError::TextSubtitleError (string saw, string expecting, boost::filesystem::path f)
+ : FileError (String::compose (_("Error in subtitle file: saw %1 while expecting %2"), saw.empty() ? "[nothing]" : saw, expecting), f)
+{
+
+}
+
+InvalidSignerError::InvalidSignerError ()
+ : runtime_error (_("The certificate chain for signing is invalid"))
+{
+
+}
+
+InvalidSignerError::InvalidSignerError (string reason)
+ : runtime_error (String::compose (_("The certificate chain for signing is invalid (%1)"), reason))
+{
+
+}
+
+ProgrammingError::ProgrammingError (string file, int line, string message)
+ : runtime_error (String::compose (_("Programming error at %1:%2 %3"), file, line, message))
+{
+
+}
+
+KDMAsContentError::KDMAsContentError ()
+ : runtime_error (_("This file is a KDM. KDMs should be added to DCP content by right-clicking the content and choosing \"Add KDM\"."))
+{
+
+}
+
+KDMError::KDMError (string s, string d)
+ : runtime_error (String::compose ("%1 (%2)", s, d))
+ , _summary (s)
+ , _detail (d)