1#[derive(Debug, thiserror::Error)]
6pub enum EngineError {
7 #[error("invalid input: position {position} {role}: cannot resample sample rate {actual_hz}")]
9 UnsupportedResamplingRate {
10 position: u32,
11 role: String,
12 actual_hz: u32,
13 },
14 #[error("invalid input: {0}")]
16 Input(String),
17 #[error(
19 "invalid input: position {position} {role}: sample rate {actual_hz} (expected {expected_hz})"
20 )]
21 MeasurementSampleRate {
22 position: u32,
23 role: String,
24 actual_hz: u32,
25 expected_hz: u32,
26 },
27 #[error("invalid input: position {position} {role}: empty or nonfinite IR")]
29 InvalidMeasurement { position: u32, role: String },
30 #[error("invalid input: position {position}: duplicate role {role}")]
32 DuplicateMeasurement { position: u32, role: String },
33 #[error("invalid input: missing main position")]
35 MissingReferencePosition { position: u32 },
36 #[error("invalid input: no measured main")]
38 MissingMainMeasurement { position: u32 },
39 #[error(transparent)]
41 Dsp(#[from] secs_dsp::DspError),
42 #[error("cancelled")]
44 Cancelled,
45}