gui_integration/
gui_integration.rs1use memo_stt::SttEngine;
11
12fn handle_record_button_click(
13 engine: &mut SttEngine,
14) -> Result<String, Box<dyn std::error::Error>> {
15 let samples = capture_audio()?;
16 let text = engine.transcribe(&samples)?;
17 Ok(text)
18}
19
20fn setup_realtime_transcription() -> Result<SttEngine, Box<dyn std::error::Error>> {
21 let engine = SttEngine::new_default(16000)?;
22 engine.warmup()?;
23 Ok(engine)
24}
25
26fn capture_audio() -> Result<Vec<i16>, Box<dyn std::error::Error>> {
27 Ok(vec![0i16; 16_000])
31}
32
33fn main() -> Result<(), Box<dyn std::error::Error>> {
34 let mut engine = setup_realtime_transcription()?;
35 let _ = handle_record_button_click(&mut engine);
36
37 println!("GUI integration sketch — see source for patterns:");
38 println!(" 1. Create SttEngine once, reuse for many transcriptions.");
39 println!(" 2. Call warmup() after construction.");
40 println!(" 3. Call transcribe() off the UI thread.");
41 Ok(())
42}