[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))));
|
items.insert( std::make_pair(MetaData::Type::Album, stringTrim( values.front().to8Bit(true))));
|
||||||
else if (tag == "TITLE")
|
else if (tag == "TITLE")
|
||||||
items.insert( std::make_pair(MetaData::Type::Title, stringTrim( values.front().to8Bit(true))));
|
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))));
|
items.insert( std::make_pair(MetaData::Type::MusicBrainzTrackID, stringTrim( values.front().to8Bit(true))));
|
||||||
else if (tag == "MUSICBRAINZ_ARTISTID")
|
else if (tag == "MUSICBRAINZ_ARTISTID")
|
||||||
items.insert( std::make_pair(MetaData::Type::MusicBrainzArtistID, stringTrim( values.front().to8Bit(true))));
|
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) );
|
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;
|
std::cout << "Duration: " << boost::posix_time::to_simple_string(boost::any_cast<boost::posix_time::time_duration>(item.second)) << std::endl;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
case MetaData::Type::TrackNumber:
|
case MetaData::Type::TrackNumber:
|
||||||
std::cout << "Track: " << boost::any_cast<std::size_t>(item.second) << std::endl;
|
std::cout << "Track: " << boost::any_cast<std::size_t>(item.second) << std::endl;
|
||||||
break;
|
break;
|
||||||
@@ -94,12 +93,25 @@ int main(int argc, char *argv[])
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case MetaData::Type::AudioStreams:
|
case MetaData::Type::AudioStreams:
|
||||||
{
|
for (auto& audioStream : boost::any_cast<std::vector<MetaData::AudioStream> >(item.second))
|
||||||
for (auto& audioStream : boost::any_cast<std::vector<MetaData::AudioStream> >(item.second))
|
std::cout << "Audio stream '" << audioStream.desc << "' - " << audioStream.bitRate << " bps" << std::endl;
|
||||||
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:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user