Skip to content

Commit ed2e871

Browse files
authored
Merge pull request #350 from orottier/feature/no-interior-mutability-with-atomics
Audio nodes: don't use atomics for interior mutability
2 parents 135a735 + 38c1f75 commit ed2e871

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+379
-408
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ let file = std::fs::File::open("samples/major-scale.ogg").unwrap();
3030
let buffer = context.decode_audio_data_sync(file).unwrap();
3131

3232
// setup an AudioBufferSourceNode
33-
let src = context.create_buffer_source();
33+
let mut src = context.create_buffer_source();
3434
src.set_buffer(buffer);
3535
src.set_loop(true);
3636

benches/my_benchmark.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ pub fn bench_ctor() {
1616

1717
pub fn bench_sine() {
1818
let ctx = OfflineAudioContext::new(2, black_box(SAMPLES), SAMPLE_RATE);
19-
let osc = ctx.create_oscillator();
19+
let mut osc = ctx.create_oscillator();
2020

2121
osc.connect(&ctx.destination());
2222
osc.start();
@@ -26,7 +26,7 @@ pub fn bench_sine() {
2626

2727
pub fn bench_sine_gain() {
2828
let ctx = OfflineAudioContext::new(2, black_box(SAMPLES), SAMPLE_RATE);
29-
let osc = ctx.create_oscillator();
29+
let mut osc = ctx.create_oscillator();
3030
let gain = ctx.create_gain();
3131

3232
osc.connect(&gain);
@@ -40,7 +40,7 @@ pub fn bench_sine_gain() {
4040
pub fn bench_sine_gain_delay() {
4141
let ctx = OfflineAudioContext::new(2, black_box(SAMPLES), SAMPLE_RATE);
4242

43-
let osc = ctx.create_oscillator();
43+
let mut osc = ctx.create_oscillator();
4444
let gain = ctx.create_gain();
4545

4646
let delay = ctx.create_delay(0.3);
@@ -61,7 +61,7 @@ pub fn bench_buffer_src() {
6161
let file = std::fs::File::open("samples/think-stereo-48000.wav").unwrap();
6262
let buffer = ctx.decode_audio_data_sync(file).unwrap();
6363

64-
let src = ctx.create_buffer_source();
64+
let mut src = ctx.create_buffer_source();
6565
src.connect(&ctx.destination());
6666
src.set_buffer(buffer);
6767
src.start();
@@ -78,7 +78,7 @@ pub fn bench_buffer_src_delay() {
7878
let delay = ctx.create_delay(0.3);
7979
delay.delay_time().set_value(0.2);
8080

81-
let src = ctx.create_buffer_source();
81+
let mut src = ctx.create_buffer_source();
8282
src.set_buffer(buffer);
8383
src.start();
8484

@@ -107,7 +107,7 @@ pub fn bench_buffer_src_iir() {
107107
iir.connect(&ctx.destination());
108108

109109
// Play buffer and pipe to filter
110-
let src = ctx.create_buffer_source();
110+
let mut src = ctx.create_buffer_source();
111111
src.connect(&iir);
112112
src.set_buffer(buffer);
113113
src.start();
@@ -126,7 +126,7 @@ pub fn bench_buffer_src_biquad() {
126126
biquad.frequency().set_value(200.);
127127

128128
// Play buffer and pipe to filter
129-
let src = ctx.create_buffer_source();
129+
let mut src = ctx.create_buffer_source();
130130
src.connect(&biquad);
131131
src.set_buffer(buffer);
132132
src.start();
@@ -150,7 +150,7 @@ pub fn bench_stereo_positional() {
150150
panner.orientation_z().set_value(3.);
151151

152152
// Play buffer and pipe to filter
153-
let src = ctx.create_buffer_source();
153+
let mut src = ctx.create_buffer_source();
154154
src.connect(&panner);
155155
src.set_buffer(buffer);
156156
src.start();
@@ -168,7 +168,7 @@ pub fn bench_stereo_panning_automation() {
168168
panner.pan().set_value_at_time(-1., 0.);
169169
panner.pan().set_value_at_time(0.2, 0.5);
170170

171-
let src = ctx.create_buffer_source();
171+
let mut src = ctx.create_buffer_source();
172172
src.connect(&panner);
173173
src.set_buffer(buffer);
174174
src.set_loop(true);
@@ -188,7 +188,7 @@ pub fn bench_analyser_node() {
188188
let analyser = ctx.create_analyser();
189189
analyser.connect(&ctx.destination());
190190

191-
let src = ctx.create_buffer_source();
191+
let mut src = ctx.create_buffer_source();
192192
src.connect(&analyser);
193193
src.set_buffer(buffer);
194194
src.set_loop(true);

examples/amplitude_modulation.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ fn main() {
2929
modulated.gain().set_value(0.5);
3030
modulated.connect(&context.destination());
3131

32-
let carrier = context.create_oscillator();
32+
let mut carrier = context.create_oscillator();
3333
carrier.connect(&modulated);
3434
carrier.frequency().set_value(300.);
3535

@@ -38,7 +38,7 @@ fn main() {
3838
depth.gain().set_value(0.5);
3939
depth.connect(modulated.gain());
4040

41-
let modulator = context.create_oscillator();
41+
let mut modulator = context.create_oscillator();
4242
modulator.connect(&depth);
4343
modulator.frequency().set_value(1.);
4444

examples/analyser.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@ fn main() {
2525
..AudioContextOptions::default()
2626
});
2727

28-
let analyser = context.create_analyser();
28+
let mut analyser = context.create_analyser();
2929
analyser.connect(&context.destination());
3030

31-
let osc = context.create_oscillator();
31+
let mut osc = context.create_oscillator();
3232
osc.frequency().set_value(200.);
3333
osc.connect(&analyser);
3434
osc.start();

examples/audio_buffer.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ fn main() {
4343
buffer.copy_to_channel(&sine, 0);
4444

4545
// play the buffer in a loop
46-
let src = context.create_buffer_source();
46+
let mut src = context.create_buffer_source();
4747
src.set_buffer(buffer.clone());
4848
src.set_loop(true);
4949
src.connect(&context.destination());
@@ -55,7 +55,7 @@ fn main() {
5555
// play a sine at 200Hz
5656
println!("> Play sine at 200Hz from an OscillatorNode");
5757

58-
let osc = context.create_oscillator();
58+
let mut osc = context.create_oscillator();
5959
osc.frequency().set_value(200.);
6060
osc.connect(&context.destination());
6161
osc.start_at(context.current_time());

examples/audio_buffer_source_events.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ fn main() {
3030
let file = File::open("samples/sample.wav").unwrap();
3131
let buffer = context.decode_audio_data_sync(file).unwrap();
3232

33-
let src = context.create_buffer_source();
33+
let mut src = context.create_buffer_source();
3434
src.connect(&context.destination());
3535
src.set_buffer(buffer);
3636

examples/audio_buffer_source_pitching.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ fn main() {
4343
buffer.copy_to_channel(&sine, 0);
4444

4545
// play the buffer in a loop
46-
let src = context.create_buffer_source();
46+
let mut src = context.create_buffer_source();
4747
src.set_buffer(buffer.clone());
4848
src.connect(&context.destination());
4949
src.start();
@@ -52,7 +52,7 @@ fn main() {
5252

5353
println!("> Play sine at 440Hz w/ playback rate at 0.5");
5454

55-
let src = context.create_buffer_source();
55+
let mut src = context.create_buffer_source();
5656
src.set_buffer(buffer.clone());
5757
src.playback_rate().set_value(0.5);
5858
src.connect(&context.destination());
@@ -62,7 +62,7 @@ fn main() {
6262

6363
println!("> Play sine at 440Hz w/ detune at -1200.");
6464

65-
let src = context.create_buffer_source();
65+
let mut src = context.create_buffer_source();
6666
src.set_buffer(buffer.clone());
6767
src.detune().set_value(-1200.);
6868
src.connect(&context.destination());

0 commit comments

Comments
 (0)