summaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
authorjulian laplace <julescarbon@gmail.com>2025-07-05 21:04:20 +0200
committerjulian laplace <julescarbon@gmail.com>2025-07-05 21:04:20 +0200
commit8b164eaca0870879129592790ac0d596f38538fc (patch)
tree7b14f8004033defbd04c065e686e20ebea884428 /client
parentd702a0ea0d226cd329568558dc4b96ade634c4d8 (diff)
readme
Diffstat (limited to 'client')
-rw-r--r--client/index.js34
1 files changed, 26 insertions, 8 deletions
diff --git a/client/index.js b/client/index.js
index 38d9b78..24629c0 100644
--- a/client/index.js
+++ b/client/index.js
@@ -32,6 +32,7 @@ let lastFreq = 0;
let notes = [];
let base_x = 0;
let base_y = 0;
+let scaleMode = 0;
let is_split = false;
let frequencies;
@@ -121,14 +122,26 @@ function toggle(freq) {
}
function add(i, j) {
- const a = i + 1 + base_x;
- const b = j + 1 + base_y;
- // const a = i + 1 + base_x;
- // const b = i + j + 2 + base_y;
- // const a = i + j + 1 + base_x;
- // const b = j + 1 + base_y;
- // const a = PRIMES[i];
- // const b = PRIMES[i + j + 1];
+ let a, b;
+ switch (scaleMode % 4) {
+ case 1:
+ a = i + 1 + base_x;
+ b = i + j + 2 + base_y;
+ break;
+ case 2:
+ a = i + j + 1 + base_x;
+ b = j + 1 + base_y;
+ break;
+ case 3:
+ a = PRIMES[i];
+ b = PRIMES[i + j + 1];
+ break;
+ case 0:
+ default:
+ a = i + 1 + base_x;
+ b = j + 1 + base_y;
+ break;
+ }
const div = document.createElement("div");
const frequency = (root * a) / b;
// const frequency = root * Math.pow(2, ((b / a) % 1) + 1);
@@ -275,6 +288,7 @@ function keydown(e) {
if (e.shiftKey) {
step += 4;
}
+ // console.log(e.keyCode);
switch (e.keyCode) {
case 37: // left
base_x = Math.max(0, base_x - step);
@@ -295,6 +309,10 @@ function keydown(e) {
case 220: // \
midi.enable(trigger_index);
break;
+ case 187: // \
+ scaleMode += 1;
+ rebuild();
+ break;
}
}
window.addEventListener("keydown", keydown, true);