Kodi Community Forum

Full Version: Strange problem with & in artist name
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I have stumbled across an odd error with a couple of albums on one of my installations, but it does not occur on the other installation

I have a few albums where the artist has a & in their name and for some reason it appears to be being used as a separator but I dont have any advancedsettings.xml files taking effect

one affected album is "Rust Never Sleeps" by Neil Young and Crazy Horse

Artist tag is set to Neil Young and Crazy Horse
Albumartist is set to Neil Young

I only noticed because it appeared in the album view out of the expected year order

I am running 17.4 on windows 10 with confluence skin

there is an older post discussing adding & as a separator at https://forum.kodi.tv/showthread.php?tid=312293 but its not really relevant as I dont want & to be a separator

I have hunted for album.nfo files and advancedsettings.xml but none seem to exist could they be cached somewhere ?

anybody got any idea what might be causing the problem

here are some screen shots displaying issue

watch gallery
Just noticed one thing on the correct system the album does not have a review, whereas the the incorrect system has one presumably downloaded from allmusic or the like sometime in the past

Looking further at this both systems have Prefer Online Information turned off

The incorrect system has Fetch Additional Information During Updates turned on

whereas the correct system has this option turned off

what does this option actually download and could this be causing the problem ?
I don't see that scanning those tags (assuming all as example) would give you "Neil Young / Crazy Horse" as album artist.

Could you have scraped album info with "Prefer online info" enabled at sometime?
Possibly could have scanned album with prefer online info turned on at some point

but I have removed the album from disk cleaned the library and then re-added and re-scanned the album.

As I said its really odd and appears fine on one system but not on the other

The Fetch Additional Info is the only thing I have found so far which is different between the two installations

would the review be cached somewhere
No caching of scraper results, and as you say no NFO files.....

Do both systems have same version of Kodi?

Could you try a clean install (no addons, default settings) in portable mode, turn on debug and just add the one album, what happens? By default 17.4 does not use either "&" or " and " as a separator since both appear in band names.

The way Kodi library processing works the scanning order can make a difference. Any other Neil Young abums? I also wonder if at least some of the files have other format ID3 tags as well as v2.4 e.g. v1, hidden in the fles that give "Neil Young / Crazy Horse".
yes both systems same 17.4 version of kodi

many other Neil Young albums

There should not be any other tags as mp3tag is set to read ID3v1 and 2, write ID3v2.4 and remove ID3v1 and Ape tags

The actual mp3s themselves have been copied from the system which is correct to the system which is incorrect

I have discovered at least one other album by Bob Dylan & The Band which shows the same behaviour, and there are probably others I would imagine

I think that some point in the past I will have added albums with prefer online info turned on, but cant work out where the wrong info is still lurking

I'll try a portable install later when I have worked out how to do it, when you say use default settings should I leave the skin at estuary or change to confluence and should I leave Prefer Online Info off or on ?
(2017-09-19, 10:25)tkgafs Wrote: [ -> ]I'll try a portable install later when I have worked out how to do it, when you say use default settings should I leave the skin at estuary or change to confluence and should I leave Prefer Online Info off or on ?
Change to Confluence if you prefer, it will not contribute (although some other skins do also load other addons that scrape data, and I woud like to avoid any complications like that). Leave "Prefer Online Info" disabled.

(2017-09-19, 10:25)tkgafs Wrote: [ -> ]I think that some point in the past I will have added albums with prefer online info turned on, but cant work out where the wrong info is still lurking
The side-effects of scraping with "prefer online info" on artists in v17 and before were not what was originally intended. I hopefully will fix it in v18. It is very likely that is how the artists got like it.

The "lurking" could be because cleaning the lib is not removing the artists for some reason. I have not completely thought through why that would be, but the cleaning process is more likely to err on the side of caution that not. I guess to know for sure means removing the files from the music source, updating, cleaning and then checking the db.

done a portable install, changed to confluence skin as I find estuary almost unusable

Prefer Online Info is off
Fetch Additional Info is on

only the one album Neil Young & Crazy Horse in the music source

debug log is at https://pastebin.com/tWjpmBx4

output from Mp3Diags for a sample track in the album

watch gallery

Do you want a copy of the database as well ?
Having done that portable install the question is what does Kodi show as the album artist?

I am expecting "Neil Young" from the tags, but does it? Each song will say "Neil Young & Crazy Horse" during playback etc., but the only album artist should be Neil.

This was just to prove that "Neil Young & Crazy Horse" as album artist is not coming from tags.

Assuming that is correct, reading back this now seems more of a (partial) cleaning issue than a scanning/scraping one. To look at that more I guess I need you to remove that album (from the installation that has the "Neil Young / Crazy Horse" as album artist, do library update and then clean (from settings menu) and then finally let me have that music db.
Kodi shows Neil Young / Crazy Horse as the artist in the list of albums or if you show information for the album

the Album table has Neil Young / Crazy Horse in the strArtists column

the Album_Artist table shows correctly Neil Young

the Artist table has both Neil Young as well as Neil Young & Crazy Horse records

if you view artists from kodi and select either Neil Young or Neil Young & Crazy Horse the album is shown as expected

screen shots showing the above follow

watch gallery

As another test I have deleted the database turned off the Fetch Additional Info option then re-added the test source and imported the album again

In this case everything appears to be correct, leading me to conclude (probably mistakenly) something in the option is causing the issue

I'm not clear which database you want a copy of, the test one from the portable install or the full database from my main installation
Having done a bit more research on this, the Fetch Additional Information option has queried MusicBrainz and found the correct album which has a MBID of a7d9adb5-788b-4462-9586-d3b07f9e2ac0.

On MusicBrainz this album in effect has two artists, on the first side of the LP the performer is Neil Young and on the second side the performer is Crazy Horse

so an Artists field of Neil Young / Crazy Horse would be quite valid from MBs point of view

the question is if Prefer Online Option is not selected, but Fetch Additional Information is selected what should happen

My expectation would be that the tags from the files would be honoured, which they do seem to be looking at the database,
but if fetch additional info is selected it seems to be replacing the strArtists field in the album table with what it finds online rather than the contents of the artist or albumartist from the file tag

Does this seem like a correct interpretation ?

And the occurrence of & in the artist name is a complete red herring and has nothing to do with it !!
(2017-09-22, 01:17)tkgafs Wrote: [ -> ]Does this seem like a correct interpretation ?
Yes I think so Smile

The original idea when "Musicbrianz integration" was first added in Gotham was that Kodi could automatically lookup and apply any changes that had been made to entries in the MB databse to the music library. However either this was not fully implemented, or others made changes not realising that was the intention of the design, or fixes were applied because some things went wrong. Possibly all of those, anyway the original intent was so lost it is only this year I conversed with the original designer and found out what it was meant to do!

One of the weak points has been songs and albums with multiple artists, and that users don't always want what MB has. If you have tagged using Musicbrainz ids and always want whatever MB have then the ability to automatically track future entry changes would work. But the idea of using MB to tidy up untagged or messy music files from within Kodi does not - names alone is not enough to correctly identify things. And it is something that needs to be optional.

That was what "Prefer online info" was originally intened to do, but it has also been usefully used to decide whether to overwrite existing data (from tags) with that scraped. We need an option for that too!

The divergence of the design has left Kodi doing some odd things, what you are seeing with the album artist description changing on scraping is one of those.. Krypton is better (I think) than previous versions, but as you have found still has flaws. Sad

I will try to sort this out in Leia. I am refactoring and enhancing the scraping/merge/export/import features for v18, so finding this issue is timely thanks Smile
Thanks for confirming my thoughts.

For the moment I'll just edit the offending record in the database as I presume it wont get scraped again any time soon

Looking it now much later than the original design and implementation

perhaps the option should have been Prefer Local Information !!!
and Fetch Additional Information should only fetch fields/tags not already set i.e Additional means Additional

but its all a long time ago and other people with have other just as valid views
(2017-09-22, 09:17)tkgafs Wrote: [ -> ]Looking it now much later than the original design and implementation...

perhaps the option should have been Prefer Local Information !!!
and Fetch Additional Information should only fetch fields/tags not already set i.e Additional means Additional

but its all a long time ago and other people with have other just as valid views
I'm happy to hear user views Smile
I may or may not then do what people ask, but knowing is always useful. People sometimes spot things I miss. I also take it as an opportunity to think aloud, so here goes....

The "Fetch additional information on update" setting is all about scraping during library update or not. In v17 and before the way the scraping on update is implemented means that
a) the order which Kodi scans folder can have inadvertent consequnces
b) library is slow to populate
Hence it is disabled by default. It also means that any tagging errors are not confued with scraping errors, users can see what library they get from tags first. But more robust tag processing in Kodi means that messy libraries are less of an issue, and I guess users miss the artist art work appearing by magic, and having to "Query info for all" to get it.

Scraping additional artist and album info during library update has been improved in v18, and I hope to be able to enable "Fetch additional information on update" by default. But we will still need an option even if only for debugging use.

Not quite all the information that can be fetched is additional - for albums genre, year, compilaton and label can be initially derrived from tags. As your experience has made me realise "missing" album artists also get added (it is clearly in the code I just had not registered the effect before). If scraping also includes optional auto-tracking of MB database changes for music tagged with mbids then it is definitely doing more than fetch additional data. So I see your point, but I am not sure what else to call this setting - "On library update also fetch artist and album information and artwork from sources other than music file tags" is accurate but a bit long!

As I see it now the current "Prefer online info" setting boolean needs replacing with new setting(s) that control how the "additional" data (from sources other than music file tags) is applied to the library whenever it is fetched. Options:
a) Overwrite albums genres, year, compilaton and label (but not add "missing" artists!), or only fill the gaps?
b) For music with mbid tags, and the source of "additional" data is Musicbrainz, automatically track changes in the MB database? This is the only time album and song artists could change.

Now b) would imply doing a) too, but unlike the original implementation should only happen when it is Musicbrainz that is being scraped and music has mbid tags. Doing it by name only with data from allmusic.com and you soon get a total mess.

So does that mean a single "How to merge artist and album scraped data" option with 3 values: "fill the gaps only", "overwrite album details", "track MB database (when it can)"?

I had previously wondered about doing b) whenever a) + mbid as that was closer to the original idea. But it does mean that mbid tagging leaves you tied to MB whenever you scrape, and I know people mess with mbid tags sometimes to get a desired result, and such scraping would undo that.

Or do we make the "sync with MB" facility something separate from ordinary scraping?
First thing to note is that as per usual you will never satisfy everybody, so as you'll be doing the work do what seems right to you

my own view is that your idea here

Quote:So does that mean a single "How to merge artist and album scraped data" option with 3 values: "fill the gaps only", "overwrite album details", "track MB database (when it can)"?

is the correct way forward but with the addition of a 4th option of Do Nothing only use local info

in other words you would have

a) Prefer Local Info - the do nothing option
b) Prefer Online Info - the overwrite everything option
c) Fill local Gaps from Online - Add anything it finds online but do not update anything already set
d) Track MusicBrainz - If Album has a MusizBrainz ID track any online changes

but even at this I'd imagine that it's fraught with difficulties particularly with the fill gaps from online option how would anyone easily know if the correct label for instance had been found online.

My own use for the fetch additional information is primarily to add any album reviews it finds, I'm never going to add these by hand but they can be nice to have if a guest wants to look at them when they visiting perhaps, but as I have spent a long time getting the tags and album artwork correct for myself I don't want these artists etc overwritten by something I have little control over. I have found that a lot of artwork online seems to be US rather than UK and much is for CDs rather than the original LPs

Again as I said the tags are correct for me, and I use them to try and make the album view look the same as how I store the LPs and CDs on the shelf, in alphabetical order by artist name using their given name first so Bob Dylan is filed under B not D and then by year of performance not year of release (I ignore The in artist names), I think there will be many ways people want album lists sorted !!

Hence my surprise when I noticed the Neil Young & Crazy Horse album occurring before all the other Neil Young albums in the collection rather than where I expected it to be, causing me to assume that the & was the issue especially when I found another album by Bob Dylan & The Band which was showing the same issue.

It was when I realised that my other installation which used the same files although different copies of them (my basic backup of music files) didn't have Fetch Additional Information selected and didn't show the issue that I started digging more into it.

Not sure if this help your thoughts or not, but once again thanks for the work you have done on the Musicplayer its streets ahead of what it used to be just a few release ago, now if we could just get a switch for the currently playing tracks artwork ........ Smile