summaryrefslogtreecommitdiffstats
path: root/god/soundboard
diff options
context:
space:
mode:
authormakefu <github@syntax-fehler.de>2012-03-23 22:08:28 +0100
committermakefu <github@syntax-fehler.de>2012-03-23 22:08:28 +0100
commita082985e111ae776e44065fec52e5f3a3199e138 (patch)
tree628557c5c0904c0724381159f794e11e448f4c25 /god/soundboard
parentfe92435af091261b023a2b8b72af054e960ccb45 (diff)
soundboard: initial commit
Diffstat (limited to 'god/soundboard')
-rw-r--r--god/soundboard/README5
-rw-r--r--god/soundboard/config.json13
-rw-r--r--god/soundboard/sound.py46
3 files changed, 64 insertions, 0 deletions
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