From 6c0b918612295507917701dd2866768ef9467371 Mon Sep 17 00:00:00 2001 From: Bel LaPointe <153096461+breel-render@users.noreply.github.com> Date: Fri, 13 Mar 2026 11:41:36 -0600 Subject: [PATCH] ew cant async because rust reaps thread running tinyaudio need holder --- src/main.rs | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/src/main.rs b/src/main.rs index 2a464e6..6ef66ca 100644 --- a/src/main.rs +++ b/src/main.rs @@ -30,17 +30,40 @@ fn play_with_flags(flags: &flags::Flags) { )); let mut i = 0; - let mut sync = true; for p in flags.play.iter() { for p in play::new(p.clone()) { syn_seq.append(i as i32, p); i += 1; } } - if i == 0 { - sync = false; - let s: String = prompt!("> ").parse().expect("failed to readline"); - panic!("not impl"); + + let sync = i > 0; + if !sync { + let mut to_break = false; + let mut payload = vec![]; + loop { + let mut s: String = prompt!("> ").parse().expect("failed to readline"); + s = s.split_whitespace().join(" "); + payload.push(s.clone()); + match s.as_ref() { + "" => match to_break { + false => { + to_break = true; + } + true => { + break; + } + }, + _ => { + to_break = false; + } + }; + } + + for p in play::new(payload.join("\n")) { + syn_seq.append(i as i32, p); + i += 1; + } } play(syn_seq, flags.sample_rate, flags.bpm, sync);