LMMS
Loading...
Searching...
No Matches
lmms::AudioDevice Class Referenceabstract

#include <AudioDevice.h>

Inheritance diagram for lmms::AudioDevice:
lmms::AudioAlsa lmms::AudioDummy lmms::AudioFileDevice lmms::AudioJack lmms::AudioOss lmms::AudioPortAudio lmms::AudioPulseAudio lmms::AudioSampleRecorder lmms::AudioSdl lmms::AudioSndio lmms::AudioSoundIo

Public Member Functions

 AudioDevice (const ch_cnt_t _channels, AudioEngine *audioEngine)
virtual ~AudioDevice ()
virtual void registerPort (AudioBusHandle *port)
virtual void unregisterPort (AudioBusHandle *port)
virtual void renamePort (AudioBusHandle *port)
bool supportsCapture () const
sample_rate_t sampleRate () const
void startProcessing ()
void stopProcessing ()
bool isRunning () const

Protected Member Functions

int convertToS16 (const SampleFrame *_ab, const f_cnt_t _frames, int_sample_t *_output_buffer, const bool _convert_endian=false)
void clearS16Buffer (int_sample_t *_outbuf, const f_cnt_t _frames)
ch_cnt_t channels () const
AudioEngineaudioEngine ()
void setSampleRate (const sample_rate_t _new_sr)
void setChannels (const ch_cnt_t channels)

Static Protected Member Functions

static void stopProcessingThread (QThread *thread)

Protected Attributes

bool m_supportsCapture

Private Member Functions

virtual void startProcessingImpl ()=0
virtual void stopProcessingImpl ()=0

Private Attributes

sample_rate_t m_sampleRate
ch_cnt_t m_channels
AudioEnginem_audioEngine = nullptr
std::atomic_flag m_running = ATOMIC_FLAG_INIT

Constructor & Destructor Documentation

◆ AudioDevice()

lmms::AudioDevice::AudioDevice ( const ch_cnt_t _channels,
AudioEngine * audioEngine )

◆ ~AudioDevice()

lmms::AudioDevice::~AudioDevice ( )
virtual

Member Function Documentation

◆ audioEngine()

AudioEngine * lmms::AudioDevice::audioEngine ( )
inlineprotected

◆ channels()

ch_cnt_t lmms::AudioDevice::channels ( ) const
inlineprotected

◆ clearS16Buffer()

void lmms::AudioDevice::clearS16Buffer ( int_sample_t * _outbuf,
const f_cnt_t _frames )
protected

◆ convertToS16()

int lmms::AudioDevice::convertToS16 ( const SampleFrame * _ab,
const f_cnt_t _frames,
int_sample_t * _output_buffer,
const bool _convert_endian = false )
protected

◆ isRunning()

bool lmms::AudioDevice::isRunning ( ) const
inline

◆ registerPort()

void lmms::AudioDevice::registerPort ( AudioBusHandle * port)
virtual

Reimplemented in lmms::AudioJack.

◆ renamePort()

void lmms::AudioDevice::renamePort ( AudioBusHandle * port)
virtual

Reimplemented in lmms::AudioJack.

◆ sampleRate()

sample_rate_t lmms::AudioDevice::sampleRate ( ) const
inline

◆ setChannels()

void lmms::AudioDevice::setChannels ( const ch_cnt_t channels)
inlineprotected

◆ setSampleRate()

void lmms::AudioDevice::setSampleRate ( const sample_rate_t _new_sr)
inlineprotected

◆ startProcessing()

void lmms::AudioDevice::startProcessing ( )

◆ startProcessingImpl()

◆ stopProcessing()

void lmms::AudioDevice::stopProcessing ( )

◆ stopProcessingImpl()

◆ stopProcessingThread()

void lmms::AudioDevice::stopProcessingThread ( QThread * thread)
staticprotected

◆ supportsCapture()

bool lmms::AudioDevice::supportsCapture ( ) const
inline

◆ unregisterPort()

void lmms::AudioDevice::unregisterPort ( AudioBusHandle * port)
virtual

Reimplemented in lmms::AudioJack.

Member Data Documentation

◆ m_audioEngine

AudioEngine* lmms::AudioDevice::m_audioEngine = nullptr
private

◆ m_channels

ch_cnt_t lmms::AudioDevice::m_channels
private

◆ m_running

std::atomic_flag lmms::AudioDevice::m_running = ATOMIC_FLAG_INIT
private

◆ m_sampleRate

sample_rate_t lmms::AudioDevice::m_sampleRate
private

◆ m_supportsCapture

bool lmms::AudioDevice::m_supportsCapture
protected

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