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/

_______________________________________________
desktop-devel-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/desktop-devel-list

Reply via email to