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