Skylicht Engine
Loading...
Searching...
No Matches
Skylicht::Audio::CSoundSource Class Reference
Inheritance diagram for Skylicht::Audio::CSoundSource:
Skylicht::Audio::ISoundSource

Public Member Functions

 CSoundSource (float length)
virtual void init (const STrackParams &trackParam, const SSourceParam &driverParam)
virtual bool needData ()
virtual void changeDuration (float duration)
virtual void play ()
virtual void stop ()
virtual void pause ()
virtual void reset ()
virtual ESourceState getState ()
virtual void setState (ESourceState state)
virtual long getByteOffset ()
virtual void setByteOffset (int offset)
virtual int getBufferSize ()
virtual void uploadData (void *soundData, unsigned int bufferSize)
virtual void lockThread ()
virtual void unlockThread ()
virtual void fillBuffer (int *buffer, int nbSample, float gain=1.0f)
virtual void setGain (float gain)
virtual void setPitch (float pitch)
virtual void setPosition (const SVector3 &pos)
virtual void setRollOff (float rollOff)
virtual void set3DSound (bool b)
virtual float getGain ()
virtual float getPitch ()
virtual void update (float dt)
virtual float getBufferLength ()
virtual int getSampleRate ()

Protected Member Functions

void update3D ()
float calcDistanceGain (const SListener &listener)
void calcLeftRightGain (const SListener &listener, float &left, float &right)

Protected Attributes

STrackParams m_trackParams
int m_numDriverBuffer
int m_driverBuffer
int m_driverBufferSize
int m_driverSamplingRate
float m_bufferDuration
int m_bufferSize
int m_bitPerSample
int m_numChannels
std::vector< SDriverBufferm_buffers
IMutexm_mutex
float m_distanceGain
float m_leftGain
float m_rightGain
float m_gain
float m_pitch
bool m_is3DSound
SVector3 m_position
float m_rollOff
ISoundSource::ESourceState m_state

Additional Inherited Members

Public Types inherited from Skylicht::Audio::ISoundSource
enum  ESourceState {
  StateError = -1 , StateInitial , StatePlaying , StatePause ,
  StateStopped , StatePauseWaitData
}

Member Function Documentation

◆ getBufferLength()

virtual float Skylicht::Audio::CSoundSource::getBufferLength ( )
virtual

◆ getBufferSize()

virtual int Skylicht::Audio::CSoundSource::getBufferSize ( )
virtual

◆ getByteOffset()

virtual long Skylicht::Audio::CSoundSource::getByteOffset ( )
virtual

◆ getGain()

virtual float Skylicht::Audio::CSoundSource::getGain ( )
virtual

◆ getPitch()

virtual float Skylicht::Audio::CSoundSource::getPitch ( )
virtual

◆ getSampleRate()

virtual int Skylicht::Audio::CSoundSource::getSampleRate ( )
virtual

◆ getState()

virtual ESourceState Skylicht::Audio::CSoundSource::getState ( )
virtual

◆ init()

virtual void Skylicht::Audio::CSoundSource::init ( const STrackParams & trackParam,
const SSourceParam & driverParam )
virtual

◆ lockThread()

virtual void Skylicht::Audio::CSoundSource::lockThread ( )
virtual

◆ needData()

virtual bool Skylicht::Audio::CSoundSource::needData ( )
virtual

◆ pause()

virtual void Skylicht::Audio::CSoundSource::pause ( )
virtual

◆ play()

virtual void Skylicht::Audio::CSoundSource::play ( )
virtual

◆ reset()

virtual void Skylicht::Audio::CSoundSource::reset ( )
virtual

◆ set3DSound()

virtual void Skylicht::Audio::CSoundSource::set3DSound ( bool b)
virtual

◆ setByteOffset()

virtual void Skylicht::Audio::CSoundSource::setByteOffset ( int offset)
virtual

◆ setGain()

virtual void Skylicht::Audio::CSoundSource::setGain ( float gain)
virtual

◆ setPitch()

virtual void Skylicht::Audio::CSoundSource::setPitch ( float pitch)
virtual

◆ setPosition()

virtual void Skylicht::Audio::CSoundSource::setPosition ( const SVector3 & pos)
virtual

◆ setRollOff()

virtual void Skylicht::Audio::CSoundSource::setRollOff ( float rollOff)
virtual

◆ setState()

virtual void Skylicht::Audio::CSoundSource::setState ( ESourceState state)
virtual

◆ stop()

virtual void Skylicht::Audio::CSoundSource::stop ( )
virtual

◆ unlockThread()

virtual void Skylicht::Audio::CSoundSource::unlockThread ( )
virtual

◆ update()

virtual void Skylicht::Audio::CSoundSource::update ( float dt)
virtual

◆ uploadData()

virtual void Skylicht::Audio::CSoundSource::uploadData ( void * soundData,
unsigned int bufferSize )
virtual

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