Re: Proposing Tracker for inclusion into GNOME 2.18
- From: Jamie McCracken <jamiemcc blueyonder co uk>
- To: Shaun McCance <shaunm gnome org>
- Cc: doclivingston gmail com, desktop-devel-list gnome org
- Subject: Re: Proposing Tracker for inclusion into GNOME 2.18
- Date: Thu, 26 Oct 2006 10:55:06 +0100
Shaun McCance wrote:
On Wed, 2006-10-25 at 11:20 +0100, Jamie McCracken wrote:
James "Doc" Livingston wrote:
What would be really cool is support for field groups, but that would
probably require a fairly large change. So you could do things like
correctly storing the release dates when a track is on multiple albums:
Title=Some Track
Artist=Artist
(Album=X, ReleaseDate=2000/1/1)
(Album=Y, ReleaseDate=2001/2/2)
that would be tricky unless the album was a separate object
I spent a good long while trying to make a complete metadata
ontology for musical recordings. Some of these things just
get really tricky.
The release date is clearly a property of the album itself,
so the proposal above is basically trying to store album
properties without actually talking about the album.
A related but harder issue is when you have some property
that really belongs to the track-album pair, and not to
either particular object. (Think of child properties in
GTK+: "expand" belongs neither to a GtkBox or to whichever
GtkWidget is inside it, but rather to the pair).
Track numbers are the easiest example of this. A track
might be number 2 on Album 1 and number 7 on Album 2.
Clearly, the track itself can't just have a track number.
And the track number obviously doesn't belong to either
album.
One clever mathy way of addressing this is to recognize
that a relation R on S and T is just subset R ⊂ T x S.
Then a combo property can be a mapping from T x S into
some other set.
The more practical way of solving this is to say that
a track is on only one album, and then create relations
to say that two tracks are basically the same.
As far as I can see, a music album is a separate first class object.
The relationship between albums and tracks is a many-to many one (IE one
track can be on many albums and one album can contain many tracks) so
this cannot realistically be modelled as a single object or table.
The way RhythmBox uses albums also suggests its a separate first class
object
Its easy enough for us to this implement it like that in tracker.
--
Mr Jamie McCracken
http://jamiemcc.livejournal.com/
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]