Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
zrythm::engine::device_io::AudioEngine::AudioDriver Class Referenceabstract

Implementation that drives the audio callbacks. More...

#include <src/engine/device_io/engine.h>

Inheritance diagram for zrythm::engine::device_io::AudioEngine::AudioDriver:

Public Member Functions

virtual bool buffer_size_change_handled () const
 
virtual void set_buffer_size (uint32_t buf_size)
 
virtual void handle_buf_size_change (uint32_t frames)
 
virtual void handle_sample_rate_change (uint32_t samplerate)
 
virtual utils::Utf8String get_driver_name () const =0
 
virtual bool setup_audio ()=0
 Sets up the driver.
 
virtual bool activate_audio (bool activate)=0
 
virtual void tear_down_audio ()=0
 
virtual void handle_start ()
 
virtual void handle_stop ()
 
virtual void prepare_process_audio ()
 
virtual bool sanity_check_should_return_early (nframes_t total_frames_to_process)
 
virtual void handle_position_change ()
 
virtual std::unique_ptr< PortBackendcreate_audio_port_backend () const
 
virtual std::vector< ExtPortget_ext_audio_ports (dsp::PortFlow flow, bool hw) const
 Collects external ports of the given type.
 

Detailed Description

Implementation that drives the audio callbacks.

Definition at line 108 of file engine.h.

Member Function Documentation

◆ buffer_size_change_handled()

virtual bool zrythm::engine::device_io::AudioEngine::AudioDriver::buffer_size_change_handled ( ) const
inlinevirtual

Definition at line 112 of file engine.h.

◆ create_audio_port_backend()

virtual std::unique_ptr< PortBackend > zrythm::engine::device_io::AudioEngine::AudioDriver::create_audio_port_backend ( ) const
inlinevirtual

Definition at line 138 of file engine.h.

◆ get_ext_audio_ports()

virtual std::vector< ExtPort > zrythm::engine::device_io::AudioEngine::AudioDriver::get_ext_audio_ports ( dsp::PortFlow flow,
bool hw ) const
inlinevirtual

Collects external ports of the given type.

Parameters
flowThe signal flow. Note that this is inverse to what Zrythm sees. E.g., to get MIDI inputs like MIDI keyboards, pass Z_PORT_FLOW_OUTPUT here.
hwHardware or not.

Definition at line 151 of file engine.h.

◆ handle_buf_size_change()

virtual void zrythm::engine::device_io::AudioEngine::AudioDriver::handle_buf_size_change ( uint32_t frames)
inlinevirtual

Definition at line 114 of file engine.h.

◆ handle_position_change()

virtual void zrythm::engine::device_io::AudioEngine::AudioDriver::handle_position_change ( )
inlinevirtual

Definition at line 137 of file engine.h.

◆ handle_sample_rate_change()

virtual void zrythm::engine::device_io::AudioEngine::AudioDriver::handle_sample_rate_change ( uint32_t samplerate)
inlinevirtual

Definition at line 115 of file engine.h.

◆ handle_start()

virtual void zrythm::engine::device_io::AudioEngine::AudioDriver::handle_start ( )
inlinevirtual

Definition at line 126 of file engine.h.

◆ handle_stop()

virtual void zrythm::engine::device_io::AudioEngine::AudioDriver::handle_stop ( )
inlinevirtual

Definition at line 127 of file engine.h.

◆ prepare_process_audio()

virtual void zrythm::engine::device_io::AudioEngine::AudioDriver::prepare_process_audio ( )
inlinevirtual

Definition at line 129 of file engine.h.

◆ sanity_check_should_return_early()

virtual bool zrythm::engine::device_io::AudioEngine::AudioDriver::sanity_check_should_return_early ( nframes_t total_frames_to_process)
inlinevirtual

Definition at line 133 of file engine.h.

◆ set_buffer_size()

virtual void zrythm::engine::device_io::AudioEngine::AudioDriver::set_buffer_size ( uint32_t buf_size)
inlinevirtual

Definition at line 113 of file engine.h.

◆ setup_audio()

virtual bool zrythm::engine::device_io::AudioEngine::AudioDriver::setup_audio ( )
pure virtual

Sets up the driver.

Returns
True if the driver was successfully setup, false otherwise.

Implemented in zrythm::engine::device_io::DummyDriver.


The documentation for this class was generated from the following file: