A program to read a Phidget IR sensor and log pull-ups with Fitbit's API
1class Beeper < Loggerish
2 attr_accessor :player
3
4 def self.args
5 [
6 [ "--sound", "-s", GetoptLong::REQUIRED_ARGUMENT,
7 "play <sound> file" ],
8 ]
9 end
10
11 def after_initialize
12 if @enabled = !!@parent.config["sound"]
13 @parent.vputs "playing sound file " << @parent.config["sound"]
14
15 if `uname -s`.strip == "OpenBSD"
16 @player = [ "aucat", "-i" ]
17 else
18 # dunno, assume mac
19 @player = [ "afplay" ]
20 end
21 end
22 end
23
24 def log_pullup!(time)
25 cmd = @player + [ @parent.config["sound"] ]
26
27 @parent.dputs "running " << cmd.inspect
28
29 system(*cmd)
30 end
31end