Skip to main content

sim_lib_view_codec/
cookbook.rs

1//! Deterministic cookbook builders for codec view recipes.
2
3use sim_kernel::Expr;
4
5use crate::{ProbeResult, sysex_comparison_view};
6
7/// Build the multi-codec probe Scene used by the cookbook recipe.
8pub fn multicodec_demo() -> Expr {
9    let probe = ProbeResult::lossless("(quote sysex-demo)");
10    let scene = sysex_comparison_view(
11        "f0 43 10 4c 00 f7",
12        &[0xf0, 0x43, 0x10, 0x4c, 0x00, 0xf7],
13        "(midi/sysex [0x43 0x10 0x4c 0x00])",
14        &probe,
15    );
16    debug_assert!(sim_lib_scene::validate_scene(&scene).is_ok());
17    scene
18}
19
20#[cfg(test)]
21mod tests {
22    use super::*;
23
24    #[test]
25    fn multicodec_demo_is_a_valid_scene() {
26        sim_lib_scene::validate_scene(&multicodec_demo()).expect("codec scene validates");
27    }
28}