Skip to content

Commit

Permalink
AudioBufferSourceNode: Send loop messages
Browse files Browse the repository at this point in the history
  • Loading branch information
collares committed Aug 20, 2019
1 parent e8d3b97 commit a21aa05
Showing 1 changed file with 14 additions and 2 deletions.
16 changes: 14 additions & 2 deletions components/script/dom/audiobuffersourcenode.rs
Expand Up @@ -171,6 +171,10 @@ impl AudioBufferSourceNodeMethods for AudioBufferSourceNode {
// https://webaudio.github.io/web-audio-api/#dom-audiobuffersourcenode-loop
fn SetLoop(&self, should_loop: bool) {
self.loop_enabled.set(should_loop);
let msg = AudioNodeMessage::AudioBufferSourceNode(
AudioBufferSourceNodeMessage::SetLoopEnabled(should_loop),
);
self.source_node.node().message(msg);
}

// https://webaudio.github.io/web-audio-api/#dom-audiobuffersourcenode-loopstart
Expand All @@ -181,6 +185,10 @@ impl AudioBufferSourceNodeMethods for AudioBufferSourceNode {
// https://webaudio.github.io/web-audio-api/#dom-audiobuffersourcenode-loopstart
fn SetLoopStart(&self, loop_start: Finite<f64>) {
self.loop_start.set(*loop_start);
let msg = AudioNodeMessage::AudioBufferSourceNode(
AudioBufferSourceNodeMessage::SetLoopStart(*loop_start),
);
self.source_node.node().message(msg);
}

// https://webaudio.github.io/web-audio-api/#dom-audiobuffersourcenode-loopend
Expand All @@ -190,7 +198,11 @@ impl AudioBufferSourceNodeMethods for AudioBufferSourceNode {

// https://webaudio.github.io/web-audio-api/#dom-audiobuffersourcenode-loopend
fn SetLoopEnd(&self, loop_end: Finite<f64>) {
self.loop_end.set(*loop_end)
self.loop_end.set(*loop_end);
let msg = AudioNodeMessage::AudioBufferSourceNode(
AudioBufferSourceNodeMessage::SetLoopEnd(*loop_end),
);
self.source_node.node().message(msg);
}

// https://webaudio.github.io/web-audio-api/#dom-audiobuffersourcenode-start
Expand Down Expand Up @@ -228,7 +240,7 @@ impl AudioBufferSourceNodeMethods for AudioBufferSourceNode {
self.source_node
.node()
.message(AudioNodeMessage::AudioBufferSourceNode(
AudioBufferSourceNodeMessage::Start(
AudioBufferSourceNodeMessage::SetStartParams(
*when,
offset.map(|f| *f),
duration.map(|f| *f),
Expand Down

0 comments on commit a21aa05

Please sign in to comment.