tesselode / kira

Library for expressive game audio.
https://crates.io/crates/kira
Apache License 2.0
836 stars 42 forks source link

v0.7.2 (and main) doesn't build for wasm #47

Closed johanhelsing closed 1 year ago

johanhelsing commented 1 year ago

v0.7.1 compiles fine, but v0.7.2 does not:

dev/kira dc66cd9 cargo check -p kira --target wasm32-unknown-unknown
   Compiling crossbeam-utils v0.8.15
    Checking web-sys v0.3.61
    Checking ringbuf v0.3.2
    Checking cpal v0.14.2
    Checking kira v0.7.1 (C:\Users\Johan\dev\kira\crates\kira)
    Finished dev [unoptimized + debuginfo] target(s) in 1.55s
dev/kira dc66cd9 git co v0.7.2
Previous HEAD position was dc66cd9 version bump
HEAD is now at b2e8bca prepare 0.7.2 release
dev/kira b2e8bca cargo check -p kira --target wasm32-unknown-unknown
    Updating crates.io index
    Checking web-sys v0.3.61
    Checking cpal v0.15.1
    Checking kira v0.7.2 (C:\Users\Johan\dev\kira\crates\kira)
error[E0061]: this function takes 4 arguments but 3 arguments were supplied
   --> crates\kira\src\manager\backend\cpal\wasm.rs:51:24
    |
51  |               let stream = device.build_output_stream(
    |  _________________________________^^^^^^^^^^^^^^^^^^^-
52  | |                 &config,
53  | |                 move |data: &mut [f32], _| {
54  | |                     renderer.on_start_processing();
...   |
65  | |                 move |_| {},
66  | |             )?;
    | |_____________- an argument of type `Option<Duration>` is missing
    |
note: associated function defined here
   --> C:\Users\Johan\.cargo\registry\src\github.com-1ecc6299db9ec823\cpal-0.15.1\src\traits.rs:153:8
    |
153 |     fn build_output_stream<T, D, E>(
    |        ^^^^^^^^^^^^^^^^^^^
help: provide the argument
    |
51  ~             let stream = device.build_output_stream(&config, move |data: &mut [f32], _| {
52  ~                     renderer.on_start_processing();
53  ~                     for frame in data.chunks_exact_mut(channels as usize) {
54  ~                         let out = renderer.process();
55  ~                         if channels == 1 {
56  ~                             frame[0] = (out.left + out.right) / 2.0;
57  ~                         } else {
58  ~                             frame[0] = out.left;
59  ~                             frame[1] = out.right;
60  ~                         }
61  ~                     }
62  ~                 }, move |_| {}, /* Option<Duration> */)?;
    |

For more information about this error, try `rustc --explain E0061`.
error: could not compile `kira` due to previous error
tesselode commented 1 year ago

My apologies; this should be fixed on 0.7.3.

johanhelsing commented 1 year ago

Wow, that was quick! Thanks :)