From a082985e111ae776e44065fec52e5f3a3199e138 Mon Sep 17 00:00:00 2001 From: makefu Date: Fri, 23 Mar 2012 22:08:28 +0100 Subject: soundboard: initial commit --- god/soundboard/README | 5 +++++ god/soundboard/config.json | 13 +++++++++++++ god/soundboard/sound.py | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 64 insertions(+) create mode 100644 god/soundboard/README create mode 100644 god/soundboard/config.json create mode 100644 god/soundboard/sound.py (limited to 'god/soundboard') diff --git a/god/soundboard/README b/god/soundboard/README new file mode 100644 index 00000000..8fbb8947 --- /dev/null +++ b/god/soundboard/README @@ -0,0 +1,5 @@ +# Soundboard +The basic idea is to use a joystick or gamepad to trigger actions + +# config.json +currently there is only one joystick supported, as well as one pad and buttons diff --git a/god/soundboard/config.json b/god/soundboard/config.json new file mode 100644 index 00000000..dbdeb5cb --- /dev/null +++ b/god/soundboard/config.json @@ -0,0 +1,13 @@ +{ + "direction" : { + "up" : "echo pushed up", + "down" : "echo pushed down", + "left" : "echo pushed left", + "right" : "echo pushed right" + }, + "button" : { + "1" : "echo 'fuck yeah 1'", + "2" : "echo 'fuck jeah 2'", + "8" : "echo 'fuck jeah 8'" + } +} diff --git a/god/soundboard/sound.py b/god/soundboard/sound.py new file mode 100644 index 00000000..f6564db0 --- /dev/null +++ b/god/soundboard/sound.py @@ -0,0 +1,46 @@ +import pygame +import os +from pygame import locals +import json +CFG_FILE = "config.json" +cfg = json.load(open(CFG_FILE)) + +pygame.init() +pygame.joystick.init() +try: + j = pygame.joystick.Joystick(0) + j.init() + print 'Enabled joystick: ' + j.get_name() +except pygame.error: + print 'no joystick found.' + + +while 1: + for e in pygame.event.get(): + #print 'event : ' + str(e.type) + #print 'data : ' + str(e.dict) + if e.type == pygame.locals.JOYAXISMOTION: + x, y = j.get_axis(0), j.get_axis(1) + if (x > 0): + direction = "right" + elif(x < 0): + direction = "left" + if (y > 0): + direction = "up" + elif(y < 0): + direction = "down" + if (y == x == 0): + pass + else: + try: + os.system(cfg["direction"][direction]) + except Exception as balls: + print "direction not defined?", balls + + elif e.type == pygame.locals.JOYBUTTONDOWN: + try: + os.system(cfg["button"][str(e.button)]) + except Exception as balls: + print "button not defined: ", balls + #elif e.type == pygame.locals.JOYBUTTONUP: + # print 'button up', e.joy, e.button -- cgit v1.2.3