Post Reply 
Revisiting the Artist and All Artists Index
20-11-2023, 16:47 (This post was last modified: 20-11-2023 17:14 by paultaylor.)
Post: #1
Revisiting the Artist and All Artists Index
Hi Simon

We have discussed some of this before but I'm just revisiting the the Artist and All Artists index and would like to clear up some things im not sure about or what the current situation is.

From the user guide:
Quote:The Artist and AlbumArtist tags are indexed specially, as follows:

The Artist index provides main artist information. It contains AlbumArtist tag values for albums that have this tag and Artist tag values otherwise. This index is included by default and can be excluded by removing Artist from indexTags.
The All Artists index provides complete artist information. It contains Artist tag values only, not AlbumArtist tag values. This index is included by default and can be excluded by removing All Artists from indexTags.
The AlbumArtist index contains AlbumArtist tag values only, not Artist tag values. This index is excluded by default and can be included by adding AlbumArtist to indexTags.

I always find it very confusing that the Artist index
- Primarily contains value from the albumartist field (i.e Album Artist) not the artist field (i.e Track Artist) despite being called Artist index
- Contains track artist at all as I always set an album artist if the album is known and I don't want to mix up track artists and album artists.

And that you mention an AlbumArtist index above but say it is excluded by default, so does that mean it is created and just used internally or that it is not created unless included ?

So I dont want to use the Artist index only the AlbumArtist index. Furthermore with SongKong we always set the album artist to the same value for every song on the album. We also set album_artists field to the same value for every song on the album and this can be have multiple values when the album is credited to multiple artists (e.g Johnny Cash and June Carter)

I couldnt remember it is now okay to use this multi-value field for Album Artists or if it still causes an issue with album grouping/identification, if I just add Album_Artists:Album Artists to indexTags ?

And actually I suppose I should do

aliasTags:Album_Artists:-AlbumArtist
indexTags:AlbumArtist:Album Artists

for those files not tagged by songkong so unlikely to have albumartists field but still likely to have albumartist field ?

Then I find it confusing that the All Artists index:
- Doesn't contain all artists, it only contains track artists
- Doesn't specify any mapping in the configuration from artist field to All Artists index it just happens,

Again I have a field called artists field for multiple value track artists and I have configuration

aliasTags:Artists:-Artist

to replace Artist index with values from Artists field unless missing then fall back to artist field.

but is it okay to just add Artist to index tags to map to this rather than All Artists or will that just add back in the original Artist index that I wanted to exclude ?

thanks Paul
Visit this user's website Find all posts by this user
Quote this message in a reply
20-11-2023, 21:41
Post: #2
RE: Revisiting the Artist and All Artists Index
The current situation is exactly the same as it has always been. See below for answers to your specific points and questions.

(20-11-2023 16:47)paultaylor Wrote:  I always find it very confusing that the Artist index
- Primarily contains value from the albumartist field (i.e Album Artist) not the artist field (i.e Track Artist) despite being called Artist index
- Contains track artist at all as I always set an album artist if the album is known and I don't want to mix up track artists and album artists.

If the Artist index produces results that are not suitable for you, you don't need to use it.

Quote:And that you mention an AlbumArtist index above but say it is excluded by default, so does that mean it is created and just used internally or that it is not created unless included ?

By "excluded" I meant that the default configuration settings do not show it as a selection when browsing. The user can show it by adding AlbumArtist to the indexTags property. There is no notion of creating an index for use internally. All indexes are created and shown in response to a user browsing action.

Quote:So I dont want to use the Artist index only the AlbumArtist index. Furthermore with SongKong we always set the album artist to the same value for every song on the album. We also set album_artists field to the same value for every song on the album and this can be have multiple values when the album is credited to multiple artists (e.g Johnny Cash and June Carter)

I couldnt remember it is now okay to use this multi-value field for Album Artists or if it still causes an issue with album grouping/identification, if I just add Album_Artists:Album Artists to indexTags ?

The AlbumArtist index (corresponding to AlbumArtist and/or Album Artist tags in the files) requires a single value that is consistent across all tracks of an album. If you have another field such as album_artists, this limitation does not apply.

Quote:And actually I suppose I should do

aliasTags:Album_Artists:-AlbumArtist
indexTags:AlbumArtist:Album Artists

for those files not tagged by songkong so unlikely to have albumartists field but still likely to have albumartist field ?

Your first setting will replace Album_Artists tags with AlbumArtist tags and run into the limitation that AlbumArtist can only have a single value. There is no problem with your second setting.

Quote:Then I find it confusing that the All Artists index:
- Doesn't contain all artists, it only contains track artists
- Doesn't specify any mapping in the configuration from artist field to All Artists index it just happens,

This index contains all Artist tags from all files. I think its name accurately refects this.

Quote:Again I have a field called artists field for multiple value track artists and I have configuration

aliasTags:Artists:-Artist

to replace Artist index with values from Artists field unless missing then fall back to artist field.

This should be fine.

Quote:but is it okay to just add Artist to index tags to map to this rather than All Artists or will that just add back in the original Artist index that I wanted to exclude ?

For this, you would need to set All Artists:Artist in indexTags (it is MinimServer's 'All Artists' index but the user is seeing it as 'Artist'). An alternative approach (simpler and clearer in my view) would be not to use aliasTags but instead set tagValue to Artists.default={Artist} so that all artists are tagged internally using the Artists tag, then put Artists:Artist in indexTags to show the Artists tag as the Artist index.
Find all posts by this user
Quote this message in a reply
20-11-2023, 22:52 (This post was last modified: 20-11-2023 22:52 by paultaylor.)
Post: #3
RE: Revisiting the Artist and All Artists Index
simoncn Wrote:  By "excluded" I meant that the default configuration settings do not show it as a selection when browsing. The user can show it by adding AlbumArtist to the indexTags property. There is no notion of creating an index for use internally. All indexes are created and shown in response to a user browsing action.
Quote:The AlbumArtist index (corresponding to AlbumArtist and/or Album Artist tags in the files) requires a single value that is consistent across all tracks of an album. If you have another field such as album_artists, this limitation does not apply.
Quote:Your first setting will replace Album_Artists tags with AlbumArtist tags and run into the limitation that AlbumArtist can only have a single value. There is no problem with your second setting.
So decoding these answers is the rule simply that

- The AlbumArtist field (i.e ALBUMARTIST for flac, TPE2 for ID3v24, aART for Mp4) must be a consistent single value for correctly identifying albums
- And therefore using an aliasTag to map album_artists into albumartist would break that.
- But as long as I dont do anything to mess up the value of AlbumArtist fields I can create by own Album Artist type index as I wish ?
Visit this user's website Find all posts by this user
Quote this message in a reply
21-11-2023, 10:17
Post: #4
RE: Revisiting the Artist and All Artists Index
(20-11-2023 22:52)paultaylor Wrote:  So decoding these answers is the rule simply that

- The AlbumArtist field (i.e ALBUMARTIST for flac, TPE2 for ID3v24, aART for Mp4) must be a consistent single value for correctly identifying albums
- And therefore using an aliasTag to map album_artists into albumartist would break that.
- But as long as I dont do anything to mess up the value of AlbumArtist fields I can create by own Album Artist type index as I wish ?

Whilst there are ways to get it to look right:
Code:
indexTags: Album_Artists:AlbumArtist
tagFormat: AlbumArtist.displayFormat={$Album_Artists}

Because it isn't an Artist tag (to MinimServer) it's still a second class citizen, so your index will made up of '<upnp:class>object.container</upnp:class>' instead of '<upnp:class>object.container.person.musicArtist</upnp:class>' which may affect your browsing, and none of the additional album artists will be returned from a search (at least not as an album artist).

The inconsistency in the search results was what put me off.
Find all posts by this user
Quote this message in a reply
21-11-2023, 10:42
Post: #5
RE: Revisiting the Artist and All Artists Index
I was about to point this out but @simbun beat me to it!

Because of this, my suggested alternative approach in post #2:

Quote:For this, you would need to set All Artists:Artist in indexTags (it is MinimServer's 'All Artists' index but the user is seeing it as 'Artist'). An alternative approach (simpler and clearer in my view) would be not to use aliasTags but instead set tagValue to Artists.default={Artist} so that all artists are tagged internally using the Artists tag, then put Artists:Artist in indexTags to show the Artists tag as the Artist index.

is not a good idea because it results in missing artists from the "real" Artist tag. The approach suggested by @paultaylor:

Quote:Again I have a field called artists field for multiple value track artists and I have configuration

aliasTags:Artists:-Artist

to replace Artist index with values from Artists field unless missing then fall back to artist field.

is better because it avoids this problem.
Find all posts by this user
Quote this message in a reply
21-11-2023, 11:37
Post: #6
RE: Revisiting the Artist and All Artists Index
Thanks but Im not quite getting it since simbuns post talks about AlbumArtist, and simon discusses Artist, not do I get the need to use displayFormat as suggested by Simbun as it looks correct to me.

Let me show you what I now have and am trying to achieve and you can comment if it is okay or not

aliasTags:Artists:-Artist
indexTags:Album_artists:Album Artists, All Artists:Artists
tagValue:Album_Artists.default={AlbumArtist}


I want to display an Album Artists index that uses the value of Album_Artists, but if that is missing fall back to use AlbumArtist. And an Artists index that uses the value of Artists but falls back to using Artist if that missing.

I have done them two different ways so the value of AlbumArtist is nor modified and therefore does not cause a problem for identifying albums. Also I'm not clear what would be the difference if instead I did it this way instead.

indexTags:Album_artists:Album Artists, Artists
tagValue:Album_Artists.default={AlbumArtist}, Artists.default={Artist}
Visit this user's website Find all posts by this user
Quote this message in a reply
21-11-2023, 12:12 (This post was last modified: 21-11-2023 12:18 by simbun.)
Post: #7
RE: Revisiting the Artist and All Artists Index
(21-11-2023 11:37)paultaylor Wrote:  Thanks but Im not quite getting it since simbuns post talks about AlbumArtist, and simon discusses Artist, not do I get the need to use displayFormat as suggested by Simbun as it looks correct to me.

My response was purely about the multiple AlbumArtist issue.

When I tried it, not only did I want to see multiple album artists in an index, but I also wanted to see them when displaying albums (hence the use of .displayFormat) and to appear in UPnP searches as AlbumArtists (all of which isn't possible).

If you only want to use album_artists as an index, then specifying it in indexTags is sufficient.
Find all posts by this user
Quote this message in a reply
21-11-2023, 12:35
Post: #8
RE: Revisiting the Artist and All Artists Index
(21-11-2023 11:37)paultaylor Wrote:  Let me show you what I now have and am trying to achieve and you can comment if it is okay or not

aliasTags:Artists:-Artist
indexTags:Album_artists:Album Artists, All Artists:Artists
tagValue:Album_Artists.default={AlbumArtist}

I have done them two different ways so the value of AlbumArtist is nor modified and therefore does not cause a problem for identifying albums. Also I'm not clear what would be the difference if instead I did it this way instead.

indexTags:Album_artists:Album Artists, Artists
tagValue:Album_Artists.default={AlbumArtist}, Artists.default={Artist}

Both the above approaches do the same for album artists. Factoring this out of the comparison, we are left with:

option 1:
aliasTags: Artists:-Artist
indexTags: All Artists:Artists

option 2:
indexTags: Artists
tagValue: Artists.default={Artist}

Option 1 combines Artists and Artist file tags into internal MinimServer Artist tags. Option 2 combines Artists and Artist file tags into internal MinimServer Artists tags.

The internal MinimServer Artist tag is sent to the control point in upnp:artist and used for artist searching. The internal MinimServer Artists tag is not used for these purposes.
Find all posts by this user
Quote this message in a reply
21-11-2023, 12:44 (This post was last modified: 21-11-2023 12:45 by paultaylor.)
Post: #9
RE: Revisiting the Artist and All Artists Index
(21-11-2023 12:12)simbun Wrote:  My response was purely about the multiple AlbumArtist issue.
Yes I know, but Simon referenced you but then went on to post about Artists not Album Artists so unclear what he meant.

(21-11-2023 12:12)simbun Wrote:  When I tried it, not only did I want to see multiple album artists in an index, but I also wanted to see them when displaying albums (hence the use of .displayFormat)
Okay, that is not necessary for me because the two fields contain

Album Artists:
Johnny Cash
June Carter

Album Artist:
Johnny Cash & June Carter

and therefore although I want to the two values to be indexed seperately I want to see Johnny Cash & June Carter when playing the album as this best matches the actual release.

(21-11-2023 12:12)simbun Wrote:  and to appear in UPnP searches as AlbumArtists (all of which isn't possible).
Okay im using Kinsky because testing on PC and Kazoo works ureliably for me and this doesnt seem to have search, do you of a control point on the PC that supports search so I can try this out.
Visit this user's website Find all posts by this user
Quote this message in a reply
21-11-2023, 12:53 (This post was last modified: 21-11-2023 12:53 by paultaylor.)
Post: #10
RE: Revisiting the Artist and All Artists Index
(21-11-2023 12:35)simoncn Wrote:  Both the above approaches do the same for album artists.
Hang on I wasnt suggesting both of these approach for Album Artist I had settled on

aliasTags:Album_artists:Album Artists
indexTags:Album_Artists.default={AlbumArtist}


because it was my understanding that we must not have multiple values for the AlbumArtist field for the purposes of album identifivcation so the other way using aliases was ruled out ?

(21-11-2023 12:35)simoncn Wrote:  Factoring this out of the comparison, we are left with:

option 1:
aliasTags: Artists:-Artist
indexTags: All Artists:Artists

option 2:
indexTags: Artists
tagValue: Artists.default={Artist}

Option 1 combines Artists and Artist file tags into internal MinimServer Artist tags. Option 2 combines Artists and Artist file tags into internal MinimServer Artists tags.

The internal MinimServer Artist tag is sent to the control point in upnp:artist and used for artist searching. The internal MinimServer Artists tag is not used for these purposes.
Okay so I get this, and therefore for Artists option 1 is the correct approach ?
Visit this user's website Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)