Add Benno Zwanenburg as a tester.
[dcpomatic.git] / src / wx / verify_dcp_dialog.cc
index 2f8dabc0960dd4ebf2dcdc0f5d1d9f2b6ae69136..e86cb2c8002ce2728083115e20634c7c158e7998 100644 (file)
@@ -88,6 +88,12 @@ VerifyDCPDialog::VerifyDCPDialog (wxWindow* parent, shared_ptr<VerifyDCPJob> 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()));
                }
@@ -109,6 +115,9 @@ VerifyDCPDialog::VerifyDCPDialog (wxWindow* parent, shared_ptr<VerifyDCPJob> job
                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()]++;
        };
@@ -124,19 +133,19 @@ VerifyDCPDialog::VerifyDCPDialog (wxWindow* parent, shared_ptr<VerifyDCPJob> 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."));
@@ -426,7 +435,13 @@ VerifyDCPDialog::VerifyDCPDialog (wxWindow* parent, shared_ptr<VerifyDCPJob> job
                        add(i, _("A subtitle or closed caption refers to a font with ID %id that does not have a corresponding <LoadFont> node."));
                        break;
                case dcp::VerificationNote::Code::MISSING_LOAD_FONT:
-                       add(i, "The SMPTE subtitle asset %id has <Text> nodes but no <LoadFont> node");
+                       add(i, _("The SMPTE subtitle asset %id has <Text> nodes but no <LoadFont> 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 <LabelText> in a <ContentVersion> in CPL %id is empty"));
                        break;
                }
        }