ObjectModel/TrackObject

Pie in the Sky!

This page describes (or contains discussions about) major new evolutions that will likely require dramatic changes to the server codebase (what we usually refer to as NGS), or an important additional quantity of development work. It's unlikely that these new features will make it before a couple more server releases. While you're definitely encouraged to participate and help in enhancing these propositions, this document is probably not meant for complete newcomers, and definitely can't serve as any kind of end-user documentation for the currently running system.

The Track Object

This page describes the track or title object and its role in the ObjectModel.

Definition

A track is the result of the whole music production process that started with the idea described in the ../SongObject. The track is defined by a name and a position on a ../ReleaseObject (e.g. a track number on a CD) on a ../MediumObject. The ../TrackObject defines the smallest directly identifiable and unsharable object on exactly one ../ReleaseObject.

Note, that the track object itself does not contain any information about audible data. Instead the track object belongs to exactly one ../MasterObject, that encapsulate the related audio data.

Again: Each track is unique with respect to it's ../MasterObject and ../ReleaseObject. That means there is only one instance of a track or in other terms: 2 tracks belong to the same ../TrackObject, if

  1. They belong to the same ../MediumObject.

  2. They belong to the same ../MasterObject.

  3. They have the same attributes (track title, position on the medium, etc.)

Boundaries

Boundaries to the MasterObject

The master that isn't directly accessible by the public needs to be used to create the track on a release. When a single identifiable piece of music can be listened to, it is a track on a release.

Boundaries at the bottom

There are no boundaries at the bottom. Each ../TrackObject is unique in audio and meta-data.

Relationships

Relationships to the MasterObject

Relationships to the ReleaseObject

Relationships to the ArtistObject

There is no direct relationship of a ../TrackObject to an ../ArtistObject. As a track described the representation on exactly one release and an artist identifies a person, we need to be able to relate the track to a textual representation of an artist, that might be different for different releases. Or simply, an artist can have different names on different releases and we want to relate the track to the exact name that was used for the release the track belongs to.

Instead of relationships to ../ArtistObjects we use:

Relationsships to the ReleaseArtistObject


CategoryDevelopment

last edited 2008-02-19 16:07:19 by dmppanda

MusicBrainz web site  *  Support / Contact