Monday, 22 July 2013

AudioCD. Week 5.

Plan for 5th week was "Integration of MemoryMeta framework for a track representation."  Under this plan I've refactored existing AudioCdMeta classes: AudioCd{Track, Album, Artist, Composer, Genre, Year}. Work isn't finished yet, but further improvements are planned for this week.

I've also started work on a CDDB metadata fetching. I have this CD in my collection, so it was chosen as a test subject. On the picture you can see the result:

I was faced with several problems. First one is that now AudioCd collection supports both CD-Text and CDDB, so everything is simple if CD has CD-Text but CDDB info isn't available or vice versa. But when both metadata sources are presented we should decide which to use. Maybe it is good idea to create a user-defined setting in the AudioCd collection for this case.
Source of a second problem is that a discid isn't unique. Let me show it on an  example. Site of FreeDb project isn't very convenient probably they haven't heard about GET,  therefore I can't give you a link to a search results for discid 880bfd09, but here is a picture with results returned from a database:

As you can see there are several entries in the database for the same discid and the main problem is that one of them describes entirely different CD. For now I just take first match from the results returned by libcddb, but this problem has to be addressed in a different way at some point.

P.S. I fully switched to libcdio branch, so new staff will show up only there.

No comments:

Post a Comment