|
Public Member Functions |
| RageSound () |
| ~RageSound () |
| RageSound (const RageSound &cpy) |
RageSound & | operator= (const RageSound &cpy) |
bool | Load (CString fn, int precache=2) |
void | LoadSoundReader (SoundReader *pSound) |
void | Unload () |
bool | IsLoaded () const |
void | StartPlaying () |
void | StopPlaying () |
CString | GetError () const |
bool | Error () const |
RageSound * | Play (const RageSoundParams *params=NULL) |
void | Stop () |
float | GetLengthSeconds () |
float | GetPositionSeconds (bool *approximate=NULL, RageTimer *Timestamp=NULL) const |
int | GetSampleRate () const |
bool | IsStreamingFromDisk () const |
bool | SetPositionSeconds (float fSeconds) |
CString | GetLoadedFilePath () const |
bool | IsPlaying () const |
void | LockSound () |
void | UnlockSound () |
float | GetPlaybackRate () const |
RageTimer | GetStartTime () const |
float | GetVolume () const |
int | GetID () const |
void | SetParams (const RageSoundParams &p) |
const RageSoundParams & | GetParams () const |
int | GetPCM (char *buffer, int size, int64_t frameno) |
bool | GetDataToPlay (int16_t *buffer, int size, int &pos, int &got_bytes) |
void | CommitPlayingPosition (int64_t frameno, int pos, int got_bytes) |
Private Member Functions |
int | FillBuf (int bytes) |
int64_t | GetPositionSecondsInternal (bool *approximate=NULL) const |
bool | SetPositionFrames (int frames=-1) |
int | GetData (char *buffer, int size) |
void | Fail (CString reason) |
int | Bytes_Available () const |
RageSoundParams::StopMode_t | GetStopMode () const |
void | SoundIsFinishedPlaying () |
Static Private Member Functions |
void | RateChange (char *buf, int &cnt, int speed_input_samples, int speed_output_samples, int channels) |
Private Attributes |
RageMutex | m_Mutex |
SoundReader * | Sample |
CircBuf< char > | databuf |
pos_map_queue | pos_map |
CString | m_sFilePath |
RageSoundParams | m_Param |
int | decode_position |
int | stopped_position |
bool | playing |
int64_t | max_driver_frame |
int | ID |
CString | error |