public Track readSingle(Track track) {
TrackData trackData = track.getTrackData();
try {
apeTagProcessor.readAPEv2Tag(track);
RandomAccessFile raf = new RandomAccessFile(trackData.getFile(), "r");
WavpackContext wpc = WavPackUtils.WavpackOpenFileInput(raf);
trackData.setTotalSamples(WavPackUtils.WavpackGetNumSamples(wpc));
trackData.setSampleRate((int) WavPackUtils.WavpackGetSampleRate(wpc));
trackData.setChannels(WavPackUtils.WavpackGetReducedChannels(wpc));
trackData.setBitrate((int) (raf.length() / trackData.getTotalSamples() / 1000 * 8));
trackData.setCodec("WavPack");