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.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/boopbeep.rb +149 -0
  3. metadata +45 -0
@@ -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
@@ -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: []