Audio file metadata and thumbnails

This commit is contained in:
Robin E. R. Davies
2025-05-31 21:06:34 -04:00
parent 13e2f6b5bb
commit c4e0b0ff46
44 changed files with 3490 additions and 661 deletions
+22 -3
View File
@@ -58,19 +58,38 @@ static std::string toLower(const std::string&value)
return result;
}
const std::set<std::string> playListExtensions = {
".m3u",
".m3u8",
".pls",
".wpl"
};
const std::set<std::string> midiMimeTypes = {
"audio/midi",
"audio/sp-midi",
"audio/imelody",
"audio/xmf",
"audio/x-midi",
"audio/x-musicxml+xml"
};
void MimeTypes::AddMimeType(const std::string&extension_, const std::string&mimeType)
{
std::string extension = SS("." << toLower(extension_));
mimeTypeToExtensions[mimeType].insert(extension);
mimeTypeToExtension[mimeType] = extension;
extensionToMimeType[extension] = mimeType;
if (mimeType.starts_with("audio/midi"))
if (midiMimeTypes.contains(mimeType))
{
midiExtensions.insert(extension);
} else if (mimeType.starts_with("audio/"))
{
mimeTypeToExtensions["audio/*"].insert(extension);
audioExtensions.insert(extension);
if (!playListExtensions.contains(extension))
{
mimeTypeToExtensions["audio/*"].insert(extension);
audioExtensions.insert(extension);
}
}
if (mimeType.starts_with("video/"))
{