mirror of
https://git.sr.ht/~joren/streamrip-go
synced 2026-06-17 15:05:39 +02:00
map deezer gain to replaygain track metadata
This commit is contained in:
@@ -1248,6 +1248,9 @@ func buildTagMetadata(trackMeta map[string]any, title, source, trackID string, o
|
|||||||
if trackGain == "" {
|
if trackGain == "" {
|
||||||
trackGain = replaygainGainFromAny(trackMeta["replayGain"])
|
trackGain = replaygainGainFromAny(trackMeta["replayGain"])
|
||||||
}
|
}
|
||||||
|
if trackGain == "" {
|
||||||
|
trackGain = replaygainGainFromAny(trackMeta["gain"])
|
||||||
|
}
|
||||||
albumGain := replaygainGainFromAny(trackMeta["replaygain_album_gain"])
|
albumGain := replaygainGainFromAny(trackMeta["replaygain_album_gain"])
|
||||||
if albumGain == "" {
|
if albumGain == "" {
|
||||||
albumGain = replaygainGainFromAny(nestedAny(trackMeta, "album", "replaygain_album_gain"))
|
albumGain = replaygainGainFromAny(nestedAny(trackMeta, "album", "replaygain_album_gain"))
|
||||||
|
|||||||
@@ -621,3 +621,16 @@ func TestBuildTagMetadataReplayGainFallbacks(t *testing.T) {
|
|||||||
t.Fatalf("album replaygain peak=%q", tags.ReplaygainAlbumPeak)
|
t.Fatalf("album replaygain peak=%q", tags.ReplaygainAlbumPeak)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestBuildTagMetadataReplayGainFallsBackToDeezerGain(t *testing.T) {
|
||||||
|
meta := map[string]any{
|
||||||
|
"gain": float64(-10),
|
||||||
|
"performer": map[string]any{"name": "Artist"},
|
||||||
|
"album": map[string]any{"title": "Album"},
|
||||||
|
}
|
||||||
|
|
||||||
|
tags := buildTagMetadata(meta, "Song", "deezer", "2675762392", ripTrackOptions{})
|
||||||
|
if tags.ReplaygainTrackGain != "-10 dB" {
|
||||||
|
t.Fatalf("track replaygain gain=%q", tags.ReplaygainTrackGain)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user