fix: omit original mix from titles

This commit is contained in:
2026-07-11 23:43:03 +02:00
parent 80bfbe0ecb
commit 150b5b5d85
2 changed files with 19 additions and 1 deletions
+5 -1
View File
@@ -1310,7 +1310,7 @@ func titleFromMetadata(meta map[string]any, fallback string) string {
if title, ok := meta["title"].(string); ok {
title = strings.TrimSpace(title)
version := strings.TrimSpace(jsonutil.StringFromAny(meta["version"]))
if version != "" {
if version != "" && !isOriginalMix(version) {
return title + " (" + version + ")"
}
if title != "" {
@@ -1320,6 +1320,10 @@ func titleFromMetadata(meta map[string]any, fallback string) string {
return fallback
}
func isOriginalMix(version string) bool {
return strings.EqualFold(strings.TrimSpace(version), "Original Mix")
}
func replaygainGainFromAny(v any) string {
s := strings.TrimSpace(jsonutil.StringFromAny(v))
if s == "" {
+14
View File
@@ -893,6 +893,20 @@ func TestBuildTagMetadataArtistList(t *testing.T) {
}
}
func TestTitleFromMetadataSkipsOriginalMix(t *testing.T) {
meta := map[string]any{"title": "Dance Done", "version": "Original Mix"}
if got := titleFromMetadata(meta, "42"); got != "Dance Done" {
t.Fatalf("titleFromMetadata()=%q", got)
}
}
func TestTitleFromMetadataIncludesNonOriginalMix(t *testing.T) {
meta := map[string]any{"title": "Dance Done", "version": "Extended Mix"}
if got := titleFromMetadata(meta, "42"); got != "Dance Done (Extended Mix)" {
t.Fatalf("titleFromMetadata()=%q", got)
}
}
func TestNormalizeInitialKey(t *testing.T) {
tests := map[string]string{
"C Major": "C",