mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-01-19 20:24:49 +00:00
guiAudiocCtrl fixes
ditch description: not needed. set process ticking off when the gui element is put to sleep for the case of re-use of 3d sounds, set emission to the listener position
This commit is contained in:
parent
cfe76944e7
commit
9b5f137f77
|
|
@ -43,42 +43,38 @@ GuiAudioCtrl::GuiAudioCtrl()
|
|||
mTickPeriodMS = 100;
|
||||
mLastThink = 0;
|
||||
mCurrTick = 0;
|
||||
mPlayIf = "";
|
||||
mSoundPlaying = NULL;
|
||||
|
||||
mUseTrackDescriptionOnly = false;
|
||||
mDescription.mIs3D = false;
|
||||
mDescription.mIsLooping = true;
|
||||
mDescription.mIsStreaming = false;
|
||||
mDescription.mFadeInTime = -1.f;
|
||||
mDescription.mFadeOutTime = -1.f;
|
||||
|
||||
mVolume = 1;
|
||||
mPitch = 1;
|
||||
mFadeInTime = -1;
|
||||
mFadeOutTime = -1;
|
||||
mSourceGroup = NULL;
|
||||
setProcessTicks();
|
||||
}
|
||||
|
||||
GuiAudioCtrl::~GuiAudioCtrl()
|
||||
{
|
||||
if (mSoundPlaying)
|
||||
mSoundPlaying->stop();
|
||||
SFX_DELETE(mSoundPlaying);
|
||||
}
|
||||
|
||||
bool GuiAudioCtrl::onWake()
|
||||
{
|
||||
return Parent::onWake();
|
||||
bool awake = Parent::onWake();
|
||||
setProcessTicks();
|
||||
_update();
|
||||
return awake;
|
||||
}
|
||||
|
||||
void GuiAudioCtrl::onSleep()
|
||||
{
|
||||
if (mSoundPlaying)
|
||||
mSoundPlaying->stop();
|
||||
SFX_DELETE(mSoundPlaying);
|
||||
Parent::onSleep();
|
||||
_update();
|
||||
}
|
||||
|
||||
void GuiAudioCtrl::onRemove()
|
||||
{
|
||||
Parent::onRemove();
|
||||
}
|
||||
|
||||
void GuiAudioCtrl::processTick()
|
||||
|
|
@ -154,22 +150,13 @@ void GuiAudioCtrl::initPersistFields()
|
|||
|
||||
void GuiAudioCtrl::_update()
|
||||
{
|
||||
if (isSoundValid())
|
||||
{
|
||||
//mLocalProfile = *mSoundAsset->getSfxProfile();
|
||||
mDescription = *mSoundAsset->getSfxDescription();
|
||||
}
|
||||
|
||||
// Make sure all the settings are valid.
|
||||
mDescription.validate();
|
||||
|
||||
bool useTrackDescriptionOnly = (mUseTrackDescriptionOnly && getSoundProfile());
|
||||
|
||||
if (getSoundProfile())
|
||||
{
|
||||
if (mSoundPlaying == NULL)
|
||||
{
|
||||
mSoundPlaying = SFX->createSource(getSoundProfile());
|
||||
mSoundPlaying = SFX->createSource(getSoundProfile(), &(SFX->getListener().getTransform()));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -193,9 +180,9 @@ void GuiAudioCtrl::_update()
|
|||
|
||||
}
|
||||
|
||||
if (testCondition() && isActive() && isAwake())
|
||||
if (isAwake())
|
||||
{
|
||||
if (mSoundPlaying && !mSoundPlaying->isPlaying())
|
||||
if (testCondition() && mSoundPlaying && !mSoundPlaying->isPlaying())
|
||||
{
|
||||
mSoundPlaying->play();
|
||||
}
|
||||
|
|
@ -205,6 +192,8 @@ void GuiAudioCtrl::_update()
|
|||
if (mSoundPlaying != NULL)
|
||||
{
|
||||
mSoundPlaying->stop();
|
||||
SFX_DELETE(mSoundPlaying);
|
||||
setProcessTicks(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -72,7 +72,6 @@ protected:
|
|||
bool mUseTrackDescriptionOnly;
|
||||
|
||||
/// The description and variant values used by the local profile.
|
||||
SFXDescription mDescription;
|
||||
SFXSource* mSourceGroup;
|
||||
F32 mVolume;
|
||||
F32 mPitch;
|
||||
|
|
@ -91,6 +90,7 @@ public:
|
|||
// GuiControl.
|
||||
bool onWake() override;
|
||||
void onSleep() override;
|
||||
void onRemove() override;
|
||||
void setActive(bool value) override {};
|
||||
bool testCondition();
|
||||
static void initPersistFields();
|
||||
|
|
|
|||
Loading…
Reference in a new issue