-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
torsk.js
79 lines (66 loc) · 1.88 KB
/
torsk.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
if ('addEventListener' in document) {
document.addEventListener('DOMContentLoaded', function() {
FastClick.attach(document.body);
}, false);
}
var socket = io();
var playSequence = function () {
var value = document.getElementById('chordSequence').value;
var res = value.split("");
res = transformToArray(res);
socket.emit('playSequence', res);
};
var stopSequence = function () {
socket.emit('stopSequence');
};
var play = function (chord) {
socket.emit('play', chord);
};
var playChord = function (chord) {
socket.emit('chord', chord);
};
var transformToArray = function ( res ) {
// transform strings to arrays, so we gat a nice format.
// str: 'aefg' -> [ [a], [e], [f], [g] ]
var out;
for ( var note in res ) {
if ( typeof res[note] === 'string' ) {
out = [ res[note].toUpperCase() ];
} else {
out = res[note];
}
res[note] = out;
}
return res;
};
var drums = function(){
var pattern = [[], [], [], [], [], [], [], []];
var notes = ['kick', 'snare', 'clap', 'hihat', 'crash'];
for (var j = 0; j <= 7; j++){
for (var i = 0; i <= 4; i++){
var name = notes[i],
checked = document.getElementById(name+"-"+(j+1)).checked;
if(checked){
pattern[j].push(notes[i]);
}
}
}
socket.emit('playDrumSequence', pattern);
};
var toggleChecked = function (id) {
var element = document.getElementById(id);
checked = element.checked;
if (checked) {
element.checked = false;
element.className = "inactive";
} else {
element.checked = true;
element.className = "active";
};
};
var stopDrums = function () {
socket.emit('stopDrumSequence');
};
var toggleDrum = function (x, sound) {
var pattern = [[], [], [], [], [], [], [], []];
};