(
&mut self,
block_frames: usize,
sample_rate: NonZeroU32,
sample_rate_recip: f64,
clock_samples: InstantSamples,
total_cpu_seconds_recip: f64,
| 259 | |
| 260 | #[expect(clippy::too_many_arguments, reason = "Function needs many arguments")] |
| 261 | fn process_block( |
| 262 | &mut self, |
| 263 | block_frames: usize, |
| 264 | sample_rate: NonZeroU32, |
| 265 | sample_rate_recip: f64, |
| 266 | clock_samples: InstantSamples, |
| 267 | total_cpu_seconds_recip: f64, |
| 268 | duration_since_stream_start: Duration, |
| 269 | stream_status: StreamStatus, |
| 270 | dropped_frames: u32, |
| 271 | process_to_playback_delay: Option<Duration>, |
| 272 | #[cfg(feature = "musical_transport")] proc_transport_info: &ProcTransportInfo, |
| 273 | ) { |
| 274 | if self.schedule_data.is_none() { |
| 275 | return; |
| 276 | } |
| 277 | let schedule_data = self.schedule_data.as_mut().unwrap(); |
| 278 | |
| 279 | // -- Prepare process info ------------------------------------------------------------ |
| 280 | |
| 281 | #[cfg(feature = "musical_transport")] |
| 282 | let transport_info = self |
| 283 | .proc_transport_state |
| 284 | .transport_info(proc_transport_info); |
| 285 | |
| 286 | let mut info = ProcInfo { |
| 287 | frames: block_frames, |
| 288 | in_silence_mask: SilenceMask::default(), |
| 289 | out_silence_mask: SilenceMask::default(), |
| 290 | in_constant_mask: ConstantMask::default(), |
| 291 | out_constant_mask: ConstantMask::default(), |
| 292 | in_connected_mask: ConnectedMask::default(), |
| 293 | out_connected_mask: ConnectedMask::default(), |
| 294 | sample_rate, |
| 295 | sample_rate_recip, |
| 296 | clock_samples, |
| 297 | total_cpu_seconds_recip, |
| 298 | duration_since_stream_start, |
| 299 | stream_status, |
| 300 | dropped_frames, |
| 301 | process_to_playback_delay, |
| 302 | did_just_unbypass: false, |
| 303 | #[cfg(feature = "scheduled_events")] |
| 304 | last_marker_instant: InstantSamples(0), |
| 305 | #[cfg(feature = "musical_transport")] |
| 306 | transport_info, |
| 307 | }; |
| 308 | |
| 309 | let force_clear_buffers = self.flags.contains(FirewheelBitFlags::FORCE_CLEAR_BUFFERS); |
| 310 | |
| 311 | // -- Find scheduled events that have elapsed this block ------------------------------ |
| 312 | |
| 313 | #[cfg(feature = "scheduled_events")] |
| 314 | self.event_scheduler |
| 315 | .prepare_process_block(&info, &mut self.nodes); |
| 316 | |
| 317 | // -- Audio graph node processing closure --------------------------------------------- |
| 318 |
no test coverage detected