Re: [Banshee-List] Smart Playlist plugin
- From: Aaron Bockover <abockover novell com>
- To: banshee-list gnome org
- Subject: Re: [Banshee-List] Smart Playlist plugin
- Date: Wed, 29 Mar 2006 16:02:56 -0500
Gabriel,
I trust you've see then QueryBuilder* stuff in Banshee.Widgets? I wrote
that about a year ago specifically for smart playlists.
Cheers,
Aaron
On Wed, 2006-03-29 at 14:57 -0600, Gabriel Burt wrote:
> On 3/29/06, Russ Brown <pickscrape gmail com> wrote:
> > I don't know a great deal about it, but I'd have thought that one good
> > way to go about doing this would be to implement smart playlists as
> > views in the database. That way, you don't need to worry about changes
> > to the track data, and smart playlists themselves don't take up any
> > space (other than the space to store the view definition, which is
> > peanuts).
> >
> > If you have a decent data model and sensible indexing, it will be very
> > fast and changes will take effect immediately.
> >
> > Note that this also makes it relatively easy to create chained smart
> > playlists such that iTunes can do: you can use the presence (or not) of
> > a song in one playlist as criteria for another.
> >
> > I'm by no means an expert on sqlite, but views created for use as smart
> > playlists could be stored in a different 'database' to the core banshee
> > tables, to avoid name clashes.
>
> Hi Russ. Thanks for the ideas.
>
> The way I've started implementing it is by defining an adaptor class
> around the PlaylistSource that has a query field associated with it.
> I create a new database table (SmartPlaylists) that has PlaylistID and
> Condition columns so I know which PlaylistSources are Smart. So
> essentially I am doing a "view" on the database, just by storing the
> SQL condition for the smart playlists. By wrapping a normal
> PlaylistSource I effectively get a "view cache", and it's very cheap
> to test changed/added songs against the Condition and add/remove them
> if needed and I can incrementally change the GUI. This way of doing
> it won't prevent us from chaining playlists.
>
> Gabriel
> _______________________________________________
> Banshee-list mailing list
> Banshee-list gnome org
> http://mail.gnome.org/mailman/listinfo/banshee-list
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]