Skip to content

MusicMagic: add genre exclusion filter for MusicIP mixes#1612

Open
jonstahl wants to merge 1 commit into
LMS-Community:public/9.2from
jonstahl:feature/musicmagic-genre-filter
Open

MusicMagic: add genre exclusion filter for MusicIP mixes#1612
jonstahl wants to merge 1 commit into
LMS-Community:public/9.2from
jonstahl:feature/musicmagic-genre-filter

Conversation

@jonstahl

Copy link
Copy Markdown
Contributor

Summary

  • Adds an "Excluded Genres" multi-select (global and per-player) that filters MusicIP mix results against the genres already in your local Lyrion library, so you can keep specific genres out of any mix regardless of seed.
  • Since MusicIP has already picked the mix before this exclusion is applied locally, the mix request now asks for extra tracks up front and trims back to the configured size, so excluding genres doesn't leave you with a short mix.
  • Adds full translations for the new setting strings (CS/DA/DE/ES/FI/FR/HE/HU/IT/NL/NO/PL/RU/SV/ZH_CN).

Why not the existing "Mix Filter" setting?

MusicMagic already has a "Mix Filter" option, but it doesn't cover this case:

  • It applies a single named filter that has to be predefined inside the standalone MusicIP Mixer desktop app itself (fetched via MusicIP's /filters API) — there's no way to build or edit one from within Lyrion, and it's one filter at a time, not an arbitrary combinable set of genres.
  • MusicIP also supports inline "Power Search" filter expressions (e.g. ?genre==Rock) that could in principle express a genre condition, but Power Search is an advanced MusicIP feature gated behind an active MusicIP registration/license key, so it's unavailable to a chunk of users and would fail silently for them.
  • Genre matching against MusicIP's own tag data also isn't guaranteed to line up with how a track's genre(s) are recorded in the local library.

This feature instead reads genres directly from the local library (the same list you already browse/see in Lyrion), needs no MusicIP-side setup or paid registration, and supports selecting any number of genres to exclude.

Test plan

  • Verified settings save/load correctly for both the global and per-player MusicMagic settings pages
  • Verified excluded genres are correctly dropped from mix results
  • Verified mixes are topped back up to the configured size after exclusion
  • Manually tested end-to-end against a running lmscommunity/lyrionmusicserver Docker instance

🤖 Generated with Claude Code

Lets users select one or more local library genres to exclude from
MusicIP mix results, configurable globally and per-player. Since
exclusion happens after MusicIP has already picked the mix, request
extra tracks up front and trim back to the configured size so
exclusions don't leave mixes short.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Signed-off-by: Jon Stahl <jonstahl@gmail.com>
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.

1 participant