paused handling
This commit is contained in:
+28
-21
@@ -474,34 +474,40 @@
|
|||||||
(get h 150))))
|
(get h 150))))
|
||||||
(mutex-unlock (ao-handle-clear-mutex h))
|
(mutex-unlock (ao-handle-clear-mutex h))
|
||||||
(if (eq? elem #f)
|
(if (eq? elem #f)
|
||||||
(begin
|
(if (ao-handle-paused h)
|
||||||
(dbg-sound "nothing in the queue")
|
|
||||||
(sleep 0.01))
|
|
||||||
(begin
|
|
||||||
(if (eq? (queue-elem-command elem) 'stop)
|
|
||||||
(set! go-on #f)
|
|
||||||
(begin
|
(begin
|
||||||
(set-ao-handle-at-second! h (queue-elem-at-second elem))
|
(dbg-sound "run thread paused")
|
||||||
(set-ao-handle-music-duration! h (queue-elem-music-duration elem))
|
(sleep 0.1)
|
||||||
(set-ao-handle-music-id! h (queue-elem-music-id elem))
|
)
|
||||||
|
(begin
|
||||||
|
(dbg-sound "nothing in the queue")
|
||||||
|
(sleep 0.01))
|
||||||
|
)
|
||||||
|
(begin
|
||||||
|
(if (eq? (queue-elem-command elem) 'stop)
|
||||||
|
(set! go-on #f)
|
||||||
|
(begin
|
||||||
|
(set-ao-handle-at-second! h (queue-elem-at-second elem))
|
||||||
|
(set-ao-handle-music-duration! h (queue-elem-music-duration elem))
|
||||||
|
(set-ao-handle-music-id! h (queue-elem-music-id elem))
|
||||||
|
|
||||||
(unless (= (ao-handle-volume-in-10000 h) 10000)
|
(unless (= (ao-handle-volume-in-10000 h) 10000)
|
||||||
(adjust-volume h (queue-elem-buf elem) (queue-elem-buflen elem)
|
(adjust-volume h (queue-elem-buf elem) (queue-elem-buflen elem)
|
||||||
(ao-handle-volume-in-10000 h)))
|
(ao-handle-volume-in-10000 h)))
|
||||||
|
|
||||||
(let* ((size (queue-elem-buflen elem)))
|
(let* ((size (queue-elem-buflen elem)))
|
||||||
(when (> size buf-size)
|
(when (> size buf-size)
|
||||||
(set! buf (malloc size 'atomic-interior ))
|
(set! buf (malloc size 'atomic-interior ))
|
||||||
(set! buf-size size))
|
(set! buf-size size))
|
||||||
(memcpy buf (queue-elem-buf elem) size)
|
(memcpy buf (queue-elem-buf elem) size)
|
||||||
(ao_play (ao-handle-ao-device h) buf size)
|
(ao_play (ao-handle-ao-device h) buf size)
|
||||||
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
|
||||||
|
|
||||||
(del-elem h elem)
|
(del-elem h elem)
|
||||||
|
)
|
||||||
)
|
)
|
||||||
)
|
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@@ -767,6 +773,7 @@
|
|||||||
(when (eq? paused #t)
|
(when (eq? paused #t)
|
||||||
(mutex-lock (ao-handle-pause-mutex h))
|
(mutex-lock (ao-handle-pause-mutex h))
|
||||||
(set-ao-handle-paused! h #t)
|
(set-ao-handle-paused! h #t)
|
||||||
|
(dbg-sound "paused")
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user