xxxxxxxxxx
119
let period = 1;
let periodS = 0.001;
let bigCircleSize = 100;
let bigCirclePosX;
let bigCirclePosY;
let circleNum=1;
let ballNumber=0;
let smallCircleSize = 10;
let periodSlider;
let clearButton;
let addButton;
let rate1, rate2, rate3;
let smallCirclePos;
let balls=[];
let synths=[];
// let synth = new Tone.PluckSynth().toMaster();
let circleRate = 1;
let circle2Rate = 1;
function createBalls(){
let i=0;
for(i=0; i<=circleNum-1; i++){
balls[i] = new Orbital(100*(i+1), 100, 100, circleRate, i);
}
}
function createDom(){
periodSlider = createSlider(0, 255, 255);
periodSlider.position(10, 10);
periodSlider.style('width', '80px');
clearButton = createButton('clear');
clearButton.position(19, 19);
clearButton.mousePressed(clearGhosts);
addButton = createButton('add');
addButton.position(19, 40);
addButton.mousePressed(addGhost);
rate1 = createButton('r1');
rate1.position(50, 10);
rate1.mousePressed(updateRate);
rate2 = createButton('r2');
rate2.position(80, 10);
rate2.mousePressed(updateRate2);
rate3 = createButton('r3');
rate3.position(100, 10);
rate3.mousePressed(updateRate3);
}
function setup() {
createCanvas(400, 400);
bigCirclePosX = width/2;
bigCirclePosY = height/2;
smallCirclePos = createVector(1, 1) ;
Tone.Transport.start();
createDom();
createBalls();
}
function draw() {
background(0);
let i=0;
for(i=0; i<=circleNum-1; i++){
balls[i].display();
balls[i].move();
}
}
function playSynth(synth){
balls[synth].synth.triggerAttackRelease(224, '2n');
balls[synth].trigg();
}
function addGhost(){
// repeats();
let i=0;
for(i=0; i<=circleNum-1; i++){
// balls[i].realRate=map (periodSlider.value(), 0, 255, 2, 1);
balls[i].addRepeat();
}
}
function updateRate(){
let i=0;
for(i=0; i<=circleNum-1; i++){
balls[i].updateRate(1);
}
}
function updateRate2(){
let i=0;
for(i=0; i<=circleNum-1; i++){
balls[i].updateRate(2);
}
}
function updateRate3(){
let i=0;
for(i=0; i<=circleNum-1; i++){
balls[i].updateRate(0.5);
}
}
function clearGhosts(){
let i=0;
for(i=0; i<=balls.length-1; i++){
balls[i].clearGhosts();
}
}