diff --git a/src/components/DetailElement.jsx b/src/components/DetailElement.jsx index 21a5e8c..846b702 100644 --- a/src/components/DetailElement.jsx +++ b/src/components/DetailElement.jsx @@ -113,12 +113,11 @@ const touchEvent = function (event) { const parentCollapseElement = getParentCollapseElement(eventElement); const contentNode = getContainerNode(parentCollapseElement); const densities = calculateDensities(contentNode); - console.log(densities); if (type === "model") { - playDetailModelSonification(); + playDetailModelSonification(densities.textDensity, densities.linkDensity); } else if (type === "earcon") { - playDetailEarconSonification(); + playDetailEarconSonification(densities.textDensity, densities.linkDensity); } }; diff --git a/src/core/audio/AudioHandler.jsx b/src/core/audio/AudioHandler.jsx index 0ea8edf..9ca3cb3 100644 --- a/src/core/audio/AudioHandler.jsx +++ b/src/core/audio/AudioHandler.jsx @@ -18,46 +18,72 @@ const setRotationRamp = (panner, angle, rampTime) => { panner.positionZ.rampTo(-Math.cos(angle), rampTime); }; +var offCooldown = true; + export function playTabEarconSonification() { - var loop = new Tone.Loop((time) => { - drumSynth.triggerAttackRelease("C3", "4n", time); - }, "4n"); - loop.iterations = 2; - loop.start(); - drumSynth.context.resume(); - Tone.Transport.start(); - pushToSonificationLog("tab_earcon"); + if (offCooldown) { + var loop = new Tone.Loop((time) => { + drumSynth.triggerAttackRelease("C3", "4n", time); + }, "4n"); + loop.iterations = 2; + loop.start(); + drumSynth.context.resume(); + Tone.Transport.start(); + pushToSonificationLog("tab_earcon"); + offCooldown = false; + setTimeout(() => { + offCooldown = true; + }, 500); + } } export function playTabModelSonification() { - var loop = new Tone.Loop((time) => { - drumSynth.triggerAttackRelease("C3", "4n", time); - }, "4n"); - loop.iterations = 2; - loop.start(); - drumSynth.context.resume(); - Tone.Transport.start(); - pushToSonificationLog("tab_model"); + if (offCooldown) { + var loop = new Tone.Loop((time) => { + drumSynth.triggerAttackRelease("C3", "4n", time); + }, "4n"); + loop.iterations = 2; + loop.start(); + drumSynth.context.resume(); + Tone.Transport.start(); + pushToSonificationLog("tab_model"); + offCooldown = false; + setTimeout(() => { + offCooldown = true; + }, 500); + } } -export function playDetailEarconSonification() { - var loop = new Tone.Loop((time) => { - drumSynth.triggerAttackRelease("C3", "4n", time); - }, "4n"); - loop.iterations = 2; - loop.start(); - drumSynth.context.resume(); - Tone.Transport.start(); - pushToSonificationLog("detail_earcon"); +export function playDetailEarconSonification(textDensity, linkDensity) { + if (offCooldown) { + var loop = new Tone.Loop((time) => { + drumSynth.triggerAttackRelease("C3", "4n", time); + }, "4n"); + loop.iterations = 2; + loop.start(); + drumSynth.context.resume(); + Tone.Transport.start(); + pushToSonificationLog("detail_earcon"); + offCooldown = false; + setTimeout(() => { + offCooldown = true; + }, 500); + } } -export function playDetailModelSonification() { - var loop = new Tone.Loop((time) => { - drumSynth.triggerAttackRelease("C3", "4n", time); - }, "4n"); - loop.iterations = 2; - loop.start(); - drumSynth.context.resume(); - Tone.Transport.start(); - pushToSonificationLog("detail_model"); +export function playDetailModelSonification(textDensity, linkDensity) { + if (offCooldown) { + var loop = new Tone.Loop((time) => { + drumSynth.triggerAttackRelease("C3", "4n", time); + }, "4n"); + loop.iterations = 2; + loop.start(); + drumSynth.context.resume(); + Tone.Transport.start(); + pushToSonificationLog("detail_model"); + offCooldown = false; + setTimeout(() => { + offCooldown = true; + }, 500); + } }