/** * Serialize the FileData. * * @param builder The StringBuilder to serialize to. * @param fileData The FileData to serialize. * @param indentation The current indentation. */ private void serializeFileData(final StringBuilder builder, final FileData fileData, final String indentation) { CueSheetSerializer.logger.entering (CueSheetSerializer.class.getCanonicalName() , "serializeFileData(StringBuilder,FileData,String)" , new Object[]{builder, fileData, indentation} ); builder.append(indentation).append("FILE"); if (fileData.getFile() != null) { builder.append(' ').append(quoteIfNecessary(fileData.getFile())); } if (fileData.getFileType() != null) { builder.append(' ').append(quoteIfNecessary(fileData.getFileType())); } builder.append('\n'); for (TrackData trackData : fileData.getTrackData()) { serializeTrackData(builder, trackData, indentation + this.getIndentationValue()); } CueSheetSerializer.logger.exiting (CueSheetSerializer.class.getCanonicalName(), "serializeFileData(StringBuilder,FileData,String)"); }
/** * Get the last {@link jwbroek.cuelib.FileData} element. If none exist, an empty one is created and a warning * added. * * @param input * @return The last {@link jwbroek.cuelib.FileData} element. If none exist, an empty one is created and a warning * added. */ private static FileData getLastFileData(final LineOfInput input) { CueParser.logger.entering(CueParser.class.getCanonicalName(), "getLastFileData(LineOfInput)", input); List<FileData> fileDataList = input.getAssociatedSheet().getFileData(); if (fileDataList.size() == 0) { fileDataList.add(new FileData(input.getAssociatedSheet())); addWarning(input, WARNING_NO_FILE_SPECIFIED); } FileData result = fileDataList.get(fileDataList.size() - 1); CueParser.logger.exiting(CueParser.class.getCanonicalName(), "getLastFileData(LineOfInput)", result); return result; }
/** * Get all track data described in this cue sheet. * @return All track data associated described in this cue sheet. */ public List<TrackData> getAllTrackData() { logger.entering(CueSheet.class.getCanonicalName(), "getAllTrackData()"); List<TrackData> allTrackData = new ArrayList<TrackData>(); for (FileData fileData: this.fileData) { allTrackData.addAll(fileData.getTrackData()); } logger.exiting(CueSheet.class.getCanonicalName(), "getAllTrackData()", allTrackData); return allTrackData; }
if (!embedded) { String parent = file.getTrackData().getFile().getParent(); File referencedFile = new File(parent, fileData.getFile()); if (!referencedFile.exists()) continue; int size = fileData.getTrackData().size(); for (int i = 0; i < size; i++) { TrackData trackData = fileData.getTrackData().get(i); Track track = file.copy(); track.getTrackData().setCueEmbedded(embedded); endPosition = track.getTrackData().getTotalSamples(); } else { TrackData nextTrack = fileData.getTrackData().get(i + 1); endPosition = indexToSample(nextTrack.getIndex(1), sampleRate);
List<Index> fileIndices = getLastFileData(input).getAllIndices();
break; case PERFORMER: result = this.getPerformer()==null?this.getParent().getParent().getPerformer():this.getPerformer(); break; case TRACKPERFORMER: break; case SONGWRITER: result = this.getSongwriter()==null?this.getParent().getParent().getSongwriter():this.getSongwriter(); break; case TRACKSONGWRITER: break; case TITLE: result = this.getTitle()==null?this.getParent().getParent().getTitle():this.getTitle(); break; case TRACKTITLE: break; default: result = this.getParent().getParent().getMetaData(metaDataField); break;
/** * Get the last {@link jwbroek.cuelib.TrackData} element. If none exist, an empty one is created and a warning * added. * * @param input * @return The last {@link jwbroek.cuelib.TrackData} element. If none exist, an empty one is created and a * warning added. */ private static TrackData getLastTrackData(final LineOfInput input) { CueParser.logger.entering(CueParser.class.getCanonicalName(), "getLastTrackData(LineOfInput)", input); FileData lastFileData = getLastFileData(input); List<TrackData> trackDataList = lastFileData.getTrackData(); if (trackDataList.size() == 0) { trackDataList.add(new TrackData(lastFileData)); addWarning(input, WARNING_NO_TRACK_SPECIFIED); } TrackData result = trackDataList.get(trackDataList.size() - 1); CueParser.logger.exiting(CueParser.class.getCanonicalName(), "getLastTrackData(LineOfInput)", result); return result; }
/** * Serialize the FileData. * @param parentElement The parent element for the FileData. * @param fileData The FileData to serialize. */ private void serializeFileData(final Element parentElement, final FileData fileData) { CueSheetToXmlSerializer.logger.entering ( CueSheetToXmlSerializer.class.getCanonicalName() , "serializeFileData(Element,FileData)" , new Object[] {parentElement, fileData} ); Document doc = parentElement.getOwnerDocument(); Element fileElement = doc.createElementNS(this.namespace, "file"); parentElement.appendChild(fileElement); addAttribute(fileElement, "file", fileData.getFile()); addAttribute(fileElement, "type", fileData.getFileType()); for (TrackData trackData : fileData.getTrackData()) { serializeTrackData(fileElement, trackData); } CueSheetToXmlSerializer.logger.exiting (CueSheetToXmlSerializer.class.getCanonicalName(), "serializeFileData(Element,FileData)"); }
List<TrackData> data = cueSheet.getFileData().get(0).getTrackData(); data.get(2).setPerformer("Minimal Disc");
input.getAssociatedSheet().getFileData().add(new FileData(input.getAssociatedSheet() , file , fileMatcher.group(2).toUpperCase()
lastFileData.getTrackData().add(new TrackData(lastFileData, trackNumber, dataType)); } else { addWarning(input, WARNING_UNPARSEABLE_INPUT);
|| getLastFileData(input).getTrackData().size() == 0 ) {
|| getLastFileData(input).getTrackData().size() == 0 ) {
|| getLastFileData(input).getTrackData().size() == 0 ) {