* enable use ID3 Tags as datasource in GUI
This commit is contained in:
parent
e2e4ee240e
commit
64c3d77100
Binary file not shown.
After Width: | Height: | Size: 488 B |
|
@ -61,6 +61,7 @@ import net.sourceforge.filebot.web.EpisodeListProvider;
|
||||||
import net.sourceforge.filebot.web.Movie;
|
import net.sourceforge.filebot.web.Movie;
|
||||||
import net.sourceforge.filebot.web.MovieFormat;
|
import net.sourceforge.filebot.web.MovieFormat;
|
||||||
import net.sourceforge.filebot.web.MovieIdentificationService;
|
import net.sourceforge.filebot.web.MovieIdentificationService;
|
||||||
|
import net.sourceforge.filebot.web.MusicIdentificationService;
|
||||||
import net.sourceforge.filebot.web.SortOrder;
|
import net.sourceforge.filebot.web.SortOrder;
|
||||||
import net.sourceforge.tuned.PreferencesMap.PreferencesEntry;
|
import net.sourceforge.tuned.PreferencesMap.PreferencesEntry;
|
||||||
import net.sourceforge.tuned.ui.ActionPopup;
|
import net.sourceforge.tuned.ui.ActionPopup;
|
||||||
|
@ -300,7 +301,9 @@ public class RenamePanel extends JComponent {
|
||||||
|
|
||||||
actionPopup.addSeparator();
|
actionPopup.addSeparator();
|
||||||
actionPopup.addDescription(new JLabel("Music Mode:"));
|
actionPopup.addDescription(new JLabel("Music Mode:"));
|
||||||
actionPopup.add(new AutoCompleteAction(WebServices.AcoustID.getName(), WebServices.AcoustID.getIcon(), new AudioFingerprintMatcher(WebServices.AcoustID)));
|
for (MusicIdentificationService it : WebServices.getMusicIdentificationServices()) {
|
||||||
|
actionPopup.add(new AutoCompleteAction(it.getName(), it.getIcon(), new AudioFingerprintMatcher(it)));
|
||||||
|
}
|
||||||
|
|
||||||
actionPopup.addSeparator();
|
actionPopup.addSeparator();
|
||||||
actionPopup.addDescription(new JLabel("Options:"));
|
actionPopup.addDescription(new JLabel("Options:"));
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
|
|
||||||
package net.sourceforge.filebot.web;
|
package net.sourceforge.filebot.web;
|
||||||
|
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
@ -9,43 +7,41 @@ import java.util.Map;
|
||||||
|
|
||||||
import javax.swing.Icon;
|
import javax.swing.Icon;
|
||||||
|
|
||||||
|
import net.sourceforge.filebot.ResourceManager;
|
||||||
import net.sourceforge.filebot.mediainfo.MediaInfo;
|
import net.sourceforge.filebot.mediainfo.MediaInfo;
|
||||||
import net.sourceforge.filebot.mediainfo.MediaInfo.StreamKind;
|
import net.sourceforge.filebot.mediainfo.MediaInfo.StreamKind;
|
||||||
|
|
||||||
|
|
||||||
public class ID3Lookup implements MusicIdentificationService {
|
public class ID3Lookup implements MusicIdentificationService {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getName() {
|
public String getName() {
|
||||||
return "ID3";
|
return "ID3 Tags";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Icon getIcon() {
|
public Icon getIcon() {
|
||||||
return null;
|
return ResourceManager.getIcon("search.mediainfo");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<File, AudioTrack> lookup(Iterable<File> files) throws Exception {
|
public Map<File, AudioTrack> lookup(Iterable<File> files) throws Exception {
|
||||||
Map<File, AudioTrack> info = new HashMap<File, AudioTrack>();
|
Map<File, AudioTrack> info = new HashMap<File, AudioTrack>();
|
||||||
|
|
||||||
MediaInfo mediaInfo = new MediaInfo();
|
MediaInfo mediaInfo = new MediaInfo();
|
||||||
for (File f : files) {
|
for (File f : files) {
|
||||||
if (!mediaInfo.open(f)) {
|
if (!mediaInfo.open(f)) {
|
||||||
throw new IOException("MediaInfo failed to open file: " + f);
|
throw new IOException("MediaInfo failed to open file: " + f);
|
||||||
}
|
}
|
||||||
|
|
||||||
String artist = mediaInfo.get(StreamKind.General, 0, "Performer");
|
String artist = mediaInfo.get(StreamKind.General, 0, "Performer");
|
||||||
String title = mediaInfo.get(StreamKind.General, 0, "Title");
|
String title = mediaInfo.get(StreamKind.General, 0, "Title");
|
||||||
String album = mediaInfo.get(StreamKind.General, 0, "Album");
|
String album = mediaInfo.get(StreamKind.General, 0, "Album");
|
||||||
mediaInfo.close();
|
mediaInfo.close();
|
||||||
|
|
||||||
info.put(f, new AudioTrack(artist, title, album));
|
info.put(f, new AudioTrack(artist, title, album));
|
||||||
}
|
}
|
||||||
|
|
||||||
return info;
|
return info;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue