Commit 8f1e7385 authored by Simon Persson's avatar Simon Persson Committed by Simon Persson

Add tags relevant to classical music.

This commit adds some tags that are (mostly) interesting for listeners of classical music. Ensemble -------- This is an ensemble that is playing the music, such as Wiener Philharmoniker. The tag can be used to distinguish the ensemble from the conductor, composer, soloist, and ensemble, that are generally all in the "ARTIST" tag. Movement ------- The movement number and movement (name) of this track, i.e. "II" and "Allegro". ComposerSort ------------ Allows us to look for Beethoven's 9th under B, for Beethoven, not L for Ludwig. Location -------- This is the location of the recording, e.g. "Wiener Musikverein".
parent 25354b9d
......@@ -5,6 +5,8 @@ ver 0.23 (not yet released)
* output
- pipewire: new plugin
- snapcast: new plugin
* tags
- new tags "ComposerSort", "Ensemble", "Movement", "MovementNumber", and "Location"
ver 0.22.7 (not yet released)
* protocol
......
......@@ -286,10 +286,15 @@ The following tags are supported by :program:`MPD`:
* **date**: the song's release date. This is usually a 4-digit year.
* **originaldate**: the song's original release date.
* **composer**: the artist who composed the song.
* **composersort**: same as composer, but for sorting.
* **performer**: the artist who performed the song.
* **conductor**: the conductor who conducted the song.
* **work**: `"a work is a distinct intellectual or artistic creation,
which can be expressed in the form of one or more audio recordings" <https://musicbrainz.org/doc/Work>`_
* **ensemble**: the ensemble performing this song, e.g. "Wiener Philharmoniker".
* **movement**: name of the movement, e.g. "Andante con moto".
* **movementnumber**: movement number, e.g. "2" or "II".
* **location**: location of the recording, e.g. "Royal Albert Hall".
* **grouping**: "used if the sound belongs to a larger category of
sounds/music" (`from the IDv2.4.0 TIT1 description
<http://id3.org/id3v2.4.0-frames>`_).
......
......@@ -28,5 +28,7 @@ const struct tag_table xiph_tags[] = {
{ "tracknumber", TAG_TRACK },
{ "discnumber", TAG_DISC },
{ "description", TAG_COMMENT },
{ "movementname", TAG_MOVEMENT },
{ "movement", TAG_MOVEMENTNUMBER },
{ nullptr, TAG_NUM_OF_ITEM_TYPES }
};
......@@ -33,9 +33,14 @@ const char *const tag_item_names[TAG_NUM_OF_ITEM_TYPES] = {
[TAG_DATE] = "Date",
[TAG_ORIGINAL_DATE] = "OriginalDate",
[TAG_COMPOSER] = "Composer",
[TAG_COMPOSERSORT] = "ComposerSort",
[TAG_PERFORMER] = "Performer",
[TAG_CONDUCTOR] = "Conductor",
[TAG_WORK] = "Work",
[TAG_MOVEMENT] = "Movement",
[TAG_MOVEMENTNUMBER] = "MovementNumber",
[TAG_ENSEMBLE] = "Ensemble",
[TAG_LOCATION] = "Location",
[TAG_GROUPING] = "Grouping",
[TAG_COMMENT] = "Comment",
[TAG_DISC] = "Disc",
......
......@@ -48,9 +48,14 @@ enum TagType
TAG_DATE,
TAG_ORIGINAL_DATE,
TAG_COMPOSER,
TAG_COMPOSERSORT,
TAG_PERFORMER,
TAG_CONDUCTOR,
TAG_WORK,
TAG_MOVEMENT,
TAG_MOVEMENTNUMBER,
TAG_ENSEMBLE,
TAG_LOCATION,
TAG_GROUPING,
TAG_COMMENT,
TAG_DISC,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment