LMMS
Loading...
Searching...
No Matches
lmms::AudioEngineProfiler Class Reference

#include <AudioEngineProfiler.h>

Classes

class  Probe

Public Types

enum class  DetailType {
  NoteSetup , Instruments , Effects , Mixing ,
  Count
}

Public Member Functions

 AudioEngineProfiler ()
 ~AudioEngineProfiler ()=default
void startPeriod ()
void finishPeriod (sample_rate_t sampleRate, f_cnt_t framesPerPeriod)
int cpuLoad () const
void setOutputFile (const QString &outputFile)
int detailLoad (const DetailType type) const

Static Public Attributes

static constexpr auto DetailCount = static_cast<std::size_t>(DetailType::Count)

Private Member Functions

void startDetail (const DetailType type)
void finishDetail (const DetailType type)

Private Attributes

MicroTimer m_periodTimer
std::atomic< float > m_cpuLoad
QFile m_outputFile
std::array< MicroTimer, DetailCountm_detailTimer
std::array< int, DetailCountm_detailTime {0}
std::array< std::atomic< float >, DetailCountm_detailLoad {0}

Member Enumeration Documentation

◆ DetailType

Enumerator
NoteSetup 
Instruments 
Effects 
Mixing 
Count 

Constructor & Destructor Documentation

◆ AudioEngineProfiler()

lmms::AudioEngineProfiler::AudioEngineProfiler ( )

◆ ~AudioEngineProfiler()

lmms::AudioEngineProfiler::~AudioEngineProfiler ( )
default

Member Function Documentation

◆ cpuLoad()

int lmms::AudioEngineProfiler::cpuLoad ( ) const
inline

◆ detailLoad()

int lmms::AudioEngineProfiler::detailLoad ( const DetailType type) const
inline

◆ finishDetail()

void lmms::AudioEngineProfiler::finishDetail ( const DetailType type)
inlineprivate

◆ finishPeriod()

void lmms::AudioEngineProfiler::finishPeriod ( sample_rate_t sampleRate,
f_cnt_t framesPerPeriod )

◆ setOutputFile()

void lmms::AudioEngineProfiler::setOutputFile ( const QString & outputFile)

◆ startDetail()

void lmms::AudioEngineProfiler::startDetail ( const DetailType type)
inlineprivate

◆ startPeriod()

void lmms::AudioEngineProfiler::startPeriod ( )
inline

Member Data Documentation

◆ DetailCount

auto lmms::AudioEngineProfiler::DetailCount = static_cast<std::size_t>(DetailType::Count)
staticconstexpr

◆ m_cpuLoad

std::atomic<float> lmms::AudioEngineProfiler::m_cpuLoad
private

◆ m_detailLoad

std::array<std::atomic<float>, DetailCount> lmms::AudioEngineProfiler::m_detailLoad {0}
private

◆ m_detailTime

std::array<int, DetailCount> lmms::AudioEngineProfiler::m_detailTime {0}
private

◆ m_detailTimer

std::array<MicroTimer, DetailCount> lmms::AudioEngineProfiler::m_detailTimer
private

◆ m_outputFile

QFile lmms::AudioEngineProfiler::m_outputFile
private

◆ m_periodTimer

MicroTimer lmms::AudioEngineProfiler::m_periodTimer
private

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