break into words but keep more stream head/tail tiebreaking
parent
eee0bf5e65
commit
8603f20a24
10
src/main.rs
10
src/main.rs
|
|
@ -219,7 +219,7 @@ impl Whispered {
|
||||||
let t = (end as f32) - *t;
|
let t = (end as f32) - *t;
|
||||||
self.data
|
self.data
|
||||||
.iter()
|
.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()));
|
.for_each(|x| result.data.push(x.clone()));
|
||||||
eprintln!("before {}: {:?} => {:?}", t, &self.data, &result.data);
|
eprintln!("before {}: {:?} => {:?}", t, &self.data, &result.data);
|
||||||
result
|
result
|
||||||
|
|
@ -236,7 +236,13 @@ impl Whispered {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn push(&mut self, data: String, start: i64, stop: i64) {
|
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));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue