25#ifndef LMMS_AUDIO_DEVICE_H
26#define LMMS_AUDIO_DEVICE_H
29#include <samplerate.h>
77 const bool _convert_endian =
false);
Job between PlayHandle and MixerChannel.
Definition AudioBusHandle.h:55
virtual void startProcessingImpl()=0
AudioEngine * audioEngine()
Definition AudioDevice.h:84
bool m_supportsCapture
Definition AudioDevice.h:91
virtual ~AudioDevice()
Definition AudioDevice.cpp:43
virtual void stopProcessingImpl()=0
void setSampleRate(const sample_rate_t _new_sr)
Definition AudioDevice.h:86
sample_rate_t m_sampleRate
Definition AudioDevice.h:97
AudioEngine * m_audioEngine
Definition AudioDevice.h:99
void startProcessing()
Definition AudioDevice.cpp:48
void stopProcessing()
Definition AudioDevice.cpp:54
AudioDevice(const ch_cnt_t _channels, AudioEngine *audioEngine)
Definition AudioDevice.cpp:33
static void stopProcessingThread(QThread *thread)
Definition AudioDevice.cpp:60
int convertToS16(const SampleFrame *_ab, const f_cnt_t _frames, int_sample_t *_output_buffer, const bool _convert_endian=false)
Definition AudioDevice.cpp:93
void setChannels(const ch_cnt_t channels)
Definition AudioDevice.h:87
bool supportsCapture() const
Definition AudioDevice.h:57
virtual void renamePort(AudioBusHandle *port)
Definition AudioDevice.cpp:89
bool isRunning() const
Definition AudioDevice.h:71
virtual void unregisterPort(AudioBusHandle *port)
Definition AudioDevice.cpp:82
sample_rate_t sampleRate() const
Definition AudioDevice.h:62
void clearS16Buffer(int_sample_t *_outbuf, const f_cnt_t _frames)
Definition AudioDevice.cpp:130
virtual void registerPort(AudioBusHandle *port)
Definition AudioDevice.cpp:75
ch_cnt_t m_channels
Definition AudioDevice.h:98
ch_cnt_t channels() const
Definition AudioDevice.h:82
std::atomic_flag m_running
Definition AudioDevice.h:100
Definition AudioEngine.h:66
Definition SampleFrame.h:41
Definition AudioAlsa.cpp:35
std::uint16_t ch_cnt_t
Definition LmmsTypes.h:44
std::uint32_t sample_rate_t
Definition LmmsTypes.h:42
std::int16_t int_sample_t
Definition LmmsTypes.h:40
std::uint64_t f_cnt_t
Definition LmmsTypes.h:43