mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-01-20 04:34:48 +00:00
Update sfxSound.cpp
This commit is contained in:
parent
23ded86100
commit
70d417a402
|
|
@ -81,6 +81,7 @@ SFXSound::SFXSound( SFXProfile *profile, SFXDescription* desc )
|
|||
: Parent( profile, desc ),
|
||||
mVoice( NULL )
|
||||
{
|
||||
mSetPositionValue = 0;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
|
@ -411,6 +412,9 @@ void SFXSound::_play()
|
|||
Platform::outputDebugString( "[SFXSound] virtualizing playback of source '%i'", getId() );
|
||||
#endif
|
||||
}
|
||||
if(getPosition() != mSetPositionValue)
|
||||
setPosition(mSetPositionValue);
|
||||
mSetPositionValue = 0; //Non looping sounds need this to reset.
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
|
@ -421,6 +425,7 @@ void SFXSound::_stop()
|
|||
|
||||
if( mVoice )
|
||||
mVoice->stop();
|
||||
mSetPositionValue = 0;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
|
@ -431,6 +436,7 @@ void SFXSound::_pause()
|
|||
|
||||
if( mVoice )
|
||||
mVoice->pause();
|
||||
mSetPositionValue = getPosition();
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
|
@ -511,6 +517,8 @@ void SFXSound::_updatePriority()
|
|||
|
||||
U32 SFXSound::getPosition() const
|
||||
{
|
||||
if( getLastStatus() == SFXStatusStopped)
|
||||
return mSetPositionValue;
|
||||
if( mVoice )
|
||||
return mVoice->getFormat().getDuration( mVoice->getPosition() );
|
||||
else
|
||||
|
|
@ -522,6 +530,8 @@ U32 SFXSound::getPosition() const
|
|||
void SFXSound::setPosition( U32 ms )
|
||||
{
|
||||
AssertFatal( ms < getDuration(), "SFXSound::setPosition() - position out of range" );
|
||||
mSetPositionValue = ms;
|
||||
|
||||
if( mVoice )
|
||||
mVoice->setPosition( mVoice->getFormat().getSampleCount( ms ) );
|
||||
else
|
||||
|
|
|
|||
Loading…
Reference in a new issue