Specifications/desktopcouch/playlist

Playlists

Playlist record format.

{
    "_id": "id_of_this_document", # internal to CouchDB
    "_rev": "revision_for_this_document", #internal to CouchDB
    "record_type": "http://www.freedesktop.org/wiki/Specifications/desktopcouch/playlist",
    "record_type_version": "1.0",
    "name": "<playlist name>",
    "u1_song_id_list": [list, of, song, ids],
    "application_annotations": {
        "Ubuntu One": {
            ...stuff specific to applications, nobody should rely on these...
        }
    }
}

Note: for Ubuntu One Music playlists, a song_id is the nodekey of the file in Ubuntu One. playlist_name is a user-displayable name for a playlist.


Says Chad, """Song IDs should be changed to be independent of some other index. It could be exact file names or a well-defined hash of the contents of a canonical version of the file. I think file_length_in_base10_ascii+SHA224_as_hex of the file conntents is okay. To get something Ubuntu One stores internally, we should add a lookup table in our application_annotations.

"""

Says Martin, Done.