Ardour  9.0-pre0-582-g084a23a80d
ARDOUR::AudioEngine Class Reference

#include <audioengine.h>

Inheritance diagram for ARDOUR::AudioEngine:
[legend]

Classes

class  NoBackendAvailable
 

Public Types

enum  LatencyMeasurement { MeasureNone , MeasureAudio , MeasureMIDI }
 
enum  TimingTypes { ProcessCallback = 0 , NTT = 1 }
 
- Public Types inherited from ARDOUR::PortManager
typedef std::map< std::string, std::shared_ptr< Port >, SortByPortNamePorts
 
typedef std::list< std::shared_ptr< Port > > PortList
 
typedef std::shared_ptr< CircularSampleBufferAudioPortScope
 
typedef std::shared_ptr< CircularEventBufferMIDIPortMonitor
 
typedef std::shared_ptr< DPMAudioPortMeter
 
typedef std::shared_ptr< MPMMIDIPortMeter
 
typedef std::map< std::string, AudioInputPort, SortByPortNameAudioInputPorts
 
typedef std::map< std::string, MIDIInputPort, SortByPortNameMIDIInputPorts
 

Public Member Functions

virtual ~AudioEngine ()
 
int discover_backends ()
 
std::vector< const AudioBackendInfo * > available_backends () const
 
std::string current_backend_name () const
 
std::shared_ptr< AudioBackendset_backend (const std::string &, const std::string &arg1, const std::string &arg2)
 
std::shared_ptr< AudioBackendcurrent_backend () const
 
bool setup_required () const
 
bool is_jack () const
 
ProcessThreadmain_thread () const
 
int start (bool for_latency_measurement=false)
 
int stop (bool for_latency_measurement=false)
 
int freewheel (bool start_stop)
 
float get_dsp_load () const
 
void transport_start ()
 
void transport_stop ()
 
TransportState transport_state ()
 
void transport_locate (samplepos_t pos)
 
samplepos_t transport_sample ()
 
samplecnt_t sample_rate () const
 
pframes_t samples_per_cycle () const
 
int usecs_per_cycle () const
 
size_t raw_buffer_size (DataType t)
 
samplepos_t sample_time ()
 
samplepos_t sample_time_at_cycle_start ()
 
pframes_t samples_since_cycle_start ()
 
bool get_sync_offset (pframes_t &offset) const
 
std::string get_last_backend_error () const
 
int create_process_thread (std::function< void()> func)
 
int join_process_threads ()
 
bool in_process_thread ()
 
uint32_t process_thread_count ()
 
int backend_reset_requested ()
 
void request_backend_reset ()
 
void request_device_list_update ()
 
void launch_device_control_app ()
 
bool is_reset_requested () const
 
int set_device_name (const std::string &)
 
int set_sample_rate (float)
 
int set_buffer_size (uint32_t)
 
int set_interleaved (bool yn)
 
int set_systemic_input_latency (uint32_t)
 
int set_systemic_output_latency (uint32_t)
 
bool freewheeling () const
 
bool running () const
 
std::string backend_id (bool for_input)
 
Glib::Threads::Mutex & process_lock ()
 
Glib::Threads::Mutex & latency_lock ()
 
int request_buffer_size (pframes_t samples)
 
samplecnt_t processed_samples () const
 
void set_session (Session *)
 
void remove_session ()
 
Sessionsession () const
 
void split_cycle (pframes_t offset)
 
int reset_timebase ()
 
void update_latencies ()
 
void died ()
 
int process_callback (pframes_t nframes)
 
int buffer_size_change (pframes_t nframes)
 
int sample_rate_change (pframes_t nframes)
 
void freewheel_callback (bool)
 
void timebase_callback (TransportState state, pframes_t nframes, samplepos_t pos, int new_position)
 
int sync_callback (TransportState state, samplepos_t position)
 
int port_registration_callback ()
 
void latency_callback (bool for_playback)
 
void halted_callback (const char *reason)
 
MTDMmtdm ()
 
MIDIDMmididm ()
 
int prepare_for_latency_measurement ()
 
int start_latency_detection (bool)
 
void stop_latency_detection ()
 
void set_latency_input_port (const std::string &)
 
void set_latency_output_port (const std::string &)
 
uint32_t latency_signal_delay () const
 
LatencyMeasurement measuring_latency () const
 
void reset_silence_countdown ()
 
void add_pending_port_deletion (Port *)
 
void queue_latency_update (bool)
 
- Public Member Functions inherited from ARDOUR::PortManager
 PortManager ()
 
virtual ~PortManager ()
 
PortEngineport_engine ()
 
uint32_t port_name_size () const
 
std::string my_name () const
 
size_t total_port_count () const
 
size_t session_port_count () const
 
void list_cycle_ports () const
 
void list_all_ports () const
 
std::shared_ptr< Portregister_input_port (DataType, const std::string &portname, bool async=false, PortFlags extra_flags=PortFlags(0))
 
std::shared_ptr< Portregister_output_port (DataType, const std::string &portname, bool async=false, PortFlags extra_flags=PortFlags(0))
 
int unregister_port (std::shared_ptr< Port >)
 
int connect (const std::string &source, const std::string &destination)
 
int disconnect (const std::string &source, const std::string &destination)
 
int disconnect (std::shared_ptr< Port >)
 
int disconnect (std::string const &)
 
int reestablish_ports ()
 
int reconnect_ports ()
 
bool connected (const std::string &)
 
bool physically_connected (const std::string &)
 
int get_connections (const std::string &, std::vector< std::string > &, bool process_context_safe=true)
 
std::shared_ptr< Portget_port_by_name (const std::string &)
 
void port_renamed (const std::string &, const std::string &)
 
std::string make_port_name_relative (const std::string &name) const
 
std::string make_port_name_non_relative (const std::string &name) const
 
std::string get_pretty_name_by_name (const std::string &portname) const
 
std::string get_hardware_port_name_by_name (const std::string &portname) const
 
std::string short_port_name_from_port_name (std::string const &full_name) const
 
bool port_is_mine (const std::string &fullname) const
 
bool port_is_physical (const std::string &) const
 
void get_physical_outputs (DataType type, std::vector< std::string > &, MidiPortFlags include=MidiPortFlags(0), MidiPortFlags exclude=MidiPortFlags(0))
 
void get_physical_inputs (DataType type, std::vector< std::string > &, MidiPortFlags include=MidiPortFlags(0), MidiPortFlags exclude=MidiPortFlags(0))
 
ChanCount n_physical_outputs () const
 
ChanCount n_physical_inputs () const
 
int get_ports (const std::string &port_name_pattern, DataType type, PortFlags flags, std::vector< std::string > &)
 
int get_ports (DataType, PortList &)
 
void set_port_pretty_name (std::string const &, std::string const &)
 
void remove_session_ports ()
 
void reinit (bool with_ratio=false)
 
void clear_pending_port_deletions ()
 
PBD::RingBuffer< Port * > & port_deletions_pending ()
 
bool check_for_ambiguous_latency (bool log=false) const
 
bool can_request_input_monitoring () const
 
void request_input_monitoring (const std::string &, bool) const
 
void ensure_input_monitoring (const std::string &, bool) const
 
void registration_callback ()
 
int graph_order_callback ()
 
void connect_callback (const std::string &, const std::string &, bool connection)
 
bool port_remove_in_progress () const
 
MidiPortFlags midi_port_metadata (std::string const &)
 
void get_configurable_midi_ports (std::vector< std::string > &, bool for_input)
 
void get_midi_selection_ports (std::vector< std::string > &)
 
void add_midi_port_flags (std::string const &, MidiPortFlags)
 
void remove_midi_port_flags (std::string const &, MidiPortFlags)
 
void reset_input_meters ()
 
AudioInputPorts audio_input_ports () const
 
MIDIInputPorts midi_input_ports () const
 
MonitorPortmonitor_port ()
 
- Public Member Functions inherited from ARDOUR::SessionHandlePtr
 SessionHandlePtr (ARDOUR::Session *s)
 
 SessionHandlePtr ()
 
virtual ~SessionHandlePtr ()
 

Static Public Member Functions

static AudioEnginecreate ()
 
static AudioEngineinstance ()
 
static void destroy ()
 
static bool thread_initialised_for_audio_processing ()
 
static void thread_init_callback (void *)
 
- Static Public Member Functions inherited from ARDOUR::PortManager
static void falloff_cache_calc (pframes_t, samplecnt_t)
 
static bool port_is_virtual_piano (std::string const &)
 
static bool port_is_control_only (std::string const &)
 
static bool port_is_physical_input_monitor_enable (std::string const &)
 

Public Attributes

PBD::Signal< void(pframes_t)> Freewheel
 
PBD::Signal< void()> Xrun
 
PBD::Signal< void(samplecnt_t)> SampleRateChanged
 
PBD::Signal< void(pframes_t)> BufferSizeChanged
 
PBD::Signal< void()> DeviceError
 
PBD::Signal< void()> DeviceListChanged
 
PBD::Signal< void(const char *)> Halted
 
PBD::Signal< void(uint32_t)> Running
 
PBD::Signal< void()> Stopped
 
PBD::Signal< void()> DeviceResetStarted
 
PBD::Signal< void()> DeviceResetFinished
 
PBD::Signal< void()> BecameSilent
 
PBD::TimingStats dsp_stats [NTT]
 
- Public Attributes inherited from ARDOUR::PortManager
PBD::Signal< void()> MidiSelectionPortsChanged
 
PBD::Signal< void()> MidiPortInfoChanged
 
PBD::Signal< void(std::string)> PortPrettyNameChanged
 
PBD::Signal< void()> GraphReordered
 
PBD::Signal< void()> PortRegisteredOrUnregistered
 
PBD::Signal< void(std::weak_ptr< Port >, std::string, std::weak_ptr< Port >, std::string, bool)> PortConnectedOrDisconnected
 
PBD::Signal< void(DataType, std::vector< std::string >, bool)> PhysInputChanged
 

Private Types

typedef std::map< std::string, AudioBackendInfo * > BackendMap
 

Private Member Functions

 AudioEngine ()
 
void start_hw_event_processing ()
 
void stop_hw_event_processing ()
 
void do_reset_backend ()
 
void do_devicelist_update ()
 
AudioBackendInfobackend_discover (const std::string &)
 
void drop_backend ()
 

Private Attributes

Glib::Threads::Mutex _process_lock
 
Glib::Threads::Mutex _latency_lock
 
Glib::Threads::RecMutex _state_lock
 
Glib::Threads::Cond session_removed
 
bool session_remove_pending
 
sampleoffset_t session_removal_countdown
 
bool session_deleted
 
gain_t session_removal_gain
 
gain_t session_removal_gain_step
 
bool _running
 
bool _freewheeling
 
samplecnt_t monitor_check_interval
 number of samples between each check for changes in monitor input More...
 
samplecnt_t last_monitor_check
 time of the last monitor check in samples More...
 
samplecnt_t _processed_samples
 the number of samples processed since start() was called More...
 
ProcessThread_main_thread
 
MTDM_mtdm
 
MIDIDM_mididm
 
LatencyMeasurement _measuring_latency
 
PortEngine::PortPtr _latency_input_port
 
PortEngine::PortPtr _latency_output_port
 
samplecnt_t _latency_flush_samples
 
std::string _latency_input_name
 
std::string _latency_output_name
 
samplecnt_t _latency_signal_latency
 
bool _stopped_for_latency
 
bool _started_for_latency
 
bool _in_destructor
 
std::string _last_backend_error_string
 
PBD::Thread_hw_reset_event_thread
 
std::atomic< int > _hw_reset_request_count
 
Glib::Threads::Cond _hw_reset_condition
 
Glib::Threads::Mutex _reset_request_lock
 
std::atomic< int > _stop_hw_reset_processing
 
PBD::Thread_hw_devicelist_update_thread
 
std::atomic< int > _hw_devicelist_update_count
 
Glib::Threads::Cond _hw_devicelist_update_condition
 
Glib::Threads::Mutex _devicelist_update_lock
 
std::atomic< int > _stop_hw_devicelist_processing
 
uint32_t _start_cnt
 
uint32_t _init_countdown
 
std::atomic< int > _pending_playback_latency_callback
 
std::atomic< int > _pending_capture_latency_callback
 
BackendMap _backends
 

Static Private Attributes

static AudioEngine_instance
 

Additional Inherited Members

- Protected Member Functions inherited from ARDOUR::PortManager
std::shared_ptr< Portregister_port (DataType type, const std::string &portname, bool input, bool async=false, PortFlags extra_flags=PortFlags(0))
 
void port_registration_failure (const std::string &portname)
 
void silence (pframes_t nframes, Session *s=0)
 
void silence_outputs (pframes_t nframes)
 
void check_monitoring ()
 
void cycle_start (pframes_t nframes, Session *s=0)
 
void cycle_end (pframes_t nframes, Session *s=0)
 
void cycle_end_fade_out (gain_t, gain_t, pframes_t, Session *s=0)
 
void filter_midi_ports (std::vector< std::string > &, MidiPortFlags, MidiPortFlags)
 
void set_port_buffer_sizes (pframes_t)
 
- Protected Member Functions inherited from ARDOUR::SessionHandlePtr
virtual void session_going_away ()
 
- Static Protected Member Functions inherited from ARDOUR::PortManager
static std::string port_info_file ()
 
static std::string midi_port_info_file ()
 
- Protected Attributes inherited from ARDOUR::PortManager
std::shared_ptr< AudioBackend_backend
 
SerializedRCUManager< Ports_ports
 
bool _port_remove_in_progress
 
PBD::RingBuffer< Port * > _port_deletions_pending
 
std::shared_ptr< Ports const > _cycle_ports
 
- Protected Attributes inherited from ARDOUR::SessionHandlePtr
ARDOUR::Session_session
 
PBD::ScopedConnectionList _session_connections
 

Detailed Description

Definition at line 63 of file audioengine.h.

Member Typedef Documentation

◆ BackendMap

typedef std::map<std::string,AudioBackendInfo*> ARDOUR::AudioEngine::BackendMap
private

Definition at line 317 of file audioengine.h.

Member Enumeration Documentation

◆ LatencyMeasurement

Enumerator
MeasureNone 
MeasureAudio 
MeasureMIDI 

Definition at line 230 of file audioengine.h.

◆ TimingTypes

Enumerator
ProcessCallback 
NTT 

Definition at line 251 of file audioengine.h.

Constructor & Destructor Documentation

◆ ~AudioEngine()

virtual ARDOUR::AudioEngine::~AudioEngine ( )
virtual

◆ AudioEngine()

ARDOUR::AudioEngine::AudioEngine ( )
private

Member Function Documentation

◆ add_pending_port_deletion()

void ARDOUR::AudioEngine::add_pending_port_deletion ( Port )
virtual

Implements ARDOUR::PortManager.

◆ available_backends()

std::vector<const AudioBackendInfo*> ARDOUR::AudioEngine::available_backends ( ) const

◆ backend_discover()

AudioBackendInfo* ARDOUR::AudioEngine::backend_discover ( const std::string &  )
private

◆ backend_id()

std::string ARDOUR::AudioEngine::backend_id ( bool  for_input)

◆ backend_reset_requested()

int ARDOUR::AudioEngine::backend_reset_requested ( )

◆ buffer_size_change()

int ARDOUR::AudioEngine::buffer_size_change ( pframes_t  nframes)

◆ create()

static AudioEngine* ARDOUR::AudioEngine::create ( )
static

◆ create_process_thread()

int ARDOUR::AudioEngine::create_process_thread ( std::function< void()>  func)

◆ current_backend()

std::shared_ptr<AudioBackend> ARDOUR::AudioEngine::current_backend ( ) const
inline

Definition at line 75 of file audioengine.h.

◆ current_backend_name()

std::string ARDOUR::AudioEngine::current_backend_name ( ) const

◆ destroy()

static void ARDOUR::AudioEngine::destroy ( )
static

◆ died()

void ARDOUR::AudioEngine::died ( )

◆ discover_backends()

int ARDOUR::AudioEngine::discover_backends ( )

◆ do_devicelist_update()

void ARDOUR::AudioEngine::do_devicelist_update ( )
private

◆ do_reset_backend()

void ARDOUR::AudioEngine::do_reset_backend ( )
private

◆ drop_backend()

void ARDOUR::AudioEngine::drop_backend ( )
private

◆ freewheel()

int ARDOUR::AudioEngine::freewheel ( bool  start_stop)

◆ freewheel_callback()

void ARDOUR::AudioEngine::freewheel_callback ( bool  )

◆ freewheeling()

bool ARDOUR::AudioEngine::freewheeling ( ) const
inline

Definition at line 129 of file audioengine.h.

◆ get_dsp_load()

float ARDOUR::AudioEngine::get_dsp_load ( ) const

◆ get_last_backend_error()

std::string ARDOUR::AudioEngine::get_last_backend_error ( ) const
inline

Definition at line 105 of file audioengine.h.

◆ get_sync_offset()

bool ARDOUR::AudioEngine::get_sync_offset ( pframes_t offset) const

◆ halted_callback()

void ARDOUR::AudioEngine::halted_callback ( const char *  reason)

◆ in_process_thread()

bool ARDOUR::AudioEngine::in_process_thread ( )

◆ instance()

static AudioEngine* ARDOUR::AudioEngine::instance ( )
inlinestatic

Definition at line 196 of file audioengine.h.

◆ is_jack()

bool ARDOUR::AudioEngine::is_jack ( ) const

◆ is_reset_requested()

bool ARDOUR::AudioEngine::is_reset_requested ( ) const
inline

Definition at line 118 of file audioengine.h.

◆ join_process_threads()

int ARDOUR::AudioEngine::join_process_threads ( )

◆ latency_callback()

void ARDOUR::AudioEngine::latency_callback ( bool  for_playback)

◆ latency_lock()

Glib::Threads::Mutex& ARDOUR::AudioEngine::latency_lock ( )
inline

Definition at line 135 of file audioengine.h.

◆ latency_signal_delay()

uint32_t ARDOUR::AudioEngine::latency_signal_delay ( ) const
inline

Definition at line 228 of file audioengine.h.

◆ launch_device_control_app()

void ARDOUR::AudioEngine::launch_device_control_app ( )

◆ main_thread()

ProcessThread* ARDOUR::AudioEngine::main_thread ( ) const
inline

Definition at line 79 of file audioengine.h.

◆ measuring_latency()

LatencyMeasurement ARDOUR::AudioEngine::measuring_latency ( ) const
inline

Definition at line 236 of file audioengine.h.

◆ mididm()

MIDIDM* ARDOUR::AudioEngine::mididm ( )
inline

Definition at line 221 of file audioengine.h.

◆ mtdm()

MTDM* ARDOUR::AudioEngine::mtdm ( )
inline

Definition at line 220 of file audioengine.h.

◆ port_registration_callback()

int ARDOUR::AudioEngine::port_registration_callback ( )

◆ prepare_for_latency_measurement()

int ARDOUR::AudioEngine::prepare_for_latency_measurement ( )

◆ process_callback()

int ARDOUR::AudioEngine::process_callback ( pframes_t  nframes)

◆ process_lock()

Glib::Threads::Mutex& ARDOUR::AudioEngine::process_lock ( )
inline

Definition at line 134 of file audioengine.h.

◆ process_thread_count()

uint32_t ARDOUR::AudioEngine::process_thread_count ( )

◆ processed_samples()

samplecnt_t ARDOUR::AudioEngine::processed_samples ( ) const
inline

Definition at line 141 of file audioengine.h.

◆ queue_latency_update()

void ARDOUR::AudioEngine::queue_latency_update ( bool  )

◆ raw_buffer_size()

size_t ARDOUR::AudioEngine::raw_buffer_size ( DataType  t)

◆ remove_session()

void ARDOUR::AudioEngine::remove_session ( )

◆ request_backend_reset()

void ARDOUR::AudioEngine::request_backend_reset ( )

◆ request_buffer_size()

int ARDOUR::AudioEngine::request_buffer_size ( pframes_t  samples)
inline

Definition at line 137 of file audioengine.h.

◆ request_device_list_update()

void ARDOUR::AudioEngine::request_device_list_update ( )

◆ reset_silence_countdown()

void ARDOUR::AudioEngine::reset_silence_countdown ( )

◆ reset_timebase()

int ARDOUR::AudioEngine::reset_timebase ( )

◆ running()

bool ARDOUR::AudioEngine::running ( ) const
inline

Definition at line 130 of file audioengine.h.

◆ sample_rate()

samplecnt_t ARDOUR::AudioEngine::sample_rate ( ) const

◆ sample_rate_change()

int ARDOUR::AudioEngine::sample_rate_change ( pframes_t  nframes)

◆ sample_time()

samplepos_t ARDOUR::AudioEngine::sample_time ( )

◆ sample_time_at_cycle_start()

samplepos_t ARDOUR::AudioEngine::sample_time_at_cycle_start ( )

◆ samples_per_cycle()

pframes_t ARDOUR::AudioEngine::samples_per_cycle ( ) const

◆ samples_since_cycle_start()

pframes_t ARDOUR::AudioEngine::samples_since_cycle_start ( )

◆ session()

Session* ARDOUR::AudioEngine::session ( ) const
inlinevirtual

Reimplemented from ARDOUR::SessionHandlePtr.

Definition at line 145 of file audioengine.h.

◆ set_backend()

std::shared_ptr<AudioBackend> ARDOUR::AudioEngine::set_backend ( const std::string &  ,
const std::string &  arg1,
const std::string &  arg2 
)

◆ set_buffer_size()

int ARDOUR::AudioEngine::set_buffer_size ( uint32_t  )

◆ set_device_name()

int ARDOUR::AudioEngine::set_device_name ( const std::string &  )

◆ set_interleaved()

int ARDOUR::AudioEngine::set_interleaved ( bool  yn)

◆ set_latency_input_port()

void ARDOUR::AudioEngine::set_latency_input_port ( const std::string &  )

◆ set_latency_output_port()

void ARDOUR::AudioEngine::set_latency_output_port ( const std::string &  )

◆ set_sample_rate()

int ARDOUR::AudioEngine::set_sample_rate ( float  )

◆ set_session()

void ARDOUR::AudioEngine::set_session ( Session )
virtual

Reimplemented from ARDOUR::SessionHandlePtr.

◆ set_systemic_input_latency()

int ARDOUR::AudioEngine::set_systemic_input_latency ( uint32_t  )

◆ set_systemic_output_latency()

int ARDOUR::AudioEngine::set_systemic_output_latency ( uint32_t  )

◆ setup_required()

bool ARDOUR::AudioEngine::setup_required ( ) const

◆ split_cycle()

void ARDOUR::AudioEngine::split_cycle ( pframes_t  offset)

◆ start()

int ARDOUR::AudioEngine::start ( bool  for_latency_measurement = false)

◆ start_hw_event_processing()

void ARDOUR::AudioEngine::start_hw_event_processing ( )
private

◆ start_latency_detection()

int ARDOUR::AudioEngine::start_latency_detection ( bool  )

◆ stop()

int ARDOUR::AudioEngine::stop ( bool  for_latency_measurement = false)

◆ stop_hw_event_processing()

void ARDOUR::AudioEngine::stop_hw_event_processing ( )
private

◆ stop_latency_detection()

void ARDOUR::AudioEngine::stop_latency_detection ( )

◆ sync_callback()

int ARDOUR::AudioEngine::sync_callback ( TransportState  state,
samplepos_t  position 
)

◆ thread_init_callback()

static void ARDOUR::AudioEngine::thread_init_callback ( void *  )
static

◆ thread_initialised_for_audio_processing()

static bool ARDOUR::AudioEngine::thread_initialised_for_audio_processing ( )
static

◆ timebase_callback()

void ARDOUR::AudioEngine::timebase_callback ( TransportState  state,
pframes_t  nframes,
samplepos_t  pos,
int  new_position 
)

◆ transport_locate()

void ARDOUR::AudioEngine::transport_locate ( samplepos_t  pos)

◆ transport_sample()

samplepos_t ARDOUR::AudioEngine::transport_sample ( )

◆ transport_start()

void ARDOUR::AudioEngine::transport_start ( )

◆ transport_state()

TransportState ARDOUR::AudioEngine::transport_state ( )

◆ transport_stop()

void ARDOUR::AudioEngine::transport_stop ( )

◆ update_latencies()

void ARDOUR::AudioEngine::update_latencies ( )

◆ usecs_per_cycle()

int ARDOUR::AudioEngine::usecs_per_cycle ( ) const

Member Data Documentation

◆ _backends

BackendMap ARDOUR::AudioEngine::_backends
private

Definition at line 318 of file audioengine.h.

◆ _devicelist_update_lock

Glib::Threads::Mutex ARDOUR::AudioEngine::_devicelist_update_lock
private

Definition at line 305 of file audioengine.h.

◆ _freewheeling

bool ARDOUR::AudioEngine::_freewheeling
private

Definition at line 274 of file audioengine.h.

◆ _hw_devicelist_update_condition

Glib::Threads::Cond ARDOUR::AudioEngine::_hw_devicelist_update_condition
private

Definition at line 304 of file audioengine.h.

◆ _hw_devicelist_update_count

std::atomic<int> ARDOUR::AudioEngine::_hw_devicelist_update_count
private

Definition at line 303 of file audioengine.h.

◆ _hw_devicelist_update_thread

PBD::Thread* ARDOUR::AudioEngine::_hw_devicelist_update_thread
private

Definition at line 302 of file audioengine.h.

◆ _hw_reset_condition

Glib::Threads::Cond ARDOUR::AudioEngine::_hw_reset_condition
private

Definition at line 299 of file audioengine.h.

◆ _hw_reset_event_thread

PBD::Thread* ARDOUR::AudioEngine::_hw_reset_event_thread
private

Definition at line 297 of file audioengine.h.

◆ _hw_reset_request_count

std::atomic<int> ARDOUR::AudioEngine::_hw_reset_request_count
private

Definition at line 298 of file audioengine.h.

◆ _in_destructor

bool ARDOUR::AudioEngine::_in_destructor
private

Definition at line 293 of file audioengine.h.

◆ _init_countdown

uint32_t ARDOUR::AudioEngine::_init_countdown
private

Definition at line 308 of file audioengine.h.

◆ _instance

AudioEngine* ARDOUR::AudioEngine::_instance
staticprivate

Definition at line 262 of file audioengine.h.

◆ _last_backend_error_string

std::string ARDOUR::AudioEngine::_last_backend_error_string
private

Definition at line 295 of file audioengine.h.

◆ _latency_flush_samples

samplecnt_t ARDOUR::AudioEngine::_latency_flush_samples
private

Definition at line 287 of file audioengine.h.

◆ _latency_input_name

std::string ARDOUR::AudioEngine::_latency_input_name
private

Definition at line 288 of file audioengine.h.

◆ _latency_input_port

PortEngine::PortPtr ARDOUR::AudioEngine::_latency_input_port
private

Definition at line 285 of file audioengine.h.

◆ _latency_lock

Glib::Threads::Mutex ARDOUR::AudioEngine::_latency_lock
private

Definition at line 265 of file audioengine.h.

◆ _latency_output_name

std::string ARDOUR::AudioEngine::_latency_output_name
private

Definition at line 289 of file audioengine.h.

◆ _latency_output_port

PortEngine::PortPtr ARDOUR::AudioEngine::_latency_output_port
private

Definition at line 286 of file audioengine.h.

◆ _latency_signal_latency

samplecnt_t ARDOUR::AudioEngine::_latency_signal_latency
private

Definition at line 290 of file audioengine.h.

◆ _main_thread

ProcessThread* ARDOUR::AudioEngine::_main_thread
private

Definition at line 281 of file audioengine.h.

◆ _measuring_latency

LatencyMeasurement ARDOUR::AudioEngine::_measuring_latency
private

Definition at line 284 of file audioengine.h.

◆ _mididm

MIDIDM* ARDOUR::AudioEngine::_mididm
private

Definition at line 283 of file audioengine.h.

◆ _mtdm

MTDM* ARDOUR::AudioEngine::_mtdm
private

Definition at line 282 of file audioengine.h.

◆ _pending_capture_latency_callback

std::atomic<int> ARDOUR::AudioEngine::_pending_capture_latency_callback
private

Definition at line 310 of file audioengine.h.

◆ _pending_playback_latency_callback

std::atomic<int> ARDOUR::AudioEngine::_pending_playback_latency_callback
private

Definition at line 309 of file audioengine.h.

◆ _process_lock

Glib::Threads::Mutex ARDOUR::AudioEngine::_process_lock
private

Definition at line 264 of file audioengine.h.

◆ _processed_samples

samplecnt_t ARDOUR::AudioEngine::_processed_samples
private

the number of samples processed since start() was called

Definition at line 280 of file audioengine.h.

◆ _reset_request_lock

Glib::Threads::Mutex ARDOUR::AudioEngine::_reset_request_lock
private

Definition at line 300 of file audioengine.h.

◆ _running

bool ARDOUR::AudioEngine::_running
private

Definition at line 273 of file audioengine.h.

◆ _start_cnt

uint32_t ARDOUR::AudioEngine::_start_cnt
private

Definition at line 307 of file audioengine.h.

◆ _started_for_latency

bool ARDOUR::AudioEngine::_started_for_latency
private

Definition at line 292 of file audioengine.h.

◆ _state_lock

Glib::Threads::RecMutex ARDOUR::AudioEngine::_state_lock
private

Definition at line 266 of file audioengine.h.

◆ _stop_hw_devicelist_processing

std::atomic<int> ARDOUR::AudioEngine::_stop_hw_devicelist_processing
private

Definition at line 306 of file audioengine.h.

◆ _stop_hw_reset_processing

std::atomic<int> ARDOUR::AudioEngine::_stop_hw_reset_processing
private

Definition at line 301 of file audioengine.h.

◆ _stopped_for_latency

bool ARDOUR::AudioEngine::_stopped_for_latency
private

Definition at line 291 of file audioengine.h.

◆ BecameSilent

PBD::Signal<void()> ARDOUR::AudioEngine::BecameSilent

Definition at line 245 of file audioengine.h.

◆ BufferSizeChanged

PBD::Signal<void(pframes_t)> ARDOUR::AudioEngine::BufferSizeChanged

this signal is emitted if the buffer size changes

Definition at line 170 of file audioengine.h.

◆ DeviceError

PBD::Signal<void()> ARDOUR::AudioEngine::DeviceError

this signal is emitted if the device cannot operate properly

Definition at line 173 of file audioengine.h.

◆ DeviceListChanged

PBD::Signal<void()> ARDOUR::AudioEngine::DeviceListChanged

Definition at line 177 of file audioengine.h.

◆ DeviceResetFinished

PBD::Signal<void()> ARDOUR::AudioEngine::DeviceResetFinished

Definition at line 194 of file audioengine.h.

◆ DeviceResetStarted

PBD::Signal<void()> ARDOUR::AudioEngine::DeviceResetStarted

Definition at line 193 of file audioengine.h.

◆ dsp_stats

PBD::TimingStats ARDOUR::AudioEngine::dsp_stats[NTT]

Definition at line 257 of file audioengine.h.

◆ Freewheel

PBD::Signal<void(pframes_t)> ARDOUR::AudioEngine::Freewheel

Definition at line 162 of file audioengine.h.

◆ Halted

PBD::Signal<void(const char*)> ARDOUR::AudioEngine::Halted

Definition at line 181 of file audioengine.h.

◆ last_monitor_check

samplecnt_t ARDOUR::AudioEngine::last_monitor_check
private

time of the last monitor check in samples

Definition at line 278 of file audioengine.h.

◆ monitor_check_interval

samplecnt_t ARDOUR::AudioEngine::monitor_check_interval
private

number of samples between each check for changes in monitor input

Definition at line 276 of file audioengine.h.

◆ Running

PBD::Signal<void(uint32_t)> ARDOUR::AudioEngine::Running

Definition at line 187 of file audioengine.h.

◆ SampleRateChanged

PBD::Signal<void(samplecnt_t)> ARDOUR::AudioEngine::SampleRateChanged

this signal is emitted if the sample rate changes

Definition at line 167 of file audioengine.h.

◆ session_deleted

bool ARDOUR::AudioEngine::session_deleted
private

Definition at line 270 of file audioengine.h.

◆ session_removal_countdown

sampleoffset_t ARDOUR::AudioEngine::session_removal_countdown
private

Definition at line 269 of file audioengine.h.

◆ session_removal_gain

gain_t ARDOUR::AudioEngine::session_removal_gain
private

Definition at line 271 of file audioengine.h.

◆ session_removal_gain_step

gain_t ARDOUR::AudioEngine::session_removal_gain_step
private

Definition at line 272 of file audioengine.h.

◆ session_remove_pending

bool ARDOUR::AudioEngine::session_remove_pending
private

Definition at line 268 of file audioengine.h.

◆ session_removed

Glib::Threads::Cond ARDOUR::AudioEngine::session_removed
private

Definition at line 267 of file audioengine.h.

◆ Stopped

PBD::Signal<void()> ARDOUR::AudioEngine::Stopped

Definition at line 188 of file audioengine.h.

◆ Xrun

PBD::Signal<void()> ARDOUR::AudioEngine::Xrun

Definition at line 164 of file audioengine.h.


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