package com.limegroup.gnutella.metadata;
import java.io.File;
import java.io.IOException;
import org.apache.commons.logging.LogFactory;
import org.apache.commons.logging.Log;
/**
* Sets WMA metadata using the ASF parser.
*/
public class WMAMetaData extends AudioMetaData {
private static final Log LOG = LogFactory.getLog(WMAMetaData.class);
/** Sets WMA data. */
public WMAMetaData(File f) throws IOException {
super(f);
}
/** Constructs a WMAMetadata from a parser. */
public WMAMetaData(ASFParser p) throws IOException {
set(p);
}
/** Parse using the ASF Parser. */
protected void parseFile(File f) throws IOException {
ASFParser data = new ASFParser(f);
set(data);
}
/** Sets data based on an ASF Parser. */
private void set(ASFParser data) throws IOException {
if(data.hasVideo())
throw new IOException("use WMV instead!");
if(!data.hasAudio())
throw new IOException("no audio data!");
setTitle(data.getTitle());
setAlbum(data.getAlbum());
setArtist(data.getArtist());
setYear(data.getYear());
setComment(data.getComment());
setTrack(data.getTrack());
setBitrate(data.getBitrate());
setLength(data.getLength());
setGenre(data.getGenre());
setLicense(data.getCopyright());
if(data.getLicenseInfo() != null)
setLicenseType(data.getLicenseInfo());
}
}