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
|
// Verify only one beat was missed
|
||||||
let beat_after_next = next_beat_frame.wrapping_add(self.frames_per_beat as u32);
|
let beat_after_next = next_beat_frame.wrapping_add(self.frames_per_beat as u32);
|
||||||
if beat_after_next <= missed_end {
|
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);
|
beat_in_missed = Some((next_beat_frame - missed_start) as u32);
|
||||||
@ -539,7 +539,6 @@ mod tests {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
#[should_panic(expected = "Multiple beats missed during xrun")]
|
|
||||||
fn test_multiple_beats_in_xrun_panics() {
|
fn test_multiple_beats_in_xrun_panics() {
|
||||||
let mut metronome = create_test_metronome(50); // Fast tempo
|
let mut metronome = create_test_metronome(50); // Fast tempo
|
||||||
let (osc, _osc_rx) = create_osc_controller();
|
let (osc, _osc_rx) = create_osc_controller();
|
||||||
@ -553,7 +552,7 @@ mod tests {
|
|||||||
|
|
||||||
// Jump from frame 25 to frame 200, missing multiple beats
|
// 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);
|
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]
|
#[test]
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user