From 4e57ebe4f30f53a1ec450f681efe214285ff09ac Mon Sep 17 00:00:00 2001 From: km0 Date: Sat, 1 Apr 2023 21:53:28 +0200 Subject: [PATCH] add uuuuuuuuuu --- uuu.html | 24 ++++++++++++++++++++++ uuu.js | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 86 insertions(+) create mode 100644 uuu.html create mode 100644 uuu.js diff --git a/uuu.html b/uuu.html new file mode 100644 index 0000000..dba8ac8 --- /dev/null +++ b/uuu.html @@ -0,0 +1,24 @@ + + + + + uuuu + + + + + + + + + diff --git a/uuu.js b/uuu.js new file mode 100644 index 0000000..9c8a565 --- /dev/null +++ b/uuu.js @@ -0,0 +1,62 @@ +const WIDTH = window.innerWidth +const HEIGHT = window.innerHeight + +const canvas = document.querySelector("#draw") +const canvasContext = canvas.getContext("2d") +canvas.width = WIDTH +canvas.height = HEIGHT + +const audioContext = new AudioContext() +const oscillator = audioContext.createOscillator() +const gainNode = audioContext.createGain() + + +oscillator.connect(gainNode) + + +const maxFreq = 6000 +const maxVol = 0.2 +const initialVol = 0.001 + +oscillator.start(0) +oscillator.detune.value = 100 + +oscillator.addEventListener('end', () => { + console.log("Your tone has stopped") +}) + +gainNode.gain.value = initialVol +gainNode.gain.minValue = initialVol +gainNode.gain.maxValue = initialVol + +let pressed = false +let cursorX +let cursorY + + +document.addEventListener("mousedown", ()=>{ + pressed = true + gainNode.connect(audioContext.destination) +}) + +document.addEventListener("mouseup", ()=>{ + pressed = false + gainNode.disconnect(audioContext.destination) +}) + +document.addEventListener("mousemove", (e)=>{ + + cursorX = e.pageX; + cursorY = e.pageY; + + gainNode.gain.value = (cursorY/HEIGHT) * maxVol; + oscillator.frequency.value = (cursorX/WIDTH) * maxFreq; + + + if (pressed) { + canvasContext.fillRect(cursorX, cursorY, 5,5) + canvasContext.fillStyle = "rgb(0,0,0)" + } +}) + +