X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Fverify_dcp_dialog.cc;h=e86cb2c8002ce2728083115e20634c7c158e7998;hb=e83dd04a657865ecb5f8be82b7d36e6e19a5a18e;hp=d88a030bb40b817eb4767a8d054ca0abcb95ac23;hpb=08c2f6d80873f41c063c71588e781c9e6c3179e9;p=dcpomatic.git diff --git a/src/wx/verify_dcp_dialog.cc b/src/wx/verify_dcp_dialog.cc index d88a030bb..e86cb2c80 100644 --- a/src/wx/verify_dcp_dialog.cc +++ b/src/wx/verify_dcp_dialog.cc @@ -88,6 +88,12 @@ VerifyDCPDialog::VerifyDCPDialog (wxWindow* parent, shared_ptr job }; auto add = [&counts, &add_bullet](dcp::VerificationNote note, wxString message) { + if (note.reference_hash()) { + message.Replace("%reference_hash", std_to_wx(note.reference_hash().get())); + } + if (note.calculated_hash()) { + message.Replace("%calculated_hash", std_to_wx(note.calculated_hash().get())); + } if (note.note()) { message.Replace("%n", std_to_wx(note.note().get())); } @@ -97,6 +103,21 @@ VerifyDCPDialog::VerifyDCPDialog (wxWindow* parent, shared_ptr job if (note.line()) { message.Replace("%l", std_to_wx(dcp::raw_convert(note.line().get()))); } + if (note.frame()) { + message.Replace("%frame", std_to_wx(dcp::raw_convert(note.frame().get()))); + } + if (note.component()) { + message.Replace("%component", std_to_wx(dcp::raw_convert(note.component().get()))); + } + if (note.size()) { + message.Replace("%size", std_to_wx(dcp::raw_convert(note.size().get()))); + } + if (note.id()) { + message.Replace("%id", std_to_wx(note.id().get())); + } + if (note.other_id()) { + message.Replace("%other_id", std_to_wx(note.other_id().get())); + } add_bullet (note.type(), message); counts[note.type()]++; }; @@ -112,19 +133,19 @@ VerifyDCPDialog::VerifyDCPDialog (wxWindow* parent, shared_ptr job add (i, std_to_wx(*i.note())); break; case dcp::VerificationNote::Code::MISMATCHED_CPL_HASHES: - add(i, _("The hash of the CPL %n in the PKL does not agree with the CPL file. This probably means that the CPL file is corrupt.")); + add(i, _("The hash (%reference_hash) of the CPL %n in the PKL does not agree with the CPL file (%calculated_hash). This probably means that the CPL file is corrupt.")); break; case dcp::VerificationNote::Code::INVALID_PICTURE_FRAME_RATE: add(i, _("The picture in a reel has a frame rate of %n, which is not valid.")); break; case dcp::VerificationNote::Code::INCORRECT_PICTURE_HASH: - add(i, _("The hash of the picture asset %f does not agree with the PKL file. This probably means that the asset file is corrupt.")); + add(i, _("The hash (%calculated_hash) of the picture asset %f does not agree with the PKL file (%reference_hash). This probably means that the asset file is corrupt.")); break; case dcp::VerificationNote::Code::MISMATCHED_PICTURE_HASHES: add(i, _("The PKL and CPL hashes disagree for picture asset %f.")); break; case dcp::VerificationNote::Code::INCORRECT_SOUND_HASH: - add(i, _("The hash of the sound asset %f does not agree with the PKL file. This probably means that the asset file is corrupt.")); + add(i, _("The hash (%calculated_hash) of the sound asset %f does not agree with the PKL file (%reference_hash). This probably means that the asset file is corrupt.")); break; case dcp::VerificationNote::Code::MISMATCHED_SOUND_HASHES: add(i, _("The PKL and CPL hashes disagree for sound asset %f.")); @@ -401,6 +422,27 @@ VerifyDCPDialog::VerifyDCPDialog (wxWindow* parent, shared_ptr job case dcp::VerificationNote::Code::INVALID_MAIN_SOUND_CONFIGURATION: add(i, _(" describes incorrect number of channels (%n)")); break; + case dcp::VerificationNote::Code::MISSING_FONT: + add(i, _("The font file for font ID \"%n\" was not found, or was not referred to in the ASSETMAP.")); + break; + case dcp::VerificationNote::Code::INVALID_JPEG2000_TILE_PART_SIZE: + add(i, _("Frame %frame has an image component that is too large (component %component is %size bytes in size).")); + break; + case dcp::VerificationNote::Code::INCORRECT_SUBTITLE_NAMESPACE_COUNT: + add(i, _("The XML in the subtitle asset %n has more than one namespace declaration.")); + break; + case dcp::VerificationNote::Code::MISSING_LOAD_FONT_FOR_FONT: + add(i, _("A subtitle or closed caption refers to a font with ID %id that does not have a corresponding node.")); + break; + case dcp::VerificationNote::Code::MISSING_LOAD_FONT: + add(i, _("The SMPTE subtitle asset %id has nodes but no node")); + break; + case dcp::VerificationNote::Code::MISMATCHED_ASSET_MAP_ID: + add(i, _("The asset with ID %id in the asset map actually has an id of %other_id")); + break; + case dcp::VerificationNote::Code::EMPTY_CONTENT_VERSION_LABEL_TEXT: + add(i, _("The in a in CPL %id is empty")); + break; } }