Hi devs,

I also disagree with that change. The playlist operator should remain
available in the most basic setup. I'll outline here the natural way
to fix the situation, using the same architecture as usual. It was
time to do something here anyway, since more formats are getting
supported and playlist() wants to get something out of that work too.

We could have a playlist_decoder module, to which plugins (stored in
the playlist_formats directory) could register. The plugins would be
independent, and notably the podcast/xspf/smil/.. plugins could be
turned off easily. The playlist_decoder could offer a decoding
function with an optional content-type parameter for forcing the
format (input.http() has such information), but would also be able to
auto-detect the format for an operator like playlist(). The easy way
to do so would be to try plugins one by one until one accepts the
file, which implies that the most structured formats (xml,pls) should
come first. The playlist would probably have to be passed as a string
for generality. The output could simply be a list of (metadata,uri).

If anyone wants to do that, of course I agree. Other names for
modules/directories are of course possible, but please keep it concise
and meaningful.
-- 
David

Répondre à