yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
yaze::emu::audio::SDL2AudioBackend Class Reference

SDL2 audio backend implementation. More...

#include <audio_backend.h>

Inheritance diagram for yaze::emu::audio::SDL2AudioBackend:
Collaboration diagram for yaze::emu::audio::SDL2AudioBackend:

Public Member Functions

 SDL2AudioBackend ()=default
 
 ~SDL2AudioBackend () override
 
bool Initialize (const AudioConfig &config) override
 
void Shutdown () override
 
void Play () override
 
void Pause () override
 
void Stop () override
 
void Clear () override
 
bool QueueSamples (const int16_t *samples, int num_samples) override
 
bool QueueSamples (const float *samples, int num_samples) override
 
AudioStatus GetStatus () const override
 
bool IsInitialized () const override
 
AudioConfig GetConfig () const override
 
void SetVolume (float volume) override
 
float GetVolume () const override
 
std::string GetBackendName () const override
 
- Public Member Functions inherited from yaze::emu::audio::IAudioBackend
virtual ~IAudioBackend ()=default
 

Private Attributes

uint32_t device_id_ = 0
 
AudioConfig config_
 
bool initialized_ = false
 
float volume_ = 1.0f
 

Detailed Description

SDL2 audio backend implementation.

Definition at line 77 of file audio_backend.h.

Constructor & Destructor Documentation

◆ SDL2AudioBackend()

yaze::emu::audio::SDL2AudioBackend::SDL2AudioBackend ( )
default

◆ ~SDL2AudioBackend()

yaze::emu::audio::SDL2AudioBackend::~SDL2AudioBackend ( )
override

Definition at line 17 of file audio_backend.cc.

References Shutdown().

Here is the call graph for this function:

Member Function Documentation

◆ Initialize()

bool yaze::emu::audio::SDL2AudioBackend::Initialize ( const AudioConfig config)
overridevirtual

◆ Shutdown()

void yaze::emu::audio::SDL2AudioBackend::Shutdown ( )
overridevirtual

Implements yaze::emu::audio::IAudioBackend.

Definition at line 66 of file audio_backend.cc.

References device_id_, initialized_, and LOG_INFO.

Referenced by Initialize(), and ~SDL2AudioBackend().

◆ Play()

void yaze::emu::audio::SDL2AudioBackend::Play ( )
overridevirtual

Implements yaze::emu::audio::IAudioBackend.

Definition at line 79 of file audio_backend.cc.

References device_id_, and initialized_.

◆ Pause()

void yaze::emu::audio::SDL2AudioBackend::Pause ( )
overridevirtual

Implements yaze::emu::audio::IAudioBackend.

Definition at line 84 of file audio_backend.cc.

References device_id_, and initialized_.

◆ Stop()

void yaze::emu::audio::SDL2AudioBackend::Stop ( )
overridevirtual

Implements yaze::emu::audio::IAudioBackend.

Definition at line 89 of file audio_backend.cc.

References Clear(), device_id_, and initialized_.

Here is the call graph for this function:

◆ Clear()

void yaze::emu::audio::SDL2AudioBackend::Clear ( )
overridevirtual

Implements yaze::emu::audio::IAudioBackend.

Definition at line 95 of file audio_backend.cc.

References device_id_, and initialized_.

Referenced by Stop().

◆ QueueSamples() [1/2]

bool yaze::emu::audio::SDL2AudioBackend::QueueSamples ( const int16_t *  samples,
int  num_samples 
)
overridevirtual

Implements yaze::emu::audio::IAudioBackend.

Definition at line 100 of file audio_backend.cc.

References device_id_, initialized_, LOG_ERROR, and volume_.

Referenced by QueueSamples().

◆ QueueSamples() [2/2]

bool yaze::emu::audio::SDL2AudioBackend::QueueSamples ( const float *  samples,
int  num_samples 
)
overridevirtual

Implements yaze::emu::audio::IAudioBackend.

Definition at line 142 of file audio_backend.cc.

References initialized_, QueueSamples(), and volume_.

Here is the call graph for this function:

◆ GetStatus()

◆ IsInitialized()

bool yaze::emu::audio::SDL2AudioBackend::IsInitialized ( ) const
overridevirtual

Implements yaze::emu::audio::IAudioBackend.

Definition at line 176 of file audio_backend.cc.

References initialized_.

◆ GetConfig()

AudioConfig yaze::emu::audio::SDL2AudioBackend::GetConfig ( ) const
overridevirtual

Implements yaze::emu::audio::IAudioBackend.

Definition at line 180 of file audio_backend.cc.

References config_.

◆ SetVolume()

void yaze::emu::audio::SDL2AudioBackend::SetVolume ( float  volume)
overridevirtual

Implements yaze::emu::audio::IAudioBackend.

Definition at line 184 of file audio_backend.cc.

References volume_.

◆ GetVolume()

float yaze::emu::audio::SDL2AudioBackend::GetVolume ( ) const
overridevirtual

Implements yaze::emu::audio::IAudioBackend.

Definition at line 188 of file audio_backend.cc.

References volume_.

◆ GetBackendName()

std::string yaze::emu::audio::SDL2AudioBackend::GetBackendName ( ) const
inlineoverridevirtual

Implements yaze::emu::audio::IAudioBackend.

Definition at line 100 of file audio_backend.h.

Member Data Documentation

◆ device_id_

uint32_t yaze::emu::audio::SDL2AudioBackend::device_id_ = 0
private

Definition at line 103 of file audio_backend.h.

Referenced by Clear(), GetStatus(), Initialize(), Pause(), Play(), QueueSamples(), Shutdown(), and Stop().

◆ config_

AudioConfig yaze::emu::audio::SDL2AudioBackend::config_
private

Definition at line 104 of file audio_backend.h.

Referenced by GetConfig(), GetStatus(), and Initialize().

◆ initialized_

bool yaze::emu::audio::SDL2AudioBackend::initialized_ = false
private

◆ volume_

float yaze::emu::audio::SDL2AudioBackend::volume_ = 1.0f
private

Definition at line 106 of file audio_backend.h.

Referenced by GetVolume(), QueueSamples(), QueueSamples(), and SetVolume().


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