diff --git a/components/script/dom/oscillatornode.rs b/components/script/dom/oscillatornode.rs index 77d169feac8..7a771916834 100644 --- a/components/script/dom/oscillatornode.rs +++ b/components/script/dom/oscillatornode.rs @@ -26,14 +26,14 @@ use std::f32; use std::rc::Rc; audio_param_impl!(Frequency, OscillatorNode, OscillatorNodeMessage, SetFrequency); -//XXX audio_param_impl!(Detune, OscillatorNode, OscillatorNodeMessage, SetDetune); +audio_param_impl!(Detune, OscillatorNode, OscillatorNodeMessage, SetDetune); #[dom_struct] pub struct OscillatorNode { node: AudioScheduledSourceNode, oscillator_type: OscillatorType, frequency: DomRoot, - //XXX detune: DomRoot, + detune: DomRoot, } impl OscillatorNode { @@ -60,17 +60,17 @@ impl OscillatorNode { Box::new(frequency), AutomationRate::A_rate, 440., f32::MIN, f32::MAX); - /*XXX let detune = Detune::new(context.audio_context_impl(), node.node_id()); + let detune = Detune::new(context.audio_context_impl(), node.node_id()); let detune = AudioParam::new(window, Box::new(detune), AutomationRate::A_rate, - 0., -440. / 2., 440. / 2.);*/ + 0., -440. / 2., 440. / 2.); OscillatorNode { node, oscillator_type: oscillator_options.type_, frequency, - //XXX detune, + detune, } } @@ -97,6 +97,10 @@ impl OscillatorNodeMethods for OscillatorNode { fn Frequency(&self) -> DomRoot { DomRoot::from_ref(&self.frequency) } + + fn Detune(&self) -> DomRoot { + DomRoot::from_ref(&self.detune) + } } impl<'a> From<&'a OscillatorOptions> for ServoMediaOscillatorOptions { diff --git a/components/script/dom/webidls/OscillatorNode.webidl b/components/script/dom/webidls/OscillatorNode.webidl index c4fc2d01c22..84c6de45967 100644 --- a/components/script/dom/webidls/OscillatorNode.webidl +++ b/components/script/dom/webidls/OscillatorNode.webidl @@ -28,7 +28,7 @@ interface OscillatorNode : AudioScheduledSourceNode { // attribute OscillatorType type; readonly attribute AudioParam frequency; -// readonly attribute AudioParam detune; + readonly attribute AudioParam detune; // void setPeriodicWave (PeriodicWave periodicWave); };