8#include "dsp/hardware_audio_interface.h"
10#include <juce_wrapper.h>
23 explicit JuceHardwareAudioInterface (
24 std::shared_ptr<juce::AudioDeviceManager> device_manager);
26 ~JuceHardwareAudioInterface ()
override;
40 static std::unique_ptr<IHardwareAudioInterface>
41 create (std::shared_ptr<juce::AudioDeviceManager> device_manager);
44 std::shared_ptr<juce::AudioDeviceManager> device_manager_;
Abstraction for hardware audio interface.
static std::unique_ptr< IHardwareAudioInterface > create(std::shared_ptr< juce::AudioDeviceManager > device_manager)
Creates a JUCE-based hardware audio interface.
void remove_audio_callback(juce::AudioIODeviceCallback *callback) override
Removes an audio callback.
juce::AudioWorkgroup get_device_audio_workgroup() const override
Returns the audio workgroup for the current device (if available).
nframes_t get_block_length() const override
Returns the current block length (buffer size) in frames.
units::sample_rate_t get_sample_rate() const override
Returns the current sample rate.
void add_audio_callback(juce::AudioIODeviceCallback *callback) override
Adds an audio callback to receive audio I/O events.
uint32_t nframes_t
Frame count.