pub mod filter;
pub mod hdf;
pub mod reader;
mod sofa;
#[cfg(feature = "dsp")]
pub mod render;
#[cfg(test)]
mod tests {
use super::*;
use reader::{Filter, Sofar};
#[test]
fn open_test() {
let cwd = std::path::PathBuf::from(env!("CARGO_MANIFEST_DIR"));
std::env::set_current_dir(cwd).unwrap();
let sofa = Sofar::open("libmysofa-sys/libmysofa/tests/tester.sofa").unwrap();
let filt_len = sofa.filter_len();
let mut filter = Filter::new(filt_len);
sofa.filter(0.0, 1.0, 0.0, &mut filter);
}
#[test]
fn open_data_test() {
let cwd = std::path::PathBuf::from(env!("CARGO_MANIFEST_DIR"));
std::env::set_current_dir(cwd).unwrap();
let data = std::fs::read("libmysofa-sys/libmysofa/tests/tester.sofa").unwrap();
let sofa = Sofar::open_data(&data).unwrap();
let filt_len = sofa.filter_len();
let mut filter = Filter::new(filt_len);
sofa.filter(0.0, 1.0, 0.0, &mut filter);
}
#[test]
fn debug_tu_berlin() {
let cwd = std::path::PathBuf::from(env!("CARGO_MANIFEST_DIR"));
std::env::set_current_dir(&cwd).unwrap();
let path = "libmysofa-sys/libmysofa/tests/TU-Berlin_QU_KEMAR_anechoic_radius_0.5m.sofa";
let data = std::fs::read(path).unwrap();
match hdf::parse(&data) {
Ok(obj) => {
assert_eq!(obj.name, "root");
}
Err(e) => {
panic!("Parse failed: {:?}", e);
}
}
}
}