[METADATA] TagLib support for embedded OGG covers
This commit is contained in:
@@ -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
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user