groovebox: reenable sampler record_finish
Some checks are pending
/ build (push) Waiting to run

This commit is contained in:
🪞👃🪞 2025-05-10 16:38:00 +03:00
parent 5648c96c6a
commit fb99128650
2 changed files with 18 additions and 17 deletions

View file

@ -3,3 +3,4 @@
(@left sampler select :sample-to-left)
(@right sampler select :sample-to-right)
(@r sampler record-toggle :sample-selected)
(@shift-R sampler record-cancel)

View file

@ -55,7 +55,7 @@ impl Sampler {
impl SamplerCommand {
fn record_toggle (sampler: &mut Sampler, sample: usize) -> Perhaps<Self> {
if sampler.recording.is_some() {
Self::record_cancel(sampler)
Self::record_finish(sampler)
} else {
Self::record_begin(sampler, sample)
}
@ -72,6 +72,17 @@ impl SamplerCommand {
));
Ok(None)
}
fn record_finish (sampler: &mut Sampler) -> Perhaps<Self> {
let recording = sampler.recording.take();
let _sample = if let Some((index, sample)) = recording {
let old = sampler.mapped[index].clone();
sampler.mapped[index] = Some(sample);
old
} else {
None
};
Ok(None)
}
fn record_cancel (sampler: &mut Sampler) -> Perhaps<Self> {
sampler.recording = None;
Ok(None)
@ -86,17 +97,6 @@ impl SamplerCommand {
//self.mapped[i] = sample;
//Some(Self::Set(old))
//}
//fn record_finish (&self, state: &mut Sampler) -> Option<Self> {
//let recording = self.recording.take();
//let _sample = if let Some((index, sample)) = recording {
//let old = self.mapped[index].clone();
//self.mapped[index] = Some(sample);
//old
//} else {
//None
//};
//None
//}
//fn set_start (&self, state: &mut Sampler, pitch: u7, frame: usize) -> Option<Self> {
//todo!()
//}