[Rhythmbox-devel] Album covers, Amazon Web Services Licensing Agreement and other small things



There are still some problems with the album covers support,
for example :
- The Amazon Web Services Licensing Agreement (
http://www.amazon.com/gp/browse.html/ref=sc_fe_l_0/002-4071663-1310448?node=3440661
) doesn't allow us to keep covers found on amazon for more
than 3 months.
- There should be a way to say to rhythbox that he doesn't
have to search for a cover if we know that he will only found
a bad one on amazon.


To be compliant with the amazon rules, we could simply keep
the URL of the covers and the dates of download. Then, every
time we launch rhythmbox, we can re-download the covers older
than 3 months.

The problem is that to do this kind of things, we have to
store informations on the albums. For the moment, all the
informations on the database are saved in rhythmdb.xml but all
this informations are stored by songs and not by albums.

I think that the best solution will be to make another XML
file (covers.xml) with all the informations on the albums covers.

For example, it could be implemented like that :

An entry of an album without cover :
<entry type="cover">
    <artist>Artist</artist>
    <album>Album</album>
    <origin>none</origin>
    <do_not_search>true | false</do_not_search>
</entry>

An entry of an album cover found locally :
<entry type="cover">
    <artist>Artist</artist>
    <album>Album</album>
    <origin>local</origin>
</entry>

An entry of an album cover found on amazon :
<entry type="cover">
    <artist>Artist</artist>
    <album>Album</album>
    <origin>amazon</origin>
    <date>2005-05-27</date>

<url>http://images.amazon.com/images/P/B000002UJQ.01.MZZZZZZZ.jpg</url>
</entry>


With this kind of instructions :

When we add an album to the db :
if (cover_exists_locally)
    save it in rhythmbox/covers/
    add cover field with Artist/album/origin=local
elseif (cover_exists_on_amazon)
    save it in rhythmbox/covers/
    add cover field with Artist/album/origin=amazon/date/url
else
    add cover field with Artist/album/origin=none
end if


When we remove an album of the db:
remove cover field


When we show the albums list:
if (cover_file_exists)
    show it
else
    do_nothing
end if


When we play an album or search for a cover:
if (cover_file_exists)
    use it
else
    look xml file
    if (cover_field_exists)
        if (do_not_search==true)
            do_nothing
        else
            search_for_a_cover
            modify_cover_field
        end if
    else
        search_for_a_cover
        add cover_field
    end if
end if


When we launch rhythmbox:
look xml file
for (each_amazon_file)
    if (date>3 months)
        delete the cover
        redownload it with the url
    end if;
end for;


What do you think of this? Do you have a better idea to store
this informations?










Accédez au courrier électronique de La Poste : www.laposte.net ; 
3615 LAPOSTENET (0,34?/mn) ; tél : 08 92 68 13 50 (0,34?/mn)





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]