# HG changeset patch # User Neil Muller # Date 1282990302 -7200 # Node ID 7b07ffc37ec079aa13019caf6a87db110e5380d5 # Parent 63e702d93e0eb59a3def490c92efa29c0c51eff7 Suspend background sound for bridge computer detail diff -r 63e702d93e0e -r 7b07ffc37ec0 gamelib/scenes/bridge.py --- a/gamelib/scenes/bridge.py Sat Aug 28 12:10:20 2010 +0200 +++ b/gamelib/scenes/bridge.py Sat Aug 28 12:11:42 2010 +0200 @@ -7,6 +7,7 @@ from gamelib.cursor import CursorSprite from gamelib.state import Scene, Item, Thing, Result +from gamelib.sound import get_current_playlist from gamelib.scenes.scene_widgets import (Door, InteractText, InteractNoImage, InteractRectUnion, InteractImage, @@ -37,6 +38,7 @@ def __init__(self, state): super(Bridge, self).__init__(state) + self.background_playlist = None self.add_item(Superconductor('superconductor')) self.add_item(Stethoscope('stethoscope')) self.add_thing(ToMap()) @@ -67,8 +69,8 @@ def enter(self): pieces = [get_music(x, prefix='sounds') for x in self.MUSIC] - background_playlist = PlayList(pieces, random=True, repeat=True) - change_playlist(background_playlist) + self.background_playlist = PlayList(pieces, random=True, repeat=True) + change_playlist(self.background_playlist) return Result("The bridge is in a sorry, shabby state.") def leave(self): @@ -354,9 +356,17 @@ self.add_thing(AlertTab()) self.add_thing(CompUpButton()) self.add_thing(CompDownButton()) + self._scene_playlist = None self._alert = get_image(self.FOLDER, self.ALERT) self._logs = [get_image(self.FOLDER, x) for x in self.LOGS] + def enter(self): + self._scene_playlist = get_current_playlist() + change_playlist(None) + + def leave(self): + change_playlist(self._scene_playlist) + def draw_background(self, surface): if self.get_data('tab') == 'alert': self._background = self._alert diff -r 63e702d93e0e -r 7b07ffc37ec0 gamelib/sound.py --- a/gamelib/sound.py Sat Aug 28 12:10:20 2010 +0200 +++ b/gamelib/sound.py Sat Aug 28 12:11:42 2010 +0200 @@ -63,5 +63,9 @@ albow.music.next_change_delay = albow.music.change_delay albow.music.current_music = next_music +def get_current_playlist(): + if albow.music.music_enabled and albow.music.current_playlist: + return albow.music.current_playlist + # Monkey patch albow.music.start_next_music = start_next_music