Skip to main content

sim_lib_stream_file/
lib.rs

1#![forbid(unsafe_code)]
2#![deny(missing_docs)]
3//! File-backed source and sink adapters for STREAM 6.
4//!
5//! The crate keeps host filesystem access behind explicit stream file
6//! capabilities and records each read or write as a KERNEL 6 filesystem effect.
7//! SMF support reuses the in-tree MIDI file codec; WAV support is limited to
8//! canonical little-endian PCM16 RIFF/WAVE because that is the PCM packet format
9//! implemented by the stream audio layer.
10
11mod cap;
12mod cassette;
13mod effect_io;
14mod midi;
15mod wav;
16
17pub use cap::{stream_file_read_capability, stream_file_write_capability};
18pub use cassette::{
19    cassette_expr_to_stream, cassette_to_stream, stream_to_cassette, stream_to_cassette_expr,
20    validate_cassette_fixture_path,
21};
22pub use midi::{
23    read_smf_stream, smf_bytes_to_stream, smf_file_to_stream, stream_to_smf_bytes,
24    stream_to_smf_file, write_smf_stream,
25};
26pub use wav::{
27    WavStream, pcm_buffers_to_wav_bytes, read_wav_stream, stream_to_wav_bytes, wav_bytes_to_stream,
28    write_wav_stream,
29};
30
31#[cfg(test)]
32mod tests;