changeset 2190:96988cb46d18

Calibration through audioEngine audio output. Reference controls global volume for tests.
author Nicholas Jillings <nickjillings@users.noreply.github.com>
date Tue, 29 Mar 2016 14:24:05 +0100
parents ecbf1deba199
children dd5a8556235c
files core.js
diffstat 1 files changed, 8 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/core.js	Tue Mar 29 13:53:57 2016 +0100
+++ b/core.js	Tue Mar 29 14:24:05 2016 +0100
@@ -3107,7 +3107,13 @@
                     f: f0,
                     parent: this,
                     handleEvent: function(event) {
-                        this.gain.gain.value = Math.pow(10,this.input.value/20);
+                        var value = Math.pow(10,this.input.value/20);
+                        if (this.f == 1000) {
+                            audioEngineContext.outputGain.gain.value = value;
+                            interfaceContext.volume.slider.value = this.input.value;
+                        } else {
+                            this.gain.gain.value = value
+                        }
                         switch(event.type) {
                             case "mouseenter":
                                 this.oscillator.start(0);
@@ -3127,7 +3133,7 @@
                 obj.root.className = "calibration-slider";
                 obj.root.appendChild(obj.input);
                 obj.oscillator.connect(obj.gain);
-                obj.gain.connect(audioContext.destination);
+                obj.gain.connect(audioEngineContext.outputGain);
                 obj.gain.gain.value = Math.random()*2;
                 obj.input.value = obj.gain.gain.value;
                 obj.input.setAttribute('orient','vertical');
@@ -3158,7 +3164,6 @@
                 node.setAttribute("frequency",obj.f);
                 node.setAttribute("range-min",obj.input.min);
                 node.setAttribute("range-max",obj.input.max);
-                node.setAttribute("gain-db",20*Math.log10(obj.gain.gain.value));
                 node.setAttribute("gain-lin",obj.gain.gain.value);
                 this.storeDOM.appendChild(node);
             }