diff --git a/buttons.py b/buttons.py index 23187a5..85383bf 100644 --- a/buttons.py +++ b/buttons.py @@ -32,17 +32,45 @@ def blip(): blipper.loadfile(sndfile) ## setup pins -pins = [4,17,18,23,22] -names = {4:'back',17:'fwd',18:'down',23:'pause',22:'up'} -pianobar_cmds = {4:'' ,17:'n', 18:'(', 23:'p', 22:')'} -bemix_cmds = {4:'prev' ,17:'next', 18:'voldown', 23:'pause', 22:'volup'} +BUTTON_LEFT = 4 +BUTTON_UP = 22 +BUTTON_RIGHT = 17 +BUTTON_DOWN = 18 +BUTTON_CENTER = 23 + +pin_names = { + BUTTON_LEFT: 'back', + BUTTON_RIGHT: 'forward', + BUTTON_DOWN: 'down', + BUTTON_UP: 'up', + BUTTON_CENTER: 'pause' +} + +pin_numbers = pin_names.keys() + +pianobar_cmds = { + BUTTON_LEFT: '', + BUTTON_RIGHT: 'n', + BUTTON_DOWN: '(', + BUTTON_CENTER: 'p', + BUTTON_UP: ')' +} + +bemix_cmds = { + BUTTON_LEFT: 'prev', + BUTTON_RIGHT: 'next', + BUTTON_DOWN: 'voldown', + BUTTON_CENTER: 'pause', + BUTTON_UP: 'volup' +} + wait = 0 press = 0 delay = .25 print "Setting up pins..." -for pin in pins: - GPIO.setup(pin,GPIO.IN) +for pin in pin_numbers: + GPIO.setup(pin, GPIO.IN) print "Started polling." frame = 0 @@ -52,9 +80,9 @@ def blip(): pass frame += 1 - for pin in pins: + for pin in pin_numbers: if GPIO.input(pin) and (time.time()-wait >= 0 or pin != press): - print names[pin] + print pin_names[pin] blip() # pianowrite(pianobar_cmds[pin]) bemix_remote_command(bemix_cmds[pin])