@Override public void setComment(String comment) { if (comment != null && comment.length() > 0) { invalidateDataLength(); ID3v2CommentFrameData frameData = new ID3v2CommentFrameData(useFrameUnsynchronisation(), "eng", null, new EncodedText(comment)); addFrame(createFrame(ID_COMMENT, frameData.toBytes()), true); } }
@Override public String getItunesComment() { ID3v2CommentFrameData frameData = extractCommentFrameData(obseleteFormat ? ID_COMMENT_OBSELETE : ID_COMMENT, true); if (frameData != null && frameData.getComment() != null) return frameData.getComment().toString(); return null; }
private ID3v2CommentFrameData extractCommentFrameData(String id, boolean itunes) { ID3v2FrameSet frameSet = frameSets.get(id); if (frameSet != null) { Iterator<ID3v2Frame> iterator = frameSet.getFrames().iterator(); while (iterator.hasNext()) { ID3v2Frame frame = (ID3v2Frame) iterator.next(); ID3v2CommentFrameData frameData; try { frameData = new ID3v2CommentFrameData(useFrameUnsynchronisation(), frame.getData()); if (itunes && ITUNES_COMMENT_DESCRIPTION.equals(frameData.getDescription().toString())) { return frameData; } else if (!itunes) { return frameData; } } catch (InvalidDataException e) { // Do nothing } } } return null; }
public ID3v2CommentFrameData(boolean unsynchronisation, byte[] bytes) throws InvalidDataException { super(unsynchronisation); synchroniseAndUnpackFrameData(bytes); }
protected ID3v2CommentFrameData extractLyricsFrameData(String id) { ID3v2FrameSet frameSet = frameSets.get(id); if (frameSet != null) { Iterator<ID3v2Frame> iterator = frameSet.getFrames().iterator(); while (iterator.hasNext()) { ID3v2Frame frame = (ID3v2Frame) iterator.next(); ID3v2CommentFrameData frameData; try { frameData = new ID3v2CommentFrameData(useFrameUnsynchronisation(), frame.getData()); return frameData; } catch (InvalidDataException e) { // Do nothing } } } return null; }
@Override protected byte[] packFrameData() { byte[] bytes = new byte[getLength()]; if (comment != null) bytes[0] = comment.getTextEncoding(); else bytes[0] = 0;
public ID3v2CommentFrameData(boolean unsynchronisation, byte[] bytes) throws InvalidDataException { super(unsynchronisation); synchroniseAndUnpackFrameData(bytes); }
protected ID3v2CommentFrameData extractLyricsFrameData(String id) { ID3v2FrameSet frameSet = frameSets.get(id); if (frameSet != null) { Iterator<ID3v2Frame> iterator = frameSet.getFrames().iterator(); while (iterator.hasNext()) { ID3v2Frame frame = (ID3v2Frame) iterator.next(); ID3v2CommentFrameData frameData; try { frameData = new ID3v2CommentFrameData(useFrameUnsynchronisation(), frame.getData()); return frameData; } catch (InvalidDataException e) { // Do nothing } } } return null; }
@Override protected byte[] packFrameData() { byte[] bytes = new byte[getLength()]; if (comment != null) bytes[0] = comment.getTextEncoding(); else bytes[0] = 0;
@Override public void setLyrics(String lyrics) { if (lyrics != null && lyrics.length() > 0) { invalidateDataLength(); ID3v2CommentFrameData frameData = new ID3v2CommentFrameData(useFrameUnsynchronisation(), "eng", null, new EncodedText(lyrics)); addFrame(createFrame(ID_TEXT_LYRICS, frameData.toBytes()), true); } }
private ID3v2CommentFrameData extractCommentFrameData(String id, boolean itunes) { ID3v2FrameSet frameSet = frameSets.get(id); if (frameSet != null) { Iterator<ID3v2Frame> iterator = frameSet.getFrames().iterator(); while (iterator.hasNext()) { ID3v2Frame frame = (ID3v2Frame) iterator.next(); ID3v2CommentFrameData frameData; try { frameData = new ID3v2CommentFrameData(useFrameUnsynchronisation(), frame.getData()); if (itunes && ITUNES_COMMENT_DESCRIPTION.equals(frameData.getDescription().toString())) { return frameData; } else if (!itunes) { return frameData; } } catch (InvalidDataException e) { // Do nothing } } } return null; }
@Override public String getComment() { ID3v2CommentFrameData frameData = extractCommentFrameData(obseleteFormat ? ID_COMMENT_OBSELETE : ID_COMMENT, false); if (frameData != null && frameData.getComment() != null) return frameData.getComment().toString(); return null; }
@Override public void setItunesComment(String itunesComment) { if (itunesComment != null && itunesComment.length() > 0) { invalidateDataLength(); ID3v2CommentFrameData frameData = new ID3v2CommentFrameData(useFrameUnsynchronisation(), "eng", new EncodedText(ITUNES_COMMENT_DESCRIPTION), new EncodedText(itunesComment)); addFrame(createFrame(ID_COMMENT, frameData.toBytes()), true); } }
@Override public String getLyrics() { ID3v2CommentFrameData frameData; if (obseleteFormat) return null; else frameData = extractLyricsFrameData(ID_TEXT_LYRICS); if (frameData != null) return frameData.getComment().toString(); return null; }
@Override public void setComment(String comment) { if (comment != null && comment.length() > 0) { invalidateDataLength(); ID3v2CommentFrameData frameData = new ID3v2CommentFrameData(useFrameUnsynchronisation(), "eng", null, new EncodedText(comment)); addFrame(createFrame(ID_COMMENT, frameData.toBytes()), true); } }
@Override public String getComment() { ID3v2CommentFrameData frameData = extractCommentFrameData(obseleteFormat ? ID_COMMENT_OBSELETE : ID_COMMENT, false); if (frameData != null && frameData.getComment() != null) return frameData.getComment().toString(); return null; }
@Override public void setLyrics(String lyrics) { if (lyrics != null && lyrics.length() > 0) { invalidateDataLength(); ID3v2CommentFrameData frameData = new ID3v2CommentFrameData(useFrameUnsynchronisation(), "eng", null, new EncodedText(lyrics)); addFrame(createFrame(ID_TEXT_LYRICS, frameData.toBytes()), true); } }
@Override public String getItunesComment() { ID3v2CommentFrameData frameData = extractCommentFrameData(obseleteFormat ? ID_COMMENT_OBSELETE : ID_COMMENT, true); if (frameData != null && frameData.getComment() != null) return frameData.getComment().toString(); return null; }
@Override public void setItunesComment(String itunesComment) { if (itunesComment != null && itunesComment.length() > 0) { invalidateDataLength(); ID3v2CommentFrameData frameData = new ID3v2CommentFrameData(useFrameUnsynchronisation(), "eng", new EncodedText(ITUNES_COMMENT_DESCRIPTION), new EncodedText(itunesComment)); addFrame(createFrame(ID_COMMENT, frameData.toBytes()), true); } }
@Override public String getLyrics() { ID3v2CommentFrameData frameData; if (obseleteFormat) return null; else frameData = extractLyricsFrameData(ID_TEXT_LYRICS); if (frameData != null) return frameData.getComment().toString(); return null; }