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)); + } } }