Skip to content

Display artist#1576

Open
darrell-k wants to merge 26 commits into
LMS-Community:public/9.2from
darrell-k:display_artist
Open

Display artist#1576
darrell-k wants to merge 26 commits into
LMS-Community:public/9.2from
darrell-k:display_artist

Conversation

@darrell-k
Copy link
Copy Markdown
Contributor

Objective:

To capture the "human readable" artist tag from eg Musicbrainz as well as the underlying list of individual artists and provide this data to clients.
eg
ARTIST="Bill Evans Trio with Scott LaFaro and Paul Motian"
ARTISTS="Bill Evans; Scott LaFaro; Paul Motian"

Design:

New table contributor_display to hold these display names. Rows will not be created in the existing contributor table.

New join tables contributor_track_display and contributor_album_display to relate contributor_display.id to the tracks/albums and the actual contributors below the display name.

New columns in the albums and tracks tables to hold contributor_display.id.

Amend queries to return the new data.

Add the display artist to FTS album and track rows.

The scanning changes will be optional, with a new preference, in case users have already fixed their tags and do not want this functionality.

With thanks to @Rouzax

darrell-k and others added 18 commits May 2, 2026 16:54
Signed-off-by: darrell-k <darrell@darrell.org.uk>
Signed-off-by: darrell-k <darrell@darrell.org.uk>
Signed-off-by: darrell-k <darrell@darrell.org.uk>
Signed-off-by: darrell-k <darrell@darrell.org.uk>
Signed-off-by: darrell-k <darrell@darrell.org.uk>
Signed-off-by: darrell-k <darrell@darrell.org.uk>
Signed-off-by: Rouzax <GitHub@mgdn.nl>
In updateOrCreateBase, capture albumDisplayArtist and trackDisplayArtist
from the attributeHash before _preCheckAttributes strips/defers them.
Pass both values to _postCheckAttributes, which now calls
_getOrCreateDisplayContributor for each, writes display_contributor to
the track row, and forwards both IDs to _createOrUpdateAlbum and
_createContributorRoleRelationships. Without this, rescanning an
existing track never updated display_contributor.

Signed-off-by: Martijn Frazer <claude@mgdn.nl>
Signed-off-by: Rouzax <GitHub@mgdn.nl>
Register usePluralArtistTags in Behavior.pm prefs list so the web UI
can save it. Add to the setChange wipecache list so toggling the pref
triggers a rescan. Handle scalar plural tags (e.g. semicolon-joined
ALBUMARTISTS from TXXX) by routing through splitTag instead of
requiring an arrayref.

Signed-off-by: Rouzax <GitHub@mgdn.nl>
Functional changes for display_artist on 3NF schema
@Rouzax
Copy link
Copy Markdown
Contributor

Rouzax commented May 20, 2026

Also wanted to leave my draft documentation here as well
https://github.com/Rouzax/slimserver/blob/docs/artist-tags/docs/artist-tags-in-lms.md

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants