Ardour  9.0-pre0-822-g12e3bc5c20
CycleTimer Class Reference

#include <cycle_timer.h>

Public Member Functions

 CycleTimer (const std::string &name)
 
 ~CycleTimer ()
 
 CycleTimer ()
 
void set_samplerate (double samplerate)
 
double get_samplerate () const
 
double get_sample_length_us () const
 
double get_length_us () const
 
void set_samples_per_cycle (uint32_t samples)
 
uint32_t get_samples_per_cycle () const
 
uint32_t samples_since_cycle_start (int64_t timer_val) const
 
int64_t timestamp_from_sample_offset (uint32_t sample_offset)
 
bool valid () const
 
bool in_cycle (int64_t timer_value_us) const
 
void reset_start (int64_t timestamp)
 
int64_t get_start () const
 
int64_t microseconds_since_start (int64_t timestamp) const
 
int64_t microseconds_since_start (uint32_t samples) const
 
int64_t get_next_start () const
 

Private Attributes

cycles_t _entry
 
cycles_t _exit
 
std::string _name
 
int64_t m_cycle_start
 
uint32_t m_samplerate
 
uint32_t m_samples_per_cycle
 

Static Private Attributes

static float cycles_per_usec
 

Detailed Description

Definition at line 33 of file ardour/ardour/cycle_timer.h.

Constructor & Destructor Documentation

◆ CycleTimer() [1/2]

CycleTimer::CycleTimer ( const std::string &  name)
inline

Definition at line 43 of file ardour/ardour/cycle_timer.h.

◆ ~CycleTimer()

CycleTimer::~CycleTimer ( )
inline

Definition at line 57 of file ardour/ardour/cycle_timer.h.

◆ CycleTimer() [2/2]

CycleTimer::CycleTimer ( )
inline

Definition at line 31 of file backends/portaudio/cycle_timer.h.

Member Function Documentation

◆ get_length_us()

double CycleTimer::get_length_us ( ) const
inline

Definition at line 44 of file backends/portaudio/cycle_timer.h.

◆ get_next_start()

int64_t CycleTimer::get_next_start ( ) const
inline

Definition at line 92 of file backends/portaudio/cycle_timer.h.

◆ get_sample_length_us()

double CycleTimer::get_sample_length_us ( ) const
inline

Definition at line 42 of file backends/portaudio/cycle_timer.h.

◆ get_samplerate()

double CycleTimer::get_samplerate ( ) const
inline

Definition at line 40 of file backends/portaudio/cycle_timer.h.

◆ get_samples_per_cycle()

uint32_t CycleTimer::get_samples_per_cycle ( ) const
inline

Definition at line 54 of file backends/portaudio/cycle_timer.h.

◆ get_start()

int64_t CycleTimer::get_start ( ) const
inline

Definition at line 80 of file backends/portaudio/cycle_timer.h.

◆ in_cycle()

bool CycleTimer::in_cycle ( int64_t  timer_value_us) const
inline

Definition at line 73 of file backends/portaudio/cycle_timer.h.

◆ microseconds_since_start() [1/2]

int64_t CycleTimer::microseconds_since_start ( int64_t  timestamp) const
inline

Definition at line 82 of file backends/portaudio/cycle_timer.h.

◆ microseconds_since_start() [2/2]

int64_t CycleTimer::microseconds_since_start ( uint32_t  samples) const
inline

Definition at line 87 of file backends/portaudio/cycle_timer.h.

◆ reset_start()

void CycleTimer::reset_start ( int64_t  timestamp)
inline

Definition at line 78 of file backends/portaudio/cycle_timer.h.

◆ samples_since_cycle_start()

uint32_t CycleTimer::samples_since_cycle_start ( int64_t  timer_val) const
inline

Definition at line 58 of file backends/portaudio/cycle_timer.h.

◆ set_samplerate()

void CycleTimer::set_samplerate ( double  samplerate)
inline

Definition at line 38 of file backends/portaudio/cycle_timer.h.

◆ set_samples_per_cycle()

void CycleTimer::set_samples_per_cycle ( uint32_t  samples)
inline

Definition at line 49 of file backends/portaudio/cycle_timer.h.

◆ timestamp_from_sample_offset()

int64_t CycleTimer::timestamp_from_sample_offset ( uint32_t  sample_offset)
inline

Definition at line 66 of file backends/portaudio/cycle_timer.h.

◆ valid()

bool CycleTimer::valid ( ) const
inline

Definition at line 71 of file backends/portaudio/cycle_timer.h.

Member Data Documentation

◆ _entry

cycles_t CycleTimer::_entry
private

Definition at line 37 of file ardour/ardour/cycle_timer.h.

◆ _exit

cycles_t CycleTimer::_exit
private

Definition at line 38 of file ardour/ardour/cycle_timer.h.

◆ _name

std::string CycleTimer::_name
private

Definition at line 39 of file ardour/ardour/cycle_timer.h.

◆ cycles_per_usec

float CycleTimer::cycles_per_usec
staticprivate

Definition at line 35 of file ardour/ardour/cycle_timer.h.

◆ m_cycle_start

int64_t CycleTimer::m_cycle_start
private

Definition at line 98 of file backends/portaudio/cycle_timer.h.

◆ m_samplerate

uint32_t CycleTimer::m_samplerate
private

Definition at line 100 of file backends/portaudio/cycle_timer.h.

◆ m_samples_per_cycle

uint32_t CycleTimer::m_samples_per_cycle
private

Definition at line 101 of file backends/portaudio/cycle_timer.h.


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