mirror of
https://github.com/fluencelabs/wasm-bindgen
synced 2025-03-17 10:40:50 +00:00
Some examples have been failing to load in some browsers, and this ensures that whenever the promise to load Rust code fails we log any errors happening instead of accidentally failing silently. This helped debug a bit in #897
41 lines
1.0 KiB
JavaScript
41 lines
1.0 KiB
JavaScript
import('./webaudio')
|
|
.then(rust_module => {
|
|
let fm = null;
|
|
|
|
const play_button = document.getElementById("play");
|
|
play_button.addEventListener("click", event => {
|
|
if (fm === null) {
|
|
fm = new rust_module.FmOsc();
|
|
fm.set_note(50);
|
|
fm.set_fm_frequency(0);
|
|
fm.set_fm_amount(0);
|
|
fm.set_gain(0.8);
|
|
} else {
|
|
fm.free();
|
|
fm = null;
|
|
}
|
|
});
|
|
|
|
const primary_slider = document.getElementById("primary_input");
|
|
primary_slider.addEventListener("input", event => {
|
|
if (fm) {
|
|
fm.set_note(event.target.value);
|
|
}
|
|
});
|
|
|
|
const fm_freq = document.getElementById("fm_freq");
|
|
fm_freq.addEventListener("input", event => {
|
|
if (fm) {
|
|
fm.set_fm_frequency(event.target.value);
|
|
}
|
|
});
|
|
|
|
const fm_amount = document.getElementById("fm_amount");
|
|
fm_amount.addEventListener("input", event => {
|
|
if (fm) {
|
|
fm.set_fm_amount(event.target.value);
|
|
}
|
|
});
|
|
})
|
|
.catch(console.error);
|