Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 <!doctype html> | |
| 2 <html> | |
| 3 <head> | |
| 4 <title>Test k-rate AudioParams</title> | |
| 5 <script src="../../resources/testharness.js"></script> | |
| 6 <script src="../../resources/testharnessreport.js"></script> | |
| 7 <script src="../resources/audit-util.js"></script> | |
| 8 <script src="../resources/audit.js"></script> | |
| 9 </head> | |
| 10 | |
| 11 <body> | |
| 12 <script> | |
| 13 var sampleRate = 48000; | |
|
hongchan
2017/01/12 23:32:15
Use 'let' since this is a new test.
| |
| 14 var renderLength = 2048; | |
| 15 var eventEndTime = 0.015; | |
| 16 | |
| 17 var audit = Audit.createTaskRunner() | |
| 18 | |
| 19 audit.define("validate", function (task, should) { | |
| 20 task.describe("Validate test parameters"); | |
| 21 should(eventEndTime, "eventTime").beLessThan(renderLength / sampleRate); | |
| 22 task.done(); | |
| 23 }); | |
| 24 | |
| 25 audit.define("playbackrate+detune", function (task, should) { | |
| 26 task.describe("Test k-rate AudioBufferSourceNode AudioParams"); | |
| 27 | |
| 28 var context = new OfflineAudioContext(1, renderLength, sampleRate); | |
| 29 var buffer = createConstantBuffer(context, renderLength, 1); | |
| 30 var node = new AudioBufferSourceNode(context, { | |
| 31 buffer: buffer | |
| 32 }); | |
| 33 | |
| 34 node.connect(context.destination); | |
| 35 | |
| 36 // Initialize detune and playbackRate to some non-zero value (because | |
| 37 // we're using exponential ramps. Then add exponential ramp to some | |
| 38 // non-zero end value. The actual values don't matter as long as | |
| 39 // they're strictly positive. | |
| 40 node.detune.setValueAtTime(0.125, 0); | |
| 41 node.playbackRate.setValueAtTime(1, 0); | |
| 42 | |
| 43 node.detune.exponentialRampToValueAtTime(0.75, 0.015); | |
| 44 node.playbackRate.exponentialRampToValueAtTime(0.5, 0.015); | |
| 45 | |
| 46 node.start(); | |
| 47 | |
| 48 context.startRendering() | |
| 49 .then(function () { | |
| 50 // The final values for each attribute should be the expected final | |
| 51 // value. | |
| 52 should(node.detune.value, "Final node.detune.value") | |
| 53 .beEqualTo(0.75); | |
| 54 should(node.playbackRate.value, "Final node.playbackRate.value") | |
| 55 .beEqualTo(0.5); | |
| 56 }) | |
| 57 .then(task.done.bind(task)); | |
| 58 }); | |
| 59 | |
| 60 audit.define("panner-k-rate", function (task, should) { | |
| 61 task.describe("Test k-rate PannerNode and AudioListenerNode AudioParams" ); | |
|
hongchan
2017/01/12 23:32:15
Let's wrap this line.
| |
| 62 | |
| 63 var context = new OfflineAudioContext(1, renderLength, sampleRate); | |
| 64 var buffer = createConstantBuffer(context, renderLength, 1); | |
| 65 var source = new AudioBufferSourceNode(context, { | |
| 66 buffer: buffer | |
| 67 }); | |
| 68 | |
| 69 var panner = new PannerNode(context, {panningModel: "HRTF"}); | |
| 70 | |
| 71 source.connect(panner).connect(context.destination); | |
| 72 | |
| 73 | |
|
hongchan
2017/01/12 23:32:15
Remove a redundant empty line.
| |
| 74 // Initialize the k-rate parameters to some positive value. Then add | |
| 75 // exponential ramp to some non-zero end value. The actual values don't | |
| 76 // matter as long as they're strictly positive. | |
| 77 panner.orientationX.setValueAtTime(1, 0); | |
| 78 panner.orientationY.setValueAtTime(1, 0); | |
| 79 panner.orientationZ.setValueAtTime(1, 0); | |
| 80 | |
| 81 panner.positionX.setValueAtTime(5, 0); | |
| 82 panner.positionY.setValueAtTime(5, 0); | |
| 83 panner.positionZ.setValueAtTime(5, 0); | |
| 84 | |
| 85 context.listener.forwardX.setValueAtTime(1, 0); | |
| 86 context.listener.forwardY.setValueAtTime(1, 0); | |
| 87 context.listener.forwardZ.setValueAtTime(1, 0); | |
| 88 | |
| 89 context.listener.positionX.setValueAtTime(.5, 0); | |
| 90 context.listener.positionY.setValueAtTime(.5, 0); | |
| 91 context.listener.positionZ.setValueAtTime(.5, 0); | |
| 92 | |
| 93 context.listener.upX.setValueAtTime(1, 0); | |
| 94 context.listener.upY.setValueAtTime(1, 0); | |
| 95 context.listener.upZ.setValueAtTime(1, 0); | |
| 96 | |
| 97 panner.orientationX.exponentialRampToValueAtTime(2.5, 0.015); | |
| 98 panner.orientationY.exponentialRampToValueAtTime(2.5, 0.015); | |
| 99 panner.orientationZ.exponentialRampToValueAtTime(2.5, 0.015); | |
| 100 | |
| 101 panner.positionX.exponentialRampToValueAtTime(11, 0.015); | |
| 102 panner.positionY.exponentialRampToValueAtTime(11, 0.015); | |
| 103 panner.positionZ.exponentialRampToValueAtTime(11, 0.015); | |
| 104 | |
| 105 context.listener.forwardX.exponentialRampToValueAtTime(3, 0.015); | |
| 106 context.listener.forwardY.exponentialRampToValueAtTime(3, 0.015); | |
| 107 context.listener.forwardZ.exponentialRampToValueAtTime(3, 0.015); | |
| 108 | |
| 109 context.listener.positionX.exponentialRampToValueAtTime(0.5, 0.015); | |
| 110 context.listener.positionY.exponentialRampToValueAtTime(0.5, 0.015); | |
| 111 context.listener.positionZ.exponentialRampToValueAtTime(0.5, 0.015); | |
| 112 | |
| 113 context.listener.upX.exponentialRampToValueAtTime(4, 0.015); | |
| 114 context.listener.upY.exponentialRampToValueAtTime(4, 0.015); | |
| 115 context.listener.upZ.exponentialRampToValueAtTime(4, 0.015); | |
| 116 | |
| 117 source.start(); | |
| 118 | |
| 119 context.startRendering() | |
| 120 .then(function () { | |
| 121 // The final values for each attribute should be the expected final | |
| 122 // value. | |
| 123 should(panner.orientationX.value, "Final panner.orientationX.value" ) | |
|
hongchan
2017/01/12 23:32:15
Wrap lines at 80 cols from here.
| |
| 124 .beEqualTo(2.5); | |
| 125 should(panner.orientationY.value, "Final panner.orientationY.value" ) | |
| 126 .beEqualTo(2.5); | |
| 127 should(panner.orientationZ.value, "Final panner.orientationZ.value" ) | |
| 128 .beEqualTo(2.5); | |
| 129 should(panner.positionX.value, "Final panner.positionX.value") | |
| 130 .beEqualTo(11); | |
| 131 should(panner.positionY.value, "Final panner.positionY.value") | |
| 132 .beEqualTo(11); | |
| 133 should(panner.positionZ.value, "Final panner.positionZ.value") | |
| 134 .beEqualTo(11); | |
| 135 | |
| 136 should(context.listener.forwardX.value, "Final context.listener.for wardX.value") | |
| 137 .beEqualTo(3); | |
| 138 should(context.listener.forwardY.value, "Final context.listener.for wardY.value") | |
| 139 .beEqualTo(3); | |
| 140 should(context.listener.forwardZ.value, "Final context.listener.for wardZ.value") | |
| 141 .beEqualTo(3); | |
| 142 should(context.listener.positionX.value, "Final context.listener.po sitionX.value") | |
| 143 .beEqualTo(0.5); | |
| 144 should(context.listener.positionY.value, "Final context.listener.po sitionY.value") | |
| 145 .beEqualTo(0.5); | |
| 146 should(context.listener.positionZ.value, "Final context.listener.po sitionZ.value") | |
| 147 .beEqualTo(0.5); | |
| 148 should(context.listener.upX.value, "Final context.listener.upX.valu e") | |
| 149 .beEqualTo(4); | |
| 150 should(context.listener.upY.value, "Final context.listener.upY.valu e") | |
| 151 .beEqualTo(4); | |
| 152 should(context.listener.upZ.value, "Final context.listener.upZ.valu e") | |
| 153 .beEqualTo(4); | |
| 154 }) | |
| 155 .then(task.done.bind(task)); | |
| 156 }); | |
| 157 | |
| 158 audit.run(); | |
| 159 </script> | |
| 160 </body> | |
| 161 </html> | |
| OLD | NEW |