I've code working that uses FFMPEG to decode an audio file and then GNSDK MusicID (non-File, regular MusicID) to query the generted fingerpritn data against Gracenote. In the results, I get lot of data, _including_ multiple levels of Genre, Mood, Era. I also get external IDs like deezer and ISRC but also Gracenote's own GN_IDs.
Since the idea was to query batches of files, I changed the application to use MusicID-File. I enter artist / title from a track if I have it, fingerprint the audiodata and then query with ....query_do_trackid() to query the bunch of files.
This seems to work fine (although sometimes I get results with almost no metadata at all as first, and some 'single abums' match as the 4th or 5th option with full metadata..) but no matter what I try I can't seem to get GN_IDs or Genre.
I _do_ get Mood, Era, Tempo, Type and Origin. I also get ISRC, Image content and deezer IDs.
But I get _NO_ Genres or GN_ID.
If I take some fingerprint data (the bunch of numbers in the FPDATA block) and query the with the web musicid-api, I get the same hit but this time _with_ genre information and GN_ID.
So, how can I query a whole bunch of (possible unrelated) files but do get GN_ID and Genre together with the rest? Do I have to fingerprint them and then query them one-by-one with the regular MusicID api? Seems far from efficient for both of us :S.