private void retag() throws IOException, NotSupportedException { updateId3Tags(); updateCustomTag(); mp3file.save(mp3file.getFilename() + RETAG_EXTENSION); renameFiles(); }
private String chooseFilename(String mimeType) { String extension; int idx; if ((idx = mimeType.indexOf('/')) > 0) extension = "." + mimeType.substring(idx + 1).toLowerCase(); else mimeType = extension = "." + mimeType.toLowerCase(); ID3Wrapper id3Wrapper = new ID3Wrapper(mp3file.getId3v1Tag(), mp3file.getId3v2Tag()); String path = FileUtils.extractPath(mp3file.getFilename()); String baseFilename = path + toCompressedString(id3Wrapper.getArtist()) + "-" + toCompressedString(id3Wrapper.getAlbum()); String filename; if (!fileExists(filename = baseFilename + extension)) return filename; int i = 1; while (true) { if (!fileExists(filename = baseFilename + Integer.toString(i) + extension)) return filename; i++; } }
StringBuffer message = new StringBuffer(); message.append("Retagged \""); message.append(FileUtils.extractFilename(mp3file.getFilename())); message.append("\""); if (! hasId3v1Tag) message.append(", added ID3v1 tag"); if (mp3file != null) deleteFile(mp3file.getFilename() + RETAG_EXTENSION); } catch (Exception e) { printError("ERROR processing \"" + FileUtils.extractFilename(filename) + "\" - " + formatExceptionMessage(e)); if (mp3file != null) deleteFile(mp3file.getFilename() + RETAG_EXTENSION);
private void catalogMp3Fields(StringBuffer cat) { catalogField(cat, FileUtils.extractFilename(mp3file.getFilename())); catalogField(cat, Long.toString(mp3file.getLength())); catalogField(cat, Long.toString(mp3file.getLengthInSeconds())); catalogField(cat, mp3file.getVersion()); catalogField(cat, mp3file.getLayer()); catalogField(cat, Integer.toString(mp3file.getSampleRate())); catalogField(cat, Integer.toString(mp3file.getBitrate())); catalogField(cat, vbrString(mp3file.isVbr())); catalogField(cat, mp3file.getChannelMode()); }
private void showMp3Fields(StringBuffer buffer) { buffer.append("MP3 Data\n"); showField(buffer, "Filename", FileUtils.extractFilename(mp3file.getFilename())); showField(buffer, "Size", Long.toString(mp3file.getLength())); showField(buffer, "Length", formatTime(mp3file.getLengthInSeconds())); showField(buffer, "Version", mp3file.getVersion()); showField(buffer, "Layer", mp3file.getLayer()); showField(buffer, "Sample rate", Integer.toString(mp3file.getSampleRate()), "Hz"); showField(buffer, "Bitrate", Integer.toString(mp3file.getBitrate()), "kbps (" + vbrString(mp3file.isVbr()) + ")"); showField(buffer, "Channel mode", mp3file.getChannelMode()); }
private boolean findAndSetAlbumImage(ID3Wrapper id3Wrapper) { String path = FileUtils.extractPath(mp3file.getFilename()); if (trySetAlbumImage(id3Wrapper, path + id3Wrapper.getArtist() + " - " + id3Wrapper.getAlbum())) { return true; } if (trySetAlbumImage(id3Wrapper, path + toCompressedString(id3Wrapper.getArtist()) + "-" + toCompressedString(id3Wrapper.getAlbum()))) { return true; } if (trySetAlbumImage(id3Wrapper, path + id3Wrapper.getAlbum())) { return true; } if (trySetAlbumImage(id3Wrapper, path + toCompressedString(id3Wrapper.getAlbum()))) { return true; } if (trySetAlbumImage(id3Wrapper, path + "folder")) { return true; } int andPosInArtist = id3Wrapper.getArtist().indexOf(" & "); if (andPosInArtist > 0) { if (trySetAlbumImage(id3Wrapper, path + id3Wrapper.getArtist().substring(0, andPosInArtist) + " - " + id3Wrapper.getAlbum())) { return true; } if (trySetAlbumImage(id3Wrapper, path + toCompressedString(id3Wrapper.getArtist().substring(0, andPosInArtist)) + "-" + toCompressedString(id3Wrapper.getAlbum()))) { return true; } } printError("WARNING processing \"" + FileUtils.extractFilename(mp3file.getFilename()) + "\" - no album image found"); return false; }