|
|
@@ -61,17 +61,20 @@
|
|
|
(maybe-key-value "cover" (get-url (album-cover album)))))
|
|
|
|
|
|
(defmethod %to-json ((track track))
|
|
|
- (with-object
|
|
|
- (maybe-key-value "artist" (track-artist track))
|
|
|
- (maybe-key-value "album" (album-album (track-album track)))
|
|
|
- (maybe-key-value "year" (album-year (track-album track)))
|
|
|
- (maybe-key-value "no" (clear-track-no (track-no track)))
|
|
|
- (maybe-key-value "title" (track-title track))
|
|
|
- (maybe-key-value "bit_rate" (track-bit-rate track))
|
|
|
- (maybe-key-value "vbr" (if (track-is-vbr track) :true :false))
|
|
|
- (maybe-key-value "duration" (track-duration track))
|
|
|
- (maybe-key-value "url" (get-url (track-path track)))
|
|
|
- (maybe-key-value "cover" (get-url (album-cover (track-album track))))))
|
|
|
+ (let ((album-artist (album-artist (track-album track)))
|
|
|
+ (track-artist (track-artist track)))
|
|
|
+ (with-object
|
|
|
+ (maybe-key-value "artist" track-artist)
|
|
|
+ (maybe-key-value "album_artist" (unless (equal track-artist album-artist) album-artist))
|
|
|
+ (maybe-key-value "album" (album-album (track-album track)))
|
|
|
+ (maybe-key-value "year" (album-year (track-album track)))
|
|
|
+ (maybe-key-value "no" (clear-track-no (track-no track)))
|
|
|
+ (maybe-key-value "title" (track-title track))
|
|
|
+ (maybe-key-value "bit_rate" (track-bit-rate track))
|
|
|
+ (maybe-key-value "vbr" (if (track-is-vbr track) :true :false))
|
|
|
+ (maybe-key-value "duration" (track-duration track))
|
|
|
+ (maybe-key-value "url" (get-url (track-path track)))
|
|
|
+ (maybe-key-value "cover" (get-url (album-cover (track-album track)))))))
|
|
|
|
|
|
(defparameter +400+ '(400 nil #.(trivial-utf-8:string-to-utf-8-bytes "Bad Request")))
|
|
|
(defparameter +401+ '(401 nil #.(trivial-utf-8:string-to-utf-8-bytes "Unauthorized")))
|