A rust binding for the FMOD library

Overview

rust-fmod Build Status

This is a rust binding for FMOD, the library developped by FIRELIGHT TECHNOLOGIES.

FMOD website : www.fmod.org

You can also find it on crates.io !

Installation

You must install on your computer the FMOD library which is used for the binding.

Since this project supports cargo, you can build it this way:

> cargo build

This isn't a binding to the lastest version. You can find the bound version here.

Documentation

You can access the rfmod documentation locally, just build it :

> cargo doc

Then open this file with an internet browser : file:///{rfmod_location}/doc/rfmod/index.html

You can also access the latest build of the documentation via the internet from here.

Short example

Here is a short example on how to create a file and to play it :

extern crate rfmod;

fn main() {
    let fmod = match rfmod::Sys::new() {
        Ok(f) => f,
        Err(e) => {
            panic!("Error code : {:?}", e);
        }
    };

    match fmod.init() {
        rfmod::Result::Ok => {}
        e => {
            panic!("FmodSys.init failed : {:?}", e);
        }
    };

    let sound = match fmod.create_sound("music.mp3", None, None) {
        Ok(s) => s,
        Err(err) => {
            panic!("Error code : {:?}", err);
        }
    };

    match sound.play_to_the_end() {
        rfmod::Result::Ok => {
            println!("Ok !");
        }
        err => {
            panic!("Error code : {:?}", err);
        }
    };
}

For a more complete example : https://github.com/GuillaumeGomez/rust-music-player

License

Please refer to the LICENSE.txt file for more details.
If you want more information, here is the FMOD website : http://www.fmod.org/
Comments
  • get_driver_info() panics due to

    get_driver_info() panics due to "FromUtf8Error"

    I try to enumerate drivers on my system using the following code:

    let num_drivers = fmod.get_num_drivers().expect("Failed to enumerate drivers.");
    for i in 0..num_drivers {
        let driver_name = match fmod.get_driver_info(i, 256usize) {
            Ok((_, name)) => {info!("Driver: {}", name); name},
            Err(e) => {error!("get_driver_info error: {:?}", e); "".into()}
        };
    }
    

    This fails with the following panic:

    thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: FromUtf8Error { bytes: [75, 111, 112, 102, 104, 246, 114, 101, 114, 32, 40, 50, 45, 32, 72, 105, 103, 104, 32, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 32, 65, 117, 100, 105, 111, 45, 71, 101, 114, 228, 116, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], error: Utf8Error { valid_up_to: 5, error_len: Some(1) } }', libcore\result.rs:945:5
    

    I'm on Windows 7, using Rust stable (1.25.0) I have playback devices containing German umlauts - could this be the issue? The device in question is called "Kopfhörer".

    opened by ghtyrant 8
  • create_sound with default soundex info results in InvalidParam when run in release mode

    create_sound with default soundex info results in InvalidParam when run in release mode

    Here is a minimal example that will return 'Err(InvalidParam)' when run with the --release flag, but not when running debug builds:

    extern crate rfmod;
    
    macro_rules! rfmod_ok {
      ($e:expr) => {
        assert_eq!($e, rfmod::Status::Ok)
      }
    }
    
    fn main() {
      let rfmod_sys    = rfmod::Sys::new().unwrap();
      const MAX_CHANNELS : i32 = 16;
      rfmod_ok!(rfmod_sys.init_with_parameters (
        MAX_CHANNELS, rfmod::InitFlag (rfmod::INIT_3D_RIGHTHANDED)));
      println!("...rfmod sys initialized...");
    
      let listener_position = rfmod::Vector { x: 0.0, y: 0.0, z: 2.0 };
      let listener_velocity = rfmod::Vector { x: 0.0, y: 0.0, z: 0.0 };
      let forward           = rfmod::Vector { x: 0.0, y: 0.0, z: -1.0 };
      let up                = rfmod::Vector { x: 0.0, y: 1.0, z: 0.0 };
      rfmod_ok!(rfmod_sys.set_3D_listener_attributes (
        0, &listener_position, &listener_velocity, &forward, &up));
      println!("...rfmod sys 3d listener attributes set...");
    
      let mut default_soundex_info  = rfmod::CreateSoundexInfo::default();
      let rfmod_sound = rfmod_sys.create_sound (
        "ping.wav",
        //Some (rfmod::Mode (rfmod::_3D | rfmod::SOFTWARE)),
        None,
        Some (&mut default_soundex_info)
      ).unwrap();
      println!("...rfmod wav sound created...");
    }
    

    I've tried with the commented out 'Mode' with the same result.

    opened by spearman 5
  • Fix compilation warnings and errors

    Fix compilation warnings and errors

    • Fix "implicit path" warning by adding path to [lib] in Cargo.toml
    • Fix rustc warning about static variable being in lowercase (made it uppercase)
    • Fix rustdoc formatting in the license section, was causing the license to be treated as a test when running $ cargo test
    opened by spearman 4
  • example in readme seems out of date

    example in readme seems out of date

    to get it to compile I have to change

    rfmod::FmodSys::new to rfmod::Sys StrBuf::from_str to &String::from panic!("Error code : {}", err); to panic!("Error code : {:?}", err);

    and remove extern crate libc;

    I am not sure if all these changes are completely correct, because it compiles, but it only works sometimes. under some circumstances it fails with FileNotFound, and strace shows that it is calling open() with extra random characters on the end of the file path. I'm not sure if that's related to my &String change or something else.

    opened by DanielCollins 4
  • Precise version of fmod to link

    Precise version of fmod to link

    I try to compile on windows and I have trouble.

    I link with fmod64_vc.lib, but they are 68 symbol missing, I try with other version available. that lead me to have 67 (???) symbol missing.

    I didn't find any information on the fmod version of your binding. Can you precise it somewhere ?

    opened by Stargateur 3
  • fixes the build of example program in readme

    fixes the build of example program in readme

    using rustc 1.4.0, cargo 0.6.0 (e1ed995 2015-10-22), Linux 4.2.5-1-ARCH, there where a bunch of compiler errors and one warning in the example program. this removes them and it seems to run okay.

    I don't necessarily know what each of my changes is doing, though.

    opened by DanielCollins 3
  • compile error

    compile error

    cargo build
        Updating registry `https://github.com/rust-lang/crates.io-index`
       Compiling c_vec v1.0.12
       Compiling libc v0.2.20
       Compiling byteorder v0.4.2
       Compiling fmod v0.9.23 (file:///C:/src/rust/rust-music-player/lib/rust-fmod)
    warning: static variable `callback` should have an upper case name such as `CALLBACK`, #[warn(non_upper_case_globals)] on by default
      --> src\fmod_sys.rs:50:5
       |
    50 |       static mut callback : SysCallback = SysCallback {
       |  _____^ starting here...
    51 | |             file_open: None,
    52 | |             file_close: None,
    53 | |             file_read: None,
    54 | |             file_seek: None
    55 | |         };
       | |__________^ ...ending here
    
    error: linking with `link.exe` failed: exit code: 1120
      |
      = note: "C:\\code\\MicrosoftVisualStudio14.0\\VC\\bin\\amd64\\link.exe" "/LIBPATH:C:\\code\\MicrosoftVisualStudio14.0\\VC\\lib\\amd64" "/LIBPATH:C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.14393.0\\ucrt\\x64" "/LIBPATH:C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.14393.0\\um\\x64" "/NOLOGO" "/NXCOMPAT" "/LIBPATH:C:\\Users\\user\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib" "C:\\src\\rust\\rust-music-player\\lib\\rust-fmod\\target\\debug\\deps\\rfmod.0.o" "/OUT:C:\\src\\rust\\rust-music-player\\lib\\rust-fmod\\target\\debug\\deps\\rfmod.dll" "/DEF:C:\\Users\\user\\AppData\\Local\\Temp\\rustc.zIBuoj5bKm1o\\lib.def" "C:\\src\\rust\\rust-music-player\\lib\\rust-fmod\\target\\debug\\deps\\rfmod.metadata.o" "/OPT:REF,NOICF" "/DEBUG" "/LIBPATH:C:\\src\\rust\\rust-music-player\\lib\\rust-fmod\\target\\debug\\deps" "/LIBPATH:C:\\Users\\user\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib" "C:\\Users\\user\\AppData\\Local\\Temp\\rustc.zIBuoj5bKm1o\\liblibc-83c2bd88b43ecde3.rlib" "C:\\Users\\user\\AppData\\Local\\Temp\\rustc.zIBuoj5bKm1o\\libc_vec-2bb0bdc75ee986ec.rlib" "C:\\Users\\user\\AppData\\Local\\Temp\\rustc.zIBuoj5bKm1o\\libbyteorder-e66034b07f549538.rlib" "C:\\Users\\user\\AppData\\Local\\Temp\\rustc.zIBuoj5bKm1o\\libstd-259356a62c16e209.rlib" "C:\\Users\\user\\AppData\\Local\\Temp\\rustc.zIBuoj5bKm1o\\libpanic_unwind-6090925440afc6a0.rlib" "C:\\Users\\user\\AppData\\Local\\Temp\\rustc.zIBuoj5bKm1o\\libunwind-4de2657775b53c86.rlib" "C:\\Users\\user\\AppData\\Local\\Temp\\rustc.zIBuoj5bKm1o\\liblibc-726a7bfd60260b09.rlib" "C:\\Users\\user\\AppData\\Local\\Temp\\rustc.zIBuoj5bKm1o\\librand-626ae980c5da662e.rlib" "C:\\Users\\user\\AppData\\Local\\Temp\\rustc.zIBuoj5bKm1o\\libcollections-9c298ff08fd36373.rlib" "C:\\Users\\user\\AppData\\Local\\Temp\\rustc.zIBuoj5bKm1o\\liballoc-2c53774924f65757.rlib" "C:\\Users\\user\\AppData\\Local\\Temp\\rustc.zIBuoj5bKm1o\\liballoc_system-dceaab434bd30f7c.rlib" "C:\\Users\\user\\AppData\\Local\\Temp\\rustc.zIBuoj5bKm1o\\libstd_unicode-395a85a6bc8d70ac.rlib" "C:\\Users\\user\\AppData\\Local\\Temp\\rustc.zIBuoj5bKm1o\\libcore-e714f4bfba22deac.rlib" "C:\\Users\\user\\AppData\\Local\\Temp\\rustc.zIBuoj5bKm1o\\libcompiler_builtins-0c9c28ea236973f1.rlib" "advapi32.lib" "ws2_32.lib" "userenv.lib" "shell32.lib" "msvcrt.lib" "/DLL" "/IMPLIB:C:\\src\\rust\\rust-music-player\\lib\\rust-fmod\\target\\debug\\deps\\rfmod.dll.lib"
      = note:    Creating library C:\src\rust\rust-music-player\lib\rust-fmod\target\debug\deps\rfmod.dll.lib and object C:\src\rust\rust-music-player\lib\rust-fmod\target\debug\deps\rfmod.dll.exp
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_GetSystemObject referenced in function _ZN5rfmod5sound5Sound17get_system_object17hd6de17d450e55c3fE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_Release referenced in function _ZN5rfmod5sound5Sound7release17hb9a174fd3d89abd0E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_PlaySound referenced in function _ZN5rfmod5sound5Sound4play17h0ec36c679475800aE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_SetDefaults referenced in function _ZN5rfmod5sound5Sound12set_defaults17h255fd459544e7502E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_GetDefaults referenced in function _ZN5rfmod5sound5Sound12get_defaults17h2f643166911d9c98E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_SetVariations referenced in function _ZN5rfmod5sound5Sound14set_variations17h79386e8c0b7bb53cE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_GetVariations referenced in function _ZN5rfmod5sound5Sound14get_variations17hde49c4f0b2151980E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_Set3DMinMaxDistance referenced in function _ZN5rfmod5sound5Sound23set_3D_min_max_distance17hd1b8ff6a1478a3aeE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_Get3DMinMaxDistance referenced in function _ZN5rfmod5sound5Sound23get_3D_min_max_distance17hd9a15f593f4633aeE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_Set3DConeSettings referenced in function _ZN5rfmod5sound5Sound20set_3D_cone_settings17ha01491a6dd00bd4fE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_Get3DConeSettings referenced in function _ZN5rfmod5sound5Sound20get_3D_cone_settings17h631fcda68937d940E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_Set3DCustomRolloff referenced in function _ZN5rfmod5sound5Sound21set_3D_custom_rolloff17hce0bb6f9cc4efa2cE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_Get3DCustomRolloff referenced in function _ZN5rfmod5sound5Sound21get_3D_custom_rolloff17h0e2db55f38fc44cbE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_SetSubSound referenced in function _ZN5rfmod5sound5Sound13set_sub_sound17hbe3bbc6e4530939cE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_GetSubSound referenced in function _ZN5rfmod5sound5Sound13get_sub_sound17h323b2cfd6f786189E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_GetName referenced in function _ZN5rfmod5sound5Sound8get_name17h4546174a590bb223E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_GetLength referenced in function _ZN5rfmod5sound5Sound10get_length17hd2c7bd86d550f645E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_GetFormat referenced in function _ZN5rfmod5sound5Sound10get_format17h4e1ba4647accc44aE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_GetNumSubSounds referenced in function _ZN5rfmod5sound5Sound18get_num_sub_sounds17hbb2f9163b0b29650E rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_GetNumTags referenced in function _ZN5rfmod5sound5Sound12get_num_tags17h80a8ad758f5c8806E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_GetTag referenced in function _ZN5rfmod5sound5Sound7get_tag17h070d39774e72a669E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_GetOpenState referenced in function _ZN5rfmod5sound5Sound14get_open_state17h699ab3bcbbb46185E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_SetSoundGroup referenced in function _ZN5rfmod5sound5Sound15set_sound_group17h7993085d7c936af9E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_GetSoundGroup referenced in function _ZN5rfmod5sound5Sound15get_sound_group17h8e4132a94513dfbeE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_GetNumSyncPoints referenced in function _ZN5rfmod5sound5Sound19get_num_sync_points17h600b398262d1c625E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_GetSyncPoint referenced in function _ZN5rfmod5sound5Sound14get_sync_point17h9a2bbad47e465764E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_GetSyncPointInfo referenced in function _ZN5rfmod5sound5Sound19get_sync_point_info17h986d8bb6fe54d5e5E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_AddSyncPoint referenced in function _ZN5rfmod5sound5Sound14add_sync_point17hcbca0a96659e3534E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_DeleteSyncPoint referenced in function _ZN5rfmod5sound5Sound17delete_sync_point17hd0c1b85493c5d929E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_SetMode referenced in function _ZN5rfmod5sound5Sound8set_mode17hb2bc18e4594c82e6E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_GetMode referenced in function _ZN5rfmod5sound5Sound8get_mode17h564d2e8d2bdfb354E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_SetLoopCount referenced in function _ZN5rfmod5sound5Sound14set_loop_count17hd15928866c698628E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_GetLoopCount referenced in function _ZN5rfmod5sound5Sound14get_loop_count17h29dd66dc77687130E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_SetLoopPoints referenced in function _ZN5rfmod5sound5Sound15set_loop_points17h918d21d4c1f02a71E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_GetLoopPoints referenced in function _ZN5rfmod5sound5Sound15get_loop_points17h99679cd78d3383c1E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_GetMusicNumChannels referenced in function _ZN5rfmod5sound5Sound16get_num_channels17h874348954dc1e4deE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_SetMusicChannelVolume referenced in function _ZN5rfmod5sound5Sound24set_music_channel_volume17h1dfb88f16c9bdf70E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_GetMusicChannelVolume referenced in function _ZN5rfmod5sound5Sound24get_music_channel_volume17h674f3eb7d5b60cc8E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_SetMusicSpeed referenced in function _ZN5rfmod5sound5Sound15set_music_speed17h5d70afb11b7017ccE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_GetMusicSpeed referenced in function _ZN5rfmod5sound5Sound15get_music_speed17h84c9e1406a03d21fE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_SetSubSoundSentence referenced in function _ZN5rfmod5sound5Sound22set_sub_sound_sentence17h67a1fa5104d172e1E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_SeekData referenced in function _ZN5rfmod5sound5Sound9seek_data17h989bc643f14c890eE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_GetMemoryInfo referenced in function _ZN5rfmod5sound5Sound15get_memory_info17h188610901f82e36aE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_Lock referenced in function _ZN5rfmod5sound5Sound4lock17he76d278f7b84540aE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_Unlock referenced in function _ZN5rfmod5sound5Sound6unlock17h855b8bee076be267E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_GetSystemObject referenced in function _ZN5rfmod7channel7Channel17get_system_object17h2e46fc347a7620f8E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_Stop referenced in function _ZN5rfmod7channel7Channel4stop17h0f8900bc928a387dE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_GetSpectrum referenced in function _ZN5rfmod7channel7Channel12get_spectrum17h026d42f68f62fd79E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_GetWaveData referenced in function _ZN5rfmod7channel7Channel13get_wave_data17h3116fadff39ddd82E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_IsPlaying referenced in function _ZN5rfmod7channel7Channel10is_playing17h4c3366c2d2c6ea0dE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_IsVirtual referenced in function _ZN5rfmod7channel7Channel10is_virtual17h9ede19e1c878850aE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_GetAudibility referenced in function _ZN5rfmod7channel7Channel14get_audibility17hacecf5183feafef6E rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_GetCurrentSound referenced in function _ZN5rfmod7channel7Channel17get_current_sound17h23b268240cbeabf1E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_GetIndex referenced in function _ZN5rfmod7channel7Channel9get_index17h421c34c848548239E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_SetVolume referenced in function _ZN5rfmod7channel7Channel10set_volume17h377544df0b6b1871E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_GetVolume referenced in function _ZN5rfmod7channel7Channel10get_volume17had03aa256d540bbdE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_SetFrequency referenced in function _ZN5rfmod7channel7Channel13set_frequency17h08cbdc846087453bE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_GetFrequency referenced in function _ZN5rfmod7channel7Channel13get_frequency17h31f62bc61fd7208bE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_SetPan referenced in function _ZN5rfmod7channel7Channel7set_pan17hc805c10004c2d43bE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_GetPan referenced in function _ZN5rfmod7channel7Channel7get_pan17hd38f7898d0d5257aE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_SetMute referenced in function _ZN5rfmod7channel7Channel8set_mute17h5b6249390cc97edaE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_GetMute referenced in function _ZN5rfmod7channel7Channel8get_mute17h2deca2e564842484E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_SetPaused referenced in function _ZN5rfmod7channel7Channel10set_paused17h997bf60b2b62e7ebE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_GetPaused referenced in function _ZN5rfmod7channel7Channel10get_paused17h3cb7c45e9d6b57a9E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_SetDelay referenced in function _ZN5rfmod7channel7Channel9set_delay17h3347b0f3b377987aE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_GetDelay referenced in function _ZN5rfmod7channel7Channel9get_delay17h42f547cfcecf8db1E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_SetSpeakerMix referenced in function _ZN5rfmod7channel7Channel15set_speaker_mix17hafa2ce0ed1c58291E
    
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_GetSpeakerMix referenced in function _ZN5rfmod7channel7Channel15get_speaker_mix17h6c93bff911d43598E
    
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_SetSpeakerLevels referenced in function _ZN5rfmod7channel7Channel17set_speaker_level17hc83a51fe47d7fe47E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_GetSpeakerLevels referenced in function _ZN5rfmod7channel7Channel17get_speaker_level17he8d1e4cb61a99dd4E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_SetInputChannelMix referenced in function _ZN5rfmod7channel7Channel21set_input_channel_mix17h119da0fd8baced57E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_GetInputChannelMix referenced in function _ZN5rfmod7channel7Channel21get_input_channel_mix17h94db85f48a163394E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_SetPriority referenced in function _ZN5rfmod7channel7Channel12set_priority17h1575eaa06f23e078E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_GetPriority referenced in function _ZN5rfmod7channel7Channel12get_priority17h2dd79bec5ac71c38E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_SetPosition referenced in function _ZN5rfmod7channel7Channel12set_position17h7cd19783f33e309aE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_GetPosition referenced in function _ZN5rfmod7channel7Channel12get_position17h51fb221b0962df0cE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_SetReverbProperties referenced in function _ZN5rfmod7channel7Channel21set_reverb_properties17hd9b0c92c3c09c6e6E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_GetReverbProperties referenced in function _ZN5rfmod7channel7Channel21get_reverb_properties17h6efce22f81d8f0adE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_SetLowPassGain referenced in function _ZN5rfmod7channel7Channel17set_low_pass_gain17hb2850223b0199c74E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_GetLowPassGain referenced in function _ZN5rfmod7channel7Channel17get_low_pass_gain17h62f1f4061f10c5edE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_SetChannelGroup referenced in function _ZN5rfmod7channel7Channel17set_channel_group17hea06c8eef4c6d697E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_GetChannelGroup referenced in function _ZN5rfmod7channel7Channel17get_channel_group17h37384c1a28db8395E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_Set3DAttributes referenced in function _ZN5rfmod7channel7Channel17set_3D_attributes17hdb62f1ba7ef7d86bE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_Get3DAttributes referenced in function _ZN5rfmod7channel7Channel17get_3D_attributes17h599e64baa9c2d102E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_Set3DMinMaxDistance referenced in function _ZN5rfmod7channel7Channel23set_3D_min_max_distance17he83527f30bc4e765E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_Get3DMinMaxDistance referenced in function _ZN5rfmod7channel7Channel23get_3D_min_max_distance17h8ea87719a41e3cf2E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_Set3DConeSettings referenced in function _ZN5rfmod7channel7Channel20set_3D_cone_settings17ha0516b4c77bf6cdfE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_Get3DConeSettings referenced in function _ZN5rfmod7channel7Channel20get_3D_cone_settings17he6c26b233e910820E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_Set3DConeOrientation referenced in function _ZN5rfmod7channel7Channel23set_3D_cone_orientation17h43e8fda97745f0e5E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_Get3DConeOrientation referenced in function _ZN5rfmod7channel7Channel23get_3D_cone_orientation17h9d16622ac497a71eE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_Set3DCustomRolloff referenced in function _ZN5rfmod7channel7Channel21set_3D_custom_rolloff17hf9a440c683e81143E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_Get3DCustomRolloff referenced in function _ZN5rfmod7channel7Channel21get_3D_custom_rolloff17h79b1d90a64f6d88cE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_Set3DOcclusion referenced in function _ZN5rfmod7channel7Channel16set_3D_occlusion17hbfb472dc5fe0c10cE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_Get3DOcclusion referenced in function _ZN5rfmod7channel7Channel16get_3D_occlusion17ha25730d025ead930E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_Set3DSpread referenced in function _ZN5rfmod7channel7Channel13set_3D_spread17h0c307644a1637c2fE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_Get3DSpread referenced in function _ZN5rfmod7channel7Channel13get_3D_spread17hb6c804a6d5c4eca6E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_Set3DPanLevel referenced in function _ZN5rfmod7channel7Channel16set_3D_pan_level17h593ba4751da1fe7fE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_Get3DPanLevel referenced in function _ZN5rfmod7channel7Channel16get_3D_pan_level17haceb831ea6167b04E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_Set3DDopplerLevel referenced in function _ZN5rfmod7channel7Channel20set_3D_doppler_level17hc965724a6ce306f8E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_Get3DDopplerLevel referenced in function _ZN5rfmod7channel7Channel20get_3D_doppler_level17h8aa42b246c4114ddE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_Set3DDistanceFilter referenced in function _ZN5rfmod7channel7Channel22set_3D_distance_filter17hc223060861becf61E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_Get3DDistanceFilter referenced in function _ZN5rfmod7channel7Channel22get_3D_distance_filter17h4213f8d7775288e9E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_GetDSPHead referenced in function _ZN5rfmod7channel7Channel12get_DSP_head17h7bb5cbce456fd8d5E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_AddDSP referenced in function _ZN5rfmod7channel7Channel7add_DSP17hbf35aadfe03dba6cE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_SetMode referenced in function _ZN5rfmod7channel7Channel8set_mode17hf182bdcaac7cf1b3E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_GetMode referenced in function _ZN5rfmod7channel7Channel8get_mode17h8bc66ac7afddddf0E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_SetLoopCount referenced in function _ZN5rfmod7channel7Channel14set_loop_count17h9aef09064de01d79E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_GetLoopCount referenced in function _ZN5rfmod7channel7Channel14get_loop_count17h62c171be9c058de2E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_SetLoopPoints referenced in function _ZN5rfmod7channel7Channel15set_loop_points17h402d5f22bc84727fE
    
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_GetLoopPoints referenced in function _ZN5rfmod7channel7Channel15get_loop_points17he18c12144dc86392E
    
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Channel_GetMemoryInfo referenced in function _ZN5rfmod7channel7Channel15get_memory_info17heea1d625183c1e1bE
    
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_ChannelGroup_Release referenced in function _ZN5rfmod13channel_group12ChannelGroup7release17h470b28debd1c08ccE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_ChannelGroup_SetVolume referenced in function _ZN5rfmod13channel_group12ChannelGroup10set_volume17hc03934ec95a62389E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_ChannelGroup_GetVolume referenced in function _ZN5rfmod13channel_group12ChannelGroup10get_volume17ha0cdf767e7dcc083E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_ChannelGroup_SetPitch referenced in function _ZN5rfmod13channel_group12ChannelGroup9set_pitch17h91a66e9d2ec148b2E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_ChannelGroup_GetPitch referenced in function _ZN5rfmod13channel_group12ChannelGroup9get_pitch17h04eebf252cb60111E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_ChannelGroup_SetPaused referenced in function _ZN5rfmod13channel_group12ChannelGroup10set_paused17h441df01eb0930fa1E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_ChannelGroup_GetPaused referenced in function _ZN5rfmod13channel_group12ChannelGroup10get_paused17hc106effbaf739168E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_ChannelGroup_SetMute referenced in function _ZN5rfmod13channel_group12ChannelGroup8set_mute17h1c972bd0810c6ca4E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_ChannelGroup_GetMute referenced in function _ZN5rfmod13channel_group12ChannelGroup8get_mute17hcbb066b05694d6b2E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_ChannelGroup_Set3DOcclusion referenced in function _ZN5rfmod13channel_group12ChannelGroup16set_3D_occlusion17h64dfa67836e34826E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_ChannelGroup_Get3DOcclusion referenced in function _ZN5rfmod13channel_group12ChannelGroup16get_3D_occlusion17h001dca2e59e8c485E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_ChannelGroup_Stop referenced in function _ZN5rfmod13channel_group12ChannelGroup4stop17he058f4848147f6afE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_ChannelGroup_OverrideVolume referenced in function _ZN5rfmod13channel_group12ChannelGroup15override_volume17h3ee261a1cae0e346E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_ChannelGroup_OverrideFrequency referenced in function _ZN5rfmod13channel_group12ChannelGroup18override_frequency17hb312d74aa7c13cadE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_ChannelGroup_OverridePan referenced in function _ZN5rfmod13channel_group12ChannelGroup12override_pan17h34e476689dfa7aadE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_ChannelGroup_OverrideReverbProperties referenced in function _ZN5rfmod13channel_group12ChannelGroup26override_reverb_properties17h3462ca660fca7320E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_ChannelGroup_Override3DAttributes referenced in function _ZN5rfmod13channel_group12ChannelGroup22override_3D_attributes17h1b16eccd6730f3cdE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_ChannelGroup_OverrideSpeakerMix referenced in function _ZN5rfmod13channel_group12ChannelGroup20override_speaker_mix17h2b2bac07abe7a9a7E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_ChannelGroup_AddGroup referenced in function _ZN5rfmod13channel_group12ChannelGroup9add_group17h3a7946d4cdbc933bE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_ChannelGroup_GetNumGroups referenced in function _ZN5rfmod13channel_group12ChannelGroup14get_num_groups17h48750505db8e6283E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_ChannelGroup_GetGroup referenced in function _ZN5rfmod13channel_group12ChannelGroup9get_group17hcdb5056c36a8d49eE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_ChannelGroup_GetParentGroup referenced in function _ZN5rfmod13channel_group12ChannelGroup16get_parent_group17h4319d575ab4897aaE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_ChannelGroup_GetDSPHead referenced in function _ZN5rfmod13channel_group12ChannelGroup12get_DSP_head17h63d664df3fe03c84E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_ChannelGroup_AddDSP referenced in function _ZN5rfmod13channel_group12ChannelGroup7add_DSP17h760e78a86f1cd584E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_ChannelGroup_GetName referenced in function _ZN5rfmod13channel_group12ChannelGroup8get_name17h35004894bc968911E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_ChannelGroup_GetNumChannels referenced in function _ZN5rfmod13channel_group12ChannelGroup16get_num_channels17h073f042e122333a5E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_ChannelGroup_GetChannel referenced in function _ZN5rfmod13channel_group12ChannelGroup11get_channel17hc3804746ba9630baE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_ChannelGroup_GetSpectrum referenced in function _ZN5rfmod13channel_group12ChannelGroup12get_spectrum17h6bebf40d66e242b9E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_ChannelGroup_GetWaveData referenced in function _ZN5rfmod13channel_group12ChannelGroup13get_wave_data17h8b8633f08ddd9353E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_ChannelGroup_GetMemoryInfo referenced in function _ZN5rfmod13channel_group12ChannelGroup15get_memory_info17h7809c12852fcaee9E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_SoundGroup_Release referenced in function _ZN5rfmod11sound_group10SoundGroup7release17hccc462644a9a5e5cE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_SoundGroup_SetMaxAudible referenced in function _ZN5rfmod11sound_group10SoundGroup15set_max_audible17h9fe44b55503015baE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_SoundGroup_GetMaxAudible referenced in function _ZN5rfmod11sound_group10SoundGroup15get_max_audible17hca45b14f1b9cf71bE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_SoundGroup_SetMaxAudibleBehavior referenced in function _ZN5rfmod11sound_group10SoundGroup24set_max_audible_behavior17ha70f8220db7016d8E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_SoundGroup_GetMaxAudibleBehavior referenced in function _ZN5rfmod11sound_group10SoundGroup24get_max_audible_behavior17h2ecc7c89430ce3b5E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_SoundGroup_SetMuteFadeSpeed referenced in function _ZN5rfmod11sound_group10SoundGroup19set_mute_fade_speed17ha9f9204e04fc1bddE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_SoundGroup_GetMuteFadeSpeed referenced in function _ZN5rfmod11sound_group10SoundGroup19get_mute_fade_speed17h27969f90a0aa71dcE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_SoundGroup_SetVolume referenced in function _ZN5rfmod11sound_group10SoundGroup10set_volume17h753ff698edef77e5E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_SoundGroup_GetVolume referenced in function _ZN5rfmod11sound_group10SoundGroup10get_volume17h462f0a49efff4f0bE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_SoundGroup_Stop referenced in function _ZN5rfmod11sound_group10SoundGroup4stop17h313b29a5654da829E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_SoundGroup_GetName referenced in function _ZN5rfmod11sound_group10SoundGroup8get_name17hf57d534a452d9944E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_SoundGroup_GetNumSounds referenced in function _ZN5rfmod11sound_group10SoundGroup14get_num_sounds17hf25c712b74b4e095E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_SoundGroup_GetSound referenced in function _ZN5rfmod11sound_group10SoundGroup9get_sound17h8757f0cc23a1bbb3E
    
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_SoundGroup_GetNumPlaying referenced in function _ZN5rfmod11sound_group10SoundGroup15get_num_playing17h438c8938e7bd3976E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_SoundGroup_GetMemoryInfo referenced in function _ZN5rfmod11sound_group10SoundGroup15get_memory_info17hbb5478123e42b98aE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Sound_GetUserData referenced in function _ZN5rfmod8fmod_sys17pcm_read_callback17h6d128fafc84887a8E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_Create referenced in function _ZN5rfmod8fmod_sys3Sys3new17hc4c82fb378230003E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_Init referenced in function _ZN5rfmod8fmod_sys3Sys4init17h18bb308fcf91884dE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_Update referenced in function _ZN5rfmod8fmod_sys3Sys6update17h333637d0e3a9f354E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_Close referenced in function _ZN5rfmod8fmod_sys3Sys7release17ha7d7e7f2735275e8E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_Release referenced in function _ZN5rfmod8fmod_sys3Sys7release17ha7d7e7f2735275e8E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_CreateSound referenced in function _ZN5rfmod8fmod_sys3Sys12create_sound17h1aff528d5e1511acE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_CreateStream referenced in function _ZN5rfmod8fmod_sys3Sys13create_stream17h1cd460fb59a4d6c7E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_CreateChannelGroup referenced in function _ZN5rfmod8fmod_sys3Sys20create_channel_group17hf946d397a46ebe2fE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_CreateSoundGroup referenced in function _ZN5rfmod8fmod_sys3Sys18create_sound_group17hd6857d7446fadb49E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_CreateReverb referenced in function _ZN5rfmod8fmod_sys3Sys13create_reverb17ha7ed2698a6a00715E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_CreateDSP referenced in function _ZN5rfmod8fmod_sys3Sys10create_DSP17h3cd5538f7ddcdb67E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_CreateDSPByType referenced in function _ZN5rfmod8fmod_sys3Sys18create_DSP_by_type17h5f48de50745a1f52E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_SetOutput referenced in function _ZN5rfmod8fmod_sys3Sys10set_output17h580ce0482f5841c5E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_GetOutput referenced in function _ZN5rfmod8fmod_sys3Sys10get_output17h6d28a71ec00cecffE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_GetNumDrivers referenced in function _ZN5rfmod8fmod_sys3Sys15get_num_drivers17ha09aa1194a6aa869E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_GetDriverInfo referenced in function _ZN5rfmod8fmod_sys3Sys15get_driver_info17hddf824f52f991018E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_GetDriverCaps referenced in function _ZN5rfmod8fmod_sys3Sys15get_driver_caps17h4faa3ece6ecc8cd6E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_SetDriver referenced in function _ZN5rfmod8fmod_sys3Sys10set_driver17h0552877ac04a3e4eE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_GetDriver referenced in function _ZN5rfmod8fmod_sys3Sys10get_driver17h656de31c2286f867E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_SetHardwareChannels referenced in function _ZN5rfmod8fmod_sys3Sys21set_hardware_channels17h3076e86ddbd2bba9E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_GetHardwareChannels referenced in function _ZN5rfmod8fmod_sys3Sys21get_hardware_channels17h33d92367818311c3E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_SetSoftwareChannels referenced in function _ZN5rfmod8fmod_sys3Sys21set_software_channels17hc0123a68e3936ca3E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_GetSoftwareChannels referenced in function _ZN5rfmod8fmod_sys3Sys21get_software_channels17h6f464ef7f2928d66E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_SetSoftwareFormat referenced in function _ZN5rfmod8fmod_sys3Sys19set_software_format17hec3f7362e8c19520E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_GetSoftwareFormat referenced in function _ZN5rfmod8fmod_sys3Sys19get_software_format17h3313f58d2bef02f9E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_SetDSPBufferSize referenced in function _ZN5rfmod8fmod_sys3Sys19set_DSP_buffer_size17hd8a910c7ecb0ac28E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_GetDSPBufferSize referenced in function _ZN5rfmod8fmod_sys3Sys19get_DSP_buffer_size17h0b20eca174f2bb3dE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_SetAdvancedSettings referenced in function _ZN5rfmod8fmod_sys3Sys21set_advanced_settings17hb2d0c20acca6bfd9E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_GetAdvancedSettings referenced in function _ZN5rfmod8fmod_sys3Sys21get_advanced_settings17hfe1bf9dbfafe8066E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_SetSpeakerMode referenced in function _ZN5rfmod8fmod_sys3Sys16set_speaker_mode17h820e387d77446445E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_GetSpeakerMode referenced in function _ZN5rfmod8fmod_sys3Sys16get_speaker_mode17hbf854ea5e1dcba5fE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_SetPluginPath referenced in function _ZN5rfmod8fmod_sys3Sys15set_plugin_path17hfbab56aa001a4eebE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_LoadPlugin referenced in function _ZN5rfmod8fmod_sys3Sys11load_plugin17hf6a1079c4621b815E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_UnloadPlugin referenced in function _ZN5rfmod8fmod_sys3Sys13unload_plugin17h98697cf2ff554397E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_GetNumPlugins referenced in function _ZN5rfmod8fmod_sys3Sys15get_num_plugins17haa1a69e852080f4aE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_GetPluginHandle referenced in function _ZN5rfmod8fmod_sys3Sys17get_plugin_handle17ha2039910aedb2e22E
    
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_GetPluginInfo referenced in function _ZN5rfmod8fmod_sys3Sys15get_plugin_info17hdda959e30ddba7dfE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_SetOutputByPlugin referenced in function _ZN5rfmod8fmod_sys3Sys20set_output_by_plugin17hedf9efc4f9d51b45E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_GetOutputByPlugin referenced in function _ZN5rfmod8fmod_sys3Sys20get_output_by_plugin17hb6b66d2e82f82b1eE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_CreateDSPByPlugin referenced in function _ZN5rfmod8fmod_sys3Sys20create_DSP_by_plugin17h0d6507641e4b1cd2E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_Set3DNumListeners referenced in function _ZN5rfmod8fmod_sys3Sys20set_3D_num_listeners17h7f7cb0eb5dad4886E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_Get3DNumListeners referenced in function _ZN5rfmod8fmod_sys3Sys20get_3D_num_listeners17h42886a02849ac336E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_Set3DListenerAttributes referenced in function _ZN5rfmod8fmod_sys3Sys26set_3D_listener_attributes17h226b7a3fd905625aE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_Get3DListenerAttributes referenced in function _ZN5rfmod8fmod_sys3Sys26get_3D_listener_attributes17h62bb169f042b4220E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_Set3DSpeakerPosition referenced in function _ZN5rfmod8fmod_sys3Sys23set_3D_speaker_position17h4f5fc96678593a79E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_Get3DSpeakerPosition referenced in function _ZN5rfmod8fmod_sys3Sys23get_3D_speaker_position17h00bece5944f7fca9E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_Set3DSettings referenced in function _ZN5rfmod8fmod_sys3Sys15set_3D_settings17h5338edb5140c9105E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_Get3DSettings referenced in function _ZN5rfmod8fmod_sys3Sys15get_3D_settings17h2a6af085cfdb5e69E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_SetStreamBufferSize referenced in function _ZN5rfmod8fmod_sys3Sys22set_stream_buffer_size17h9a3f1addf642dbfaE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_GetStreamBufferSize referenced in function _ZN5rfmod8fmod_sys3Sys22get_stream_buffer_size17hc5b9307a8815ebf8E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_GetVersion referenced in function _ZN5rfmod8fmod_sys3Sys11get_version17h7d4ea1cc7bc12863E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_GetOutputHandle referenced in function _ZN5rfmod8fmod_sys3Sys17get_output_handle17h3e1b756c27484a54E
    
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_GetChannelsPlaying referenced in function _ZN5rfmod8fmod_sys3Sys20get_channels_playing17h8a38bdafed4da41bE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_GetCPUUsage referenced in function _ZN5rfmod8fmod_sys3Sys13get_CPU_usage17h408c2a9b03961ba9E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_GetSoundRAM referenced in function _ZN5rfmod8fmod_sys3Sys13get_sound_RAM17hecab6e1c79cb23a6E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_GetNumCDROMDrives referenced in function _ZN5rfmod8fmod_sys3Sys20get_num_CDROM_drives17h1a881d3acc2961dfE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_GetCDROMDriveName referenced in function _ZN5rfmod8fmod_sys3Sys20get_CDROM_drive_name17h190016f022e8980dE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_GetSpectrum referenced in function _ZN5rfmod8fmod_sys3Sys12get_spectrum17ha81393a705a7a2e0E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_GetWaveData referenced in function _ZN5rfmod8fmod_sys3Sys13get_wave_data17h7c8e26facc283950E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_GetChannel referenced in function _ZN5rfmod8fmod_sys3Sys11get_channel17hf3fe3445bcc7d8f8E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_GetMasterChannelGroup referenced in function _ZN5rfmod8fmod_sys3Sys24get_master_channel_group17h1eb6fd7b661491a7E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_GetMasterSoundGroup referenced in function _ZN5rfmod8fmod_sys3Sys22get_master_sound_group17h51344d9a6c457e0fE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_SetReverbProperties referenced in function _ZN5rfmod8fmod_sys3Sys21set_reverb_properties17h3f232669c239d1c2E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_GetReverbProperties referenced in function _ZN5rfmod8fmod_sys3Sys21get_reverb_properties17h60c649a65fa99d59E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_SetReverbAmbientProperties referenced in function _ZN5rfmod8fmod_sys3Sys29set_reverb_ambient_properties17hbc3742cd54435240E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_GetReverbAmbientProperties referenced in function _ZN5rfmod8fmod_sys3Sys29get_reverb_ambient_properties17h243139f261236e9bE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_GetDSPHead referenced in function _ZN5rfmod8fmod_sys3Sys12get_DSP_head17h7abcac18eec11a55E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_AddDSP referenced in function _ZN5rfmod8fmod_sys3Sys7add_DSP17h216f25963f40bde6E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_LockDSP referenced in function _ZN5rfmod8fmod_sys3Sys8lock_DSP17h6b951724ff6ed62eE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_UnlockDSP referenced in function _ZN5rfmod8fmod_sys3Sys10unlock_DSP17h781a8448d576567fE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_GetDSPClock referenced in function _ZN5rfmod8fmod_sys3Sys13get_DSP_clock17hcf5c1e81b56d25a4E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_GetRecordNumDrivers referenced in function _ZN5rfmod8fmod_sys3Sys22get_record_num_drivers17hf80b03fd217eade2E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_GetRecordDriverInfo referenced in function _ZN5rfmod8fmod_sys3Sys22get_record_driver_info17hce470829ca119a2eE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_GetRecordDriverCaps referenced in function _ZN5rfmod8fmod_sys3Sys22get_record_driver_caps17h64b05f06e5418553E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_GetRecordPosition referenced in function _ZN5rfmod8fmod_sys3Sys19get_record_position17he76d300d7caf98d2E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_RecordStart referenced in function _ZN5rfmod8fmod_sys3Sys12start_record17h77408b38e3d55d81E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_RecordStop referenced in function _ZN5rfmod8fmod_sys3Sys11stop_record17h71855a2b2ea029a6E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_IsRecording referenced in function _ZN5rfmod8fmod_sys3Sys12is_recording17h6eb6a33e1a0d0d92E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_CreateGeometry referenced in function _ZN5rfmod8fmod_sys3Sys15create_geometry17h8996182cff00a24dE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_SetGeometrySettings referenced in function _ZN5rfmod8fmod_sys3Sys21set_geometry_settings17h94fe2321002d4ed7E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_GetGeometrySettings referenced in function _ZN5rfmod8fmod_sys3Sys21get_geometry_settings17h83615e872eb1f98dE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_GetGeometryOcclusion referenced in function _ZN5rfmod8fmod_sys3Sys22get_geometry_occlusion17h2936f7ccf17cb534E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_GetMemoryInfo referenced in function _ZN5rfmod8fmod_sys3Sys15get_memory_info17h0a6556e248685fceE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_SetFileSystem referenced in function _ZN5rfmod8fmod_sys3Sys15set_file_system17hffbe6203a5721a3dE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_DSP_GetUserData referenced in function _ZN5rfmod3dsp15create_callback17hc61309479925c436E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_DSP_GetSystemObject referenced in function _ZN5rfmod3dsp3Dsp17get_system_object17h21fa27ca4ecba7a0E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_DSP_Release referenced in function _ZN5rfmod3dsp3Dsp7release17h9a0dbc37c0c321a8E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_System_PlayDSP referenced in function _ZN5rfmod3dsp3Dsp4play17ha8db9f500c628ef9E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_DSP_AddInput referenced in function _ZN5rfmod3dsp3Dsp9add_input17hb154196fb4555fafE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_DSP_DisconnectFrom referenced in function _ZN5rfmod3dsp3Dsp15disconnect_from17h485d9062bf8b0807E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_DSP_DisconnectAll referenced in function _ZN5rfmod3dsp3Dsp14disconnect_all17h45bd4184d606bcdcE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_DSP_Remove referenced in function _ZN5rfmod3dsp3Dsp6remove17h6875aeef36ffcb6fE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_DSP_GetNumInputs referenced in function _ZN5rfmod3dsp3Dsp14get_num_inputs17h94eeaf32f5a7741cE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_DSP_GetNumOutputs referenced in function _ZN5rfmod3dsp3Dsp15get_num_outputs17h6d92ef1c8d3bb0aaE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_DSP_GetInput referenced in function _ZN5rfmod3dsp3Dsp9get_input17h1e76d16b04dd4413E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_DSP_GetOutput referenced in function _ZN5rfmod3dsp3Dsp10get_output17h39733eb2e0e0151fE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_DSP_SetActive referenced in function _ZN5rfmod3dsp3Dsp10set_active17h658b9ef6f1f643b9E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_DSP_GetActive referenced in function _ZN5rfmod3dsp3Dsp10get_active17h795c3e2df39fc3a8E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_DSP_SetBypass referenced in function _ZN5rfmod3dsp3Dsp10set_bypass17h9179be43a77fe0a1E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_DSP_GetBypass referenced in function _ZN5rfmod3dsp3Dsp10get_bypass17he4c4b7b60df6ddc4E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_DSP_SetSpeakerActive referenced in function _ZN5rfmod3dsp3Dsp18set_speaker_active17h37ad38ad3613f9e8E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_DSP_GetSpeakerActive referenced in function _ZN5rfmod3dsp3Dsp18get_speaker_active17hfecee1acde8a1ec5E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_DSP_Reset referenced in function _ZN5rfmod3dsp3Dsp5reset17he22c2918573c0581E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_DSP_SetParameter referenced in function _ZN5rfmod3dsp3Dsp13set_parameter17h305f64f827602a63E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_DSP_GetParameter referenced in function _ZN5rfmod3dsp3Dsp13get_parameter17hb2dac2f8c5bad986E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_DSP_GetNumParameters referenced in function _ZN5rfmod3dsp3Dsp18get_num_parameters17h1931dfa5f7daf872E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_DSP_GetParameterInfo referenced in function _ZN5rfmod3dsp3Dsp18get_parameter_info17h6c404f2f05271b84E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_DSP_GetInfo referenced in function _ZN5rfmod3dsp3Dsp8get_info17h7d48906df30ac356E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_DSP_SetDefaults referenced in function _ZN5rfmod3dsp3Dsp12set_defaults17h4a4abc6ef0e0ad59E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_DSP_GetType referenced in function _ZN5rfmod3dsp3Dsp8get_type17ha57e1d2b6839a9b5E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_DSP_GetDefaults referenced in function _ZN5rfmod3dsp3Dsp12get_defaults17hf045a54a53436ce4E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_DSP_GetMemoryInfo referenced in function _ZN5rfmod3dsp3Dsp15get_memory_info17hb53a4280512d7014E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_DSPConnection_GetInput referenced in function _ZN5rfmod14dsp_connection13DspConnection9get_input17he147823dc59e9d20E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_DSPConnection_GetOutput referenced in function _ZN5rfmod14dsp_connection13DspConnection10get_output17h28a806ca3cf727abE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_DSPConnection_SetMix referenced in function _ZN5rfmod14dsp_connection13DspConnection7set_mix17h064022267dc2aa1bE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_DSPConnection_GetMix referenced in function _ZN5rfmod14dsp_connection13DspConnection7get_mix17hccd05b7d73d79bbfE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_DSPConnection_SetLevels referenced in function _ZN5rfmod14dsp_connection13DspConnection10set_levels17h21694d9909567236E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_DSPConnection_GetLevels referenced in function _ZN5rfmod14dsp_connection13DspConnection10get_levels17hd04c4c7865d3b192E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_DSPConnection_GetMemoryInfo referenced in function _ZN5rfmod14dsp_connection13DspConnection15get_memory_info17haa465aa5503db91dE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Geometry_Release referenced in function _ZN5rfmod8geometry8Geometry7release17h52f5070e60713736E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Geometry_AddPolygon referenced in function _ZN5rfmod8geometry8Geometry11add_polygon17h7c222f6298fe3a05E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Geometry_GetNumPolygons referenced in function _ZN5rfmod8geometry8Geometry16get_num_polygons17h709c77e3a23bf95bE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Geometry_GetMaxPolygons referenced in function _ZN5rfmod8geometry8Geometry16get_max_polygons17h0fe6d7e6e67b0969E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Geometry_GetPolygonNumVertices referenced in function _ZN5rfmod8geometry8Geometry24get_polygon_num_vertices17hc9f5ed9a3fce9b1fE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Geometry_SetPolygonVertex referenced in function _ZN5rfmod8geometry8Geometry18set_polygon_vertex17h3f8a591c90e97d97E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Geometry_GetPolygonVertex referenced in function _ZN5rfmod8geometry8Geometry18get_polygon_vertex17h46747f8f602b17eaE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Geometry_SetPolygonAttributes referenced in function _ZN5rfmod8geometry8Geometry22set_polygon_attributes17h314f023368f5a1f3E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Geometry_GetPolygonAttributes referenced in function _ZN5rfmod8geometry8Geometry22get_polygon_attributes17h61236b05a9faa8b9E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Geometry_SetActive referenced in function _ZN5rfmod8geometry8Geometry10set_active17ha8e210d78c36bbf7E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Geometry_GetActive referenced in function _ZN5rfmod8geometry8Geometry10get_active17h6e2fca659f966414E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Geometry_SetRotation referenced in function _ZN5rfmod8geometry8Geometry12set_rotation17he65f79932cddeecaE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Geometry_GetRotation referenced in function _ZN5rfmod8geometry8Geometry12get_rotation17hb31076dc8ab78d51E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Geometry_SetPosition referenced in function _ZN5rfmod8geometry8Geometry12set_position17hddcad222384204e5E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Geometry_GetPosition referenced in function _ZN5rfmod8geometry8Geometry12get_position17h5153248fdf5fd66cE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Geometry_SetScale referenced in function _ZN5rfmod8geometry8Geometry9set_scale17hdcbf5d84e5c48659E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Geometry_GetScale referenced in function _ZN5rfmod8geometry8Geometry9get_scale17h1b2b22faad54c6a3E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Geometry_GetMemoryInfo referenced in function _ZN5rfmod8geometry8Geometry15get_memory_info17h90c2095e003e1c27E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Reverb_Release referenced in function _ZN5rfmod6reverb6Reverb7release17h1722129f8bea0c22E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Reverb_Set3DAttributes referenced in function _ZN5rfmod6reverb6Reverb17set_3D_attributes17ha43f3788a8f7c776E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Reverb_Get3DAttributes referenced in function _ZN5rfmod6reverb6Reverb17get_3D_attributes17hbf8f3492352a7f82E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Reverb_SetProperties referenced in function _ZN5rfmod6reverb6Reverb14set_properties17hf936303edf402510E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Reverb_GetProperties referenced in function _ZN5rfmod6reverb6Reverb14get_properties17h2b8b239384b10b56E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Reverb_SetActive referenced in function _ZN5rfmod6reverb6Reverb10set_active17h7a7976b751a4835fE
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Reverb_GetActive referenced in function _ZN5rfmod6reverb6Reverb10get_active17h2bf3e2f290b16772E
    rfmod.0.o : error LNK2019: unresolved external symbol FMOD_Reverb_GetMemoryInfo referenced in function _ZN5rfmod6reverb6Reverb15get_memory_info17h3f03385ce1868660E
    C:\src\rust\rust-music-player\lib\rust-fmod\target\debug\deps\rfmod.dll : fatal error LNK1120: 302 unresolved externals
    
    
    error: aborting due to previous error
    
    error: Could not compile `fmod`.
    
    To learn more, run the command again with --verbose.
    
    
    opened by 7dir 2
  • Use from_utf8_lossy() since fmod does not return proper UTF8 in some cases

    Use from_utf8_lossy() since fmod does not return proper UTF8 in some cases

    This is a workaround for #22

    fmod does not return proper UTF-8 on some systems, e.g. when one of the drivers has a German umlaut in their name (e.g. "Kopfhörer"). This PR uses lossy UTF-8 decoding to work around this issue.

    opened by ghtyrant 1
  • Fix temporary CString lifetimes in CreateSoundexInfo conversion

    Fix temporary CString lifetimes in CreateSoundexInfo conversion

    FMOD_CREATESOUNDEXINFO was being initialized with temporary CStrings which were freed before the function returns. Because of this, specifying a DLS file with dls_name would always fail. This patch moves the CStrings into the CreateSoundexInfo structure as private fields so they will at least live as long as the original structure is not modified.

    opened by spearman 1
  • Create sound with CreateSoundexInfo argument fails with InvalidParameter

    Create sound with CreateSoundexInfo argument fails with InvalidParameter

    The two examples that use the exinfo parameter both fail (recording.rs and user_created_sound.rs).

    Passing the default soundex info also fails:

    let mut default_soundex_info = CreateSoundexInfo::default();
    let sound = sys.create_sound (
        "foo.wav",
        Some (Mode (_3D | SOFTWARE)),
        Some (&mut default_soundex_info)).unwrap();  // Err (InvalidParam)
    
    opened by spearman 1
  • convert filename to null terminated C-style string before passing to FMOD_System_CreateSound. Prevents FileNotFound Error due and/or possible segfault due to buffer overrun

    convert filename to null terminated C-style string before passing to FMOD_System_CreateSound. Prevents FileNotFound Error due and/or possible segfault due to buffer overrun

    rust str is not null terminated! this fixes the crash I was complaining about recently. I am pretty sure there are other places where the same mistake exists, but I only fixed the one that was bothering me

    opened by DanielCollins 1
  • Refactoring of the API to be more FMOD like as well as updating the crate?

    Refactoring of the API to be more FMOD like as well as updating the crate?

    Two questions:

    1. Will this crate ever be updated? Is it maintained? FMOD is already at version 2.00.03 and I don't want to be stuck using an ancient version of FMOD or FMODEX.
    2. Why isn't the API more like the FMOD C++ API? Yes, I get that this is rust and not everything can be made C++-ish, but I would expect the function names (and arguments, to an extent) to closely follow the FMOD core API so that new users of this crate don't need to figure out function equivalents in the crate.
    opened by ethindp 2
Owner
Guillaume Gomez
Opensource lover. Rustdoc team leader, member of the Rust tool, documentation and docs.rs teams, GNOME foundation member.
Guillaume Gomez
Rust audio playback library

Audio playback library Rust playback library. Playback is handled by cpal. MP3 decoding is handled by minimp3. WAV decoding is handled by hound. Vorbi

null 1.2k Jan 1, 2023
Rust bindings for the soloud audio engine library

soloud-rs A crossplatform Rust bindings for the soloud audio engine library. Supported formats: wav, mp3, ogg, flac. The library also comes with a spe

Mohammed Alyousef 38 Dec 8, 2022
Symphonia is a pure Rust audio decoding and media demuxing library supporting AAC, FLAC, MP3, MP4, OGG, Vorbis, and WAV.

Pure Rust multimedia format demuxing, tag reading, and audio decoding library

Philip Deljanov 1k Jan 2, 2023
Rust Sound Synthesis Library

Oscen Oscen [“oh-sin”] is a library for building modular synthesizers in Rust. It contains a collection of components frequently used in sound synthes

Reed Rosenbluth 104 Nov 2, 2022
A wav encoding and decoding library in Rust

Hound A wav encoding and decoding library in Rust. Hound can read and write the WAVE audio format, an ubiquitous format for raw, uncompressed audio. T

Ruud van Asseldonk 345 Dec 27, 2022
Small music theory library with MIDI capabilities written in Rust

mumuse Small music theory library with MIDI capabilities written in Rust (wip). Examples Creating notes and transpositions // Declare Note from &str l

Alexis LOUIS 4 Jul 27, 2022
ears is a simple library to play Sounds and Musics in Rust

ears ears is a simple library to play Sounds and Musics in Rust. ears is build on the top of OpenAL and libsndfile. Provides an access to the OpenAL s

Jeremy Letang 56 Dec 1, 2022
A low-overhead and adaptable audio playback library for Rust

Awedio   A low-overhead and adaptable audio playback library for Rust. Examples Play a single sound file: let (mut manager, backend) = awedio::start()

10 Buttons 20 May 25, 2023
A song analysis library for making playlists

bliss-rs is the Rust improvement of bliss, a library used to make playlists by analyzing songs, and computing distance between them.

null 49 Dec 25, 2022
A library for constructing Groth-Sahai proofs using pre-built wrappers

Groth-Sahai Wrappers A Rust library containing wrappers that facilitate the construction of non-interactive witness-indistinguishable and zero-knowled

Jacob White 1 Mar 7, 2022
Flutter crossplatform audio playback library powered by golang beep & oto

Rowdy Pure Rust based Dart/Flutter audio playback library Installation $ flutter pub add rowdy Configuration You'll need the Rust toolchain installed

Kingkor Roy Tirtho 3 Aug 31, 2022
A library and application for lossless, format-preserving, two-pass optimization and repair of Vorbis data, reducing its size without altering any audio information.

OptiVorbis A library and application for lossless, format-preserving, two-pass optimization and repair of Vorbis data, reducing its size without alter

OptiVorbis 27 Jan 3, 2023
A CLI and library to convert data to sound, and vice versa (dependency-free)

Data to sound A simple crate to convert data to sound, and sound to data. The sound file format is wave (.wav). You can use it as a library or as a co

Awiteb 8 Feb 28, 2023
TinyAudio is a cross-platform audio output library

TinyAudio TinyAudio is a cross-platform audio output library. Its main goal to provide unified access to a default sound output device of your operati

Dmitry Stepanov 39 Apr 4, 2023
Spotify for the terminal written in Rust 🚀

Spotify TUI A Spotify client for the terminal written in Rust. The terminal in the demo above is using the Rigel theme. Spotify TUI Installation Homeb

Alexander Keliris 14.1k Jan 1, 2023
Easy Api in Rust to play Sounds

ears ears is a simple library to play sounds and music in Rust. Provides an access to the OpenAL spatialization functionality in a simple way. Accepts

Jan Niklas Hasse 82 Jan 1, 2023
Idiomatic Rust bindings for OpenAL 1.1 and extensions (including EFX).

alto alto provides idiomatic Rust bindings for OpenAL 1.1 and extensions (including EFX). WARNING Because Alto interacts with global C state via dynam

null 80 Aug 7, 2022
High-level PortMidi bindings and wrappers for Rust

portmidi-rs High-level PortMidi bindings for Rust. PortMidi website: http://portmedia.sourceforge.net/portmidi/ Installation Add this to your Cargo.to

Philippe Delrieu 69 Dec 1, 2022
PortAudio bindings and wrappers for Rust.

rust-portaudio PortAudio bindings and wrappers for Rust. PortAudio is a free, cross-platform, open-source, audio I/O library. rust-portaudio is still

null 331 Dec 23, 2022