echonest / jEN

the java client for The Echo Nest API
67 stars 43 forks source link

Identifying a mp3 file #1

Open Gh0s7 opened 11 years ago

Gh0s7 commented 11 years ago

I'm sorry for opening this issue but I can't find the solution to my problem.

I'd like to use jEN to identify and tag a mp3 file which has incorrect informations.

I'm trying something like this: Track track = en.uploadTrack(file); track.waitForAnalysis(30000); if (track.getStatus() == Track.AnalysisStatus.COMPLETE) { Song s = new Song(en, track.getID()); System.out.println(s.getArtistName());

but it throws an exception

Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
    at java.util.ArrayList.rangeCheck(ArrayList.java:604)
    at java.util.ArrayList.get(ArrayList.java:382)
    at com.echonest.api.v4.util.MQuery.getObject(MQuery.java:34)
    at com.echonest.api.v4.ENItem.getItemMap(ENItem.java:242)
    at com.echonest.api.v4.ENItem.getItemMap(ENItem.java:220)
    at com.echonest.api.v4.ENItem.getItemMap(ENItem.java:215)
    at com.echonest.api.v4.ENItem.refresh(ENItem.java:78)
    at com.echonest.api.v4.ENItem.<init>(ENItem.java:36)
    at com.echonest.api.v4.Song.<init>(Song.java:38)
    at echonest.test.EchoNestTest.main(EchoNestTest.java:45)
Java Result: 1
plamere commented 11 years ago

Gh0s7 - you are attempting to create a Song using a track ID. You need to create a Song with a Song ID. If we were successfully able to resolve your track to a song, then you should be able to call track.getSongID to get the song ID associated with the track.

Paul

marusso1 commented 11 years ago

Is the generation of track fingerprints outside of the scope of this library?