diff --git a/NEWS b/NEWS index 8eb412698..95e81b8c7 100644 --- a/NEWS +++ b/NEWS @@ -48,7 +48,7 @@ ver 0.24 (not yet released) - add option "mixramp_analyzer" to scan MixRamp tags on-the-fly - "one-shot" consume mode * tags - - new tags "TitleSort", "Mood" + - new tags "TitleSort", "Mood", "ShowMovement" * output - add option "always_off" - alsa: require alsa-lib 1.1 or later diff --git a/doc/protocol.rst b/doc/protocol.rst index 285383ce0..d46c4d9a2 100644 --- a/doc/protocol.rst +++ b/doc/protocol.rst @@ -344,6 +344,7 @@ The following tags are supported by :program:`MPD`: * **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". +* **showmovement**: If this tag is set to "1" players supporting this tag will display the `work`, `movement`, and `movementnumber`` instead of the track title. * **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 diff --git a/src/db/plugins/ProxyDatabasePlugin.cxx b/src/db/plugins/ProxyDatabasePlugin.cxx index c9330366f..f3f739b13 100644 --- a/src/db/plugins/ProxyDatabasePlugin.cxx +++ b/src/db/plugins/ProxyDatabasePlugin.cxx @@ -184,6 +184,9 @@ static constexpr struct { { TAG_MOOD, MPD_TAG_MOOD }, { TAG_MUSICBRAINZ_RELEASEGROUPID, MPD_TAG_MUSICBRAINZ_RELEASEGROUPID }, +#endif +#if LIBMPDCLIENT_CHECK_VERSION(2,23,0) + { TAG_SHOWMOVEMENT, MPD_TAG_SHOWMOVEMENT }, #endif { TAG_NUM_OF_ITEM_TYPES, MPD_TAG_COUNT } }; diff --git a/src/tag/Names.cxx b/src/tag/Names.cxx index 7ed9f210c..eb6d9c920 100644 --- a/src/tag/Names.cxx +++ b/src/tag/Names.cxx @@ -28,6 +28,7 @@ static constexpr struct tag_table tag_item_names_init[] = { {"Work", TAG_WORK}, {"Movement", TAG_MOVEMENT}, {"MovementNumber", TAG_MOVEMENTNUMBER}, + {"ShowMovement", TAG_SHOWMOVEMENT}, {"Ensemble", TAG_ENSEMBLE}, {"Location", TAG_LOCATION}, {"Grouping", TAG_GROUPING}, diff --git a/src/tag/Type.hxx b/src/tag/Type.hxx index d9dcdd470..59e845ab2 100644 --- a/src/tag/Type.hxx +++ b/src/tag/Type.hxx @@ -30,6 +30,7 @@ enum TagType : uint8_t { TAG_WORK, TAG_MOVEMENT, TAG_MOVEMENTNUMBER, + TAG_SHOWMOVEMENT, TAG_ENSEMBLE, TAG_LOCATION, TAG_GROUPING,