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 {
|
||||
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 == "" {
|
||||
|
||||
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user