Playlist refactor

From XMMS2
Jump to: navigation, search

The new playlist will be able to have different backends. And all playlist is handled the same way. It should follow the current API quite closely with some modifications.

  1. All playlist calls should have a "identifier" argument ( playlist_new (identifier), playlist_clear (identifier), playlist_add (identifier) )
  2. Signals should be emitted with the identifer argument
  3. a new call that switchs current playlist to identifer should be implemented (playlist_switch (identifer))

The primary storage backend for playlists should probably be a sqlite db. (not using the current medialib.db, but playlists.db because of locking issues).


Rough todo list:

  • Make playlist module able to switch backend
  • add identifer to each call
  • make a sqlite backend
  • remove current playlists implementation in medialib.c
  • add other backends?


Backends:

backends should be able to only overrule certain calls to playlist module. like xmms_playlist_advance for example. possible api:

b = xmms_playlist_backend_register ("backend name");
xmms_playlist_backend_add_method (XMMS_PLAYLIST_BACKEND_ADVANCE, my_advance);

See Also

  1. How I Learned to Stop Worrying and Love Collections
  2. Continued Thoughts on Collections
  3. Reply to 'Continued Thoughts on Collections'
  4. Reply to "Reply to 'Continued Thoughts on Collections'"
  5. Reply to "Reply to 'Reply to 'Continued Thoughts on Collections"
  6. Reply to « Reply to "Reply to 'Reply to 'Continued Thoughts on Collections" »
  7. Subsequent Reply