+ case dcp::VerificationNote::Code::INVALID_JPEG2000_CODESTREAM:
+ add(i, _("A picture frame has an invalid JPEG2000 codestream (%n)"));
+ break;
+ case dcp::VerificationNote::Code::INVALID_JPEG2000_GUARD_BITS_FOR_2K:
+ add(i, _("A 2K JPEG2000 frame has %n guard bits instead of 1."));
+ break;
+ case dcp::VerificationNote::Code::INVALID_JPEG2000_GUARD_BITS_FOR_4K:
+ add(i, _("A 4K JPEG2000 frame has %n guard bits instead of 2."));
+ break;
+ case dcp::VerificationNote::Code::INVALID_JPEG2000_TILE_SIZE:
+ add(i, _("A JPEG2000 tile size does not match the image size."));
+ break;
+ case dcp::VerificationNote::Code::INVALID_JPEG2000_CODE_BLOCK_WIDTH:
+ add(i, _("A JPEG2000 frame has a code-block width of %n instead of 32."));
+ break;
+ case dcp::VerificationNote::Code::INVALID_JPEG2000_CODE_BLOCK_HEIGHT:
+ add(i, _("A JPEG2000 frame has a code-block height of %n instead of 32."));
+ break;
+ case dcp::VerificationNote::Code::INCORRECT_JPEG2000_POC_MARKER_COUNT_FOR_2K:
+ add(i, _("A 2K JPEG2000 frame has %n POC marker(s) instead of 0."));
+ break;
+ case dcp::VerificationNote::Code::INCORRECT_JPEG2000_POC_MARKER_COUNT_FOR_4K:
+ add(i, _("A 4K JPEG2000 frame has %n POC marker(s) instead of 1."));
+ break;
+ case dcp::VerificationNote::Code::INCORRECT_JPEG2000_POC_MARKER:
+ add(i, _("A JPEG2000 frame contains an invalid POC marker (%n)."));
+ break;
+ case dcp::VerificationNote::Code::INVALID_JPEG2000_POC_MARKER_LOCATION:
+ add(i, _("A JPEG2000 frame contains POC marker in an invalid location."));
+ break;
+ case dcp::VerificationNote::Code::INVALID_JPEG2000_TILE_PARTS_FOR_2K:
+ add(i, _("A 2K JPEG2000 frame contains %n tile parts instead of 3."));
+ break;
+ case dcp::VerificationNote::Code::INVALID_JPEG2000_TILE_PARTS_FOR_4K:
+ add(i, _("A 2K JPEG2000 frame contains %n tile parts instead of 6."));
+ break;
+ case dcp::VerificationNote::Code::MISSING_JPEG200_TLM_MARKER:
+ add(i, _("A JPEG2000 frame has no TLM marker."));
+ break;
+ case dcp::VerificationNote::Code::SUBTITLE_OVERLAPS_REEL_BOUNDARY:
+ add(i, _("A subtitle lasts longer than the reel it is in."));
+ break;
+ case dcp::VerificationNote::Code::MISMATCHED_TIMED_TEXT_RESOURCE_ID:
+ add(i, _("The Resource ID in a timed text MXF did not match the ID of the contained XML."));
+ break;
+ case dcp::VerificationNote::Code::INCORRECT_TIMED_TEXT_ASSET_ID:
+ add(i, _("The Asset ID in a timed text MXF is the same as the Resource ID or that of the contained XML."));
+ break;
+ case dcp::VerificationNote::Code::MISMATCHED_TIMED_TEXT_DURATION:
+ {
+ vector<string> parts;
+ boost::split (parts, i.note().get(), boost::is_any_of(" "));
+ add(i, wxString::Format(_("The reel duration (%s) of some timed text is not the same as the ContainerDuration (%s) of its MXF."), std_to_wx(parts[0]), std_to_wx(parts[1])));
+ break;
+ }
+ case dcp::VerificationNote::Code::MISSED_CHECK_OF_ENCRYPTED:
+ add(i, _("Part of the DCP could not be checked because no KDM was available."));
+ break;
+ case dcp::VerificationNote::Code::EMPTY_TEXT:
+ add(i, _("At least one <Text> node in a subtitle or closed caption is empty."));
+ break;
+ case dcp::VerificationNote::Code::MISMATCHED_CLOSED_CAPTION_VALIGN:
+ add(i, _("Some closed <Text> or <Image> nodes have different vertical alignments within a <Subtitle>."));
+ break;
+ case dcp::VerificationNote::Code::INCORRECT_CLOSED_CAPTION_ORDERING:
+ add(i, _("Some closed captions are not listed in the order of their vertical position."));
+ break;