2020-12-17, 04:36
As this is my first post in the Music Support forum, I should first of all thank DaveBlake and all the other contributors for developing Kodi's Music section into what it is today.
I have been a user since v16, and with the latest Beta 2 release of Kodi v19 I decided to take the plunge and upgrade from v18.9. While doing that, I also thought this is a good time to re-check and update my music library tagging for consistency and in order to make use of the newly added features in v19. My library consists of FLAC files with standard Vorbis tags and MP3 files with only APEv2 tags. I don't use/need any ID3v1 or ID3v2 tags for my MP3 files. I'm using Mp3tag (v3.04a) for all MusicBrainz ID queries and tagging.
Adding FLAC files to the Kodi library works very well but I had a few minor issues when scanning my MP3 albums:
I have been a user since v16, and with the latest Beta 2 release of Kodi v19 I decided to take the plunge and upgrade from v18.9. While doing that, I also thought this is a good time to re-check and update my music library tagging for consistency and in order to make use of the newly added features in v19. My library consists of FLAC files with standard Vorbis tags and MP3 files with only APEv2 tags. I don't use/need any ID3v1 or ID3v2 tags for my MP3 files. I'm using Mp3tag (v3.04a) for all MusicBrainz ID queries and tagging.
Adding FLAC files to the Kodi library works very well but I had a few minor issues when scanning my MP3 albums:
- I have to set the <prioritiseapetags> option in advancedsettings.xml to be able to scan my MP3 files into the library although they don't have any other tags except APEv2. Looking through the relevant Kodi sources on GtHub I found this piece of code in TagLoaderTagLib.cpp
which I read as "Parse APEv2 tags if the file does not also have ID3v2 tags, regardless of the <prioritiseapetags> setting". Is that not so? Kodi debug log shows a message likecpp:if (ape && (!id3v2 || CServiceBroker::GetSettingsComponent()->GetAdvancedSettings()->m_prioritiseAPEv2tags)) // ape tags override id3v2 if we're prioritising them
ParseTag(ape, art, tag);for each MP3 file in my library.Code:DEBUG <general>: MUSIC_INFO::CMusicInfoScanner::ScanTags - No tag found for: smb://servername/...filepath.../filename.mp3
- I am updating all my music with full ISO "Release Date" and "Original Release Date" tags (where applicable, and possible). Since I'm saving full dates I'd prefer to use the DATE variants of these tags instead of the YEAR ones. When I checked the Wiki entry on music tags read by Kodi I was glad to see that Kodi supports both DATE and YEAR in Vorbis and APEv2 tags, so I started using DATE in all my FLAC and MP3 files. However, when I scanned these into the library I realized that Kodi in fact does not recognize DATE (and ORIGINALDATE) while parsing APEv2 tags. All my MP3 albums showed up in Kodi Music "Artists" view without any release date and were all sorted to the top of the album list for each artist.
Again in TagLoaderTagLib.cpp I saw that, in the case of Vorbis tags, you are checking for both DATE and YEAR variants of these tags:
Would you consider adding the same dual support for APEv2 tags as well?cpp:else if (it->first == "YEAR" || it->first == "DATE")
...
else if (it->first == "ORIGINALYEAR" || it->first == "ORIGINALDATE")
- This one is more of a cosmetic issue that affects both MP3 and FLAC files:
I have quite a few songs whose artist tag has the form "Artist Name ft. Vocalist Name", sometimes with more that one vocalist even. I have tagged all these files using multiple "Artist MBID" fields in Vorbis and APEv2 tags, one for each artist or vocalist and in the correct order. While going through Kodi's debug log I saw messages like
for these songs. As far as I knew, " ft. " was one of the default artist separators so I was surprised that it didn't work. I then looked in the MusicDB with SQLite DB Browser and saw that these artist names have in fact been correctly split and each artist assigned the appropriate Artist MBID. It seems the debug log message gets printed before artist separator processing.Code:Mis-match in song file tags: 2 mbid 1 names...
...
Mis-match in song file tags: 4 mbid 1 names...