History:Workman

From MusicBrainz Wiki
Status: This Page is Glorious History!

The content of this page either is bit-rotted, or has lost its reason to exist due to some new features having been implemented in MusicBrainz, or maybe just described something that never made it in (or made it in a different way), or possibly is meant to store information and memories about our Glorious Past. We still keep this page to honor the brave editors who, during the prehistoric times (prehistoric for you, newcomer!), struggled hard to build a better present and dreamed of an even better future. We also keep it for archival purposes because possibly it still contains crazy thoughts and ideas that may be reused someday. If you're not into looking at either the past or the future, you should just disregard entirely this page content and look for an up to date documentation page elsewhere.

The Workman CD Database

The progenitor of all the current music metadatabases was the workmandb "index file" used by the Workman CD player program for Unix workstations. Developed in the late '80s, this database format supported features that were lost in the development of CDDB and which only now (over a dozen years later) are being proposed as future features to be implemented in MusicBrainz.

In a recent discussion on the MailingList, the StyleDude raised (once again) the issue of TrackSections:

  • The best solution would be for the database to be able to handle multiple songs in a single track natively. Internally the tracks could be labeled 11a, 11b, etc, and the display would just strip the a, b, etc and just list the sub-tracks in order. Expanding on this a little you could also feasibly have different artists performing different sub-tracks, which would be incredibly useful for things like medleys and some mash-ups.

The Workman database file format has the concept of a section. To quote from the workmandb man page:

  • Workman(1) allows the user to split a CD's physical tracks into smaller virtual tracks called sections. The sections keyword, which must immediately follow tracks, defines the starting positions of the sections. Sections are inserted into the track list, and track numbers are adjusted accordingly, e.g. section 1.2 as presented to the user is represented as track 2 in the database file.

This allowed you to specify titles and artist names differently for each sections. A particularly clever feature of the Workman player would scan a CD for IndexMarks and automatically split tracks into sections based on those.

In addition to support for sections, the workmandb format supports TrackGroupings by allowing for "replacement disc titles" that can be used to name parts of a CD (e.g. a symphony title on an album with multiple works), as well as a continue keyword that would link tracks that shouldn't be shuffled independently (e.g. the movements of a symphony). There are even cdvolume and volume keywords that work much like ReplayGain MP3 tags. None of these features are supported by current music metadabases, and some (like continue) aren't even possible to implement using current MP3 or other tagging systems.

Perhaps someday all the functionality present in the workmandb format may once again be available in MusicBrainz.