feat(subsonic): return transcoded mime and transcoded suffix in subsonic responses
fixes #106 * Added support to TranscodedContentType and TranscodedSuffix * Make sure that we have a profile * Fix linting * Fixed use of NewTCTrackByFolder instead of NewTrackByTags in handlers_by_tags.go simplify a bit
This commit is contained in:
@@ -127,6 +127,7 @@ func (c *Controller) ServeNotFound(r *http.Request) *spec.Response {
|
||||
}
|
||||
|
||||
func (c *Controller) ServeGetPlayQueue(r *http.Request) *spec.Response {
|
||||
params := r.Context().Value(CtxParams).(params.Params)
|
||||
user := r.Context().Value(CtxUser).(*db.User)
|
||||
var queue db.PlayQueue
|
||||
err := c.DB.
|
||||
@@ -143,8 +144,12 @@ func (c *Controller) ServeGetPlayQueue(r *http.Request) *spec.Response {
|
||||
sub.PlayQueue.Current = queue.CurrentSID()
|
||||
sub.PlayQueue.Changed = queue.UpdatedAt
|
||||
sub.PlayQueue.ChangedBy = queue.ChangedBy
|
||||
|
||||
trackIDs := queue.GetItems()
|
||||
sub.PlayQueue.List = make([]*spec.TrackChild, len(trackIDs))
|
||||
|
||||
transcodeMIME, transcodeSuffix := streamGetTransPrefProfile(c.DB, user.ID, params.GetOr("c", ""))
|
||||
|
||||
for i, id := range trackIDs {
|
||||
track := db.Track{}
|
||||
c.DB.
|
||||
@@ -154,6 +159,8 @@ func (c *Controller) ServeGetPlayQueue(r *http.Request) *spec.Response {
|
||||
Preload("TrackRating", "user_id=?", user.ID).
|
||||
Find(&track)
|
||||
sub.PlayQueue.List[i] = spec.NewTCTrackByFolder(&track, track.Album)
|
||||
sub.PlayQueue.List[i].TranscodedContentType = transcodeMIME
|
||||
sub.PlayQueue.List[i].TranscodedSuffix = transcodeSuffix
|
||||
}
|
||||
return sub
|
||||
}
|
||||
@@ -241,8 +248,13 @@ func (c *Controller) ServeGetRandomSongs(r *http.Request) *spec.Response {
|
||||
sub := spec.NewResponse()
|
||||
sub.RandomTracks = &spec.RandomTracks{}
|
||||
sub.RandomTracks.List = make([]*spec.TrackChild, len(tracks))
|
||||
|
||||
transcodeMIME, transcodeSuffix := streamGetTransPrefProfile(c.DB, user.ID, params.GetOr("c", ""))
|
||||
|
||||
for i, track := range tracks {
|
||||
sub.RandomTracks.List[i] = spec.NewTrackByTags(track, track.Album)
|
||||
sub.RandomTracks.List[i].TranscodedContentType = transcodeMIME
|
||||
sub.RandomTracks.List[i].TranscodedSuffix = transcodeSuffix
|
||||
}
|
||||
return sub
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user