Use Xrun error instead of panic
This commit is contained in:
parent
8360429954
commit
4065b274f5
@ -113,7 +113,7 @@ impl Metronome {
|
||||
// Verify only one beat was missed
|
||||
let beat_after_next = next_beat_frame.wrapping_add(self.frames_per_beat as u32);
|
||||
if beat_after_next <= missed_end {
|
||||
panic!("Multiple beats missed during xrun");
|
||||
return Err(LooperError::Xrun(std::panic::Location::caller()));
|
||||
}
|
||||
|
||||
beat_in_missed = Some((next_beat_frame - missed_start) as u32);
|
||||
@ -539,7 +539,6 @@ mod tests {
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[should_panic(expected = "Multiple beats missed during xrun")]
|
||||
fn test_multiple_beats_in_xrun_panics() {
|
||||
let mut metronome = create_test_metronome(50); // Fast tempo
|
||||
let (osc, _osc_rx) = create_osc_controller();
|
||||
@ -553,7 +552,7 @@ mod tests {
|
||||
|
||||
// Jump from frame 25 to frame 200, missing multiple beats
|
||||
let mut backend = create_mock_audio_backend(10, 200, &audio_input, &mut audio_output, &mut click_output);
|
||||
metronome.process(&mut backend, &osc).unwrap();
|
||||
assert!(metronome.process(&mut backend, &osc).is_err());
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user