Artist Sort order – Removal and additon of splitting rules



Having responded to a thread regarding artist sort orders not being respected for 2nd and subsequent artists, it became apparent that not only was this not working, it had not been working for some time.  This was due to Kodi’s internal artistseparators including a “, ” which was incorrect.  This caused the “Artist Sort Order” tag to be incorrectly split (especially when tagged with Musicbrainz Picard) leading to the wrong number of artists vs mbids and so the artist sort order was never inserted into the db.

This is now fixed!  YAY !!  – It will be in nightlies going forwards from 6th August 2024.   Your music will have to be rescanned though for it to take effect.

As WIP I have some code that will load an AS.xml as follows

xml:
<advancedsettings version="1.0">
<musiclibrary>
    <artistseparators>
      <separator>|</separator>
      <separator> Presents </separator>
      <separator> presents </separator>
      <separator> Vs. </separator>
      <separator> vs. </separator>
    </artistseparators>
    <removeartistseparators>
      <removeseparator>van</removeseparator>
    </removeartistseparators>
    <dateadded>1</dateadded>

    <useisodates>false</useisodates>
    <artistnavigatestosongs>true</artistnavigatestosongs>
</musiclibrary>
</advancedsettings>

Currently, the <artistseparators> are added to Kodi’s internal separators which currently are ” feat. “, ” ft. “, ” Feat. “, ” Ft. “, “;”, “:”, “|”, “#”, “/”, ” with “, “&” Please note, these (and any AS added ones, are CaSe sensitive).

The <removeseparators> will remove any <removeseparator> from the artist sort order tag. The listed AS.xml will remove ‘van’ from “Armin van Buuren” and alsp “Paul van Dyk”, displaying them (and sorting them) as Armin Buuren (Buuren, Armin) & Paul Dyk (Dyk, Paul). As this is case sensitive, “Ian Van Dahl” is not affected.

Technical Stuff
============

To remove parts of the artist sort order field, the <removeseparator> should be just the actual text to compare. Kodi will automatically add the “, ” for the artist sort order tag and ” ” for the artist name tag. See the above AS example to remove “van” from “Armin van Buuren” and “Paul van Dyk” (artist sort orders will be “Buuren, van, Armin” & “Dyk, van, Paul”).

This removal does not affect album artists. So, if your album artist is “Armin van Buuren” or “Paul van Dyk”, that will show in the album view. The artist view however will show “Armin Buuren” or “Paul Dyk”.

NOTE: None of this affects the scraping of artist or album info which uses the artist or album mbids (where provided) and so can cope with “van” missing from some names.

Going forward, I propose that <artistseparators> and <removeartistseparators> are respected regardless of whether or not MBID’s are provided. I also propose that for now, <artistseparators> are added to the default internal spearators, disregarding any duplicates. In future however, that might change and <artistseparators> defined in AS.xml might override the default ones. In that case, a user would need to re-define them in AS.xml.

I have tested my current code against recently tagged albums and albums that were tagged (with picard) around 2014/2015. Everything seems to be OK but if anyone would like to try a test build I can trigger one for Windows.

I have some screen shots of this working with the current code.

Image

Image

OR, splitting on “vs. “

Image

Image

Removed “van” from artist name and artist sort (but not album artist)

Image
Image

Image

Showing album artist.
Image