16 using EngineProcessCallback = std::function<void (
17 std::span<const float * const> inputChannels,
18 std::span<float * const> outputChannels,
19 units::sample_u32_t numSamples)>;
20 using DeviceAboutToStartCallback = std::function<void ()>;
21 using DeviceStoppedCallback = std::function<void ()>;
24 EngineProcessCallback process_cb,
25 DeviceAboutToStartCallback device_about_to_start_cb,
26 DeviceStoppedCallback device_stopped_cb);
30 std::span<const float * const> input_channels,
31 std::span<float * const> output_channels,
32 units::sample_u32_t num_samples)
noexcept override;
35 void error (std::string_view error_message)
override;
38 EngineProcessCallback process_cb_;
39 std::optional<DeviceAboutToStartCallback> device_about_to_start_cb_;
40 std::optional<DeviceStoppedCallback> device_stopped_cb_;
void process_audio(std::span< const float *const > input_channels, std::span< float *const > output_channels, units::sample_u32_t num_samples) noexcept override
Called when the audio device wants to process a block of audio data.