From 8603f20a2487ae9868c61b09b9a9df705e42f170 Mon Sep 17 00:00:00 2001 From: Bel LaPointe <153096461+breel-render@users.noreply.github.com> Date: Tue, 19 Dec 2023 09:51:11 -0500 Subject: [PATCH] break into words but keep more stream head/tail tiebreaking --- src/main.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main.rs b/src/main.rs index 6a8386a..fb03052 100644 --- a/src/main.rs +++ b/src/main.rs @@ -219,7 +219,7 @@ impl Whispered { let t = (end as f32) - *t; self.data .iter() - .filter(|x| ((x.offset + x.length) as f32) <= t) + .filter(|x| ((x.offset) as f32) <= t) .for_each(|x| result.data.push(x.clone())); eprintln!("before {}: {:?} => {:?}", t, &self.data, &result.data); result @@ -236,7 +236,13 @@ impl Whispered { } fn push(&mut self, data: String, start: i64, stop: i64) { - self.data.push(new_a_whispered(data, start, stop)); + let words: Vec<_> = data.split_whitespace().collect(); + let per_word = (stop - start) / (words.len() as i64); + for i in 0..words.len() { + let start = (i as i64) * per_word; + let stop = start.clone() + per_word; + self.data.push(new_a_whispered(words[i].to_string(), start, stop)); + } } }