mirror of
https://github.com/navidrome/navidrome.git
synced 2026-10-09 02:47:29 +02:00
Add fallback artist/title to structured lyrics
This commit is contained in:
parent
f7d25b17aa
commit
5cd2985e6b
2 changed files with 11 additions and 4 deletions
|
|
@ -324,7 +324,7 @@ func buildAlbumID3(ctx context.Context, album model.Album) responses.AlbumID3 {
|
|||
return dir
|
||||
}
|
||||
|
||||
func buildStructuredLyric(lyric model.Lyric) responses.StructuredLyric {
|
||||
func buildStructuredLyric(mf *model.MediaFile, lyric model.Lyric) responses.StructuredLyric {
|
||||
lines := make([]responses.Line, len(lyric.Line))
|
||||
|
||||
for i, line := range lyric.Line {
|
||||
|
|
@ -343,14 +343,21 @@ func buildStructuredLyric(lyric model.Lyric) responses.StructuredLyric {
|
|||
Synced: lyric.Synced,
|
||||
}
|
||||
|
||||
if structured.DisplayArtist == "" {
|
||||
structured.DisplayArtist = mf.Artist
|
||||
}
|
||||
if structured.DisplayTitle == "" {
|
||||
structured.DisplayTitle = mf.Title
|
||||
}
|
||||
|
||||
return structured
|
||||
}
|
||||
|
||||
func buildStructuredLyrics(lyrics model.Lyrics) *responses.LyricsList {
|
||||
func buildStructuredLyrics(mf *model.MediaFile, lyrics model.Lyrics) *responses.LyricsList {
|
||||
lyricList := make(responses.StructuredLyrics, len(lyrics))
|
||||
|
||||
for i, lyric := range lyrics {
|
||||
lyricList[i] = buildStructuredLyric(lyric)
|
||||
lyricList[i] = buildStructuredLyric(mf, lyric)
|
||||
}
|
||||
|
||||
res := &responses.LyricsList{
|
||||
|
|
|
|||
|
|
@ -145,7 +145,7 @@ func (api *Router) GetLyricsBySongId(r *http.Request) (*responses.Subsonic, erro
|
|||
}
|
||||
|
||||
response := newResponse()
|
||||
response.LyricsList = buildStructuredLyrics(lyrics)
|
||||
response.LyricsList = buildStructuredLyrics(mediaFile, lyrics)
|
||||
|
||||
return response, nil
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue