-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.js
68 lines (63 loc) · 1.72 KB
/
main.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
let pads = [
padC,
padCx,
padD,
padEb,
padE,
padF,
padFx,
padG,
padAb,
padA,
padBb,
padB
]
const audios = [
audioC,
audioCx,
audioD,
audioEb,
audioE,
audioF,
audioFx,
audioG,
audioAb,
audioA,
audioBb,
audioB,
]
function tocarPad(audio, pad) {
let musicIsStop = audio.paused
if (musicIsStop) {
console.log(`Tocando PAD em ${pad.value}!`)
audio.play()
audio.setAttribute('loop', '')
pad.setAttribute('class', 'tocando')
} else {
console.log(`PAD em ${pad.value} pausado!`)
audio.pause()
pad.setAttribute('class', 'pausado')
}
}
function pararTodosOsPads() {
audios.forEach(audios => {
audios.pause()
audios.load()
})
pads.forEach(pads => {
pads.setAttribute('class', 'pausado')
})
}
stopAll.addEventListener('click', () => pararTodosOsPads())
padC.addEventListener('click', () => tocarPad(audios[0], pads[0]))
padCx.addEventListener('click', () => tocarPad(audios[1], pads[1]))
padD.addEventListener('click', () => tocarPad(audios[2], pads[2]))
padEb.addEventListener('click', () => tocarPad(audios[3], pads[3]))
padE.addEventListener('click', () => tocarPad(audios[4], pads[4]))
padF.addEventListener('click', () => tocarPad(audios[5], pads[5]))
padFx.addEventListener('click', () => tocarPad(audios[6], pads[6]))
padG.addEventListener('click', () => tocarPad(audios[7], pads[7]))
padAb.addEventListener('click', () => tocarPad(audios[8], pads[8]))
padA.addEventListener('click', () => tocarPad(audios[9], pads[9]))
padBb.addEventListener('click', () => tocarPad(audios[10], pads[10]))
padB.addEventListener('click', () => tocarPad(audios[11], pads[11]))