xxxxxxxxxx
155
/*
* Collaboration between Jack B. Du & Henry Chen
*
*/
let template = {
label: 'Root',
diameter: 0.07,
x: 0,
y: 0,
children: [
{
label: 'Bass',
diameter: 0.1,
x: 0.2,
y: 0.2,
hue: 120,
url: "loops/Bass.mp3",
loop: true,
filterType: 'highpass'
// children: [
// {
// label: 'Role E',
// diameter: 0.1,
// x: 0.4,
// y: 0.4,
// hue: 150,
// },
// {
// label: 'Role F',
// diameter: 0.1,
// x: 0,
// y: 0.4,
// hue: 210,
// },
// {
// label: 'Role G',
// diameter: 0.1,
// x: 0.4,
// y: 0,
// hue: 270,
// },
// ],
},
{
label: 'Drums',
diameter: 0.1,
x: -0.2,
y: 0.2,
hue: 180,
url: "loops/Drums.mp3",
loop: true,
filterType: 'highpass'
},
{
label: 'Synth',
diameter: 0.1,
x: -0.2,
y: -0.2,
hue: 240,
url: "loops/Synth.mp3",
loop: true,
filterType: 'lowpass'
// children: [
// {
// label: 'Role H',
// diameter: 0.1,
// x: -0.4,
// y: -0.4,
// hue: 150,
// },
// {
// label: 'Role I',
// diameter: 0.1,
// x: 0,
// y: -0.4,
// hue: 210,
// },
// {
// label: 'Role J',
// diameter: 0.1,
// x: -0.4,
// y: 0,
// hue: 270,
// },
// ],
},
{
label: 'Tops',
diameter: 0.1,
x: 0.2,
y: -0.2,
hue: 320,
url: "loops/Tops.mp3",
loop: true,
filterType: 'highpass'
},
]
};
// sound setup
let loaded = false;
let play = false;
Tone.loaded().then(function(){
loaded = true;
console.log('sample load complete')
});
function checkload() {
if (play == false) {
if (loaded == true) {
for (let child of tree.children) {
child.instrument.start("@1m")
}
play = true;
}
}
}
let tree;
function setup() {
createCanvas(windowWidth, windowHeight);
tree = Node.loadTemplate(template);
tree.adaptCanvas(width, height);
}
function draw() {
background(0);
tree.display();
checkload();
}
function mouseMoved(event) {
tree.moveMouse(event);
}
function mousePressed(event) {
tree.pressMouse(event);
}
function mouseReleased(event) {
tree.releaseMouse(event);
}
function mouseDragged(event) {
tree.dragMouse(event);
}
function windowResized() {
resizeCanvas(windowWidth, windowHeight);
tree.adaptCanvas(width, height);
}