class Beep
This class represents the wrapper for the speaker-test command to make a beep without depending on modules currently running on a linux system.
Public Instance Methods
alarmKill()
click to toggle source
Kills any alarm running.
# File lib/boopbeep.rb, line 146 def alarmKill() @alarm_Switch = true end
alarmStart()
click to toggle source
Premade alarm. There can only be one alarm per instance.
# File lib/boopbeep.rb, line 129 def alarmStart() @alarm = Thread.new{ @alarm_Switch = false loop do `( speaker-test -t sine -f 600 )& pid=$! ; sleep 0.5s ; kill -9 $pid` sleep(0.5) if @alarm_Switch == true @alarm_Switch = false Thread.kill(@alarm) end end } end
beep(freq, time)
click to toggle source
The default beep class. Frequency and time customizable.
# File lib/boopbeep.rb, line 8 def beep(freq, time) `( speaker-test -t sine -f #{freq} )& pid=$! ; sleep #{time}s ; kill -9 $pid` end
beepError()
click to toggle source
Premade error beep.
# File lib/boopbeep.rb, line 89 def beepError() `( speaker-test -t sine -f 600 )& pid=$! ; sleep 0.2s ; kill -9 $pid` sleep(0.15) `( speaker-test -t sine -f 500 )& pid=$! ; sleep 0.2s ; kill -9 $pid` end
beepSeq(freqSeq, timeSeq)
click to toggle source
Like `beep` but parses arrays to do a set of beeps
# File lib/boopbeep.rb, line 15 def beepSeq(freqSeq, timeSeq) freq_Length = freqSeq.length time_Length = timeSeq.length if freq_Length != time_Length puts "ERR: frequency sequence length does not match time sequence length. If this was on purpose, use beepSeq_h (high) or beepSeq_l (low)" exit end seq_Pointer = 0 freq_Length.times do `( speaker-test -t sine -f #{freqSeq[seq_Pointer]} )& pid=$! ; sleep #{timeSeq[seq_Pointer]}s ; kill -9 $pid` seq_Pointer += 1 end end
beepSeq_h(freqSeq, timeSeq)
click to toggle source
Logic check for beepSeq. Will play beeps until the longest array ends. The shortest array will loop.
# File lib/boopbeep.rb, line 56 def beepSeq_h(freqSeq, timeSeq) freq_Length = freqSeq.length time_Length = timeSeq.length switch = false if freq_Length > time_Length switch = true end seq_Pointer_1 = 0 seq_Pointer_2 = 0 if switch == true freq_Length.times do `( speaker-test -t sine -f #{freqSeq[seq_Pointer_1]} )& pid=$! ; sleep #{timeSeq[seq_Pointer_2]}s ; kill -9 $pid` seq_Pointer_1 += 1 seq_Pointer_2 += 1 if seq_Pointer_2 == time_Length + 1 seq_Pointer_2 = 0 end end else time_Length.times do `( speaker-test -t sine -f #{freqSeq[seq_Pointer]} )& pid=$! ; sleep #{timeSeq[seq_Pointer]}s ; kill -9 $pid` seq_Pointer_1 += 1 seq_Pointer_2 += 1 if seq_Pointer_1 == freq_Length + 1 seq_Pointer_1 = 0 end end end end
beepSeq_l(freqSeq, timeSeq)
click to toggle source
Logic check for beepSeq. Will play beeps in sequence until an array ends.
# File lib/boopbeep.rb, line 32 def beepSeq_l(freqSeq, timeSeq) freq_Length = freqSeq.length time_Length = timeSeq.length switch = false if freq_Length < time_Length switch = true end seq_Pointer = 0 if switch == true freq_Length.times do `( speaker-test -t sine -f #{freqSeq[seq_Pointer]} )& pid=$! ; sleep #{timeSeq[seq_Pointer]}s ; kill -9 $pid` seq_Pointer += 1 end else time_Length.times do `( speaker-test -t sine -f #{freqSeq[seq_Pointer]} )& pid=$! ; sleep #{timeSeq[seq_Pointer]}s ; kill -9 $pid` seq_Pointer += 1 end end end
beepSuccess()
click to toggle source
Premade success beep.
# File lib/boopbeep.rb, line 98 def beepSuccess() `( speaker-test -t sine -f 500 )& pid=$! ; sleep 0.2s ; kill -9 $pid` sleep(0.05) `( speaker-test -t sine -f 600 )& pid=$! ; sleep 0.2s ; kill -9 $pid` end
beepTest()
click to toggle source
Tests frequency's in increments of 100 until 1500.
# File lib/boopbeep.rb, line 107 def beepTest() `( speaker-test -t sine -f 0 )& pid=$! ; sleep 0.2s ; kill -9 $pid` `( speaker-test -t sine -f 100 )& pid=$! ; sleep 0.2s ; kill -9 $pid` `( speaker-test -t sine -f 200 )& pid=$! ; sleep 0.2s ; kill -9 $pid` `( speaker-test -t sine -f 300 )& pid=$! ; sleep 0.2s ; kill -9 $pid` `( speaker-test -t sine -f 400 )& pid=$! ; sleep 0.2s ; kill -9 $pid` `( speaker-test -t sine -f 500 )& pid=$! ; sleep 0.2s ; kill -9 $pid` `( speaker-test -t sine -f 600 )& pid=$! ; sleep 0.2s ; kill -9 $pid` `( speaker-test -t sine -f 700 )& pid=$! ; sleep 0.2s ; kill -9 $pid` `( speaker-test -t sine -f 800 )& pid=$! ; sleep 0.2s ; kill -9 $pid` `( speaker-test -t sine -f 900 )& pid=$! ; sleep 0.2s ; kill -9 $pid` `( speaker-test -t sine -f 1000 )& pid=$! ; sleep 0.2s ; kill -9 $pid` `( speaker-test -t sine -f 1100 )& pid=$! ; sleep 0.2s ; kill -9 $pid` `( speaker-test -t sine -f 1200 )& pid=$! ; sleep 0.2s ; kill -9 $pid` `( speaker-test -t sine -f 1300 )& pid=$! ; sleep 0.2s ; kill -9 $pid` `( speaker-test -t sine -f 1400 )& pid=$! ; sleep 0.2s ; kill -9 $pid` `( speaker-test -t sine -f 1500 )& pid=$! ; sleep 0.2s ; kill -9 $pid` end