mirror of
https://git.sr.ht/~joren/streamrip-go
synced 2026-06-17 15:05:39 +02:00
add format-aware tagging and replaygain fallback mapping
Write replaygain gain and peak tags from provider-specific metadata fields, then apply tagging across supported output containers with graceful cover-art fallback so non-FLAC downloads retain metadata.
This commit is contained in:
@@ -357,3 +357,30 @@ func TestTrackOutputPathSinglesUsesAlbumID(t *testing.T) {
|
||||
t.Fatalf("trackOutputPath() dir=%q want %q", got, want)
|
||||
}
|
||||
}
|
||||
|
||||
func TestBuildTagMetadataReplayGainFallbacks(t *testing.T) {
|
||||
meta := map[string]any{
|
||||
"replayGain": float64(-7.25),
|
||||
"peak": float64(0.989),
|
||||
"album": map[string]any{
|
||||
"title": "Album",
|
||||
"replaygain_album_gain": float64(-8.1),
|
||||
"replaygain_album_peak": float64(1.001),
|
||||
},
|
||||
"performer": map[string]any{"name": "Artist"},
|
||||
}
|
||||
|
||||
tags := buildTagMetadata(meta, "Song", "tidal", "t1", ripTrackOptions{})
|
||||
if tags.ReplaygainTrackGain != "-7.25 dB" {
|
||||
t.Fatalf("track replaygain gain=%q", tags.ReplaygainTrackGain)
|
||||
}
|
||||
if tags.ReplaygainAlbumGain != "-8.1 dB" {
|
||||
t.Fatalf("album replaygain gain=%q", tags.ReplaygainAlbumGain)
|
||||
}
|
||||
if tags.ReplaygainTrackPeak != "0.989" {
|
||||
t.Fatalf("track replaygain peak=%q", tags.ReplaygainTrackPeak)
|
||||
}
|
||||
if tags.ReplaygainAlbumPeak != "1.001" {
|
||||
t.Fatalf("album replaygain peak=%q", tags.ReplaygainAlbumPeak)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user