[Add frontend-show-viewer and use it for all frontend views
clinton@unknownlamer.org**20080213224448
 Embeds a  flowplayer-component for in-page audio playing
] {
hunk ./src/web-frontend.lisp 28
-      (component-controls ("View" (call 'full-show-viewer :show show)))
+      (component-controls ("View" (call 'frontend-show-viewer :show show)))
hunk ./src/web-frontend.lisp 32
+(defcomponent frontend-show-viewer (full-show-viewer)
+  ((player :component (flowplayer-component
+		       :auto-play nil
+		       :video-height 0
+		       :player-width 300
+		       :skin-config '((:control-bar-background-color . "0xBBBBBB")
+				      (:show-menu . nil)
+				      (:show-full-screen-button . nil)))
+	   :accessor viewer-player)))
+
+(defmethod render-show :after ((self frontend-show-viewer) show)
+  (when (audio-data show)
+    (setf (playlist (viewer-player self))
+	  `((:url ,(action-href-body (:with-call/cc t :invocation-isolated nil)
+				     (play-file self show))
+		  :name "show"
+		  :type "mp3")))
+    (render (viewer-player self))))
+
hunk ./src/web-frontend.lisp 53
-  (:default-initargs :viewer 'full-show-viewer))
+  (:default-initargs :viewer 'frontend-show-viewer))
hunk ./src/web-frontend.lisp 55
-(defmethod render-show :around ((self frontend-show-chooser) (show radio-show))
+(defmethod render-show ((self frontend-show-chooser) (show radio-show))
hunk ./src/web-frontend.lisp 71
+(defcomponent sidebar-show-chooser (frontend-show-chooser)
+  ()
+  (:default-initargs :viewer 'frontend-show-viewer))
hunk ./src/web-frontend.lisp 128
-			     (archive . ,(make-instance 'frontend-show-chooser :viewer 'full-show-viewer))))))
+			     (archive . ,(make-instance 'frontend-show-chooser))))))
hunk ./src/web-frontend.lisp 137
-
-(defcomponent frontend-show-viewer (show-viewer)
-  ((show :initarg :show :accessor radio-show)))
}