duration is beats not repeat

This commit is contained in:
2026-03-11 13:04:18 -06:00
parent b2095c4229
commit 5f149414b2

View File

@@ -4,12 +4,14 @@ use crate::syn;
pub struct SynSeq {
seq: Seq,
syn: syn::Syn,
state: Option<tone::Tone>,
}
pub fn new_syn(syn: syn::Syn) -> SynSeq {
SynSeq{
seq: new(),
syn: syn,
state: None,
}
}
@@ -19,9 +21,15 @@ impl SynSeq {
}
pub fn render(&mut self, left: &mut [f32], right: &mut [f32]) {
if let Some(tone) = self.seq.pop() {
self.syn.set(tone);
}
let state = self.state.clone();
match self.seq.pop() {
Some(tone) if (state.is_none() || tone != state.unwrap()) => {
self.syn.set(tone.clone());
self.state = Some(tone);
},
None => { self.state = None; },
_ => {},
};
self.syn.render(left, right);
}