stop button overload resolved.

This commit is contained in:
2026-04-13 09:57:42 +02:00
parent 2f0b91a6c6
commit 82fa80746c
3 changed files with 77 additions and 23 deletions

28
gui.rkt
View File

@@ -126,7 +126,8 @@
(string-replace (format "~a" stored-file) "\\" "/")
(current-milliseconds))))
(dbg-rktplayer "Html = ~a" html)
(send el set-innerHTML! html))))
(send el set-innerHTML! html)
)))
)
)
(dbg-rktplayer "Done updating track")
@@ -135,14 +136,29 @@
)
(define state #f)
(define current-play-image "buttons/play.svg")
(define (set-play-button img)
(unless (string=? current-play-image img)
(set! current-play-image img)
(let ((btn (send this element 'play-img)))
(send btn set-attr! (list 'src img))
)
)
)
(define (update-state st)
(unless (eq? st state)
(dbg-rktplayer "Changing to state ~a" st)
(unless (eq? state #f) ; Prevent setting src twice very fast
(if (eq? st 'playing)
(set-play-button "buttons/stop.svg")
(set-play-button "buttons/play.svg")
)
)
(set! state st)
(if (eq? st 'playing)
(let ((btn (send this element 'play-img)))
(send btn set-attr! '(src "buttons/stop.svg")))
(let ((btn (send this element 'play-img)))
(send btn set-attr! '(src "buttons/play.svg"))))))
)
)
(define player (new player%
[time-updater update-time]