MyDigitalLife

MediaDb – the media database

The Media Database contains information about (music) albums.

Populating the database

Currently the database is created in memory by reading the ‘artist .xml’ files in the folder D:\Database\Muziek\Albums.

Database checking against the music files on disc

Where the database indicates that you have an album (partly) on disc, this is checked against the content on disc.
Also vice versa, all music files on disc should be found in the database.

Functionality of the application

The album information is shown in a table with the following columns:

  • ToDo
  • ToDo

Media Database structure

The stucture of the media database is shown below.

MediaDb
The MediaDb consists of:

  • Artists (list of Artist)
    Provides information about the artists. Artists can e.g. be players on an album, or writers of a song.
  • Tracks (list of Track)
    A track is a specific recording of a song appearing on an album.
  • Albums (list of Album)
    The main item of the database.
  • TrackCollections (list of TrackCollection)
    A collection of tracks, not being an album. E.g. a collection of pop songs.

Album
Album is used as the general term for a collection of tracks issued by an artist, e.g. a long play record (lp) or Compact Disc (cd).
The Album information consist of:

  • id (text)
    The unique id of the album.
  • title (text)
    The title (or name) of the album.
  • artist (Artist reference)
    A reference to the Artist (e.g. band) of the album.
  • issue date (FlexDate)
    The date, or year, or month in a year, the album was released.
  • front images (list of filenames)
    A list a filenames of frontside images of the album. Some albums are released (in different countries) with different album covers.
  • front inside images (list of filenames)
    A list a filenames of front inside images of the album.
  • back images (list of filenames)
    A list a filenames of backside images of the album. Some albums are released (in different countries) with different album covers.
  • label images (list of filenames)
    A list a filenames of label images of the album.
  • players (a list of references to Player)
    The performers on the album.
  • description title (text)
    A title of the description.
  • description (text)
    A description of the album.
  • issued on media (list of MediumType)
    A list of media on which the album is issued.
  • compilation (boolean)
    If true, the album is a compilation album.
  • soundtrack (boolean)
    If true, the album is a movie soundtrack album.
  • discs (list of Disc)
    An album consists of 1 or more Discs.
  • my information (MyInfo)
    Your personal information about this album.

MyCompilation
This is an Album which you compiled yourself.

TrackCollection
A collection of tracks belonging to a specific Collection.
A TrackCollection consists of:

  • collection (Collection)
    Specifies the types of tracks in this collection.
  • track references (list of TrackReference)
    References to the tracks in this collection.

Artist
Artist is the common term for a person, band, orchestra etcetera.
The information consists of:

  • name (text)
    The name of the artist.
  • container artist (Artist)
    It makes sense to group certain artists. For example ‘Neil Young’ and ‘Neil Young & Crazy Horse’ can be grouped under ‘Neil Young’.
    This group ‘Neil Young’ is in this case the container artist. If no container artist is specified, it is the same as the artist itself.

Player
A Player is an artist combined with the instruments he or she plays on the album.
A Player consists of:

  • artist (reference to Artist)
    A reference to an artist.
  • instruments (list of text)
    Each item is a free format instrument name.

Disc
An Album consists of one or more discs. A disc contains tracks.
A Disc consists of:

  • title (text)
    Title of the disc, often something simple like ‘Disc one’.
  • disc nr (a decimal number)
    The discs of an album are numbered from 1 up.
  • track references (list of TrackReference)
    References to the tracks of the album.

Track
A Track is a specific recording of a song appearing on an album.
A Track consists of:

  • title (text)
    The track title.
  • duration (a decimal number)
    The duration of the track in seconds.
  • authors (list of Artist)
    The writers of the song.
  • artist (Artist)
    A reference to the Artist (e.g. band) of the track.
    This is typically only used on compilation albums, containing tracks of different artists.
  • players (list of Player)
    The players on this track.
  • parts (list of TrackPart)
    If applicable, the parts of the track.
  • referred by (list of TrackReference)
    References to the TrackReferences that refer to this track.

TrackPart
Information on a part of a track.
A TrackPart consists of:

  • title (text)
    The title of the track part.

TrackReference
A TrackReference is a reference to a Track.
A TrackReference consists of:

  • bonus track (text)
    If the track is bonus track (a track that wasn’t on the original issue of the album), this text is filled in. Examples: ‘bonus track’, ‘bonus track on UK issue’.
  • track nr (a decimal number)
    The tracks of a disc are numbered from 1 up.
  • original album track reference (reference to TrackReference)
    A reference to the track reference for the track on the original album.
    If this TrackReference is on the original album, it refers to itself.
  • my track info (MyTrackInfo)
    My information about this track.

MediumInfo
The MediumInfo describes medium information; how a track is stored and what its source is.
The MediumInfo consists of:

  • mediumType (MediumType)
    The medium type on which the track is available.
  • informationType (InformationType)
    The information type in which the track is available.
  • writability (Writability)
    The writability of the mediumType.
  • sourceType (list of InformationType)
    The information types of the source of this track.
  • sourceBitRate (a decimal number)
    The bitrate in case the information type is MP3.

MediumType
The MediumType specifies a storage medium.
The following medium types are defined:

  • CD Audio – audio Compact Disc
  • LP – Long Play record
  • Single
  • SACD – Super Audio Compact Disc
  • DVD – Digital Versatile Disc
  • CD-ROM
  • DVD-ROM
  • HardDisk
  • M2TS – m2ts video file

InformationType
The InformationType specifies how the in which format the information is stored.
The following types are defined:

  • MP3 – an mp3 file, the bitrate can be specified separately
  • VinylAnalog– analog recording from lp or single
  • M2TS – an m2ts file
  • FLAC – a flac (flawless audio compression) file
  • WAV – A CD-audio file
  • APE – an ape file
  • AIFF – an AIFF file

Collection
This type defines a set of music collections.
The following collections are defined:

  • Easy Listening
    Easy listening tracks.
  • Film Backing Tracks
    Tracks that can be used as background music for a film.
  • Franstalig TODO english
    Tracks in the french language.
  • Klassiek TODO english
    Classical music.
  • Nederlandstalig TODO english
    Tracks in the dutch language.
  • Pop
    Pop songs.
  • Rock
    Rock songs (heavier than Pop)
  • Punk
    Punk and new wave tracks.

FlexDate
A FlexDate, or flexible date, consists of a year, a year plus month, or a year plus month and day in month (a full date).

MyInfo
Your personal information about an album.
MyInfo consists of:

  • albumType (AlbumType)
    The type of album.
    All albums are stored in the same way. The album type is only used to tailor the album editor.
  • my comments (text)
    Your comments on an album.
  • inlay document (filename)
    Name of a file, which is a document to print the inlay for e.g. a CD jewel case.
  • i’ve had on lp (boolean)
    Set to true to indicate that in the past you has this album on lp.
  • i want (IWant)
    Indication of whether you want the album or not.
  • i have on (list of MediumInfo)
    Specifies on which media and from which source you have this album.

MyTrackInfo
Provides your information about this track.
MyTrackInfo consists of:

  • collection (Collection)
    Indicates in which collection you have this track.
  • i want (IWant)
    Indication of whether you want the track or not.
  • i have on (list of MediumInfo)
    Specifies on which media and from which source you have this track.

AlbumType
The album type:

  • Normal album
    This is what most albums (e.g. CD or LP) you buy in the (online) shop are.
    It is an album from a single group with mostly tracks that appear on an album for the first time.
    In your collection you may have the complete album, or just a number of tracks. These tracks can be on a MyCompilation album, or they can be in a track collection.
  • Compilation album
    Also this is an album from a single group, but the tracks were earlier releases on a number of Normal albums.
    TODO describe how to get to original track on original album.
  • Various Artists album
    This is an album where there a tracks from different artists. Therefore the artist shall be filled in per track.
  • Soundtrack album
    These albums contain the soundtracks of movies. You typically search them based on the movie title, instead of on the composer or artist.
  • OwnCompilation album
    This is an album you created yourself.

IWant
This type provides possible value for whether you want an album or track.
Possible values:

  • yes
    You want to have it.
  • no
    You don’t want to have it.
  • don’t know
    You don’t know yet whether you want have it.