# HG changeset patch # User Thibaut Girka # Date 1342013895 -7200 # Node ID f305cdd6f6c5e29baa3812c2b7b9ca799af559a7 # Parent 71cd4461bb7f8e796b19a8bebb85e081a441110d Fix crash with the demo version of Touhou 6 diff --git a/pytouhou/ui/music.py b/pytouhou/ui/music.py --- a/pytouhou/ui/music.py +++ b/pytouhou/ui/music.py @@ -19,6 +19,11 @@ from pyglet.media import AudioData, Audi from pyglet.media.riff import WaveSource +from pytouhou.utils.helpers import get_logger + +logger = get_logger(__name__) + + class InfiniteWaveSource(WaveSource): def __init__(self, filename, start, end, file=None): WaveSource.__init__(self, filename, file) @@ -89,7 +94,12 @@ class MusicPlayer(object): self.bgms.append(None) continue posname = bgm[1].replace('bgm/', '').replace('.mid', '.pos') - track = resource_loader.get_track(posname) + try: + track = resource_loader.get_track(posname) + except KeyError: + self.bgms.append(None) + logger.warn('Music description not found: %s', posname) + continue wavname = join(resource_loader.game_dir, bgm[1].replace('.mid', '.wav')) try: source = InfiniteWaveSource(wavname, track.start, track.end)