mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-02-24 00:53:47 +00:00
Sfx playlist asset working (#1109)
* GroundWork -Reverted SFXPlaylist since it is going to be made from an asset now instead. -Added extra options to soundAssets description. -SFXPlaylist may need an onAdd function * Update sfxController.cpp * SFXPlaylist data -Added sfxPlaylist init persist fields for the slots to sound asset -Added logic to fil sfxPlaylist if more than 1 slot is filled * Update SoundAsset.cpp to stop git ci complaining, assetImporter........ * Update SoundAsset.h * sfxPlaylist -Fix: incomplete type error -Added onAdd and onRemove to playlist -SoundAsset getProfile define now returns playlist if the asset is a playlist. * Update SoundAsset.h -updated asset array to return playlist or profile depending on what the asset is * SFXPlaylist working -SFXPlaylist works AudioChannelDefault gets its volume set to 0 for some reason and was throwing off making sfxPlaylist inaudible. Still an exception when closing if using a playlist trips on line 355 of sfxSound * Update sfxSound.h * setSoundFile index null fix * Update SoundAsset.h * Update SoundAsset.h * netstream safety in case of a null asset assignment * Update sfxController.cpp added safeties around a null playlist trying to play. * Update with Az's asset err code changes --------- Co-authored-by: AzaezelX <quillus@hotmail.com>
This commit is contained in:
parent
845defb25d
commit
852ed8f225
14 changed files with 550 additions and 245 deletions
|
|
@ -167,7 +167,7 @@ void SFXController::_compileList( SFXPlayList* playList )
|
|||
|
||||
// If there's no track in this slot, ignore it.
|
||||
|
||||
if( !playList->getTrackProfile(slotIndex))
|
||||
if( !playList->getSlots().mTrack[slotIndex])
|
||||
continue;
|
||||
|
||||
// If this is a looped slot and the list is not set to loop
|
||||
|
|
@ -394,7 +394,13 @@ bool SFXController::_execInsn()
|
|||
case OP_Play:
|
||||
{
|
||||
SFXPlayList* playList = getPlayList();
|
||||
SFXTrack* track = playList->getTrackProfile(insn.mSlotIndex);
|
||||
if (playList == NULL)
|
||||
{
|
||||
endUpdate = true;
|
||||
break;
|
||||
}
|
||||
|
||||
SFXTrack* track = playList->getSlots().mTrack[insn.mSlotIndex];
|
||||
|
||||
// Handle existing sources playing on this slot and find
|
||||
// whether we need to start a new source.
|
||||
|
|
@ -817,6 +823,9 @@ void SFXController::_update()
|
|||
|
||||
SFXPlayList* playList = getPlayList();
|
||||
|
||||
if (!playList)
|
||||
Parent::stop();
|
||||
|
||||
// Check all sources against the current state setup and
|
||||
// take appropriate actions.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue