| OLD | NEW |
| 1 /** | 1 /** |
| 2 * High-fidelity audio programming in the browser. | 2 * High-fidelity audio programming in the browser. |
| 3 */ | 3 */ |
| 4 library dart.dom.web_audio; | 4 library dart.dom.web_audio; |
| 5 | 5 |
| 6 import 'dart:async'; | 6 import 'dart:async'; |
| 7 import 'dart:collection'; | 7 import 'dart:collection'; |
| 8 import 'dart:_internal'; | 8 import 'dart:_internal'; |
| 9 import 'dart:html'; | 9 import 'dart:html'; |
| 10 import 'dart:html_common'; | 10 import 'dart:html_common'; |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 94 final int length; | 94 final int length; |
| 95 | 95 |
| 96 @DomName('AudioBuffer.numberOfChannels') | 96 @DomName('AudioBuffer.numberOfChannels') |
| 97 @DocsEditable() | 97 @DocsEditable() |
| 98 final int numberOfChannels; | 98 final int numberOfChannels; |
| 99 | 99 |
| 100 @DomName('AudioBuffer.sampleRate') | 100 @DomName('AudioBuffer.sampleRate') |
| 101 @DocsEditable() | 101 @DocsEditable() |
| 102 final double sampleRate; | 102 final double sampleRate; |
| 103 | 103 |
| 104 @DomName('AudioBuffer.copyFromChannel') | |
| 105 @DocsEditable() | |
| 106 @Experimental() // untriaged | |
| 107 void copyFromChannel(Float32List destination, int channelNumber, [int startInC
hannel]) native; | |
| 108 | |
| 109 @DomName('AudioBuffer.copyToChannel') | |
| 110 @DocsEditable() | |
| 111 @Experimental() // untriaged | |
| 112 void copyToChannel(Float32List source, int channelNumber, [int startInChannel]
) native; | |
| 113 | |
| 114 @DomName('AudioBuffer.getChannelData') | 104 @DomName('AudioBuffer.getChannelData') |
| 115 @DocsEditable() | 105 @DocsEditable() |
| 116 Float32List getChannelData(int channelIndex) native; | 106 Float32List getChannelData(int channelIndex) native; |
| 117 } | 107 } |
| 118 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 108 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 119 // for details. All rights reserved. Use of this source code is governed by a | 109 // for details. All rights reserved. Use of this source code is governed by a |
| 120 // BSD-style license that can be found in the LICENSE file. | 110 // BSD-style license that can be found in the LICENSE file. |
| 121 | 111 |
| 122 // WARNING: Do not edit - generated code. | 112 // WARNING: Do not edit - generated code. |
| 123 | 113 |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 179 */ | 169 */ |
| 180 @DomName('AudioBufferSourceNode.endedEvent') | 170 @DomName('AudioBufferSourceNode.endedEvent') |
| 181 @DocsEditable() | 171 @DocsEditable() |
| 182 @Experimental() // untriaged | 172 @Experimental() // untriaged |
| 183 static const EventStreamProvider<Event> endedEvent = const EventStreamProvider
<Event>('ended'); | 173 static const EventStreamProvider<Event> endedEvent = const EventStreamProvider
<Event>('ended'); |
| 184 | 174 |
| 185 @DomName('AudioBufferSourceNode.buffer') | 175 @DomName('AudioBufferSourceNode.buffer') |
| 186 @DocsEditable() | 176 @DocsEditable() |
| 187 AudioBuffer buffer; | 177 AudioBuffer buffer; |
| 188 | 178 |
| 189 @DomName('AudioBufferSourceNode.detune') | |
| 190 @DocsEditable() | |
| 191 @Experimental() // untriaged | |
| 192 final AudioParam detune; | |
| 193 | |
| 194 @DomName('AudioBufferSourceNode.loop') | 179 @DomName('AudioBufferSourceNode.loop') |
| 195 @DocsEditable() | 180 @DocsEditable() |
| 196 bool loop; | 181 bool loop; |
| 197 | 182 |
| 198 @DomName('AudioBufferSourceNode.loopEnd') | 183 @DomName('AudioBufferSourceNode.loopEnd') |
| 199 @DocsEditable() | 184 @DocsEditable() |
| 200 num loopEnd; | 185 num loopEnd; |
| 201 | 186 |
| 202 @DomName('AudioBufferSourceNode.loopStart') | 187 @DomName('AudioBufferSourceNode.loopStart') |
| 203 @DocsEditable() | 188 @DocsEditable() |
| (...skipping 18 matching lines...) Expand all Loading... |
| 222 @DomName('AudioContext') | 207 @DomName('AudioContext') |
| 223 @SupportedBrowser(SupportedBrowser.CHROME) | 208 @SupportedBrowser(SupportedBrowser.CHROME) |
| 224 @SupportedBrowser(SupportedBrowser.FIREFOX) | 209 @SupportedBrowser(SupportedBrowser.FIREFOX) |
| 225 @Experimental() | 210 @Experimental() |
| 226 // https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioCo
ntext-section | 211 // https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioCo
ntext-section |
| 227 @Native("AudioContext,webkitAudioContext") | 212 @Native("AudioContext,webkitAudioContext") |
| 228 class AudioContext extends EventTarget { | 213 class AudioContext extends EventTarget { |
| 229 // To suppress missing implicit constructor warnings. | 214 // To suppress missing implicit constructor warnings. |
| 230 factory AudioContext._() { throw new UnsupportedError("Not supported"); } | 215 factory AudioContext._() { throw new UnsupportedError("Not supported"); } |
| 231 | 216 |
| 217 /** |
| 218 * Static factory designed to expose `complete` events to event |
| 219 * handlers that are not necessarily instances of [AudioContext]. |
| 220 * |
| 221 * See [EventStreamProvider] for usage information. |
| 222 */ |
| 223 @DomName('AudioContext.completeEvent') |
| 224 @DocsEditable() |
| 225 static const EventStreamProvider<Event> completeEvent = const EventStreamProvi
der<Event>('complete'); |
| 226 |
| 232 /// Checks if this type is supported on the current platform. | 227 /// Checks if this type is supported on the current platform. |
| 233 static bool get supported => JS('bool', '!!(window.AudioContext || window.webk
itAudioContext)'); | 228 static bool get supported => JS('bool', '!!(window.AudioContext || window.webk
itAudioContext)'); |
| 234 | 229 |
| 235 @DomName('AudioContext.currentTime') | 230 @DomName('AudioContext.currentTime') |
| 236 @DocsEditable() | 231 @DocsEditable() |
| 237 final double currentTime; | 232 final double currentTime; |
| 238 | 233 |
| 239 @DomName('AudioContext.destination') | 234 @DomName('AudioContext.destination') |
| 240 @DocsEditable() | 235 @DocsEditable() |
| 241 final AudioDestinationNode destination; | 236 final AudioDestinationNode destination; |
| 242 | 237 |
| 243 @DomName('AudioContext.listener') | 238 @DomName('AudioContext.listener') |
| 244 @DocsEditable() | 239 @DocsEditable() |
| 245 final AudioListener listener; | 240 final AudioListener listener; |
| 246 | 241 |
| 247 @DomName('AudioContext.sampleRate') | 242 @DomName('AudioContext.sampleRate') |
| 248 @DocsEditable() | 243 @DocsEditable() |
| 249 final double sampleRate; | 244 final double sampleRate; |
| 250 | 245 |
| 251 @DomName('AudioContext.state') | |
| 252 @DocsEditable() | |
| 253 @Experimental() // untriaged | |
| 254 final String state; | |
| 255 | |
| 256 @DomName('AudioContext.close') | |
| 257 @DocsEditable() | |
| 258 @Experimental() // untriaged | |
| 259 Future close() native; | |
| 260 | |
| 261 @DomName('AudioContext.createAnalyser') | 246 @DomName('AudioContext.createAnalyser') |
| 262 @DocsEditable() | 247 @DocsEditable() |
| 263 AnalyserNode createAnalyser() native; | 248 AnalyserNode createAnalyser() native; |
| 264 | 249 |
| 265 @DomName('AudioContext.createBiquadFilter') | 250 @DomName('AudioContext.createBiquadFilter') |
| 266 @DocsEditable() | 251 @DocsEditable() |
| 267 BiquadFilterNode createBiquadFilter() native; | 252 BiquadFilterNode createBiquadFilter() native; |
| 268 | 253 |
| 269 @DomName('AudioContext.createBuffer') | 254 @DomName('AudioContext.createBuffer') |
| 270 @DocsEditable() | 255 @DocsEditable() |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 312 | 297 |
| 313 @DomName('AudioContext.createPanner') | 298 @DomName('AudioContext.createPanner') |
| 314 @DocsEditable() | 299 @DocsEditable() |
| 315 PannerNode createPanner() native; | 300 PannerNode createPanner() native; |
| 316 | 301 |
| 317 @DomName('AudioContext.createPeriodicWave') | 302 @DomName('AudioContext.createPeriodicWave') |
| 318 @DocsEditable() | 303 @DocsEditable() |
| 319 @Experimental() // untriaged | 304 @Experimental() // untriaged |
| 320 PeriodicWave createPeriodicWave(Float32List real, Float32List imag) native; | 305 PeriodicWave createPeriodicWave(Float32List real, Float32List imag) native; |
| 321 | 306 |
| 322 @DomName('AudioContext.createStereoPanner') | |
| 323 @DocsEditable() | |
| 324 @Experimental() // untriaged | |
| 325 StereoPannerNode createStereoPanner() native; | |
| 326 | |
| 327 @DomName('AudioContext.createWaveShaper') | 307 @DomName('AudioContext.createWaveShaper') |
| 328 @DocsEditable() | 308 @DocsEditable() |
| 329 WaveShaperNode createWaveShaper() native; | 309 WaveShaperNode createWaveShaper() native; |
| 330 | 310 |
| 331 @JSName('decodeAudioData') | 311 @JSName('decodeAudioData') |
| 332 @DomName('AudioContext.decodeAudioData') | 312 @DomName('AudioContext.decodeAudioData') |
| 333 @DocsEditable() | 313 @DocsEditable() |
| 334 void _decodeAudioData(ByteBuffer audioData, AudioBufferCallback successCallbac
k, [AudioBufferCallback errorCallback]) native; | 314 void _decodeAudioData(ByteBuffer audioData, AudioBufferCallback successCallbac
k, [AudioBufferCallback errorCallback]) native; |
| 335 | 315 |
| 336 @DomName('AudioContext.resume') | 316 @DomName('AudioContext.startRendering') |
| 337 @DocsEditable() | 317 @DocsEditable() |
| 338 @Experimental() // untriaged | 318 void startRendering() native; |
| 339 Future resume() native; | |
| 340 | 319 |
| 341 @DomName('AudioContext.suspend') | 320 /// Stream of `complete` events handled by this [AudioContext]. |
| 321 @DomName('AudioContext.oncomplete') |
| 342 @DocsEditable() | 322 @DocsEditable() |
| 343 @Experimental() // untriaged | 323 Stream<Event> get onComplete => completeEvent.forTarget(this); |
| 344 Future suspend() native; | |
| 345 | 324 |
| 346 factory AudioContext() => JS('AudioContext', | 325 factory AudioContext() => JS('AudioContext', |
| 347 'new (window.AudioContext || window.webkitAudioContext)()'); | 326 'new (window.AudioContext || window.webkitAudioContext)()'); |
| 348 | 327 |
| 349 GainNode createGain() { | 328 GainNode createGain() { |
| 350 if (JS('bool', '#.createGain !== undefined', this)) { | 329 if (JS('bool', '#.createGain !== undefined', this)) { |
| 351 return JS('GainNode', '#.createGain()', this); | 330 return JS('GainNode', '#.createGain()', this); |
| 352 } else { | 331 } else { |
| 353 return JS('GainNode', '#.createGainNode()', this); | 332 return JS('GainNode', '#.createGainNode()', this); |
| 354 } | 333 } |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 469 @DocsEditable() | 448 @DocsEditable() |
| 470 final int numberOfInputs; | 449 final int numberOfInputs; |
| 471 | 450 |
| 472 @DomName('AudioNode.numberOfOutputs') | 451 @DomName('AudioNode.numberOfOutputs') |
| 473 @DocsEditable() | 452 @DocsEditable() |
| 474 final int numberOfOutputs; | 453 final int numberOfOutputs; |
| 475 | 454 |
| 476 @JSName('connect') | 455 @JSName('connect') |
| 477 @DomName('AudioNode.connect') | 456 @DomName('AudioNode.connect') |
| 478 @DocsEditable() | 457 @DocsEditable() |
| 479 void _connect(destination, [int output, int input]) native; | 458 void _connect(destination, int output, [int input]) native; |
| 480 | 459 |
| 481 @DomName('AudioNode.disconnect') | 460 @DomName('AudioNode.disconnect') |
| 482 @DocsEditable() | 461 @DocsEditable() |
| 483 void disconnect([destination_OR_output, int output, int input]) native; | 462 void disconnect(int output) native; |
| 484 | 463 |
| 485 @DomName('AudioNode.connect') | 464 @DomName('AudioNode.connect') |
| 486 void connectNode(AudioNode destination, [int output = 0, int input = 0]) => | 465 void connectNode(AudioNode destination, [int output = 0, int input = 0]) => |
| 487 _connect(destination, output, input); | 466 _connect(destination, output, input); |
| 488 | 467 |
| 489 @DomName('AudioNode.connect') | 468 @DomName('AudioNode.connect') |
| 490 void connectParam(AudioParam destination, [int output = 0]) => | 469 void connectParam(AudioParam destination, [int output = 0]) => |
| 491 _connect(destination, output); | 470 _connect(destination, output); |
| 492 } | 471 } |
| 493 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 472 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| (...skipping 331 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 825 class OfflineAudioContext extends AudioContext { | 804 class OfflineAudioContext extends AudioContext { |
| 826 // To suppress missing implicit constructor warnings. | 805 // To suppress missing implicit constructor warnings. |
| 827 factory OfflineAudioContext._() { throw new UnsupportedError("Not supported");
} | 806 factory OfflineAudioContext._() { throw new UnsupportedError("Not supported");
} |
| 828 | 807 |
| 829 @DomName('OfflineAudioContext.OfflineAudioContext') | 808 @DomName('OfflineAudioContext.OfflineAudioContext') |
| 830 @DocsEditable() | 809 @DocsEditable() |
| 831 factory OfflineAudioContext(int numberOfChannels, int numberOfFrames, num samp
leRate) { | 810 factory OfflineAudioContext(int numberOfChannels, int numberOfFrames, num samp
leRate) { |
| 832 return OfflineAudioContext._create_1(numberOfChannels, numberOfFrames, sampl
eRate); | 811 return OfflineAudioContext._create_1(numberOfChannels, numberOfFrames, sampl
eRate); |
| 833 } | 812 } |
| 834 static OfflineAudioContext _create_1(numberOfChannels, numberOfFrames, sampleR
ate) => JS('OfflineAudioContext', 'new OfflineAudioContext(#,#,#)', numberOfChan
nels, numberOfFrames, sampleRate); | 813 static OfflineAudioContext _create_1(numberOfChannels, numberOfFrames, sampleR
ate) => JS('OfflineAudioContext', 'new OfflineAudioContext(#,#,#)', numberOfChan
nels, numberOfFrames, sampleRate); |
| 835 | |
| 836 @DomName('OfflineAudioContext.startRendering') | |
| 837 @DocsEditable() | |
| 838 @Experimental() // untriaged | |
| 839 Future startRendering() native; | |
| 840 } | 814 } |
| 841 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 815 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 842 // for details. All rights reserved. Use of this source code is governed by a | 816 // for details. All rights reserved. Use of this source code is governed by a |
| 843 // BSD-style license that can be found in the LICENSE file. | 817 // BSD-style license that can be found in the LICENSE file. |
| 844 | 818 |
| 845 | 819 |
| 846 @DocsEditable() | 820 @DocsEditable() |
| 847 @DomName('OscillatorNode') | 821 @DomName('OscillatorNode') |
| 848 // https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#dfn-Osc
illatorNode | 822 // https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#dfn-Osc
illatorNode |
| 849 @Experimental() | 823 @Experimental() |
| (...skipping 18 matching lines...) Expand all Loading... |
| 868 final AudioParam detune; | 842 final AudioParam detune; |
| 869 | 843 |
| 870 @DomName('OscillatorNode.frequency') | 844 @DomName('OscillatorNode.frequency') |
| 871 @DocsEditable() | 845 @DocsEditable() |
| 872 final AudioParam frequency; | 846 final AudioParam frequency; |
| 873 | 847 |
| 874 @DomName('OscillatorNode.type') | 848 @DomName('OscillatorNode.type') |
| 875 @DocsEditable() | 849 @DocsEditable() |
| 876 String type; | 850 String type; |
| 877 | 851 |
| 852 @DomName('OscillatorNode.noteOff') |
| 853 @DocsEditable() |
| 854 void noteOff(num when) native; |
| 855 |
| 856 @DomName('OscillatorNode.noteOn') |
| 857 @DocsEditable() |
| 858 void noteOn(num when) native; |
| 859 |
| 878 @DomName('OscillatorNode.setPeriodicWave') | 860 @DomName('OscillatorNode.setPeriodicWave') |
| 879 @DocsEditable() | 861 @DocsEditable() |
| 880 @Experimental() // untriaged | 862 @Experimental() // untriaged |
| 881 void setPeriodicWave(PeriodicWave periodicWave) native; | 863 void setPeriodicWave(PeriodicWave periodicWave) native; |
| 882 | 864 |
| 883 @DomName('OscillatorNode.start') | 865 @DomName('OscillatorNode.start') |
| 884 @DocsEditable() | 866 @DocsEditable() |
| 885 void start([num when]) native; | 867 void start([num when]) native; |
| 886 | 868 |
| 887 @DomName('OscillatorNode.stop') | 869 @DomName('OscillatorNode.stop') |
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1011 @DocsEditable() | 993 @DocsEditable() |
| 1012 @Experimental() // untriaged | 994 @Experimental() // untriaged |
| 1013 Stream<AudioProcessingEvent> get onAudioProcess => audioProcessEvent.forTarget
(this); | 995 Stream<AudioProcessingEvent> get onAudioProcess => audioProcessEvent.forTarget
(this); |
| 1014 } | 996 } |
| 1015 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 997 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 1016 // for details. All rights reserved. Use of this source code is governed by a | 998 // for details. All rights reserved. Use of this source code is governed by a |
| 1017 // BSD-style license that can be found in the LICENSE file. | 999 // BSD-style license that can be found in the LICENSE file. |
| 1018 | 1000 |
| 1019 | 1001 |
| 1020 @DocsEditable() | 1002 @DocsEditable() |
| 1021 @DomName('StereoPannerNode') | |
| 1022 @Experimental() // untriaged | |
| 1023 @Native("StereoPannerNode") | |
| 1024 class StereoPannerNode extends AudioNode { | |
| 1025 // To suppress missing implicit constructor warnings. | |
| 1026 factory StereoPannerNode._() { throw new UnsupportedError("Not supported"); } | |
| 1027 | |
| 1028 @DomName('StereoPannerNode.pan') | |
| 1029 @DocsEditable() | |
| 1030 @Experimental() // untriaged | |
| 1031 final AudioParam pan; | |
| 1032 } | |
| 1033 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | |
| 1034 // for details. All rights reserved. Use of this source code is governed by a | |
| 1035 // BSD-style license that can be found in the LICENSE file. | |
| 1036 | |
| 1037 | |
| 1038 @DocsEditable() | |
| 1039 @DomName('WaveShaperNode') | 1003 @DomName('WaveShaperNode') |
| 1040 // https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#dfn-Wav
eShaperNode | 1004 // https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#dfn-Wav
eShaperNode |
| 1041 @Experimental() | 1005 @Experimental() |
| 1042 @Native("WaveShaperNode") | 1006 @Native("WaveShaperNode") |
| 1043 class WaveShaperNode extends AudioNode { | 1007 class WaveShaperNode extends AudioNode { |
| 1044 // To suppress missing implicit constructor warnings. | 1008 // To suppress missing implicit constructor warnings. |
| 1045 factory WaveShaperNode._() { throw new UnsupportedError("Not supported"); } | 1009 factory WaveShaperNode._() { throw new UnsupportedError("Not supported"); } |
| 1046 | 1010 |
| 1047 @DomName('WaveShaperNode.curve') | 1011 @DomName('WaveShaperNode.curve') |
| 1048 @DocsEditable() | 1012 @DocsEditable() |
| 1049 Float32List curve; | 1013 Float32List curve; |
| 1050 | 1014 |
| 1051 @DomName('WaveShaperNode.oversample') | 1015 @DomName('WaveShaperNode.oversample') |
| 1052 @DocsEditable() | 1016 @DocsEditable() |
| 1053 String oversample; | 1017 String oversample; |
| 1054 } | 1018 } |
| OLD | NEW |