Skip to content

Plugin ArtistMerger

Derrik Diener edited this page Jul 16, 2026 · 1 revision

Artist Merger Plugin

Enabled by Default: Yes (Disable via SUPERNOVA_PLUGIN_ARTISTMERGER=false)

Purpose

Similar to the Album Merger, the Artist Merger prevents library fragmentation caused by slight differences in artist tags (e.g., "The Beatles" vs "the beatles" vs "The Beatles ").

Technical Internals

  1. Identification: It groups artists by stripping all whitespace and converting names to lowercase.
  2. Canonical Selection: It picks the artist entry that possesses the most complete metadata (e.g., having a valid musicbrainz_id or image_url) or defaults to the oldest entry.
  3. Transaction Safety: It opens a strict SQLite transaction (db.BeginTx).
  4. Junction Reassignment: It updates both junction tables:
    • UPDATE track_artists SET artist_id = ? WHERE artist_id = ?
    • UPDATE album_artists SET artist_id = ? WHERE artist_id = ?
  5. Heart Migration: It migrates user favorites via UPDATE OR IGNORE hearts.
  6. Purge: The duplicate artist record is safely deleted.

API Execution

You can manually trigger this plugin from the web UI Settings page or via: POST /api/plugins/artistmerger/run

Clone this wiki locally