User:LordSputnik/Track System Redesign
Comments
If you have comments on the ideas in this page, please email me using the email link at my MB user page: [1].
Introduction
The aim of this wiki page is to present a comprehensive, clear and purposeful system to replace recordings.
Read: http://en.wikipedia.org/wiki/Functional_Requirements_for_Bibliographic_Records
And: http://chatlogs.musicbrainz.org/musicbrainz/2012/2012-11/2012-11-05.html
Terminology
Work
A work is an artistic creation. Examples of a work include a song or some form of classical piece. Works are near enough perfect in their current form. They are well defined and already serve the intended purpose.
Performance
A performance is realization of a work. A performance can be a studio recording or a live recording. A performance refers to one or more recording sessions for the same work.
Performances can be merged, but this will hopefully only happen in rare circumstances. An editor must make an edit to associate a track with a performance, and this edit is subject to the voting process, like any other non-auto-edit.
Performance ARs should be attached at the performance level.
Track
A track is the embodiment of a performance. It is unique to the single release it appears on, and lives and dies with that release. When a release is added, tracks are created, assigned MBIDs, and given titles. The track names are displayed on the release main page. Clicking a track name will take the editor to the track.
Mastering ARs should be attached at the track level, and not at the release level, since every single track is unique and only appears on one release.
Overview
For example, if an EP is added to the DB:
"Some Songs" by "RandomBandom"
- An Old Song
- A New Song
- A Borrowed Song
- A Blue Song
Then four tracks will be created:
Add Track
2b54064a-8739-447f-bb05-288462d98f7c
|
Add Track
115898e8-f35c-448c-a376-4f0ee126e49f
|
Add Track
322b7246-5046-4ff8-909c-4fd899790e11
|
Add Track
bd66b032-4391-4c79-8706-f99e6261ddf5
|
The release will store tracks like this:
Position | MBID |
---|---|
1 | 2b54064a-8739-447f-bb05-288462d98f7c |
2 | 115898e8-f35c-448c-a376-4f0ee126e49f |
3 | 322b7246-5046-4ff8-909c-4fd899790e11 |
4 | bd66b032-4391-4c79-8706-f99e6261ddf5 |
When tracks are reordered on a release, the MBIDs are simply swapped. For example, swapping track 2 with track 3:
Position | MBID |
---|---|
1 | 2b54064a-8739-447f-bb05-288462d98f7c |
2 | 322b7246-5046-4ff8-909c-4fd899790e11 |
3 | 115898e8-f35c-448c-a376-4f0ee126e49f |
4 | bd66b032-4391-4c79-8706-f99e6261ddf5 |
If a track name is changed in the release, it simply updates the name on the track:
1. An Old Song -> 1. Ye Olde Songe
Edit Track
2b54064a-8739-447f-bb05-288462d98f7c
- Title: An Old Song | Ye Olde Songe
All of these tracks will automatically link to works, selected when the release is added. Tracks using a work will be stored in a tab, on the work itself. They will be grouped by release group, and all release groups should be collapsed initially:
Ye Olde Songe
- Song
Overview|Aliases|Tags|Details|Tracks|Edit
- Some Songs by RandomBandom
- 1/4 - Ye Olde Songe on Some Songs
- 1/4 - Ye Oldey Song on Some Songs
- Longer Songs by RandomBandom
- 1/14 - Ye Olde Songe (single version) on Longer Songs
- We Made an Awesome Cover by Band on Tandems
- 1/1 - Ye Olde Songe on We Made an Awesome Cover
Relationships
Work
Artist | Performance | URL |
---|---|---|
|
|
|
Performance
Artist |
---|
|
Track
Artist |
---|
|
Implementation
- Create a track entity. Replace all tracks in the db with this new entity, and relate them to recordings attached to releases through the current system.
To Add
- Edits and remixes should be same performance, unless new original material was used to create the track. Then make a new performance, and probably new work. Eg. radio edit won't need new performance, Wyclef Jean & Queen on Another One Bites the Dust would.
- Mashups should link to the contributing works.
- Performances should probably be able to have URL relationships - eg. WP page for a series of sessions.
- Track Groups