Music APE Artist Tags in Jarvis
#1
Possible bug on Kodi 16 B1.

I started testing on B1. I am seeing a problem which I think I have seen before but didn't investigate closely with the prioritiseapetags..

I have mp3 files with both ID3v2.3 tags and APEv2 tags.
My advancedsettings.xml has
Code:
<musiclibrary>
<prioritiseapetags>true</prioritiseapetags>
</musiclibrary>

In Kodi 15 this results in the scanner ignoring ID3 frames TPE1 and TPE2 (artist and album artist) and using APE tags ARTIST and ALBUMARTIST.

I have been looking specifically at the Album Artist. In file 1 the tags are like this:
ID3v2.3 TPE2 Artist1
APEv2 ALBUMARTIST Artist1 ALBUMARTIST Artist2

In both Kodi 15 and Kodi 16B1 this results in the album table strArtists Artist1 / Artist2 as expected.

But in file 2 the tags are like this:
ID3v2.3 TPE2 Artist1; Artist2
APEv2 ALBUMARTIST Artist1 ALBUMARTIST Artist2 (same as file 1)

Now in Kodi 15 this results in album table strArtists Artist1 / Artist2 as expected
But in Kodi 16B1 this results in album table strArtists Artist1; Artist2 (that is, appears to be using the TPE2 frame and not the APEv2 tags))

For both files the artist table and album_artist table are correct in both Kodi 15 and Kodi 16B1 (separate entries for both Artist1 and Artist2).

I also had a file 3 with TPE2 Artist1/Artist2 and same thing happened: strArtists in Kodi 16b1 was Artist1/Artist2

scott s.
.
Reply
#2
Scott this seemed best in a thread of its own, so da-anda kindly split it. Evilhamster might be a better person for this, but he doesn't seem to be around at the moment, so you are stuck with me.

I will have a look at how the tag priority thing works and see what is happening.
Reply
#3
(2015-11-20, 21:12)DaveBlake Wrote: Scott this seemed best in a thread of its own, so da-anda kindly split it. Evilhamster might be a better person for this, but he doesn't seem to be around at the moment, so you are stuck with me.

I will have a look at how the tag priority thing works and see what is happening.

Thanks. In working on this I've started using a windows program MP3 Diags 1.2 which does a little more digging into mp3 files without having to look at the hex. I found some weirdness in some of my test files (like multiple ID3v2 tags) and did some clean up of them, but they have been abused quite a bit during testing. I need to create a few new test files that are clean so I can get a better handle on what might be going on. But it definitely is changed behavior from Kodi 15 and prior.

scott s.
.
Reply
#4
Not entirely surprizing if there is some different behaviour in 16 and the way damaged or weirdly tagged files are handled. But I don't have files like that to test with. Come back if you have some more for me to go on!
Reply
#5
OK. I have built new files for testing, starting with WAV files and creating MP3 files from the source using LAME 3.99.3 encoder. then I added ID3v2.3 tags only:
TIT2
TPE1
TRCK
TALB

scanned these into the library using Kodi 16 1121 nightly.

For 1 file of interest the ID3v2.3 is :
TIT2 Song3
TPE1 Artist1/Artist2
TRCK 3
TALB Album1

That's all in the tags.

After scanning into Kodi 16

Artist table contents strArtist
Artist1/Artist2

Song_Artist table contents strArtist
Artist1/Artist2

Song table contents strArtists
Artist1/Artist2

Next add APEv2 tags:

APETAGEA
Ver 2000
Tag size 116
num items 4
global flags null

item 1
size of value 6
flags null
KEY ALBUM
VALUE Album1

item2
size of value 15
flags null
KEY ARTIST
VALUE Artist2[0x00]Artist1 Note order of artists is reversed. 0x00 is a null byte separator.

item3
size of value 5
flags null
KEY TITLE
VALUE Song3

item4
size of value 1
flags null
KEY TRACK
VALUE 3

reran the test. Same results.

Next test was with advancedsettings.xml containing prioritiseapetags

results After scanning into Kodi 16

Artist table contents strArtist
Artist2
Artist1

Song_Artist table contents strArtist
Artist2
Artist1

Song table contents strArtists
Artist1/Artist2

I did a new test after removing the ID3v2.3 tag, so there was only APE tags in the file. Without advancedsettings, Kodi 16 did not add the file to the library (no tag data). This is the same as with Kodi 15.2. I repeated the test, this time with my advancedsettings.xml prioritiseapetags.

In this test (no ID3v2.3 tag) The APE tags were correctly read

song table contents strArtists

Artist2 / Artist1

Conclusion: When Kodi 16 scans mp3 files with ID3 and APE data for the artist tag fields, the ID3 tag is used for the Song table strArtists entry, not the APE tag. I didn't test, but this is consistent with my previous test concerning Album Artist tag and the Album table strArtists.

As a check, I went back and repeated the tests on Kodi 15.2.

results are (with advancedsettings.xml prioritiseapetags and with and without id3v2,3 tags in file):

Artist table contents strArtist
Artist2
Artist1

Song_Artist table contents strArtist
Artist2
Artist1

Song table contents strArtists
Artist2 / Artist1

So the results are correct in Kodi 15.2.

Test files are here:
https://www.dropbox.com/s/393tqbb36ejrdk...3.zip?dl=0

scott s.
.
Reply
#6
Thanks for the details Scott, and the test data. I can see what is happening, all to do with how the artist desc string is processed and the double pass at parsing you get with <prioritiseapetags>

I will put togther a fix, and I'll let you know here when there is a build to test (if you would be so kind).
Reply
#7
OK Scott, I have raised a PR to fix this and there is a build here http://mirrors.kodi.tv/test-builds/win32...1-HEAD.exe if you would be so kind as to test it out.
Reply
#8
The tl;dr is that the fix works.

Testing as follows:

I constructed an album of 3 tracks. First testing was without any album artist tags. The tracks were set up so by rule the tracks would be a v.a./compilation album.

I tested with the track files in 3 tag formats: ID3v2.3 only, APEv2 only, and both ID3v2.3 and APEv2.
for each test I evaluated the resulting music database tables song, song_artist, artist, album, and album_artist. I also test Kodi 16 1121 nightly as a control.

I first tested without prioritseapetags. All tests passed

I repeated the test with prioritiseapetags. All test passed. When ID3 and APE tags both present, APE was used.

I then repeated all tests, this time with the album artist set as Artist1 / Artist2 in the ID3 tags, and Artist2 / Artist1 in the APE tags. Again all tests passed. Without prioritiseapetags the ID3 tags were stored properly and likewise with prioitiseapetags the APE tags were used.

For further testing I then used my ID3+APE tagged files and added appropriate Artists tag and MB Artist ID tag. Again all tests passed.

Now I threw my actual music library at it but it will be a while before I can report back results on that.

Update: OK loaded my entire library, everything looks correct (but my tagging was set up to work how I wanted it in Isengard). So this I consider fixed. I will go back and play around with some of my "pathological" files to see how "artists" tag works in the main thread.

scott s.
.
Reply

Logout Mark Read Team Forum Stats Members Help
Music APE Artist Tags in Jarvis0