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