Index: sdk/lib/web_audio/dartium/web_audio_dartium.dart |
diff --git a/sdk/lib/web_audio/dartium/web_audio_dartium.dart b/sdk/lib/web_audio/dartium/web_audio_dartium.dart |
index 02289c4bea230b013a3004e7b17ce72c779bf311..80ac39dc3e64dbec2dd9bb6e887de335762841af 100644 |
--- a/sdk/lib/web_audio/dartium/web_audio_dartium.dart |
+++ b/sdk/lib/web_audio/dartium/web_audio_dartium.dart |
@@ -35,6 +35,7 @@ final web_audioBlinkMap = { |
'DelayNode': () => DelayNode.instanceRuntimeType, |
'DynamicsCompressorNode': () => DynamicsCompressorNode.instanceRuntimeType, |
'GainNode': () => GainNode.instanceRuntimeType, |
+ 'IIRFilterNode': () => IirFilterNode.instanceRuntimeType, |
'MediaElementAudioSourceNode': () => |
MediaElementAudioSourceNode.instanceRuntimeType, |
'MediaStreamAudioDestinationNode': () => |
@@ -221,7 +222,7 @@ class AudioBuffer extends DartHtmlDomObject { |
@DomName('AudioBufferCallback') |
// https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioBuffer-section |
@Experimental() |
-typedef void AudioBufferCallback(AudioBuffer audioBuffer); |
+typedef void AudioBufferCallback(audioBuffer_OR_exception); |
// 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. |
@@ -468,6 +469,13 @@ class AudioContext extends EventTarget { |
GainNode createGain() => |
_blink.BlinkAudioContext.instance.createGain_Callback_0_(this); |
+ @DomName('AudioContext.createIIRFilter') |
+ @DocsEditable() |
+ @Experimental() // untriaged |
+ IirFilterNode createIirFilter(List<num> feedForward, List<num> feedBack) => |
+ _blink.BlinkAudioContext.instance |
+ .createIIRFilter_Callback_2_(this, feedForward, feedBack); |
+ |
@DomName('AudioContext.createMediaElementSource') |
@DocsEditable() |
MediaElementAudioSourceNode createMediaElementSource( |
@@ -497,12 +505,15 @@ class AudioContext extends EventTarget { |
PannerNode createPanner() => |
_blink.BlinkAudioContext.instance.createPanner_Callback_0_(this); |
- @DomName('AudioContext.createPeriodicWave') |
- @DocsEditable() |
- @Experimental() // untriaged |
- PeriodicWave createPeriodicWave(Float32List real, Float32List imag) => |
- _blink.BlinkAudioContext.instance |
- .createPeriodicWave_Callback_2_(this, real, imag); |
+ PeriodicWave createPeriodicWave(Float32List real, Float32List imag, |
+ [Map options]) { |
+ if (options != null) { |
+ return _blink.BlinkAudioContext.instance.createPeriodicWave_Callback_3_( |
+ this, real, imag, convertDartToNative_Dictionary(options)); |
+ } |
+ return _blink.BlinkAudioContext.instance |
+ .createPeriodicWave_Callback_2_(this, real, imag); |
+ } |
ScriptProcessorNode createScriptProcessor( |
[int bufferSize, int numberOfInputChannels, int numberOfOutputChannels]) { |
@@ -535,17 +546,19 @@ class AudioContext extends EventTarget { |
WaveShaperNode createWaveShaper() => |
_blink.BlinkAudioContext.instance.createWaveShaper_Callback_0_(this); |
- void _decodeAudioData( |
- ByteBuffer audioData, AudioBufferCallback successCallback, |
- [AudioBufferCallback errorCallback]) { |
+ Future _decodeAudioData(ByteBuffer audioData, |
+ [AudioBufferCallback successCallback, |
+ AudioBufferCallback errorCallback]) { |
if (errorCallback != null) { |
- _blink.BlinkAudioContext.instance.decodeAudioData_Callback_3_( |
+ return _blink.BlinkAudioContext.instance.decodeAudioData_Callback_3_( |
this, audioData, successCallback, errorCallback); |
- return; |
} |
- _blink.BlinkAudioContext.instance |
- .decodeAudioData_Callback_2_(this, audioData, successCallback); |
- return; |
+ if (successCallback != null) { |
+ return _blink.BlinkAudioContext.instance |
+ .decodeAudioData_Callback_2_(this, audioData, successCallback); |
+ } |
+ return _blink.BlinkAudioContext.instance |
+ .decodeAudioData_Callback_1_(this, audioData); |
} |
@DomName('AudioContext.resume') |
@@ -724,35 +737,32 @@ class AudioNode extends EventTarget { |
int get numberOfOutputs => |
_blink.BlinkAudioNode.instance.numberOfOutputs_Getter_(this); |
- void _connect(destination, [int output, int input]) { |
+ AudioNode _connect(destination, [int output, int input]) { |
if ((destination is AudioNode) && output == null && input == null) { |
- _blink.BlinkAudioNode.instance.connect_Callback_1_(this, destination); |
- return; |
+ return _blink.BlinkAudioNode.instance |
+ .connect_Callback_1_(this, destination); |
} |
if ((output is int || output == null) && |
(destination is AudioNode) && |
input == null) { |
- _blink.BlinkAudioNode.instance |
+ return _blink.BlinkAudioNode.instance |
.connect_Callback_2_(this, destination, output); |
- return; |
} |
if ((input is int || input == null) && |
(output is int || output == null) && |
(destination is AudioNode)) { |
- _blink.BlinkAudioNode.instance |
+ return _blink.BlinkAudioNode.instance |
.connect_Callback_3_(this, destination, output, input); |
- return; |
} |
if ((destination is AudioParam) && output == null && input == null) { |
- _blink.BlinkAudioNode.instance.connect_Callback_1_(this, destination); |
- return; |
+ return _blink.BlinkAudioNode.instance |
+ .connect_Callback_1_(this, destination); |
} |
if ((output is int || output == null) && |
(destination is AudioParam) && |
input == null) { |
- _blink.BlinkAudioNode.instance |
+ return _blink.BlinkAudioNode.instance |
.connect_Callback_2_(this, destination, output); |
- return; |
} |
throw new ArgumentError("Incorrect number or type of arguments"); |
} |
@@ -853,35 +863,43 @@ class AudioParam extends DartHtmlDomObject { |
@DomName('AudioParam.cancelScheduledValues') |
@DocsEditable() |
- void cancelScheduledValues(num startTime) => _blink.BlinkAudioParam.instance |
- .cancelScheduledValues_Callback_1_(this, startTime); |
+ AudioParam cancelScheduledValues(num startTime) => |
+ _blink.BlinkAudioParam.instance |
+ .cancelScheduledValues_Callback_1_(this, startTime); |
@DomName('AudioParam.exponentialRampToValueAtTime') |
@DocsEditable() |
- void exponentialRampToValueAtTime(num value, num time) => |
+ AudioParam exponentialRampToValueAtTime(num value, num time) => |
_blink.BlinkAudioParam.instance |
.exponentialRampToValueAtTime_Callback_2_(this, value, time); |
@DomName('AudioParam.linearRampToValueAtTime') |
@DocsEditable() |
- void linearRampToValueAtTime(num value, num time) => |
+ AudioParam linearRampToValueAtTime(num value, num time) => |
_blink.BlinkAudioParam.instance |
.linearRampToValueAtTime_Callback_2_(this, value, time); |
- @DomName('AudioParam.setTargetAtTime') |
- @DocsEditable() |
- void setTargetAtTime(num target, num time, num timeConstant) => |
- _blink.BlinkAudioParam.instance |
+ AudioParam setTargetAtTime(num target, num time, num timeConstant) { |
+ if ((timeConstant is num) && (time is num) && (target is num)) { |
+ return _blink.BlinkAudioParam.instance |
+ .setTargetAtTime_Callback_3_(this, target, time, timeConstant); |
+ } |
+ if ((timeConstant is num) && (time is num) && (target is num)) { |
+ return _blink.BlinkAudioParam.instance |
.setTargetAtTime_Callback_3_(this, target, time, timeConstant); |
+ } |
+ throw new ArgumentError("Incorrect number or type of arguments"); |
+ } |
@DomName('AudioParam.setValueAtTime') |
@DocsEditable() |
- void setValueAtTime(num value, num time) => _blink.BlinkAudioParam.instance |
- .setValueAtTime_Callback_2_(this, value, time); |
+ AudioParam setValueAtTime(num value, num time) => |
+ _blink.BlinkAudioParam.instance |
+ .setValueAtTime_Callback_2_(this, value, time); |
@DomName('AudioParam.setValueCurveAtTime') |
@DocsEditable() |
- void setValueCurveAtTime(Float32List values, num time, num duration) => |
+ AudioParam setValueCurveAtTime(Float32List values, num time, num duration) => |
_blink.BlinkAudioParam.instance |
.setValueCurveAtTime_Callback_3_(this, values, time, duration); |
} |
@@ -1199,6 +1217,35 @@ class GainNode extends AudioNode { |
// WARNING: Do not edit - generated code. |
+@DocsEditable() |
+@DomName('IIRFilterNode') |
+@Experimental() // untriaged |
+class IirFilterNode extends AudioNode { |
+ // To suppress missing implicit constructor warnings. |
+ factory IirFilterNode._() { |
+ throw new UnsupportedError("Not supported"); |
+ } |
+ |
+ @Deprecated("Internal Use Only") |
+ external static Type get instanceRuntimeType; |
+ |
+ @Deprecated("Internal Use Only") |
+ IirFilterNode.internal_() : super.internal_(); |
+ |
+ @DomName('IIRFilterNode.getFrequencyResponse') |
+ @DocsEditable() |
+ @Experimental() // untriaged |
+ void getFrequencyResponse(Float32List frequencyHz, Float32List magResponse, |
+ Float32List phaseResponse) => |
+ _blink.BlinkIIRFilterNode.instance.getFrequencyResponse_Callback_3_( |
+ this, frequencyHz, magResponse, phaseResponse); |
+} |
+// 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. |
+ |
@DocsEditable() |
@DomName('MediaElementAudioSourceNode') |
// https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#MediaElementAudioSourceNode |
@@ -1334,12 +1381,25 @@ class OfflineAudioContext extends AudioContext { |
@Deprecated("Internal Use Only") |
OfflineAudioContext.internal_() : super.internal_(); |
+ @DomName('OfflineAudioContext.resume') |
+ @DocsEditable() |
+ @Experimental() // untriaged |
+ Future resume() => convertNativePromiseToDartFuture( |
+ _blink.BlinkOfflineAudioContext.instance.resume_Callback_0_(this)); |
+ |
@DomName('OfflineAudioContext.startRendering') |
@DocsEditable() |
@Experimental() // untriaged |
Future startRendering() => |
convertNativePromiseToDartFuture(_blink.BlinkOfflineAudioContext.instance |
.startRendering_Callback_0_(this)); |
+ |
+ @DomName('OfflineAudioContext.suspend') |
+ @DocsEditable() |
+ @Experimental() // untriaged |
+ Future suspend(num suspendTime) => |
+ convertNativePromiseToDartFuture(_blink.BlinkOfflineAudioContext.instance |
+ .suspend_Callback_1_(this, suspendTime)); |
} |
// 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 |