PC Stable Documentation
 
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Loading...
Searching...
No Matches
DynamicMusicPlayer Class Reference

Private Member Functions

void DynamicMusicPlayer (DynamicMusicPlayerRegistry configuration)
 
void OnUpdate (float timeslice)
 
void SetCategory (EDynamicMusicPlayerCategory category, bool forced)
 
void RegisterDynamicLocation (notnull Entity caller, int locationType, float locationSize)
 
void UnregisterDynamicLocation (notnull Entity caller)
 
void OnGameEvent (EventType eventTypeId, Param params)
 
protected bool IsPriotitizedCategorySelected ()
 
protected void DetermineTrackByCategory (EDynamicMusicPlayerCategory category)
 
protected bool IsPlaybackActive ()
 
protected void OnProfileOptionChanged (EDayZProfilesOptions option, int value)
 
protected void OnCategorySet (EDynamicMusicPlayerCategory category, bool forced)
 
protected void OnTrackEnded ()
 
protected void OnTrackStopped ()
 
protected void OnNextTrackSelected (DynamicMusicTrackData track, float waitTime)
 
protected void OnLocationMatched (EDynamicMusicPlayerCategory category, bool isPriorityLocation)
 
protected void OnFadeoutFinished (EDynamicMusicPlayerCategory category)
 
private void PlayTrack (DynamicMusicTrackData track)
 
private void StopTrack ()
 
private void ResetWaitingQueue ()
 
private void FadeoutTrack (float fadeoutSeconds)
 
private void ProcessFadeOut ()
 
private bool PlayerInsideOfLocationFilter (array< ref DynamicMusicTrackData > locations)
 
private bool PlayerInsideOfLocationFilter (map< int, ref DynamicMusicLocationDynamicData > locations)
 
private bool SetSelectedTrackFromCategory (EDynamicMusicPlayerCategory category, notnull array< ref DynamicMusicTrackData > tracklist, int historyLookupType=DynamicMusicPlayerTrackHistoryLookupType.ANY)
 
private int SelectRandomTrackIndexFromCategoryPriorityFlagFirst (EDynamicMusicPlayerCategory category, notnull array< ref DynamicMusicTrackData > tracks)
 
private int SelectRandomTrackIndexFromCategory (EDynamicMusicPlayerCategory category, int lookupType, notnull array< ref DynamicMusicTrackData > tracks)
 
private void SetTimeOfDate ()
 
protected float GetWaitTimeForCategory (EDynamicMusicPlayerCategory category)
 
private float GetMinWaitTimePerCategory (EDynamicMusicPlayerCategory category)
 
private float GetMaxWaitTimePerCategory (EDynamicMusicPlayerCategory category)
 
private float GetPreviousTrackFadeoutSeconds (EDynamicMusicPlayerCategory category)
 
private void RefreshTracksCache ()
 

Private Attributes

protected const float TICK_TIME_OF_DATE_UPDATE_SECONDS = 300.0
 
protected const float TICK_LOCATION_CACHE_UPDATE_SECONDS = 120.0
 
protected const float TICK_LOCATION_UPDATE_SECONDS = 120.0
 
protected const float TICK_PRIORITY_LOCATION_UPDATE_SECONDS = 30.0
 
protected const float TICK_FADEOUT_PROCESSOR_SECONDS = 0.2
 
protected const int TRACKS_BUFFER_HISTORY_SIZE = 2
 
protected const float LOCATION_DISTANCE_MAX = 500
 
protected float m_TickTimeOfDateElapsed
 
protected float m_TickLocationCacheUpdateElapsed
 
protected float m_TickLocationUpdateElapsed
 
protected float m_TickPriorityLocationUpdateElapsed
 
protected float m_TickFadeOutProcessingElapsed
 
protected int m_ActualTimeOfDay protected EDynamicMusicPlayerCategory m_CategorySelected
 
protected DynamicMusicTrackData m_CurrentTrack
 
protected ref DynamicMusicPlayerRegistry m_DynamicMusicPlayerRegistry
 
protected ref map< int, ref DynamicMusicLocationDynamicData > m_LocationsDynamic private ref array< ref DynamicMusicTrackDatam_TracksLocationStaticCached
 map of dynamically registered locations during runtime
 
private ref array< ref DynamicMusicTrackDatam_TracksLocationStaticPrioritizedCached
 static + filtered by the distance between player and center of zone
 
protected ref array< ref DynamicMusicTrackDatam_TracksLocationMatchedPlayerInside
 static prio + filtered by the distance between player and center of zone
 
protected AbstractWave m_SoundPlaying
 
private bool m_WaitingForPlayback
 
private int m_RequestedPlaybackMode private ref map< EDynamicMusicPlayerCategory, ref SimpleCircularBuffer< int > > m_LastPlayedTrackBufferPerCategory
 gets the playback mode as set in sounds menu; 0 - all; 1 - menu only
 
private vector m_PlayerPosition
 
private float m_FadeoutTimeElapsed
 
private float m_FadeoutTimeRequested
 
private bool m_FadeoutInProgress
 
private bool m_Created
 

Constructor & Destructor Documentation

◆ DynamicMusicPlayer()

Member Function Documentation

◆ DetermineTrackByCategory()

◆ FadeoutTrack()

private void FadeoutTrack ( float  fadeoutSeconds)
inlineprivate

◆ GetMaxWaitTimePerCategory()

private float GetMaxWaitTimePerCategory ( EDynamicMusicPlayerCategory  category)
inlineprivate

◆ GetMinWaitTimePerCategory()

private float GetMinWaitTimePerCategory ( EDynamicMusicPlayerCategory  category)
inlineprivate

◆ GetPreviousTrackFadeoutSeconds()

private float GetPreviousTrackFadeoutSeconds ( EDynamicMusicPlayerCategory  category)
inlineprivate

◆ GetWaitTimeForCategory()

protected float GetWaitTimeForCategory ( EDynamicMusicPlayerCategory  category)
inlineprivate

◆ IsPlaybackActive()

protected bool IsPlaybackActive ( )
inlineprivate

◆ IsPriotitizedCategorySelected()

protected bool IsPriotitizedCategorySelected ( )
inlineprivate

◆ OnCategorySet()

protected void OnCategorySet ( EDynamicMusicPlayerCategory  category,
bool  forced 
)
inlineprivate

◆ OnFadeoutFinished()

protected void OnFadeoutFinished ( EDynamicMusicPlayerCategory  category)
inlineprivate

◆ OnGameEvent()

void OnGameEvent ( EventType  eventTypeId,
Param  params 
)
inlineprivate

◆ OnLocationMatched()

protected void OnLocationMatched ( EDynamicMusicPlayerCategory  category,
bool  isPriorityLocation 
)
inlineprivate

play prio location track (no fadeout)

play location track (no fadeout)

References FadeoutTrack(), GetPreviousTrackFadeoutSeconds(), IsPriotitizedCategorySelected(), m_CategorySelected, m_SoundPlaying, m_WaitingForPlayback, ResetWaitingQueue(), and SetCategory().

Referenced by OnUpdate().

◆ OnNextTrackSelected()

protected void OnNextTrackSelected ( DynamicMusicTrackData  track,
float  waitTime 
)
inlineprivate

◆ OnProfileOptionChanged()

protected void OnProfileOptionChanged ( EDayZProfilesOptions  option,
int  value 
)
inlineprivate

◆ OnTrackEnded()

protected void OnTrackEnded ( )
inlineprivate

◆ OnTrackStopped()

protected void OnTrackStopped ( )
inlineprivate

stopped only by fadeouts

References m_CurrentTrack, m_SoundPlaying, DynamicMusicTrackData::m_SoundSet, and m_WaitingForPlayback.

Referenced by PlayTrack().

◆ OnUpdate()

◆ PlayerInsideOfLocationFilter() [1/2]

private bool PlayerInsideOfLocationFilter ( array< ref DynamicMusicTrackData locations)
inlineprivate

◆ PlayerInsideOfLocationFilter() [2/2]

private bool PlayerInsideOfLocationFilter ( map< int, ref DynamicMusicLocationDynamicData locations)
inlineprivate

◆ PlayTrack()

◆ ProcessFadeOut()

private void ProcessFadeOut ( )
inlineprivate

◆ RefreshTracksCache()

◆ RegisterDynamicLocation()

◆ ResetWaitingQueue()

private void ResetWaitingQueue ( )
inlineprivate

◆ SelectRandomTrackIndexFromCategory()

private int SelectRandomTrackIndexFromCategory ( EDynamicMusicPlayerCategory  category,
int  lookupType,
notnull array< ref DynamicMusicTrackData tracks 
)
inlineprivate

◆ SelectRandomTrackIndexFromCategoryPriorityFlagFirst()

private int SelectRandomTrackIndexFromCategoryPriorityFlagFirst ( EDynamicMusicPlayerCategory  category,
notnull array< ref DynamicMusicTrackData tracks 
)
inlineprivate

main menu priority tracks first

fallback in case there is no priority track

References INDEX_NOT_FOUND.

Referenced by SetSelectedTrackFromCategory().

◆ SetCategory()

void SetCategory ( EDynamicMusicPlayerCategory  category,
bool  forced 
)
inlineprivate

◆ SetSelectedTrackFromCategory()

private bool SetSelectedTrackFromCategory ( EDynamicMusicPlayerCategory  category,
notnull array< ref DynamicMusicTrackData tracklist,
int  historyLookupType = DynamicMusicPlayerTrackHistoryLookupType.ANY 
)
inlineprivate

◆ SetTimeOfDate()

private void SetTimeOfDate ( )
inlineprivate

References g_Game.

Referenced by DynamicMusicPlayer(), OnGameEvent(), and OnUpdate().

◆ StopTrack()

private void StopTrack ( )
inlineprivate

◆ UnregisterDynamicLocation()

void UnregisterDynamicLocation ( notnull Entity  caller)
inlineprivate

Field Documentation

◆ LOCATION_DISTANCE_MAX

protected const float LOCATION_DISTANCE_MAX = 500
private

Referenced by RefreshTracksCache().

◆ m_CategorySelected

◆ m_Created

private bool m_Created
private

◆ m_CurrentTrack

◆ m_DynamicMusicPlayerRegistry

◆ m_FadeoutInProgress

private bool m_FadeoutInProgress
private

Referenced by FadeoutTrack(), and OnUpdate().

◆ m_FadeoutTimeElapsed

private float m_FadeoutTimeElapsed
private

◆ m_FadeoutTimeRequested

private float m_FadeoutTimeRequested
private

◆ m_LastPlayedTrackBufferPerCategory

private int m_RequestedPlaybackMode private ref map<EDynamicMusicPlayerCategory, ref SimpleCircularBuffer<int> > m_LastPlayedTrackBufferPerCategory
private

gets the playback mode as set in sounds menu; 0 - all; 1 - menu only

Referenced by DynamicMusicPlayer(), SelectRandomTrackIndexFromCategory(), and SetSelectedTrackFromCategory().

◆ m_PlayerPosition

◆ m_SoundPlaying

◆ m_TickFadeOutProcessingElapsed

protected float m_TickFadeOutProcessingElapsed
private

Referenced by OnUpdate().

◆ m_TickLocationCacheUpdateElapsed

protected float m_TickLocationCacheUpdateElapsed
private

Referenced by OnUpdate().

◆ m_TickLocationUpdateElapsed

protected float m_TickLocationUpdateElapsed
private

Referenced by OnUpdate().

◆ m_TickPriorityLocationUpdateElapsed

protected float m_TickPriorityLocationUpdateElapsed
private

Referenced by OnUpdate().

◆ m_TickTimeOfDateElapsed

protected float m_TickTimeOfDateElapsed
private

Referenced by OnUpdate().

◆ m_TracksLocationMatchedPlayerInside

protected ref array<ref DynamicMusicTrackData> m_TracksLocationMatchedPlayerInside
private

static prio + filtered by the distance between player and center of zone

Referenced by DetermineTrackByCategory(), DynamicMusicPlayer(), and PlayerInsideOfLocationFilter().

◆ m_TracksLocationStaticCached

protected ref map<int, ref DynamicMusicLocationDynamicData> m_LocationsDynamic private ref array<ref DynamicMusicTrackData> m_TracksLocationStaticCached
private

map of dynamically registered locations during runtime

Referenced by DynamicMusicPlayer(), OnUpdate(), and RefreshTracksCache().

◆ m_TracksLocationStaticPrioritizedCached

private ref array<ref DynamicMusicTrackData> m_TracksLocationStaticPrioritizedCached
private

static + filtered by the distance between player and center of zone

Referenced by DynamicMusicPlayer(), OnUpdate(), and RefreshTracksCache().

◆ m_WaitingForPlayback

◆ TICK_FADEOUT_PROCESSOR_SECONDS

protected const float TICK_FADEOUT_PROCESSOR_SECONDS = 0.2
private

Referenced by OnUpdate().

◆ TICK_LOCATION_CACHE_UPDATE_SECONDS

protected const float TICK_LOCATION_CACHE_UPDATE_SECONDS = 120.0
private

Referenced by OnUpdate().

◆ TICK_LOCATION_UPDATE_SECONDS

protected const float TICK_LOCATION_UPDATE_SECONDS = 120.0
private

Referenced by OnUpdate().

◆ TICK_PRIORITY_LOCATION_UPDATE_SECONDS

protected const float TICK_PRIORITY_LOCATION_UPDATE_SECONDS = 30.0
private

Referenced by OnUpdate().

◆ TICK_TIME_OF_DATE_UPDATE_SECONDS

protected const float TICK_TIME_OF_DATE_UPDATE_SECONDS = 300.0
private

Referenced by OnUpdate().

◆ TRACKS_BUFFER_HISTORY_SIZE

protected const int TRACKS_BUFFER_HISTORY_SIZE = 2
private

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