Add ID3v2 frame definitions for publisher web page and user defined URLs

This commit is contained in:
Martchus 2023-12-29 17:07:14 +01:00
parent b1bca85ef4
commit 7f3d4c5751
2 changed files with 20 additions and 0 deletions

View File

@ -85,6 +85,10 @@ std::uint32_t convertToShortId(std::uint32_t id)
return sRating;
case lISRC:
return sISRC;
case lPublisherWebpage:
return sPublisherWebpage;
case lUserDefinedURL:
return sUserDefinedURL;
default:
return 0;
}
@ -155,6 +159,10 @@ std::uint32_t convertToLongId(std::uint32_t id)
return lRating;
case sISRC:
return lISRC;
case sPublisherWebpage:
return lPublisherWebpage;
case sUserDefinedURL:
return lUserDefinedURL;
default:
return 0;
}

View File

@ -49,6 +49,8 @@ enum KnownValue : std::uint32_t {
lMood = 0x544D4F4F, /**< TMOO */
lISRC = 0x54535243, /**< TSRC */
lUserDefinedText = 0x54585858, /**< TXXX */
lPublisherWebpage = 0x57505542, /**< WPUB */
lUserDefinedURL = 0x57585858, /**< WXXX */
sAlbum = 0x54414c, /**< ?TAL */
sArtist = 0x545031, /**< ?TP1 */
@ -82,6 +84,8 @@ enum KnownValue : std::uint32_t {
sCopyright = 0x544352, /**< TCR */
sISRC = 0x545243, /**< TRC */
sUserDefinedText = 0x545858, /**< ?TXX */
sPublisherWebpage = 0x575042, /**< ?WPB */
sUserDefinedURL = 0x575858, /**< ?WXX */
};
TAG_PARSER_EXPORT std::uint32_t convertToShortId(std::uint32_t id);
@ -117,6 +121,14 @@ constexpr bool isTextFrame(std::uint32_t id)
}
}
/*!
* \brief Returns an indication whether the specified \a id is a URL frame id.
*/
constexpr bool isUrlFrame(std::uint32_t id)
{
return (id & 0xFF000000u) == 0x57000000u && (id != Id3v2FrameIds::lUserDefinedURL);
}
} // namespace Id3v2FrameIds
} // namespace TagParser