+(defun emus-render-record (record)
+ (insert-text-button
+ (concat
+ (propertize (format "%-20.20s" (emus-record-artist record))
+ 'face 'font-lock-keyword-face)
+ (propertize (format "% -20.20s" (emus-record-album record))
+ 'face 'font-lock-function-name-face)
+ (propertize (format " %s" (emus-record-title record))
+ 'face 'font-lock-string-face))
+ 'action #'emus-click-record
+ 'follow-link t
+ 'emus-record record)
+ (insert "\n"))
+
+(defun emus-render-records ()
+ (with-current-buffer "*emus*"
+ (let ((inhibit-read-only t))
+ (save-excursion
+ (erase-buffer)
+ (goto-char (point-min))
+ (dolist (record emus-records)
+ (emus-render-record record))))))
+
+(defun emus-click-record (button)
+ (emus-play-record (button-get button 'emus-record)))
+