diff --git a/src/database-updater/DatabaseUpdater.cpp b/src/database-updater/DatabaseUpdater.cpp index 33afd506..ca0caf8f 100644 --- a/src/database-updater/DatabaseUpdater.cpp +++ b/src/database-updater/DatabaseUpdater.cpp @@ -547,6 +547,11 @@ Updater::processAudioFile( const boost::filesystem::path& file, Stats& stats) track.modify()->setDate( boost::any_cast(items[MetaData::Type::OriginalDate]) ); } + if (items.find(MetaData::Type::MusicBrainzTrackID) != items.end()) + { + track.modify()->setMBID( boost::any_cast(items[MetaData::Type::MusicBrainzTrackID]) ); + } + if (items.find(MetaData::Type::HasCover) != items.end()) { bool hasCover = boost::any_cast(items[MetaData::Type::HasCover]); diff --git a/src/metadata/AvFormat.cpp b/src/metadata/AvFormat.cpp index 07778457..8ff7148f 100644 --- a/src/metadata/AvFormat.cpp +++ b/src/metadata/AvFormat.cpp @@ -185,6 +185,12 @@ AvFormat::parse(const boost::filesystem::path& p, Items& items) { items.insert( std::make_pair(MetaData::Type::MusicBrainzAlbumID, stringTrim( stringToUTF8(it->second)) )); } + else if (boost::iequals(it->first, "MusicBrainz Release Track Id") + || boost::iequals(it->first, "MUSICBRAINZ_RELEASETRACKID") + || boost::iequals(it->first, "MUSICBRAINZ_TRACKID")) + { + items.insert( std::make_pair(MetaData::Type::MusicBrainzTrackID, stringTrim( stringToUTF8(it->second)) )); + } } return true; diff --git a/src/metadata/MetaData.hpp b/src/metadata/MetaData.hpp index fdb65d04..9a1728fe 100644 --- a/src/metadata/MetaData.hpp +++ b/src/metadata/MetaData.hpp @@ -47,6 +47,7 @@ namespace MetaData SubtitleStreams, // vector MusicBrainzArtistID, // string MusicBrainzAlbumID, // string + MusicBrainzTrackID, // string }; // Used by Streams