pause handling

This commit is contained in:
2026-05-07 15:12:27 +02:00
parent 120fdc2be7
commit 788af0f7aa
+12 -1
View File
@@ -29,6 +29,7 @@
(define ct-data #f) (define ct-data #f)
(define closing #f) (define closing #f)
(define pause #f) (define pause #f)
(define stop-in-pause 'nil)
(define repeat-state 'no-repeat) (define repeat-state 'no-repeat)
(define volume (send settings get 'volume 100.0)) (define volume (send settings get 'volume 100.0))
@@ -161,12 +162,17 @@
(set-state! 'pauzed) (set-state! 'pauzed)
(ao-pause ao-handle #t) (ao-pause ao-handle #t)
(while (and (not (eq? ao-handle #f)) (while (and (not (eq? ao-handle #f))
(not (eq? stop-in-pause 'stop-request))
(not closing) (not closing)
pause) pause)
(sleep 0.5)) (sleep 0.5))
(if (eq? stop-in-pause 'stop-request)
(set! stop-in-pause 'stop-ack)
(begin
(ao-pause ao-handle #f) (ao-pause ao-handle #f)
(dbg-rktplayer "Playing on...") (dbg-rktplayer "Playing on...")
(set-state! 'playing) (set-state! 'playing))
)
) )
) )
) )
@@ -241,6 +247,11 @@
) )
(define (stop-and-clear) (define (stop-and-clear)
(when pause
(set! stop-in-pause 'stop-request)
(set! pause #f)
(while (not (eq? stop-in-pause 'stop-ack))
(sleep 0.2)))
(set-state! 'stopped) (set-state! 'stopped)
(close-player*) (close-player*)
) )