mirror of
https://git.sr.ht/~joren/streamrip-go
synced 2026-07-27 23:42:28 +02:00
fix: omit original mix from titles
This commit is contained in:
+5
-1
@@ -1310,7 +1310,7 @@ func titleFromMetadata(meta map[string]any, fallback string) string {
|
|||||||
if title, ok := meta["title"].(string); ok {
|
if title, ok := meta["title"].(string); ok {
|
||||||
title = strings.TrimSpace(title)
|
title = strings.TrimSpace(title)
|
||||||
version := strings.TrimSpace(jsonutil.StringFromAny(meta["version"]))
|
version := strings.TrimSpace(jsonutil.StringFromAny(meta["version"]))
|
||||||
if version != "" {
|
if version != "" && !isOriginalMix(version) {
|
||||||
return title + " (" + version + ")"
|
return title + " (" + version + ")"
|
||||||
}
|
}
|
||||||
if title != "" {
|
if title != "" {
|
||||||
@@ -1320,6 +1320,10 @@ func titleFromMetadata(meta map[string]any, fallback string) string {
|
|||||||
return fallback
|
return fallback
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func isOriginalMix(version string) bool {
|
||||||
|
return strings.EqualFold(strings.TrimSpace(version), "Original Mix")
|
||||||
|
}
|
||||||
|
|
||||||
func replaygainGainFromAny(v any) string {
|
func replaygainGainFromAny(v any) string {
|
||||||
s := strings.TrimSpace(jsonutil.StringFromAny(v))
|
s := strings.TrimSpace(jsonutil.StringFromAny(v))
|
||||||
if s == "" {
|
if s == "" {
|
||||||
|
|||||||
@@ -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) {
|
func TestNormalizeInitialKey(t *testing.T) {
|
||||||
tests := map[string]string{
|
tests := map[string]string{
|
||||||
"C Major": "C",
|
"C Major": "C",
|
||||||
|
|||||||
Reference in New Issue
Block a user