Architecture discussion: the Collection Meta Framework Use/Misuse

Nikolaj Hald Nielsen nhnfreespirit at gmail.com
Sun Mar 2 23:34:14 CET 2008


>  I'll outline my reason for wanting integration of Playlists in the
>  collection framework:
>   - Since playlists contain tracks, they will always be associated with
>  either a TrackProvider or a full Collection. (TrackProvider is a
>  Collection "Light" which mainly just implements trackForUrl)
>   - PlaylistProvider is a laugh compared to Collection, just a few
>  playlist relate functions which can easily be added to Collection as
>  virtual stub functions.
>   - PlaylistManager only contains a few "real functions" plus a few
>  convenience functions which can be easily moved over to the
>  CollectionManager.
>   - Reusing the Capability system.
>  And last but not least:
>   - Makes implementing Playlist based Services (shoutcast, last.fm,
>  etc) a breeze since they will all share the same TreeView, in this
>  case it would be the same treeview as uses in PlaylistBrowser.
>  PodcastCategoryView is an example of that.

I agree with these points.

What in general concerns me though, is that if the collection
framework is deemed off limits to playlists and streams ( and any
service that provide these ), we demote a lot of content to being
"second class citizens", and in doing so encourage parallel
implementation of similar features. And I have not yet seen a
compelling reason to do this.

>  Indeed, not everything maps well to a tree view. last.fm might be one of them.
>  Of course we can still make it a treeview of Meta::Playlists. Example:
>  Last.fm root
>  | - Personal radio
>  | - Neighbor radio
>  | - -Track #1 (if showing tracks before the radio is accessed it possible)
>  | - -Track #2
>  | - Custom radio
>  | - Similar artists (to current playing track) in an available collection
>  | - - #1 Artist - Track
>  | - - #2 Artist - Track
>  | - Global Tag Radio
>  | - - (these required sub playlists!)


I don't think you are allowed to see upcoming tracks. But I might be wrong.

- Nikolaj


More information about the Amarok-devel mailing list