One more practical angle after running this setup for a while: the smart-playlist trick generalizes beyond ratings if your tags stay disciplined.
What actually made it work for me on Navidrome + Feishin:
- Keep
mood/occasionas single-value tags (one field, comma-free). Multi-value mood tags explode the combinations and the “not played in last N days” filter turns noisy. - Same idea as above for ratings (
rating is not 1), but inverted for a discovery build:rating is empty+play count is 0gives a “never touched” queue that surfaces imports you forgot about. - Subsonic clients cache the queue aggressively; if a smart playlist looks stale, force a library scan in Navidrome and restart the client before blaming your rules.
- If you batch-tag with beets or Picard: beets can write ratings via plugins, but Picard’s default tagging won’t touch ratings at all — Navidrome only reads the POPM field it expects, so “stars vanished after retagging” is almost always the tagger, not Navidrome.
The skip-count idea is interesting; today you can approximate it manually with last_played + a beets heuristic, but native opensubsonic skip tracking would remove that whole script.
Removed by mod