feat(subsonic): expose replaygain tags
This commit is contained in:
@@ -102,6 +102,14 @@ func NewTCTrackByFolder(t *db.Track, parent *db.Album) *TrackChild {
|
||||
for _, a := range t.Artists {
|
||||
trCh.Artists = append(trCh.Artists, &ArtistRef{ID: a.SID(), Name: a.Name})
|
||||
}
|
||||
if t.ReplayGainTrackGain != 0 || t.ReplayGainAlbumGain != 0 {
|
||||
trCh.ReplayGain = &ReplayGain{
|
||||
TrackGain: t.ReplayGainTrackGain,
|
||||
TrackPeak: t.ReplayGainTrackPeak,
|
||||
AlbumGain: t.ReplayGainAlbumGain,
|
||||
AlbumPeak: t.ReplayGainAlbumPeak,
|
||||
}
|
||||
}
|
||||
return trCh
|
||||
}
|
||||
|
||||
|
||||
@@ -112,6 +112,14 @@ func NewTrackByTags(t *db.Track, album *db.Album) *TrackChild {
|
||||
for _, a := range album.Artists {
|
||||
ret.AlbumArtists = append(ret.AlbumArtists, &ArtistRef{ID: a.SID(), Name: a.Name})
|
||||
}
|
||||
if t.ReplayGainTrackGain != 0 || t.ReplayGainAlbumGain != 0 {
|
||||
ret.ReplayGain = &ReplayGain{
|
||||
TrackGain: t.ReplayGainTrackGain,
|
||||
TrackPeak: t.ReplayGainTrackPeak,
|
||||
AlbumGain: t.ReplayGainAlbumGain,
|
||||
AlbumPeak: t.ReplayGainAlbumPeak,
|
||||
}
|
||||
}
|
||||
return ret
|
||||
}
|
||||
|
||||
|
||||
@@ -169,6 +169,13 @@ type TranscodeMeta struct {
|
||||
TranscodedSuffix string `xml:"transcodedSuffix,attr,omitempty" json:"transcodedSuffix,omitempty"`
|
||||
}
|
||||
|
||||
type ReplayGain struct {
|
||||
TrackGain float32 `xml:"trackGain,attr" json:"trackGain"`
|
||||
TrackPeak float32 `xml:"trackPeak,attr" json:"trackPeak"`
|
||||
AlbumGain float32 `xml:"albumGain,attr" json:"albumGain"`
|
||||
AlbumPeak float32 `xml:"albumPeak,attr" json:"albumPeak"`
|
||||
}
|
||||
|
||||
// https://opensubsonic.netlify.app/docs/responses/child/
|
||||
type TrackChild struct {
|
||||
ID *specid.ID `xml:"id,attr,omitempty" json:"id,omitempty"`
|
||||
@@ -211,6 +218,8 @@ type TrackChild struct {
|
||||
UserRating int `xml:"userRating,attr,omitempty" json:"userRating,omitempty"`
|
||||
AverageRating string `xml:"averageRating,attr,omitempty" json:"averageRating,omitempty"`
|
||||
|
||||
ReplayGain *ReplayGain `xml:"replayGain" json:"replayGain"`
|
||||
|
||||
TranscodeMeta
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user