addWarning(input, WARNING_NO_FLAGS); } else { TrackData trackData = getLastTrackData(input);
/** * Parse the POSTGAP command. * <p/> * POSTGAP [mm:ss:ff] * Must come after all INDEX fields for a track. Only one per track allowed. * * @param input */ private static void parsePostgap(final LineOfInput input) { CueParser.logger.entering(CueParser.class.getCanonicalName(), "parsePostgap(LineOfInput)", input); Matcher postgapMatcher = PATTERN_POSTGAP.matcher(input.getInput()); if (startsWith(input, "POSTGAP") && postgapMatcher.matches()) { TrackData trackData = getLastTrackData(input); if (trackData.getPostgap() != null) { addWarning(input, WARNING_DATUM_APPEARS_TOO_OFTEN); } trackData.setPostgap(parsePosition(input, postgapMatcher.group(1))); } else { addWarning(input, WARNING_UNPARSEABLE_INPUT); } CueParser.logger.exiting(CueParser.class.getCanonicalName(), "parsePostgap(LineOfInput)"); }
/** * Parse the ISRC command. * <p/> * ISRC [code] * International Standard Recording Code of track. Must come after TRACK, but before INDEX. * * @param input */ private static void parseIsrc(final LineOfInput input) { CueParser.logger.entering(CueParser.class.getCanonicalName(), "parseIsrc(LineOfInput)", input); if (startsWith(input, "ISRC")) { String isrcCode = input.getInput().substring("ISRC".length()).trim(); if (!PATTERN_ISRC_CODE.matcher(isrcCode).matches()) { addWarning(input, WARNING_NONCOMPLIANT_ISRC_CODE); } TrackData trackData = getLastTrackData(input); if (trackData.getIndices().size() > 0) { addWarning(input, WARNING_ISRC_IN_WRONG_PLACE); } if (trackData.getIsrcCode() != null) { addWarning(input, WARNING_DATUM_APPEARS_TOO_OFTEN); } trackData.setIsrcCode(isrcCode); } else { addWarning(input, WARNING_UNPARSEABLE_INPUT); } CueParser.logger.exiting(CueParser.class.getCanonicalName(), "parseIsrc(LineOfInput)"); }
/** * Parse the PREGAP command. * <p/> * PREGAP [mm:ss:ff] * Must come after TRACK, but before INDEX fields for that track. * * @param input */ private static void parsePregap(final LineOfInput input) { CueParser.logger.entering(CueParser.class.getCanonicalName(), "parsePregap(LineOfInput)", input); Matcher pregapMatcher = PATTERN_PREGAP.matcher(input.getInput()); if (startsWith(input, "PREGAP") && pregapMatcher.matches()) { TrackData trackData = getLastTrackData(input); if (trackData.getPregap() != null) { addWarning(input, WARNING_DATUM_APPEARS_TOO_OFTEN); } if (trackData.getIndices().size() > 0) { addWarning(input, WARNING_PREGAP_IN_WRONG_PLACE); } trackData.setPregap(parsePosition(input, pregapMatcher.group(1))); } else { addWarning(input, WARNING_UNPARSEABLE_INPUT); } CueParser.logger.exiting(CueParser.class.getCanonicalName(), "parsePregap(LineOfInput)"); }
TrackData trackData = getLastTrackData(input); List<Index> trackIndices = trackData.getIndices();
} else { TrackData trackData = getLastTrackData(input); if (trackData.getPerformer() != null) { addWarning(input, WARNING_DATUM_APPEARS_TOO_OFTEN);
} else { TrackData trackData = getLastTrackData(input); if (trackData.getSongwriter() != null) { addWarning(input, WARNING_DATUM_APPEARS_TOO_OFTEN);
} else { TrackData trackData = getLastTrackData(input); if (trackData.getTitle() != null) { addWarning(input, WARNING_DATUM_APPEARS_TOO_OFTEN);