[Scummvm-git-logs] scummvm master -> b24c17022625122b8aaf547d67b4b70e32622ed1
sev-
noreply at scummvm.org
Mon Aug 24 23:00:48 UTC 2026
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
b24c170226 DIRECTOR: Share sound channels across the Stage and MIAWs
Commit: b24c17022625122b8aaf547d67b4b70e32622ed1
https://github.com/scummvm/scummvm/commit/b24c17022625122b8aaf547d67b4b70e32622ed1
Author: ramyak-sharma (ramyaksharma1 at gmail.com)
Date: 2026-08-25T01:00:45+02:00
Commit Message:
DIRECTOR: Share sound channels across the Stage and MIAWs
Each Window had its own DirectorSound, so sounds from different windows used
independent channels and could not stop or replace each other. In Director
the channels are one global resource shared by the Stage and every MIAW, so
route every window through the Stage's manager.
Fixes sound overlapping in gusmuse.
Changed paths:
engines/director/window.h
diff --git a/engines/director/window.h b/engines/director/window.h
index 8953fe1a463..d53c081e90d 100644
--- a/engines/director/window.h
+++ b/engines/director/window.h
@@ -138,7 +138,14 @@ public:
// so getCurrentMovie()-based context (go, globals, events) points at it.
void setCurrentMovie(Movie *movie) { _currentMovie = movie; }
Common::String getCurrentPath() const { return _currentPath; }
- DirectorSound *getSoundManager() const { return _soundManager; }
+ // Sound channels are shared by the Stage and every MIAW (Director in a Nutshell),
+ // so route every window through the Stage's manager.
+ DirectorSound *getSoundManager() const {
+ Window *stage = g_director->getStage();
+ if (stage && stage != this)
+ return stage->getSoundManager();
+ return _soundManager;
+ }
void setVisible(bool visible, bool silent = false);
bool setNextMovie(Common::String &movieFilenameRaw);
More information about the Scummvm-git-logs
mailing list