paused handling

This commit is contained in:
2026-05-07 14:37:56 +02:00
parent a1e49de9ea
commit debabf5151
+28 -21
View File
@@ -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")
)
)
)