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

#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 ()
void lock ()
void unlock ()
virtual void registerPort (AudioBusHandle *port)
virtual void unregisterPort (AudioBusHandle *port)
virtual void renamePort (AudioBusHandle *port)
bool supportsCapture () const
sample_rate_t sampleRate () const
void processNextBuffer ()
virtual void startProcessing ()
virtual void stopProcessing ()

Protected Member Functions

virtual void writeBuffer (const SampleFrame *, const f_cnt_t)
f_cnt_t getNextBuffer (SampleFrame *_ab)
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
void setSampleRate (const sample_rate_t _new_sr)
void setChannels (const ch_cnt_t channels)
AudioEngineaudioEngine ()

Static Protected Member Functions

static void stopProcessingThread (QThread *thread)

Protected Attributes

bool m_supportsCapture

Private Attributes

sample_rate_t m_sampleRate
ch_cnt_t m_channels
AudioEnginem_audioEngine
bool m_inProcess
QMutex m_devMutex
SampleFramem_buffer

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

◆ getNextBuffer()

f_cnt_t lmms::AudioDevice::getNextBuffer ( SampleFrame * _ab)
protected

◆ lock()

void lmms::AudioDevice::lock ( )
inline

◆ processNextBuffer()

void lmms::AudioDevice::processNextBuffer ( )

◆ 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()

virtual void lmms::AudioDevice::startProcessing ( )
inlinevirtual

◆ stopProcessing()

◆ stopProcessingThread()

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

◆ supportsCapture()

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

◆ unlock()

void lmms::AudioDevice::unlock ( )
inline

◆ unregisterPort()

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

Reimplemented in lmms::AudioJack.

◆ writeBuffer()

virtual void lmms::AudioDevice::writeBuffer ( const SampleFrame * ,
const f_cnt_t  )
inlineprotectedvirtual

Member Data Documentation

◆ m_audioEngine

AudioEngine* lmms::AudioDevice::m_audioEngine
private

◆ m_buffer

SampleFrame* lmms::AudioDevice::m_buffer
private

◆ m_channels

ch_cnt_t lmms::AudioDevice::m_channels
private

◆ m_devMutex

QMutex lmms::AudioDevice::m_devMutex
private

◆ m_inProcess

bool lmms::AudioDevice::m_inProcess
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: