-
Notifications
You must be signed in to change notification settings - Fork 0
/
musicbox.js
42 lines (38 loc) · 1019 Bytes
/
musicbox.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
import { BufferLoader } from "./bufferloader.js";
import { Audio } from "./audio.js";
import { View } from "./view.js";
window.onload = function () {
let bufferLoader = new BufferLoader(
Audio.audioContext,
[
"A4.mp3",
"A5.mp3",
"C4.mp3",
"C5.mp3",
"D4.mp3",
"D5.mp3",
"E4.mp3",
"E5.mp3",
"G4.mp3",
"G5.mp3",
"cymbal.wav",
"perc1.wav",
"perc2.wav",
"perc3.wav",
"perc4.wav",
"perc5.wav",
"perc6.wav",
],
finishedLoading
);
bufferLoader.load();
function finishedLoading(bufferList) {
Audio.init(bufferList);
let canvas = document.getElementById("canvas");
let view = new View(canvas);
//canvas.addEventListener("mousedown", view.handleClick.bind(view), false);
canvas.addEventListener("mousedown", (e) => view.handleClick(e), false);
//setInterval(view.updateDisplay.bind(view), view.frameRate);
setInterval((e) => view.updateDisplay(e), view.frameRate);
}
};