From 2e0780740a6e9515e76599cecb5a0cff7de196e6 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Tue, 4 May 2021 08:29:36 -0400 Subject: scene: Don't play music when scene isn't active. --- starling/scene.scm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/starling/scene.scm b/starling/scene.scm index 16630ba..8757ad8 100644 --- a/starling/scene.scm +++ b/starling/scene.scm @@ -65,13 +65,13 @@ (define-method (refresh-background-music (scene )) (let ((source (background-music-source scene))) - (if (audio? (background-music scene)) - (begin - (set-source-volume! source (background-music-volume scene)) - (set-source-loop! source (background-music-loop? scene)) - (set-source-audio! source (background-music scene)) - (source-play source)) - (source-stop (background-music-source scene))))) + (set-source-volume! source (background-music-volume scene)) + (set-source-loop! source (background-music-loop? scene)) + (when (audio? (background-music scene)) + (set-source-audio! source (background-music scene)) + (if (active? scene) + (source-play source) + (source-stop source))))) (define-method (on-change (scene ) slot-name old new) (case slot-name -- cgit v1.2.3