summaryrefslogtreecommitdiff
path: root/client/lib/kalimba.js
diff options
context:
space:
mode:
authorjulian laplace <julescarbon@gmail.com>2025-07-07 19:54:02 +0200
committerjulian laplace <julescarbon@gmail.com>2025-07-07 19:54:02 +0200
commitdfbd36be4341f633cb51d187d3245efbc9d500a8 (patch)
tree15a1006ba51a9c4b2773161bae888cc0522fcdff /client/lib/kalimba.js
parent95a494a5570ba7933943cfe2093f1357c5f087f4 (diff)
transitions, fix colors, add help
Diffstat (limited to 'client/lib/kalimba.js')
-rw-r--r--client/lib/kalimba.js49
1 files changed, 23 insertions, 26 deletions
diff --git a/client/lib/kalimba.js b/client/lib/kalimba.js
index 64ace00..53fcb99 100644
--- a/client/lib/kalimba.js
+++ b/client/lib/kalimba.js
@@ -18,7 +18,7 @@ const samples = [
// { root: 671, fn: 'samples/380732__cabled-mess__sansula-09-e-raw.wav', },
];
-function load(output) {
+function load({ output }) {
samples.forEach((sample) => {
sample.players = [];
sample.index = -1;
@@ -45,15 +45,12 @@ function load(output) {
);
}
-let last = 440;
-
-function play(freq) {
- last = freq;
+function play(interval, root) {
const sample = choice(samples);
sample.index = (sample.index + 1) % sample.players.length;
const player = sample.players[sample.index];
- player.playbackRate = freq / sample.root;
+ player.playbackRate = (interval * root) / sample.root;
player.start();
}
@@ -63,24 +60,24 @@ function pause() {
export default { load, play, pause };
-// for help tuning
-function keydown(e) {
- // console.log(e.keyCode)
- if (e.metaKey && last) {
- let step = e.shiftKey ? (e.ctrlKey ? 0.01 : 0.1) : 1;
- switch (e.keyCode) {
- case 38: // up
- e.preventDefault();
- samples[0].root -= step;
- play(last);
- break;
- case 40: // down
- e.preventDefault();
- samples[0].root += step;
- play(last);
- break;
- }
- console.log(samples[0].root);
- }
-}
+// for help tuning the kalimba samples
+// function keydown(e) {
+// // console.log(e.keyCode)
+// if (e.metaKey && last) {
+// let step = e.shiftKey ? (e.ctrlKey ? 0.01 : 0.1) : 1;
+// switch (e.keyCode) {
+// case 38: // up
+// e.preventDefault();
+// samples[0].root -= step;
+// play(last);
+// break;
+// case 40: // down
+// e.preventDefault();
+// samples[0].root += step;
+// play(last);
+// break;
+// }
+// console.log(samples[0].root);
+// }
+// }
// window.addEventListener("keydown", keydown, true);