stem_splitter_core/
lib.rs1mod error;
2mod types;
3
4pub mod core {
5 pub mod audio;
6 pub mod dsp;
7 pub mod engine;
8 pub mod splitter;
9}
10
11pub mod model {
12 pub mod model_manager;
13 pub mod registry;
14}
15
16pub mod io {
17 pub mod crypto;
18 pub mod net;
19 pub mod paths;
20 pub mod progress;
21}
22
23pub use crate::core::splitter::split_file;
25pub use crate::io::progress::{
26 set_download_progress_callback, set_split_progress_callback, SplitProgress,
27};
28pub use crate::model::model_manager::{ensure_model, ModelHandle};
29pub use crate::types::{AudioData, ModelManifest, SplitOptions, SplitResult};
30
31pub fn prepare_model(model_name: &str, manifest_url_override: Option<&str>) -> error::Result<()> {
32 let handle = ensure_model(model_name, manifest_url_override)?;
33 crate::core::engine::preload(&handle)?;
34 Ok(())
35}