Skip to content

Commit e11eb7b

Browse files
Made song editable
Based on pull request #1... The list of frequencies to be played has been moved from the JS to a textbox in the HTML. Editing the content of the box will change what gets played. The format also is more human human readable and consistent with the songfile from #1. If you copy and paste the smb.song file, it should work.
1 parent b21a023 commit e11eb7b

File tree

2 files changed

+47
-28
lines changed

2 files changed

+47
-28
lines changed

In Javascript/airgap.html

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,35 @@
1616
<div class="content">
1717
</br>
1818
<input type="button" value="Play Song" onclick="start()"></br></br>
19-
<textarea id="logs" style="width:70%;min-height:300px">Tested with Chrome at 1560Khz
20-
</textarea>
19+
<textarea id="logs" style="width:70%;min-height:100px">Tested with Chrome at 1560Khz</textarea>
20+
<textarea id="tones" style="width:70%;min-height:200px">
21+
Feel free to edit the code below. Just make sure you keep to the format that it's in and have all of the punctuation.
22+
:beep frequency=2673 length=400;
23+
:beep frequency=2349 length=400;
24+
:beep frequency=2093 length=400;
25+
:beep frequency=2349 length=400;
26+
:beep frequency=2673 length=400;
27+
:beep frequency=2673 length=400;
28+
:beep frequency=2673 length=790;
29+
:beep frequency=2349 length=400;
30+
:beep frequency=2349 length=400;
31+
:beep frequency=2349 length=790;
32+
:beep frequency=2673 length=400;
33+
:beep frequency=3136 length=400;
34+
:beep frequency=3136 length=790;
35+
:beep frequency=2673 length=400;
36+
:beep frequency=2349 length=400;
37+
:beep frequency=2093 length=400;
38+
:beep frequency=2349 length=400;
39+
:beep frequency=2673 length=400;
40+
:beep frequency=2673 length=400;
41+
:beep frequency=2673 length=400;
42+
:beep frequency=2673 length=400;
43+
:beep frequency=2349 length=400;
44+
:beep frequency=2349 length=400;
45+
:beep frequency=2673 length=400;
46+
:beep frequency=2349 length=400;
47+
:beep frequency=2093 length=790;</textarea>
2148
<div style="font-size:14px">Ported by Yeo Quan Yang. Credits to the original author William Entriken @https://github.com/fulldecent</div><br/>
2249
<div style="font-size:14px">Project site at <a href="https://github.com/fulldecent/system-bus-radio">https://github.com/fulldecent/system-bus-radio</a></div><br/>
2350
<div style="font-size:14px">List of computers that work and what frequency to try at <a href="https://github.com/fulldecent/system-bus-radio/blob/master/TEST-DATA.tsv">https://github.com/fulldecent/system-bus-radio/blob/master/TEST-DATA.tsv</a></div>

In Javascript/airgap.js

Lines changed: 18 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -29,30 +29,22 @@ function square_am_signal(time,freq) {
2929
}
3030

3131
function start() {
32-
square_am_signal(0.400, 2673);
33-
square_am_signal(0.400, 2349);
34-
square_am_signal(0.400, 2093);
35-
square_am_signal(0.400, 2349);
36-
square_am_signal(0.400, 2673);
37-
square_am_signal(0.400, 2673);
38-
square_am_signal(0.790, 2673);
39-
square_am_signal(0.400, 2349);
40-
square_am_signal(0.400, 2349);
41-
square_am_signal(0.790, 2349);
42-
square_am_signal(0.400, 2673);
43-
square_am_signal(0.400, 3136);
44-
square_am_signal(0.790, 3136);
45-
square_am_signal(0.400, 2673);
46-
square_am_signal(0.400, 2349);
47-
square_am_signal(0.400, 2093);
48-
square_am_signal(0.400, 2349);
49-
square_am_signal(0.400, 2673);
50-
square_am_signal(0.400, 2673);
51-
square_am_signal(0.400, 2673);
52-
square_am_signal(0.400, 2673);
53-
square_am_signal(0.400, 2349);
54-
square_am_signal(0.400, 2349);
55-
square_am_signal(0.400, 2673);
56-
square_am_signal(0.400, 2349);
57-
square_am_signal(0.790, 2093);
32+
var song = document.getElementById("tones").value.split(":");
33+
var length = song.length;
34+
var i = 1, line, time, freq;
35+
while (1 <= length) {
36+
line = song[i].split(" ");
37+
if (line[0] == "beep") {
38+
freq = +line[0].split("=")[1];
39+
time = +line[2].split("=")[1].slice(0,-1);
40+
square_am_signal(time, freq);
41+
}
42+
if (line[0] == "delay") {
43+
// delay
44+
}
45+
if (song[i] == "end") {
46+
i = 1;
47+
}
48+
i++;
49+
}
5850
}

0 commit comments

Comments
 (0)