New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implemented constant_source #164
Changes from 1 commit
b5e153a
5318fc6
2a794c4
c13e4e3
90891d7
829225c
5d8cdfc
ed2742c
683699d
b0dcf9b
4f7fcc1
2560800
cb52d33
697a456
d9f94d2
0426b9c
1045217
32c37cf
800f684
e437279
5d6fbe8
4047212
4dae6e0
deb3bef
84a517a
76a0a44
3763c61
7ef514a
8392723
99bfd89
221bc4a
87a1351
43b8b20
16f2a98
ac4fb92
3d3c7b6
6be0677
5c2ce7b
8141782
e3b059e
0dfe431
e4a76a4
e4a8d7d
7d2ef49
9c12a50
2f3f2f2
97efbe0
6e3b79a
c08eab6
c42aa15
9b83e94
29f1fd3
87aefce
477c704
af3d76a
50fce97
72f04dc
3121311
e4b7ee2
9086eef
5180cde
611d423
119bd7e
1001525
08e0ae7
64e2655
128a526
96cf7b8
3aa2ce3
ec6fc6c
dd93f56
7e65252
6824ee6
aca99b7
82a63f4
bbd207f
File filter...
Jump to…
Periodic wave using vectors
- Loading branch information
| @@ -15,7 +15,7 @@ fn run_example(servo_media: Arc<ServoMedia>) { | ||
| let context = servo_media.create_audio_context(Default::default()); | ||
| let dest = context.dest_node(); | ||
| let mut options = OscillatorNodeOptions::default(); | ||
| let osc1 = context.create_node(AudioNodeInit::OscillatorNode(options), Default::default()); | ||
| let osc1 = context.create_node(AudioNodeInit::OscillatorNode(options.clone()), Default::default()); | ||
| context.connect_ports(osc1.output(0), dest.input(0)); | ||
| let _ = context.resume(); | ||
| context.message_node( | ||
| @@ -30,7 +30,7 @@ fn run_example(servo_media: Arc<ServoMedia>) { | ||
| options.oscillator_type = Square; | ||
| let context = servo_media.create_audio_context(Default::default()); | ||
| let dest = context.dest_node(); | ||
| let osc2 = context.create_node(AudioNodeInit::OscillatorNode(options), Default::default()); | ||
| let osc2 = context.create_node(AudioNodeInit::OscillatorNode(options.clone()), Default::default()); | ||
| context.connect_ports(osc2.output(0), dest.input(0)); | ||
| let _ = context.resume(); | ||
| context.message_node( | ||
| @@ -42,6 +42,54 @@ fn run_example(servo_media: Arc<ServoMedia>) { | ||
| let _ = context.close(); | ||
| thread::sleep(time::Duration::from_millis(1000)); | ||
|
|
||
| options.oscillator_type = Sawtooth; | ||
| let context = servo_media.create_audio_context(Default::default()); | ||
| let dest = context.dest_node(); | ||
| let osc3 = context.create_node(AudioNodeInit::OscillatorNode(options.clone()), Default::default()); | ||
| context.connect_ports(osc3.output(0), dest.input(0)); | ||
| thread::sleep(time::Duration::from_millis(3000)); | ||
|
|
||
| let _ = context.resume(); | ||
| context.message_node( | ||
| osc3, | ||
| AudioNodeMessage::AudioScheduledSourceNode(AudioScheduledSourceNodeMessage::Start(0.)), | ||
| ); | ||
| thread::sleep(time::Duration::from_millis(3000)); | ||
| let _ = context.close(); | ||
| thread::sleep(time::Duration::from_millis(1000)); | ||
|
|
||
| options.oscillator_type = Triangle; | ||
| let context = servo_media.create_audio_context(Default::default()); | ||
| let dest = context.dest_node(); | ||
| let osc4 = context.create_node(AudioNodeInit::OscillatorNode(options.clone()), Default::default()); | ||
| context.connect_ports(osc4.output(0), dest.input(0)); | ||
| thread::sleep(time::Duration::from_millis(3000)); | ||
|
|
||
| let _ = context.resume(); | ||
| context.message_node( | ||
| osc4, | ||
| AudioNodeMessage::AudioScheduledSourceNode(AudioScheduledSourceNodeMessage::Start(0.)), | ||
| ); | ||
| thread::sleep(time::Duration::from_millis(3000)); | ||
| let _ = context.close(); | ||
| thread::sleep(time::Duration::from_millis(3000)); | ||
|
|
||
| options.oscillator_type = Square; | ||
ferjm
Member
|
||
| let context = servo_media.create_audio_context(Default::default()); | ||
| let dest = context.dest_node(); | ||
| let osc2 = context.create_node(AudioNodeInit::OscillatorNode(options), Default::default()); | ||
| context.connect_ports(osc2.output(0), dest.input(0)); | ||
| let _ = context.resume(); | ||
| thread::sleep(time::Duration::from_millis(3000)); | ||
| context.connect_ports(osc2.output(0), dest.input(0)); | ||
| context.message_node( | ||
| osc2, | ||
| AudioNodeMessage::AudioScheduledSourceNode(AudioScheduledSourceNodeMessage::Start(0.)), | ||
| ); | ||
| thread::sleep(time::Duration::from_millis(3000)); | ||
| let _ = context.close(); | ||
| thread::sleep(time::Duration::from_millis(1000)); | ||
|
|
||
| options.oscillator_type = Sawtooth; | ||
| let context = servo_media.create_audio_context(Default::default()); | ||
| let dest = context.dest_node(); | ||
| @@ -64,6 +112,15 @@ fn run_example(servo_media: Arc<ServoMedia>) { | ||
| let osc4 = context.create_node(AudioNodeInit::OscillatorNode(options), Default::default()); | ||
| context.connect_ports(osc4.output(0), dest.input(0)); | ||
| thread::sleep(time::Duration::from_millis(3000)); | ||
| let _ = context.close(); | ||
| thread::sleep(time::Duration::from_millis(1000)); | ||
|
|
||
| options.oscillator_type = Custom; | ||
| let context = servo_media.create_audio_context(Default::default()); | ||
| let dest = context.dest_node(); | ||
| let osc5 = context.create_node(AudioNodeInit::OscillatorNode(options.clone()), Default::default()); | ||
| context.connect_ports(osc5.output(0), dest.input(0)); | ||
| thread::sleep(time::Duration::from_millis(3000)); | ||
|
|
||
| let _ = context.resume(); | ||
| context.message_node( | ||
Similar to my previous comment. No need to clone here.
optionsis not used afterwards andGainNodeOptionsimplementsCopyin any case.