adjustment to the new audio-player module of racket-audio
This commit is contained in:
@@ -147,11 +147,21 @@
|
||||
(unless (eq? stored-file #f)
|
||||
(dbg-rktplayer "Setting album art")
|
||||
(let ((el (send this element 'album-art)))
|
||||
(let ((html (format "<img src=\"/get-image?~a&~a\" />"
|
||||
(let ((html (format "<img id=\"album-image\" src=\"/get-image?~a&~a\" />"
|
||||
(format "~a" stored-file)
|
||||
(current-milliseconds))))
|
||||
(dbg-rktplayer "Html = ~a" html)
|
||||
(send el set-innerHTML! html)
|
||||
(when (send track has-booklet?)
|
||||
(let ((booklet-file (send track booklet-file)))
|
||||
(send this bind! 'album-image 'contextmenu
|
||||
(λ (el evt data)
|
||||
(let ((mnu (wv-menu 'image-menu
|
||||
(wv-menu-item 'm-booklet (tr "Open booklet")
|
||||
#:callback (λ () (send this open-booklet booklet-file #t)))))
|
||||
(clientX (hash-ref data 'clientX 60))
|
||||
(clientY (hash-ref data 'clientY 60)))
|
||||
(send this popup-menu! mnu clientX clientY))))))
|
||||
)))
|
||||
)
|
||||
)
|
||||
@@ -173,26 +183,26 @@
|
||||
)
|
||||
|
||||
(define (update-state st)
|
||||
(dbg-rktplayer "state: ~a" st)
|
||||
(unless (eq? st state)
|
||||
(dbg-rktplayer "Changing to state ~a" st)
|
||||
(let ((el (send this element 'paused)))
|
||||
(unless (eq? state #f) ; Prevent setting src twice very fast
|
||||
(cond ((or (eq? st 'playing) (eq? st 'play))
|
||||
(set-play-button "buttons/pause.svg")
|
||||
(send el set-innerHTML! '(span (tr "playing"))))
|
||||
(cond ((or (eq? st 'playing) (eq? st 'play))
|
||||
(set-play-button "buttons/pause.svg")
|
||||
(send el set-innerHTML! '(span (tr "playing"))))
|
||||
((eq? st 'stopped)
|
||||
(set-play-button "buttons/play.svg")
|
||||
(send el set-innerHTML! '(span (tr "stopped"))))
|
||||
((eq? st 'paused)
|
||||
(set-play-button "buttons/play.svg")
|
||||
(send el set-innerHTML! '(span ((class "blink")) (tr "paused"))))
|
||||
((eq? st 'quit)
|
||||
(void))
|
||||
(else
|
||||
(warn-rktplayer "Unkown state for update-state ~a" st)
|
||||
(send el set-innerHTML! (list 'span
|
||||
'((class "blink"))
|
||||
(format "~a: ~a" (tr "Unknown state") st))))
|
||||
)))
|
||||
'((class "blink"))
|
||||
(format "~a: ~a" (tr "Unknown state") st))))
|
||||
))
|
||||
(set! state st)
|
||||
)
|
||||
)
|
||||
@@ -309,10 +319,13 @@
|
||||
(send this update-tabs))
|
||||
|
||||
(define (update-audio-info rate channels bits audio-format)
|
||||
(send el-bits set-innerHTML! (format "~a ~a" bits (tr "bits")))
|
||||
(send el-channels set-innerHTML! (format "~a ~a" channels (tr "channels")))
|
||||
(send el-rate set-innerHTML! (format "~a Hz" rate))
|
||||
(send el-format set-innerHTML! (format "~a" audio-format))
|
||||
(let ((format-num (λ (x) (if (= x 0) "-" x)))
|
||||
(format-dec (λ (x) (if (eq? x 'none) "-" x))))
|
||||
(send el-bits set-innerHTML! (format "~a ~a" (format-num bits) (tr "bits")))
|
||||
(send el-channels set-innerHTML! (format "~a ~a" (format-num channels) (tr "channels")))
|
||||
(send el-rate set-innerHTML! (format "~a Hz" (format-num rate)))
|
||||
(send el-format set-innerHTML! (format "~a" (format-dec audio-format)))
|
||||
)
|
||||
)
|
||||
|
||||
(define (update-repeat state)
|
||||
@@ -396,6 +409,10 @@
|
||||
(send this update-tabs)
|
||||
(send this update-library)
|
||||
(send this update-playlist)
|
||||
|
||||
(when (eq? state #f)
|
||||
(update-audio-info 0 0 0 'none)
|
||||
(update-state 'stopped))
|
||||
)
|
||||
|
||||
(define el-dragged #f)
|
||||
@@ -564,9 +581,10 @@
|
||||
(send this update-playlist)
|
||||
)
|
||||
|
||||
(define/public (open-booklet path)
|
||||
(let ((booklet (build-path path "booklet.pdf")))
|
||||
(dbg-rktplayer "Open booklet ~a" path)
|
||||
(define/public (open-booklet path . is-file*)
|
||||
(let* ((is-file (if (null? is-file*) #f (eq? (car is-file*) #t)))
|
||||
(booklet (if is-file path (build-path path "booklet.pdf"))))
|
||||
(dbg-rktplayer "Open booklet ~a" booklet)
|
||||
(open-app booklet)))
|
||||
|
||||
(define/public (open-folder path)
|
||||
@@ -698,6 +716,7 @@
|
||||
(set! playlist (new playlist% [settings (send settings clone 'playlists)]))
|
||||
(send player set-list! playlist)
|
||||
(dbg-rktplayer "playlist = ~a" playlist)
|
||||
|
||||
(semaphore-post initialized)
|
||||
)
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user