Talk:Playlist Plugins as Client

Erik Massop edited this page Nov 4, 2017 · 1 revision

What's needed is two-fold:

  1. generalize the xforms API to allow playlist plugins to fit back in
  2. a method of identifying playlist filetypes

Point 1 shouldn't be too hard, and may not even be necessary. I'm honestly not familiar with the xforms architecture, so I could be wrong, but a sample chain could look like this: file (Backstreet Boys.pls) -> magic -> filename_extention (identified as pls!) -> pls (parses files) -> file (I Like Girls.mp3, I Really Like Girls.mp3, Song About Girls.mp3) -> id3v2 -> mp3 -> output -> \o/ song gets into medialib. Where things could really get hairy is exporting playlists from the medialib as playlists on the filesystem. Then again, this might just be solved by an extention to the xforms system that allows a chain like: medialib -> m3u -> file.

Point 2 is more involved, but is the real reason that playlist plugins have been allowed to rot. As XMMS2 became more dependent on magic (a la xforms, especially) it was realized that certain playlist types could not be detected reliably by magic, but there is still hope! A filename extention transform could correctly identify most playlists and allow playlist plugins back into the game. The filename extention transform has already been suggested to identify music files that fail magic as a last resort, and so it could serve double-duty identifying music files as well as playlist files. If a good playlist fails the file extention test, an average user could just rename it to fix the extention. If it's some dumb user complaining on IRC, "omgwtflol!!1~ your pr0gram is br0k3," he can just be told that the playlist is clearly corrupted. So while not as reliable as magic, extention detection is not going to make anybody (that matters) cry if it fails.

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.