58 lines
958 B
Racket
58 lines
958 B
Racket
#lang racket
|
|
|
|
(require web-racket
|
|
racket/runtime-path
|
|
)
|
|
|
|
(provide
|
|
(all-from-out web-racket)
|
|
rktplayer%
|
|
)
|
|
|
|
(define-runtime-path rktplayer-start "rktplayer.html")
|
|
|
|
(define-syntax ww-connect
|
|
(syntax-rules (this)
|
|
((_ id method)
|
|
(send (send this element id) connect 'click (λ (data) (send this method)))
|
|
)
|
|
)
|
|
)
|
|
|
|
|
|
(define rktplayer%
|
|
(class ww-webview%
|
|
(inherit-field settings)
|
|
(super-new
|
|
[html-file rktplayer-start]
|
|
)
|
|
|
|
(define/override (html-loaded)
|
|
(super html-loaded)
|
|
|
|
(ww-connect 'play play)
|
|
(ww-connect 'prev previous-track)
|
|
(ww-connect 'next next-track)
|
|
|
|
)
|
|
|
|
(define/public (play)
|
|
(displayln "Play button clicked")
|
|
)
|
|
|
|
(define/public (next-track)
|
|
(displayln "Next track")
|
|
)
|
|
|
|
(define/public (previous-track)
|
|
(displayln "Previous track")
|
|
)
|
|
|
|
(begin
|
|
(displayln "RktPlayer started")
|
|
)
|
|
)
|
|
)
|
|
|
|
|