Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

Alsa9Buf Class Reference

#include <ALSA9Helpers.h>

List of all members.

Public Types

enum  hw { HW_HARDWARE, HW_SOFTWARE, HW_DONT_CARE }

Public Member Functions

 Alsa9Buf ()
CString Init (hw hardware, int channels)
 ~Alsa9Buf ()
int GetNumFramesToFill ()
bool WaitUntilFramesCanBeFilled (int timeout_ms)
void Write (const int16_t *buffer, int frames)
unsigned FindSampleRate (unsigned rate)
void Play ()
void Stop ()
void SetVolume (float vol)
void SetSampleRate (int hz)
int GetSampleRate () const
void SetWriteahead (snd_pcm_sframes_t frames)
void SetChunksize (snd_pcm_sframes_t frames)
void LogParams ()
int64_t GetPosition () const
int64_t GetPlayPos () const

Static Public Member Functions

void InitializeErrorHandler ()
void GetSoundCardDebugInfo ()
CString GetHardwareID (CString name="")

Private Member Functions

bool Recover (int r)
bool SetHWParams ()
bool SetSWParams ()

Static Private Member Functions

void ErrorHandler (const char *file, int line, const char *function, int err, const char *fmt,...)

Private Attributes

int channels
int samplerate
int samplebits
int buffersize
int64_t last_cursor_pos
bool samplerate_set_explicitly
snd_pcm_uframes_t preferred_writeahead
snd_pcm_uframes_t preferred_chunksize
snd_pcm_uframes_t writeahead
snd_pcm_uframes_t chunksize
snd_pcm_t * pcm


Member Enumeration Documentation

enum Alsa9Buf::hw
 

Enumeration values:
HW_HARDWARE 
HW_SOFTWARE 
HW_DONT_CARE 


Constructor & Destructor Documentation

Alsa9Buf::Alsa9Buf  ) 
 

Alsa9Buf::~Alsa9Buf  ) 
 


Member Function Documentation

void Alsa9Buf::ErrorHandler const char *  file,
int  line,
const char *  function,
int  err,
const char *  fmt,
  ...
[static, private]
 

unsigned Alsa9Buf::FindSampleRate unsigned  rate  ) 
 

CString Alsa9Buf::GetHardwareID CString  name = ""  )  [static]
 

int Alsa9Buf::GetNumFramesToFill  ) 
 

int64_t Alsa9Buf::GetPlayPos  )  const [inline]
 

int64_t Alsa9Buf::GetPosition  )  const
 

int Alsa9Buf::GetSampleRate  )  const [inline]
 

void Alsa9Buf::GetSoundCardDebugInfo  )  [static]
 

CString Alsa9Buf::Init hw  hardware,
int  channels
 

void Alsa9Buf::InitializeErrorHandler  )  [static]
 

void Alsa9Buf::LogParams  ) 
 

void Alsa9Buf::Play  ) 
 

bool Alsa9Buf::Recover int  r  )  [private]
 

void Alsa9Buf::SetChunksize snd_pcm_sframes_t  frames  ) 
 

bool Alsa9Buf::SetHWParams  )  [private]
 

void Alsa9Buf::SetSampleRate int  hz  ) 
 

bool Alsa9Buf::SetSWParams  )  [private]
 

void Alsa9Buf::SetVolume float  vol  ) 
 

void Alsa9Buf::SetWriteahead snd_pcm_sframes_t  frames  ) 
 

void Alsa9Buf::Stop  ) 
 

bool Alsa9Buf::WaitUntilFramesCanBeFilled int  timeout_ms  ) 
 

void Alsa9Buf::Write const int16_t *  buffer,
int  frames
 


Member Data Documentation

int Alsa9Buf::buffersize [private]
 

int Alsa9Buf::channels [private]
 

snd_pcm_uframes_t Alsa9Buf::chunksize [private]
 

int64_t Alsa9Buf::last_cursor_pos [private]
 

snd_pcm_t* Alsa9Buf::pcm [private]
 

snd_pcm_uframes_t Alsa9Buf::preferred_chunksize [private]
 

snd_pcm_uframes_t Alsa9Buf::preferred_writeahead [private]
 

int Alsa9Buf::samplebits [private]
 

int Alsa9Buf::samplerate [private]
 

bool Alsa9Buf::samplerate_set_explicitly [private]
 

snd_pcm_uframes_t Alsa9Buf::writeahead [private]
 


The documentation for this class was generated from the following files:
Generated on Thu Jan 27 20:58:37 2005 for StepMania by doxygen 1.3.7