From acc1e40a09be4bf4c74252b42c9c0056d46c1dd1 Mon Sep 17 00:00:00 2001 From: videogame hacker Date: Mon, 6 Mar 2023 02:50:24 +0000 Subject: [PATCH] Add wavelength --- pages/index.tsx | 17 ++++++++++------- styles/globals.css | 5 +++++ 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/pages/index.tsx b/pages/index.tsx index 1c2640d..847eb97 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -32,7 +32,8 @@ const calculateNote = (root: number, frequency: number) => { const semis = Math.round(distanceFromA); const cents = Math.round((distanceFromA - semis) * 100); let octave = 4 + Math.floor(semis / 12); - if (semis % 12 >= 3) octave += 1; + const octaveBoundSemis = ((semis % 12) + 12) % 12; + if (octaveBoundSemis >= 3) octave += 1; const notes = [ "A", "A#", @@ -47,7 +48,7 @@ const calculateNote = (root: number, frequency: number) => { "G", "G#", ]; - const note = notes[semis % 12]; + const note = notes[octaveBoundSemis]; let centsStr = ""; if (cents <= -1) { @@ -65,7 +66,7 @@ export default function Main() { const [frequency, setFrequency] = useState("523.251"); const setRootValue: ChangeEventHandler = (e) => { - const newRoot = parseInt(e.target.value); + const newRoot = parseFloat(e.target.value); if (!isNaN(newRoot)) setRoot(newRoot); const frequency = calculateFrequency(newRoot, note); if (frequency != null) setFrequency(frequency.toFixed(3)); @@ -102,7 +103,7 @@ export default function Main() { {"if A4 is "} - {" Hz"} + {" Hz "} + diff --git a/styles/globals.css b/styles/globals.css index 1840e45..554a517 100644 --- a/styles/globals.css +++ b/styles/globals.css @@ -48,3 +48,8 @@ input[type="text"] { input[type="text"]:focus { border-color: rgb(141, 255, 208); } + +aside { + display: inline-block; + font-size: 0.8em; +}