diff options
| author | julian laplace <julescarbon@gmail.com> | 2025-07-05 21:04:20 +0200 |
|---|---|---|
| committer | julian laplace <julescarbon@gmail.com> | 2025-07-05 21:04:20 +0200 |
| commit | 8b164eaca0870879129592790ac0d596f38538fc (patch) | |
| tree | 7b14f8004033defbd04c065e686e20ebea884428 /client | |
| parent | d702a0ea0d226cd329568558dc4b96ade634c4d8 (diff) | |
readme
Diffstat (limited to 'client')
| -rw-r--r-- | client/index.js | 34 |
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); |
