Kaynağa Gözat

[back] Return album artist with tracks.

Innokentiy Enikeev 4 yıl önce
ebeveyn
işleme
d92735e2b1
1 değiştirilmiş dosya ile 14 ekleme ve 11 silme
  1. 14 11
      back/server.lisp

+ 14 - 11
back/server.lisp

@@ -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")))