From f6212eaa8b011e7a79b1a0d54e2e756cad9e6a19 Mon Sep 17 00:00:00 2001 From: Neil Date: Thu, 15 May 2014 20:43:27 +0200 Subject: [PATCH] Add welcome sound --- data/sounds/SOURCES.txt | 10 ++++++++++ data/sounds/startup.ogg | Bin 0 -> 10594 bytes naja/scenes/game.py | 2 ++ 3 files changed, 12 insertions(+) create mode 100644 data/sounds/startup.ogg diff --git a/data/sounds/SOURCES.txt b/data/sounds/SOURCES.txt index cfb2dfb..76ac231 100644 --- a/data/sounds/SOURCES.txt +++ b/data/sounds/SOURCES.txt @@ -24,3 +24,13 @@ Notes: Generated by: tools/gen_sound.py 1000 0.25 ; oggenc -o error.ogg -r beep1000.pcm Generate by Neil Muller, May 2014 License: MIT-style permissive license - see LICENSE.txt + +startup.ogg +----------- + +Notes: + Generated by: tools/gen_sound.py 200 0.25 ; tools/gen_sound.py 400 0.25 ; tools/gen_sound.py 600 0.25 ; tools/gen_sound.py 800 0.25 ; + cat beep200.pcm beep400.pcm beep600.pcm beep800.pcm > startup.pcm ; + oggenc -o startup.ogg -r startup.pcm + Generate by Neil Muller, May 2014 + License: MIT-style permissive license - see LICENSE.txt diff --git a/data/sounds/startup.ogg b/data/sounds/startup.ogg new file mode 100644 index 0000000000000000000000000000000000000000..ad2f39b0d1aa757daec45d53457bf9976f892c63 GIT binary patch literal 10594 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 P;ji77rsVmO!%X;J#}^Xh literal 0 HcmV?d00001 diff --git a/naja/scenes/game.py b/naja/scenes/game.py index c0f52a8..b50065f 100644 --- a/naja/scenes/game.py +++ b/naja/scenes/game.py @@ -12,6 +12,7 @@ from naja.widgets.player_bits import PlayerBitsWidget from naja.widgets.game_bits import GameBitsWidget from naja.widgets.info_area import InfoAreaWidget from naja.widgets.robot import RobotWidget +from naja.sound import sound class GameScene(Scene): @@ -27,6 +28,7 @@ class GameScene(Scene): self.add(GameBitsWidget((0, 540), state)) self.add(info) self.add(RobotWidget(state)) + sound.play_sound('startup.ogg') def handle_scene_event(self, ev): from naja.scenes.menu import MenuScene -- 2.34.1