pause handling
This commit is contained in:
+12
-1
@@ -29,6 +29,7 @@
|
||||
(define ct-data #f)
|
||||
(define closing #f)
|
||||
(define pause #f)
|
||||
(define stop-in-pause 'nil)
|
||||
(define repeat-state 'no-repeat)
|
||||
(define volume (send settings get 'volume 100.0))
|
||||
|
||||
@@ -161,12 +162,17 @@
|
||||
(set-state! 'pauzed)
|
||||
(ao-pause ao-handle #t)
|
||||
(while (and (not (eq? ao-handle #f))
|
||||
(not (eq? stop-in-pause 'stop-request))
|
||||
(not closing)
|
||||
pause)
|
||||
(sleep 0.5))
|
||||
(if (eq? stop-in-pause 'stop-request)
|
||||
(set! stop-in-pause 'stop-ack)
|
||||
(begin
|
||||
(ao-pause ao-handle #f)
|
||||
(dbg-rktplayer "Playing on...")
|
||||
(set-state! 'playing)
|
||||
(set-state! 'playing))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -241,6 +247,11 @@
|
||||
)
|
||||
|
||||
(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)
|
||||
(close-player*)
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user