boopbeep 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/lib/boopbeep.rb +149 -0
- metadata +45 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: d94d22470a1ed21f7a255fa8a41893ca78d15bf5594f02a77eac84bdbea82531
|
|
4
|
+
data.tar.gz: 04aee6b0555382b1843d7fac6e611cbb7eda94798af37573b619ac47ab3e5e5e
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: e29281778a87ec5ea4130fae24b5552d6d56163d2ed2dc960679b16ba15d6d941beea03abf473c0780e5a9993ebf6cc011fb060c8ab0ab3cb40ffab104908bc5
|
|
7
|
+
data.tar.gz: 52a9b69486f88d9c8ca36118fc3a9416eea6fe6ae57cdcb87a543c04da84b6cf2d04467f0afa9ffafc87a4e4a4bd6c83269e4814e7211f37e6807fcbedcfdc0c
|
data/lib/boopbeep.rb
ADDED
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
##
|
|
2
|
+
# This class represents the wrapper for the speaker-test command to make a beep without depending on modules currently unning on a linux system.
|
|
3
|
+
class Beep
|
|
4
|
+
|
|
5
|
+
##
|
|
6
|
+
# The default beep class. Frequency and time customizable.
|
|
7
|
+
|
|
8
|
+
def beep(freq, time)
|
|
9
|
+
`( speaker-test -t sine -f #{freq} )& pid=$! ; sleep #{time}s ; kill -9 $pid`
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
##
|
|
13
|
+
# Like `beep` but parses arrays to do a set of beeps
|
|
14
|
+
|
|
15
|
+
def beepSeq(freqSeq, timeSeq)
|
|
16
|
+
freq_Length = freqSeq.length
|
|
17
|
+
time_Length = timeSeq.length
|
|
18
|
+
if freq_Length != time_Length
|
|
19
|
+
puts "ERR: frequency sequence length does not match time sequence length. If this was on purpose, use beepSeq_h (high) or beepSeq_l (low)"
|
|
20
|
+
exit
|
|
21
|
+
end
|
|
22
|
+
seq_Pointer = 0
|
|
23
|
+
freq_Length.times do
|
|
24
|
+
`( speaker-test -t sine -f #{freqSeq[seq_Pointer]} )& pid=$! ; sleep #{timeSeq[seq_Pointer]}s ; kill -9 $pid`
|
|
25
|
+
seq_Pointer += 1
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
##
|
|
30
|
+
# Logic check for beepSeq. Will play beeps in sequence until an array ends.
|
|
31
|
+
|
|
32
|
+
def beepSeq_l(freqSeq, timeSeq)
|
|
33
|
+
freq_Length = freqSeq.length
|
|
34
|
+
time_Length = timeSeq.length
|
|
35
|
+
switch = false
|
|
36
|
+
if freq_Length < time_Length
|
|
37
|
+
switch = true
|
|
38
|
+
end
|
|
39
|
+
seq_Pointer = 0
|
|
40
|
+
if switch == true
|
|
41
|
+
freq_Length.times do
|
|
42
|
+
`( speaker-test -t sine -f #{freqSeq[seq_Pointer]} )& pid=$! ; sleep #{timeSeq[seq_Pointer]}s ; kill -9 $pid`
|
|
43
|
+
seq_Pointer += 1
|
|
44
|
+
end
|
|
45
|
+
else
|
|
46
|
+
time_Length.times do
|
|
47
|
+
`( speaker-test -t sine -f #{freqSeq[seq_Pointer]} )& pid=$! ; sleep #{timeSeq[seq_Pointer]}s ; kill -9 $pid`
|
|
48
|
+
seq_Pointer += 1
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
##
|
|
54
|
+
# Logic check for beepSeq. Will play beeps until the longest array ends. The shortest array will loop.
|
|
55
|
+
|
|
56
|
+
def beepSeq_h(freqSeq, timeSeq)
|
|
57
|
+
freq_Length = freqSeq.length
|
|
58
|
+
time_Length = timeSeq.length
|
|
59
|
+
switch = false
|
|
60
|
+
if freq_Length > time_Length
|
|
61
|
+
switch = true
|
|
62
|
+
end
|
|
63
|
+
seq_Pointer_1 = 0
|
|
64
|
+
seq_Pointer_2 = 0
|
|
65
|
+
if switch == true
|
|
66
|
+
freq_Length.times do
|
|
67
|
+
`( speaker-test -t sine -f #{freqSeq[seq_Pointer_1]} )& pid=$! ; sleep #{timeSeq[seq_Pointer_2]}s ; kill -9 $pid`
|
|
68
|
+
seq_Pointer_1 += 1
|
|
69
|
+
seq_Pointer_2 += 1
|
|
70
|
+
if seq_Pointer_2 == time_Length + 1
|
|
71
|
+
seq_Pointer_2 = 0
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
else
|
|
75
|
+
time_Length.times do
|
|
76
|
+
`( speaker-test -t sine -f #{freqSeq[seq_Pointer]} )& pid=$! ; sleep #{timeSeq[seq_Pointer]}s ; kill -9 $pid`
|
|
77
|
+
seq_Pointer_1 += 1
|
|
78
|
+
seq_Pointer_2 += 1
|
|
79
|
+
if seq_Pointer_1 == freq_Length + 1
|
|
80
|
+
seq_Pointer_1 = 0
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
##
|
|
87
|
+
# Premade error beep.
|
|
88
|
+
|
|
89
|
+
def beepError()
|
|
90
|
+
`( speaker-test -t sine -f 600 )& pid=$! ; sleep 0.2s ; kill -9 $pid`
|
|
91
|
+
sleep(0.15)
|
|
92
|
+
`( speaker-test -t sine -f 500 )& pid=$! ; sleep 0.2s ; kill -9 $pid`
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
##
|
|
96
|
+
# Premade success beep.
|
|
97
|
+
|
|
98
|
+
def beepSuccess()
|
|
99
|
+
`( speaker-test -t sine -f 500 )& pid=$! ; sleep 0.2s ; kill -9 $pid`
|
|
100
|
+
sleep(0.05)
|
|
101
|
+
`( speaker-test -t sine -f 600 )& pid=$! ; sleep 0.2s ; kill -9 $pid`
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
##
|
|
105
|
+
# Tests frequency's in increments of 100 until 1500.
|
|
106
|
+
|
|
107
|
+
def beepTest()
|
|
108
|
+
`( speaker-test -t sine -f 0 )& pid=$! ; sleep 0.2s ; kill -9 $pid`
|
|
109
|
+
`( speaker-test -t sine -f 100 )& pid=$! ; sleep 0.2s ; kill -9 $pid`
|
|
110
|
+
`( speaker-test -t sine -f 200 )& pid=$! ; sleep 0.2s ; kill -9 $pid`
|
|
111
|
+
`( speaker-test -t sine -f 300 )& pid=$! ; sleep 0.2s ; kill -9 $pid`
|
|
112
|
+
`( speaker-test -t sine -f 400 )& pid=$! ; sleep 0.2s ; kill -9 $pid`
|
|
113
|
+
`( speaker-test -t sine -f 500 )& pid=$! ; sleep 0.2s ; kill -9 $pid`
|
|
114
|
+
`( speaker-test -t sine -f 600 )& pid=$! ; sleep 0.2s ; kill -9 $pid`
|
|
115
|
+
`( speaker-test -t sine -f 700 )& pid=$! ; sleep 0.2s ; kill -9 $pid`
|
|
116
|
+
`( speaker-test -t sine -f 800 )& pid=$! ; sleep 0.2s ; kill -9 $pid`
|
|
117
|
+
`( speaker-test -t sine -f 900 )& pid=$! ; sleep 0.2s ; kill -9 $pid`
|
|
118
|
+
`( speaker-test -t sine -f 1000 )& pid=$! ; sleep 0.2s ; kill -9 $pid`
|
|
119
|
+
`( speaker-test -t sine -f 1100 )& pid=$! ; sleep 0.2s ; kill -9 $pid`
|
|
120
|
+
`( speaker-test -t sine -f 1200 )& pid=$! ; sleep 0.2s ; kill -9 $pid`
|
|
121
|
+
`( speaker-test -t sine -f 1300 )& pid=$! ; sleep 0.2s ; kill -9 $pid`
|
|
122
|
+
`( speaker-test -t sine -f 1400 )& pid=$! ; sleep 0.2s ; kill -9 $pid`
|
|
123
|
+
`( speaker-test -t sine -f 1500 )& pid=$! ; sleep 0.2s ; kill -9 $pid`
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
##
|
|
127
|
+
# Premade alarm. There can only be one alarm per instance.
|
|
128
|
+
|
|
129
|
+
def alarmStart()
|
|
130
|
+
alarm = Thread.new{
|
|
131
|
+
@alarm_Switch = false
|
|
132
|
+
loop do
|
|
133
|
+
`( speaker-test -t sine -f 600 )& pid=$! ; sleep 0.5s ; kill -9 $pid`
|
|
134
|
+
sleep(0.5)
|
|
135
|
+
if @alarm_Switch == true
|
|
136
|
+
@alarm_Switch = false
|
|
137
|
+
exit
|
|
138
|
+
end
|
|
139
|
+
end
|
|
140
|
+
}
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
##
|
|
144
|
+
# Kills any alarm running.
|
|
145
|
+
|
|
146
|
+
def alarmKill()
|
|
147
|
+
@alarm_Switch = true
|
|
148
|
+
end
|
|
149
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: boopbeep
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- AetherBytes
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2018-08-08 00:00:00.000000000 Z
|
|
12
|
+
dependencies: []
|
|
13
|
+
description: This gem is a wrapper to create beeps on a linux system with usual means
|
|
14
|
+
disabled or otherwise unaccessible, using the 'speaker-test' command.
|
|
15
|
+
email: pixelpacke@gmail.com
|
|
16
|
+
executables: []
|
|
17
|
+
extensions: []
|
|
18
|
+
extra_rdoc_files: []
|
|
19
|
+
files:
|
|
20
|
+
- lib/boopbeep.rb
|
|
21
|
+
homepage: http://rubygems.org/gems/boopbeep
|
|
22
|
+
licenses:
|
|
23
|
+
- GFDL-1.3
|
|
24
|
+
metadata: {}
|
|
25
|
+
post_install_message:
|
|
26
|
+
rdoc_options: []
|
|
27
|
+
require_paths:
|
|
28
|
+
- lib
|
|
29
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - ">="
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '0'
|
|
34
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
35
|
+
requirements:
|
|
36
|
+
- - ">="
|
|
37
|
+
- !ruby/object:Gem::Version
|
|
38
|
+
version: '0'
|
|
39
|
+
requirements: []
|
|
40
|
+
rubyforge_project:
|
|
41
|
+
rubygems_version: 2.7.7
|
|
42
|
+
signing_key:
|
|
43
|
+
specification_version: 4
|
|
44
|
+
summary: A wrapper to create beeps.
|
|
45
|
+
test_files: []
|