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(crate) mod ep;
9 pub mod splitter;
10}
11
12pub mod model {
13 pub mod model_manager;
14 pub mod registry;
15}
16
17pub mod io {
18 pub mod crypto;
19 pub(crate) mod ep_cache;
20 pub mod net;
21 pub mod paths;
22 pub mod progress;
23}
24
25pub use crate::core::splitter::split_file;
27pub use crate::io::progress::{
28 set_download_progress_callback, set_split_progress_callback, SplitProgress,
29};
30pub use crate::model::model_manager::{ensure_model, ModelHandle};
31pub use crate::types::{AudioData, ModelManifest, SplitOptions, SplitResult};
32
33pub fn prepare_model(model_name: &str, manifest_url_override: Option<&str>) -> error::Result<()> {
34 let handle = ensure_model(model_name, manifest_url_override)?;
35 crate::core::engine::preload(&handle)?;
36 Ok(())
37}