fixed a bug in patch loading
This commit is contained in:
parent
72e2e21aa1
commit
bc97d238ec
2 changed files with 42 additions and 2 deletions
|
@ -356,11 +356,11 @@ impl NodeConfigurator {
|
||||||
&mut self, params: &[(ParamId, f32)], atoms: &[(ParamId, SAtom)])
|
&mut self, params: &[(ParamId, f32)], atoms: &[(ParamId, SAtom)])
|
||||||
{
|
{
|
||||||
for (param_id, val) in params.iter() {
|
for (param_id, val) in params.iter() {
|
||||||
self.param_values.insert(*param_id, *val);
|
self.set_param(*param_id, (*val).into());
|
||||||
}
|
}
|
||||||
|
|
||||||
for (param_id, val) in atoms.iter() {
|
for (param_id, val) in atoms.iter() {
|
||||||
self.atom_values.insert(*param_id, val.clone());
|
self.set_param(*param_id, val.clone());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1159,3 +1159,43 @@ fn check_node_sampl_1() {
|
||||||
let fft = run_and_get_fft4096(&mut node_exec, 800, 20.0);
|
let fft = run_and_get_fft4096(&mut node_exec, 800, 20.0);
|
||||||
assert_eq!(fft[0], (7127, 1029));
|
assert_eq!(fft[0], (7127, 1029));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn check_node_sampl_reload() {
|
||||||
|
{
|
||||||
|
let (node_conf, mut node_exec) = new_node_engine();
|
||||||
|
let mut matrix = Matrix::new(node_conf, 3, 3);
|
||||||
|
|
||||||
|
let smpl = NodeId::Sampl(0);
|
||||||
|
let out = NodeId::Out(0);
|
||||||
|
matrix.place(0, 0, Cell::empty(smpl)
|
||||||
|
.out(None, None, smpl.out("sig")));
|
||||||
|
matrix.place(0, 1, Cell::empty(out)
|
||||||
|
.input(out.inp("ch1"), None, None));
|
||||||
|
matrix.sync().unwrap();
|
||||||
|
|
||||||
|
let sample_p = smpl.inp_param("sample").unwrap();
|
||||||
|
let freq_p = smpl.inp_param("freq").unwrap();
|
||||||
|
matrix.set_param(sample_p, SAtom::audio_unloaded("tests/sample_sin.wav"));
|
||||||
|
|
||||||
|
hexodsp::save_patch_to_file(&mut matrix, "check_matrix_serialize.hxy")
|
||||||
|
.unwrap();
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
let (node_conf, mut node_exec) = new_node_engine();
|
||||||
|
let mut matrix = Matrix::new(node_conf, 3, 3);
|
||||||
|
|
||||||
|
hexodsp::load_patch_from_file(
|
||||||
|
&mut matrix, "check_matrix_serialize.hxy").unwrap();
|
||||||
|
|
||||||
|
|
||||||
|
let (rms, min, max) = run_and_get_l_rms_mimax(&mut node_exec, 50.0);
|
||||||
|
assert_float_eq!(rms, 0.505);
|
||||||
|
assert_float_eq!(min, -0.9998);
|
||||||
|
assert_float_eq!(max, 1.0);
|
||||||
|
|
||||||
|
let fft = run_and_get_fft4096(&mut node_exec, 800, 20.0);
|
||||||
|
assert_eq!(fft[0], (441, 940));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue