Index: tool/input_sdk/lib/web_audio/dart2js/web_audio_dart2js.dart |
diff --git a/tool/input_sdk/lib/web_audio/dart2js/web_audio_dart2js.dart b/tool/input_sdk/lib/web_audio/dart2js/web_audio_dart2js.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..6005329d47690b9a851c5afb91f22b4737b1cc80 |
--- /dev/null |
+++ b/tool/input_sdk/lib/web_audio/dart2js/web_audio_dart2js.dart |
@@ -0,0 +1,1018 @@ |
+/** |
+ * High-fidelity audio programming in the browser. |
+ */ |
+library dart.dom.web_audio; |
+ |
+import 'dart:async'; |
+import 'dart:collection'; |
+import 'dart:_internal'; |
+import 'dart:html'; |
+import 'dart:html_common'; |
+import 'dart:_native_typed_data'; |
+import 'dart:typed_data'; |
+import 'dart:_js_helper' show Creates, JSName, Native, Returns, convertDartClosureToJS; |
+import 'dart:_foreign_helper' show JS; |
+import 'dart:_interceptors' show Interceptor; |
+// DO NOT EDIT - unless you are editing documentation as per: |
+// https://code.google.com/p/dart/wiki/ContributingHTMLDocumentation |
+// Auto-generated dart:audio library. |
+ |
+ |
+ |
+ |
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+ |
+@DocsEditable() |
+@DomName('AnalyserNode') |
+// https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AnalyserNode |
+@Experimental() |
+@Native("AnalyserNode,RealtimeAnalyserNode") |
+class AnalyserNode extends AudioNode { |
+ // To suppress missing implicit constructor warnings. |
+ factory AnalyserNode._() { throw new UnsupportedError("Not supported"); } |
+ |
+ @DomName('AnalyserNode.fftSize') |
+ @DocsEditable() |
+ int fftSize; |
+ |
+ @DomName('AnalyserNode.frequencyBinCount') |
+ @DocsEditable() |
+ final int frequencyBinCount; |
+ |
+ @DomName('AnalyserNode.maxDecibels') |
+ @DocsEditable() |
+ num maxDecibels; |
+ |
+ @DomName('AnalyserNode.minDecibels') |
+ @DocsEditable() |
+ num minDecibels; |
+ |
+ @DomName('AnalyserNode.smoothingTimeConstant') |
+ @DocsEditable() |
+ num smoothingTimeConstant; |
+ |
+ @DomName('AnalyserNode.getByteFrequencyData') |
+ @DocsEditable() |
+ void getByteFrequencyData(Uint8List array) native; |
+ |
+ @DomName('AnalyserNode.getByteTimeDomainData') |
+ @DocsEditable() |
+ void getByteTimeDomainData(Uint8List array) native; |
+ |
+ @DomName('AnalyserNode.getFloatFrequencyData') |
+ @DocsEditable() |
+ void getFloatFrequencyData(Float32List array) native; |
+ |
+ @DomName('AnalyserNode.getFloatTimeDomainData') |
+ @DocsEditable() |
+ @Experimental() // untriaged |
+ void getFloatTimeDomainData(Float32List array) native; |
+} |
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+ |
+@DocsEditable() |
+@DomName('AudioBuffer') |
+// https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioBuffer-section |
+@Experimental() |
+@Native("AudioBuffer") |
+class AudioBuffer extends Interceptor { |
+ // To suppress missing implicit constructor warnings. |
+ factory AudioBuffer._() { throw new UnsupportedError("Not supported"); } |
+ |
+ @DomName('AudioBuffer.duration') |
+ @DocsEditable() |
+ final double duration; |
+ |
+ @DomName('AudioBuffer.length') |
+ @DocsEditable() |
+ final int length; |
+ |
+ @DomName('AudioBuffer.numberOfChannels') |
+ @DocsEditable() |
+ final int numberOfChannels; |
+ |
+ @DomName('AudioBuffer.sampleRate') |
+ @DocsEditable() |
+ final double sampleRate; |
+ |
+ @DomName('AudioBuffer.getChannelData') |
+ @DocsEditable() |
+ Float32List getChannelData(int channelIndex) native; |
+} |
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+// WARNING: Do not edit - generated code. |
+ |
+ |
+@DomName('AudioBufferCallback') |
+// https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioBuffer-section |
+@Experimental() |
+typedef void AudioBufferCallback(AudioBuffer audioBuffer); |
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+ |
+@DomName('AudioBufferSourceNode') |
+@SupportedBrowser(SupportedBrowser.CHROME) |
+@SupportedBrowser(SupportedBrowser.FIREFOX) |
+@Experimental() |
+// https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioBufferSourceNode-section |
+@Native("AudioBufferSourceNode") |
+class AudioBufferSourceNode extends AudioSourceNode { |
+ |
+ // TODO(efortuna): Remove these methods when Chrome stable also uses start |
+ // instead of noteOn. |
+ void start(num when, [num grainOffset, num grainDuration]) { |
+ if (JS('bool', '!!#.start', this)) { |
+ if (grainDuration != null) { |
+ JS('void', '#.start(#, #, #)', this, when, grainOffset, grainDuration); |
+ } else if (grainOffset != null) { |
+ JS('void', '#.start(#, #)', this, when, grainOffset); |
+ } else { |
+ JS('void', '#.start(#)', this, when); |
+ } |
+ } else { |
+ if (grainDuration != null) { |
+ JS('void', '#.noteOn(#, #, #)', this, when, grainOffset, grainDuration); |
+ } else if (grainOffset != null) { |
+ JS('void', '#.noteOn(#, #)', this, when, grainOffset); |
+ } else { |
+ JS('void', '#.noteOn(#)', this, when); |
+ } |
+ } |
+ } |
+ |
+ void stop(num when) { |
+ if (JS('bool', '!!#.stop', this)) { |
+ JS('void', '#.stop(#)', this, when); |
+ } else { |
+ JS('void', '#.noteOff(#)', this, when); |
+ } |
+ } |
+ // To suppress missing implicit constructor warnings. |
+ factory AudioBufferSourceNode._() { throw new UnsupportedError("Not supported"); } |
+ |
+ /** |
+ * Static factory designed to expose `ended` events to event |
+ * handlers that are not necessarily instances of [AudioBufferSourceNode]. |
+ * |
+ * See [EventStreamProvider] for usage information. |
+ */ |
+ @DomName('AudioBufferSourceNode.endedEvent') |
+ @DocsEditable() |
+ @Experimental() // untriaged |
+ static const EventStreamProvider<Event> endedEvent = const EventStreamProvider<Event>('ended'); |
+ |
+ @DomName('AudioBufferSourceNode.buffer') |
+ @DocsEditable() |
+ AudioBuffer buffer; |
+ |
+ @DomName('AudioBufferSourceNode.loop') |
+ @DocsEditable() |
+ bool loop; |
+ |
+ @DomName('AudioBufferSourceNode.loopEnd') |
+ @DocsEditable() |
+ num loopEnd; |
+ |
+ @DomName('AudioBufferSourceNode.loopStart') |
+ @DocsEditable() |
+ num loopStart; |
+ |
+ @DomName('AudioBufferSourceNode.playbackRate') |
+ @DocsEditable() |
+ final AudioParam playbackRate; |
+ |
+ /// Stream of `ended` events handled by this [AudioBufferSourceNode]. |
+ @DomName('AudioBufferSourceNode.onended') |
+ @DocsEditable() |
+ @Experimental() // untriaged |
+ Stream<Event> get onEnded => endedEvent.forTarget(this); |
+ |
+} |
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+ |
+@DomName('AudioContext') |
+@SupportedBrowser(SupportedBrowser.CHROME) |
+@SupportedBrowser(SupportedBrowser.FIREFOX) |
+@Experimental() |
+// https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioContext-section |
+@Native("AudioContext,webkitAudioContext") |
+class AudioContext extends EventTarget { |
+ // To suppress missing implicit constructor warnings. |
+ factory AudioContext._() { throw new UnsupportedError("Not supported"); } |
+ |
+ /** |
+ * Static factory designed to expose `complete` events to event |
+ * handlers that are not necessarily instances of [AudioContext]. |
+ * |
+ * See [EventStreamProvider] for usage information. |
+ */ |
+ @DomName('AudioContext.completeEvent') |
+ @DocsEditable() |
+ static const EventStreamProvider<Event> completeEvent = const EventStreamProvider<Event>('complete'); |
+ |
+ /// Checks if this type is supported on the current platform. |
+ static bool get supported => JS('bool', '!!(window.AudioContext || window.webkitAudioContext)'); |
+ |
+ @DomName('AudioContext.currentTime') |
+ @DocsEditable() |
+ final double currentTime; |
+ |
+ @DomName('AudioContext.destination') |
+ @DocsEditable() |
+ final AudioDestinationNode destination; |
+ |
+ @DomName('AudioContext.listener') |
+ @DocsEditable() |
+ final AudioListener listener; |
+ |
+ @DomName('AudioContext.sampleRate') |
+ @DocsEditable() |
+ final double sampleRate; |
+ |
+ @DomName('AudioContext.createAnalyser') |
+ @DocsEditable() |
+ AnalyserNode createAnalyser() native; |
+ |
+ @DomName('AudioContext.createBiquadFilter') |
+ @DocsEditable() |
+ BiquadFilterNode createBiquadFilter() native; |
+ |
+ @DomName('AudioContext.createBuffer') |
+ @DocsEditable() |
+ AudioBuffer createBuffer(int numberOfChannels, int numberOfFrames, num sampleRate) native; |
+ |
+ @DomName('AudioContext.createBufferSource') |
+ @DocsEditable() |
+ AudioBufferSourceNode createBufferSource() native; |
+ |
+ @DomName('AudioContext.createChannelMerger') |
+ @DocsEditable() |
+ ChannelMergerNode createChannelMerger([int numberOfInputs]) native; |
+ |
+ @DomName('AudioContext.createChannelSplitter') |
+ @DocsEditable() |
+ ChannelSplitterNode createChannelSplitter([int numberOfOutputs]) native; |
+ |
+ @DomName('AudioContext.createConvolver') |
+ @DocsEditable() |
+ ConvolverNode createConvolver() native; |
+ |
+ @DomName('AudioContext.createDelay') |
+ @DocsEditable() |
+ DelayNode createDelay([num maxDelayTime]) native; |
+ |
+ @DomName('AudioContext.createDynamicsCompressor') |
+ @DocsEditable() |
+ DynamicsCompressorNode createDynamicsCompressor() native; |
+ |
+ @DomName('AudioContext.createMediaElementSource') |
+ @DocsEditable() |
+ MediaElementAudioSourceNode createMediaElementSource(MediaElement mediaElement) native; |
+ |
+ @DomName('AudioContext.createMediaStreamDestination') |
+ @DocsEditable() |
+ MediaStreamAudioDestinationNode createMediaStreamDestination() native; |
+ |
+ @DomName('AudioContext.createMediaStreamSource') |
+ @DocsEditable() |
+ MediaStreamAudioSourceNode createMediaStreamSource(MediaStream mediaStream) native; |
+ |
+ @DomName('AudioContext.createOscillator') |
+ @DocsEditable() |
+ OscillatorNode createOscillator() native; |
+ |
+ @DomName('AudioContext.createPanner') |
+ @DocsEditable() |
+ PannerNode createPanner() native; |
+ |
+ @DomName('AudioContext.createPeriodicWave') |
+ @DocsEditable() |
+ @Experimental() // untriaged |
+ PeriodicWave createPeriodicWave(Float32List real, Float32List imag) native; |
+ |
+ @DomName('AudioContext.createWaveShaper') |
+ @DocsEditable() |
+ WaveShaperNode createWaveShaper() native; |
+ |
+ @JSName('decodeAudioData') |
+ @DomName('AudioContext.decodeAudioData') |
+ @DocsEditable() |
+ void _decodeAudioData(ByteBuffer audioData, AudioBufferCallback successCallback, [AudioBufferCallback errorCallback]) native; |
+ |
+ @DomName('AudioContext.startRendering') |
+ @DocsEditable() |
+ void startRendering() native; |
+ |
+ /// Stream of `complete` events handled by this [AudioContext]. |
+ @DomName('AudioContext.oncomplete') |
+ @DocsEditable() |
+ Stream<Event> get onComplete => completeEvent.forTarget(this); |
+ |
+ factory AudioContext() => JS('AudioContext', |
+ 'new (window.AudioContext || window.webkitAudioContext)()'); |
+ |
+ GainNode createGain() { |
+ if (JS('bool', '#.createGain !== undefined', this)) { |
+ return JS('GainNode', '#.createGain()', this); |
+ } else { |
+ return JS('GainNode', '#.createGainNode()', this); |
+ } |
+ } |
+ |
+ ScriptProcessorNode createScriptProcessor(int bufferSize, |
+ [int numberOfInputChannels, int numberOfOutputChannels]) { |
+ var function = JS('=Object', '#.createScriptProcessor || ' |
+ '#.createJavaScriptNode', this, this); |
+ if (numberOfOutputChannels != null) { |
+ return JS('ScriptProcessorNode', '#.call(#, #, #, #)', function, this, |
+ bufferSize, numberOfInputChannels, numberOfOutputChannels); |
+ } else if (numberOfInputChannels != null) { |
+ return JS('ScriptProcessorNode', '#.call(#, #, #)', function, this, |
+ bufferSize, numberOfInputChannels); |
+ } else { |
+ return JS('ScriptProcessorNode', '#.call(#, #)', function, this, |
+ bufferSize); |
+ } |
+ } |
+ @DomName('AudioContext.decodeAudioData') |
+ Future<AudioBuffer> decodeAudioData(ByteBuffer audioData) { |
+ var completer = new Completer<AudioBuffer>(); |
+ _decodeAudioData(audioData, |
+ (value) { completer.complete(value); }, |
+ (error) { |
+ if (error == null) { |
+ completer.completeError(''); |
+ } else { |
+ completer.completeError(error); |
+ } |
+ }); |
+ return completer.future; |
+ } |
+} |
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+ |
+@DocsEditable() |
+@DomName('AudioDestinationNode') |
+// https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioDestinationNode-section |
+@Experimental() |
+@Native("AudioDestinationNode") |
+class AudioDestinationNode extends AudioNode { |
+ // To suppress missing implicit constructor warnings. |
+ factory AudioDestinationNode._() { throw new UnsupportedError("Not supported"); } |
+ |
+ @DomName('AudioDestinationNode.maxChannelCount') |
+ @DocsEditable() |
+ final int maxChannelCount; |
+} |
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+ |
+@DocsEditable() |
+@DomName('AudioListener') |
+// https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioListener-section |
+@Experimental() |
+@Native("AudioListener") |
+class AudioListener extends Interceptor { |
+ // To suppress missing implicit constructor warnings. |
+ factory AudioListener._() { throw new UnsupportedError("Not supported"); } |
+ |
+ @DomName('AudioListener.dopplerFactor') |
+ @DocsEditable() |
+ num dopplerFactor; |
+ |
+ @DomName('AudioListener.speedOfSound') |
+ @DocsEditable() |
+ num speedOfSound; |
+ |
+ @DomName('AudioListener.setOrientation') |
+ @DocsEditable() |
+ void setOrientation(num x, num y, num z, num xUp, num yUp, num zUp) native; |
+ |
+ @DomName('AudioListener.setPosition') |
+ @DocsEditable() |
+ void setPosition(num x, num y, num z) native; |
+ |
+ @DomName('AudioListener.setVelocity') |
+ @DocsEditable() |
+ void setVelocity(num x, num y, num z) native; |
+} |
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+ |
+@DomName('AudioNode') |
+// https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioNode-section |
+@Experimental() |
+@Native("AudioNode") |
+class AudioNode extends EventTarget { |
+ // To suppress missing implicit constructor warnings. |
+ factory AudioNode._() { throw new UnsupportedError("Not supported"); } |
+ |
+ @DomName('AudioNode.channelCount') |
+ @DocsEditable() |
+ int channelCount; |
+ |
+ @DomName('AudioNode.channelCountMode') |
+ @DocsEditable() |
+ String channelCountMode; |
+ |
+ @DomName('AudioNode.channelInterpretation') |
+ @DocsEditable() |
+ String channelInterpretation; |
+ |
+ @DomName('AudioNode.context') |
+ @DocsEditable() |
+ final AudioContext context; |
+ |
+ @DomName('AudioNode.numberOfInputs') |
+ @DocsEditable() |
+ final int numberOfInputs; |
+ |
+ @DomName('AudioNode.numberOfOutputs') |
+ @DocsEditable() |
+ final int numberOfOutputs; |
+ |
+ @JSName('connect') |
+ @DomName('AudioNode.connect') |
+ @DocsEditable() |
+ void _connect(destination, int output, [int input]) native; |
+ |
+ @DomName('AudioNode.disconnect') |
+ @DocsEditable() |
+ void disconnect(int output) native; |
+ |
+ @DomName('AudioNode.connect') |
+ void connectNode(AudioNode destination, [int output = 0, int input = 0]) => |
+ _connect(destination, output, input); |
+ |
+ @DomName('AudioNode.connect') |
+ void connectParam(AudioParam destination, [int output = 0]) => |
+ _connect(destination, output); |
+} |
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+ |
+@DocsEditable() |
+@DomName('AudioParam') |
+// https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioParam |
+@Experimental() |
+@Native("AudioParam") |
+class AudioParam extends Interceptor { |
+ // To suppress missing implicit constructor warnings. |
+ factory AudioParam._() { throw new UnsupportedError("Not supported"); } |
+ |
+ @DomName('AudioParam.defaultValue') |
+ @DocsEditable() |
+ final double defaultValue; |
+ |
+ @DomName('AudioParam.value') |
+ @DocsEditable() |
+ num value; |
+ |
+ @DomName('AudioParam.cancelScheduledValues') |
+ @DocsEditable() |
+ void cancelScheduledValues(num startTime) native; |
+ |
+ @DomName('AudioParam.exponentialRampToValueAtTime') |
+ @DocsEditable() |
+ void exponentialRampToValueAtTime(num value, num time) native; |
+ |
+ @DomName('AudioParam.linearRampToValueAtTime') |
+ @DocsEditable() |
+ void linearRampToValueAtTime(num value, num time) native; |
+ |
+ @DomName('AudioParam.setTargetAtTime') |
+ @DocsEditable() |
+ void setTargetAtTime(num target, num time, num timeConstant) native; |
+ |
+ @DomName('AudioParam.setValueAtTime') |
+ @DocsEditable() |
+ void setValueAtTime(num value, num time) native; |
+ |
+ @DomName('AudioParam.setValueCurveAtTime') |
+ @DocsEditable() |
+ void setValueCurveAtTime(Float32List values, num time, num duration) native; |
+} |
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+ |
+@DocsEditable() |
+@DomName('AudioProcessingEvent') |
+// https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioProcessingEvent-section |
+@Experimental() |
+@Native("AudioProcessingEvent") |
+class AudioProcessingEvent extends Event { |
+ // To suppress missing implicit constructor warnings. |
+ factory AudioProcessingEvent._() { throw new UnsupportedError("Not supported"); } |
+ |
+ @DomName('AudioProcessingEvent.inputBuffer') |
+ @DocsEditable() |
+ final AudioBuffer inputBuffer; |
+ |
+ @DomName('AudioProcessingEvent.outputBuffer') |
+ @DocsEditable() |
+ final AudioBuffer outputBuffer; |
+ |
+ @DomName('AudioProcessingEvent.playbackTime') |
+ @DocsEditable() |
+ @Experimental() // untriaged |
+ final double playbackTime; |
+} |
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+ |
+@DocsEditable() |
+@DomName('AudioSourceNode') |
+// https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html |
+@Experimental() |
+@Native("AudioSourceNode") |
+class AudioSourceNode extends AudioNode { |
+ // To suppress missing implicit constructor warnings. |
+ factory AudioSourceNode._() { throw new UnsupportedError("Not supported"); } |
+} |
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+ |
+@DocsEditable() |
+@DomName('BiquadFilterNode') |
+// https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#BiquadFilterNode-section |
+@Experimental() |
+@Native("BiquadFilterNode") |
+class BiquadFilterNode extends AudioNode { |
+ // To suppress missing implicit constructor warnings. |
+ factory BiquadFilterNode._() { throw new UnsupportedError("Not supported"); } |
+ |
+ @DomName('BiquadFilterNode.Q') |
+ @DocsEditable() |
+ final AudioParam Q; |
+ |
+ @DomName('BiquadFilterNode.detune') |
+ @DocsEditable() |
+ final AudioParam detune; |
+ |
+ @DomName('BiquadFilterNode.frequency') |
+ @DocsEditable() |
+ final AudioParam frequency; |
+ |
+ @DomName('BiquadFilterNode.gain') |
+ @DocsEditable() |
+ final AudioParam gain; |
+ |
+ @DomName('BiquadFilterNode.type') |
+ @DocsEditable() |
+ String type; |
+ |
+ @DomName('BiquadFilterNode.getFrequencyResponse') |
+ @DocsEditable() |
+ void getFrequencyResponse(Float32List frequencyHz, Float32List magResponse, Float32List phaseResponse) native; |
+} |
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+ |
+@DocsEditable() |
+@DomName('ChannelMergerNode') |
+// https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#ChannelMergerNode-section |
+@Experimental() |
+@Native("ChannelMergerNode,AudioChannelMerger") |
+class ChannelMergerNode extends AudioNode { |
+ // To suppress missing implicit constructor warnings. |
+ factory ChannelMergerNode._() { throw new UnsupportedError("Not supported"); } |
+} |
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+ |
+@DocsEditable() |
+@DomName('ChannelSplitterNode') |
+// https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#ChannelSplitterNode-section |
+@Experimental() |
+@Native("ChannelSplitterNode,AudioChannelSplitter") |
+class ChannelSplitterNode extends AudioNode { |
+ // To suppress missing implicit constructor warnings. |
+ factory ChannelSplitterNode._() { throw new UnsupportedError("Not supported"); } |
+} |
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+ |
+@DocsEditable() |
+@DomName('ConvolverNode') |
+// https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#ConvolverNode |
+@Experimental() |
+@Native("ConvolverNode") |
+class ConvolverNode extends AudioNode { |
+ // To suppress missing implicit constructor warnings. |
+ factory ConvolverNode._() { throw new UnsupportedError("Not supported"); } |
+ |
+ @DomName('ConvolverNode.buffer') |
+ @DocsEditable() |
+ AudioBuffer buffer; |
+ |
+ @DomName('ConvolverNode.normalize') |
+ @DocsEditable() |
+ bool normalize; |
+} |
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+ |
+@DocsEditable() |
+@DomName('DelayNode') |
+// https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#DelayNode |
+@Experimental() |
+@Native("DelayNode") |
+class DelayNode extends AudioNode { |
+ // To suppress missing implicit constructor warnings. |
+ factory DelayNode._() { throw new UnsupportedError("Not supported"); } |
+ |
+ @DomName('DelayNode.delayTime') |
+ @DocsEditable() |
+ final AudioParam delayTime; |
+} |
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+ |
+@DocsEditable() |
+@DomName('DynamicsCompressorNode') |
+// https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#DynamicsCompressorNode |
+@Experimental() |
+@Native("DynamicsCompressorNode") |
+class DynamicsCompressorNode extends AudioNode { |
+ // To suppress missing implicit constructor warnings. |
+ factory DynamicsCompressorNode._() { throw new UnsupportedError("Not supported"); } |
+ |
+ @DomName('DynamicsCompressorNode.attack') |
+ @DocsEditable() |
+ final AudioParam attack; |
+ |
+ @DomName('DynamicsCompressorNode.knee') |
+ @DocsEditable() |
+ final AudioParam knee; |
+ |
+ @DomName('DynamicsCompressorNode.ratio') |
+ @DocsEditable() |
+ final AudioParam ratio; |
+ |
+ @DomName('DynamicsCompressorNode.reduction') |
+ @DocsEditable() |
+ final AudioParam reduction; |
+ |
+ @DomName('DynamicsCompressorNode.release') |
+ @DocsEditable() |
+ final AudioParam release; |
+ |
+ @DomName('DynamicsCompressorNode.threshold') |
+ @DocsEditable() |
+ final AudioParam threshold; |
+} |
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+ |
+@DocsEditable() |
+@DomName('GainNode') |
+// https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#GainNode |
+@Experimental() |
+@Native("GainNode,AudioGainNode") |
+class GainNode extends AudioNode { |
+ // To suppress missing implicit constructor warnings. |
+ factory GainNode._() { throw new UnsupportedError("Not supported"); } |
+ |
+ @DomName('GainNode.gain') |
+ @DocsEditable() |
+ final AudioParam gain; |
+} |
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+ |
+@DocsEditable() |
+@DomName('MediaElementAudioSourceNode') |
+// https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#MediaElementAudioSourceNode |
+@Experimental() |
+@Native("MediaElementAudioSourceNode") |
+class MediaElementAudioSourceNode extends AudioSourceNode { |
+ // To suppress missing implicit constructor warnings. |
+ factory MediaElementAudioSourceNode._() { throw new UnsupportedError("Not supported"); } |
+ |
+ @DomName('MediaElementAudioSourceNode.mediaElement') |
+ @DocsEditable() |
+ @Experimental() // non-standard |
+ final MediaElement mediaElement; |
+} |
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+ |
+@DocsEditable() |
+@DomName('MediaStreamAudioDestinationNode') |
+// https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#MediaStreamAudioDestinationNode |
+@Experimental() |
+@Native("MediaStreamAudioDestinationNode") |
+class MediaStreamAudioDestinationNode extends AudioNode { |
+ // To suppress missing implicit constructor warnings. |
+ factory MediaStreamAudioDestinationNode._() { throw new UnsupportedError("Not supported"); } |
+ |
+ @DomName('MediaStreamAudioDestinationNode.stream') |
+ @DocsEditable() |
+ final MediaStream stream; |
+} |
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+ |
+@DocsEditable() |
+@DomName('MediaStreamAudioSourceNode') |
+// https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#MediaStreamAudioSourceNode |
+@Experimental() |
+@Native("MediaStreamAudioSourceNode") |
+class MediaStreamAudioSourceNode extends AudioSourceNode { |
+ // To suppress missing implicit constructor warnings. |
+ factory MediaStreamAudioSourceNode._() { throw new UnsupportedError("Not supported"); } |
+ |
+ @DomName('MediaStreamAudioSourceNode.mediaStream') |
+ @DocsEditable() |
+ final MediaStream mediaStream; |
+} |
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+ |
+@DocsEditable() |
+@DomName('OfflineAudioCompletionEvent') |
+// https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#OfflineAudioCompletionEvent-section |
+@Experimental() |
+@Native("OfflineAudioCompletionEvent") |
+class OfflineAudioCompletionEvent extends Event { |
+ // To suppress missing implicit constructor warnings. |
+ factory OfflineAudioCompletionEvent._() { throw new UnsupportedError("Not supported"); } |
+ |
+ @DomName('OfflineAudioCompletionEvent.renderedBuffer') |
+ @DocsEditable() |
+ final AudioBuffer renderedBuffer; |
+} |
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+ |
+@DocsEditable() |
+@DomName('OfflineAudioContext') |
+// https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#OfflineAudioContext-section |
+@Experimental() |
+@Native("OfflineAudioContext") |
+class OfflineAudioContext extends AudioContext { |
+ // To suppress missing implicit constructor warnings. |
+ factory OfflineAudioContext._() { throw new UnsupportedError("Not supported"); } |
+ |
+ @DomName('OfflineAudioContext.OfflineAudioContext') |
+ @DocsEditable() |
+ factory OfflineAudioContext(int numberOfChannels, int numberOfFrames, num sampleRate) { |
+ return OfflineAudioContext._create_1(numberOfChannels, numberOfFrames, sampleRate); |
+ } |
+ static OfflineAudioContext _create_1(numberOfChannels, numberOfFrames, sampleRate) => JS('OfflineAudioContext', 'new OfflineAudioContext(#,#,#)', numberOfChannels, numberOfFrames, sampleRate); |
+} |
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+ |
+@DocsEditable() |
+@DomName('OscillatorNode') |
+// https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#dfn-OscillatorNode |
+@Experimental() |
+@Native("OscillatorNode,Oscillator") |
+class OscillatorNode extends AudioSourceNode { |
+ // To suppress missing implicit constructor warnings. |
+ factory OscillatorNode._() { throw new UnsupportedError("Not supported"); } |
+ |
+ /** |
+ * Static factory designed to expose `ended` events to event |
+ * handlers that are not necessarily instances of [OscillatorNode]. |
+ * |
+ * See [EventStreamProvider] for usage information. |
+ */ |
+ @DomName('OscillatorNode.endedEvent') |
+ @DocsEditable() |
+ @Experimental() // untriaged |
+ static const EventStreamProvider<Event> endedEvent = const EventStreamProvider<Event>('ended'); |
+ |
+ @DomName('OscillatorNode.detune') |
+ @DocsEditable() |
+ final AudioParam detune; |
+ |
+ @DomName('OscillatorNode.frequency') |
+ @DocsEditable() |
+ final AudioParam frequency; |
+ |
+ @DomName('OscillatorNode.type') |
+ @DocsEditable() |
+ String type; |
+ |
+ @DomName('OscillatorNode.noteOff') |
+ @DocsEditable() |
+ void noteOff(num when) native; |
+ |
+ @DomName('OscillatorNode.noteOn') |
+ @DocsEditable() |
+ void noteOn(num when) native; |
+ |
+ @DomName('OscillatorNode.setPeriodicWave') |
+ @DocsEditable() |
+ @Experimental() // untriaged |
+ void setPeriodicWave(PeriodicWave periodicWave) native; |
+ |
+ @DomName('OscillatorNode.start') |
+ @DocsEditable() |
+ void start([num when]) native; |
+ |
+ @DomName('OscillatorNode.stop') |
+ @DocsEditable() |
+ void stop([num when]) native; |
+ |
+ /// Stream of `ended` events handled by this [OscillatorNode]. |
+ @DomName('OscillatorNode.onended') |
+ @DocsEditable() |
+ @Experimental() // untriaged |
+ Stream<Event> get onEnded => endedEvent.forTarget(this); |
+} |
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+ |
+@DocsEditable() |
+@DomName('PannerNode') |
+// https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#PannerNode |
+@Experimental() |
+@Native("PannerNode,AudioPannerNode,webkitAudioPannerNode") |
+class PannerNode extends AudioNode { |
+ // To suppress missing implicit constructor warnings. |
+ factory PannerNode._() { throw new UnsupportedError("Not supported"); } |
+ |
+ @DomName('PannerNode.coneInnerAngle') |
+ @DocsEditable() |
+ num coneInnerAngle; |
+ |
+ @DomName('PannerNode.coneOuterAngle') |
+ @DocsEditable() |
+ num coneOuterAngle; |
+ |
+ @DomName('PannerNode.coneOuterGain') |
+ @DocsEditable() |
+ num coneOuterGain; |
+ |
+ @DomName('PannerNode.distanceModel') |
+ @DocsEditable() |
+ String distanceModel; |
+ |
+ @DomName('PannerNode.maxDistance') |
+ @DocsEditable() |
+ num maxDistance; |
+ |
+ @DomName('PannerNode.panningModel') |
+ @DocsEditable() |
+ String panningModel; |
+ |
+ @DomName('PannerNode.refDistance') |
+ @DocsEditable() |
+ num refDistance; |
+ |
+ @DomName('PannerNode.rolloffFactor') |
+ @DocsEditable() |
+ num rolloffFactor; |
+ |
+ @DomName('PannerNode.setOrientation') |
+ @DocsEditable() |
+ void setOrientation(num x, num y, num z) native; |
+ |
+ @DomName('PannerNode.setPosition') |
+ @DocsEditable() |
+ void setPosition(num x, num y, num z) native; |
+ |
+ @DomName('PannerNode.setVelocity') |
+ @DocsEditable() |
+ void setVelocity(num x, num y, num z) native; |
+} |
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+ |
+@DocsEditable() |
+@DomName('PeriodicWave') |
+@Experimental() // untriaged |
+@Native("PeriodicWave") |
+class PeriodicWave extends Interceptor { |
+ // To suppress missing implicit constructor warnings. |
+ factory PeriodicWave._() { throw new UnsupportedError("Not supported"); } |
+} |
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+ |
+@DocsEditable() |
+@DomName('ScriptProcessorNode') |
+// https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#ScriptProcessorNode |
+@Experimental() |
+@Native("ScriptProcessorNode,JavaScriptAudioNode") |
+class ScriptProcessorNode extends AudioNode { |
+ // To suppress missing implicit constructor warnings. |
+ factory ScriptProcessorNode._() { throw new UnsupportedError("Not supported"); } |
+ |
+ /** |
+ * Static factory designed to expose `audioprocess` events to event |
+ * handlers that are not necessarily instances of [ScriptProcessorNode]. |
+ * |
+ * See [EventStreamProvider] for usage information. |
+ */ |
+ @DomName('ScriptProcessorNode.audioprocessEvent') |
+ @DocsEditable() |
+ @Experimental() // untriaged |
+ static const EventStreamProvider<AudioProcessingEvent> audioProcessEvent = const EventStreamProvider<AudioProcessingEvent>('audioprocess'); |
+ |
+ @DomName('ScriptProcessorNode.bufferSize') |
+ @DocsEditable() |
+ final int bufferSize; |
+ |
+ @DomName('ScriptProcessorNode.setEventListener') |
+ @DocsEditable() |
+ @Experimental() // untriaged |
+ void setEventListener(EventListener eventListener) native; |
+ |
+ /// Stream of `audioprocess` events handled by this [ScriptProcessorNode]. |
+/** |
+ * Get a Stream that fires events when AudioProcessingEvents occur. |
+ * This particular stream is special in that it only allows one listener to a |
+ * given stream. Converting the returned Stream [asBroadcast] will likely ruin |
+ * the soft-real-time properties which which these events are fired and can |
+ * be processed. |
+ */ |
+ @DomName('ScriptProcessorNode.onaudioprocess') |
+ @DocsEditable() |
+ @Experimental() // untriaged |
+ Stream<AudioProcessingEvent> get onAudioProcess => audioProcessEvent.forTarget(this); |
+} |
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+ |
+@DocsEditable() |
+@DomName('WaveShaperNode') |
+// https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#dfn-WaveShaperNode |
+@Experimental() |
+@Native("WaveShaperNode") |
+class WaveShaperNode extends AudioNode { |
+ // To suppress missing implicit constructor warnings. |
+ factory WaveShaperNode._() { throw new UnsupportedError("Not supported"); } |
+ |
+ @DomName('WaveShaperNode.curve') |
+ @DocsEditable() |
+ Float32List curve; |
+ |
+ @DomName('WaveShaperNode.oversample') |
+ @DocsEditable() |
+ String oversample; |
+} |