[METADATA] TagLib support for embedded OGG covers

This commit is contained in:
emeric
2016-05-09 20:57:31 +02:00
parent 6e396d78a4
commit d211c76cf8
2 changed files with 24 additions and 6 deletions
+7 -1
View File
@@ -88,7 +88,7 @@ TagLibParser::parse(const boost::filesystem::path& p, Items& items)
items.insert( std::make_pair(MetaData::Type::Album, stringTrim( values.front().to8Bit(true))));
else if (tag == "TITLE")
items.insert( std::make_pair(MetaData::Type::Title, stringTrim( values.front().to8Bit(true))));
else if (tag == "MUSICBRAINZ RELEASE TRACK ID")
else if (tag == "MUSICBRAINZ_RELEASETRACKID")
items.insert( std::make_pair(MetaData::Type::MusicBrainzTrackID, stringTrim( values.front().to8Bit(true))));
else if (tag == "MUSICBRAINZ_ARTISTID")
items.insert( std::make_pair(MetaData::Type::MusicBrainzArtistID, stringTrim( values.front().to8Bit(true))));
@@ -168,6 +168,12 @@ TagLibParser::parse(const boost::filesystem::path& p, Items& items)
items.insert( std::make_pair(MetaData::Type::Genres, genreList) );
}
else if (tag == "METADATA_BLOCK_PICTURE")
{
// Only add once
if (items.find(MetaData::Type::HasCover) == items.end())
items.insert( std::make_pair(MetaData::Type::HasCover, true));
}
}
}
+17 -5
View File
@@ -64,7 +64,6 @@ int main(int argc, char *argv[])
std::cout << "Duration: " << boost::posix_time::to_simple_string(boost::any_cast<boost::posix_time::time_duration>(item.second)) << std::endl;
break;
case MetaData::Type::TrackNumber:
std::cout << "Track: " << boost::any_cast<std::size_t>(item.second) << std::endl;
break;
@@ -94,12 +93,25 @@ int main(int argc, char *argv[])
break;
case MetaData::Type::AudioStreams:
{
for (auto& audioStream : boost::any_cast<std::vector<MetaData::AudioStream> >(item.second))
std::cout << "Audio stream '" << audioStream.desc << "' - " << audioStream.bitRate << " bps" << std::endl;
for (auto& audioStream : boost::any_cast<std::vector<MetaData::AudioStream> >(item.second))
std::cout << "Audio stream '" << audioStream.desc << "' - " << audioStream.bitRate << " bps" << std::endl;
break;
case MetaData::Type::MusicBrainzArtistID:
std::cout << "MusicBrainzArtistID: " << boost::any_cast<std::string>(item.second) << std::endl;
break;
}
case MetaData::Type::MusicBrainzAlbumID:
std::cout << "MusicBrainzAlbumID: " << boost::any_cast<std::string>(item.second) << std::endl;
break;
case MetaData::Type::MusicBrainzTrackID:
std::cout << "MusicBrainzTrackID: " << boost::any_cast<std::string>(item.second) << std::endl;
break;
case MetaData::Type::MusicBrainzRecordingID:
std::cout << "MusicBrainzRecordingID: " << boost::any_cast<std::string>(item.second) << std::endl;
break;
default:
break;