CRI ADX  Last Updated: 2024-07-17 10:47 p
CriAtomExPlayerConfigTag Struct Reference

Configuration structure used when creating a player. More...

#include <cri_le_atom_ex.h>

Data Fields

CriAtomExVoiceAllocationMethod voice_allocation_method
 Voice allocation method. More...
 
CriSint32 max_path_strings
 Maximum number of path strings. More...
 
CriSint32 max_path
 Maximum path length. More...
 
CriUint8 max_aisacs
 Maximum number of AISACs. More...
 
CriBool updates_time
 Time update setting. More...
 
CriBool enable_audio_synced_timer
 Enabling/disabling the update of time in sync with sound. More...
 

Detailed Description

Configuration structure used when creating a player.

Description:
Configuration structure used when creating an AtomEx Player.
It is passed to the criAtomExPlayer_Create function.

When the player is created, internal resources are allocated based on the values of the parameters in this configuration structure.
In particular, the size of the work buffer needed for the player depends on the parameters set in the structure.
Attention
More members will be added in the future, so if you are not using the criAtomExPlayer_SetDefaultConfig macro, make sure to initialize the whole structure to zero before using it.
(Make sure that no member of the structure has an undefined value.)
See also
criAtomExPlayer_Create, criAtomExPlayer_SetDefaultConfig

Field Documentation

◆ voice_allocation_method

CriAtomExVoiceAllocationMethod voice_allocation_method

Voice allocation method.

Description:
Specifies the method used when an AtomEx Player allocates voices.

If CRIATOMEX_ALLOCATE_VOICE_ONCE is set in voice_allocation_method, the AtomEx Player allocates a voice when the audio playback starts.
If the voice cannot be allocated at that time, or if the voice is recycled due to a lower priority during playback, the voice-related resources are released and the voice playback stops.
(Waveform data that has not started to play yet or that was stopped during playback cannot be resumed later.)

On the other hand, if CRIATOMEX_RETRY_VOICE_ALLOCATION is set in voice_allocation_method, the AtomEx Player tries to allocate a voice as many times as needed.
Even if the voice cannot be allocated or the voice is recycled, the resources (virtual voice) used to manage the voice are not released, and when a voice becomes available again, the audio playback process is resumed.
Remarks:
When CRIATOMEX_RETRY_VOICE_ALLOCATION is specified, in addition to the normal process of voices being played back, a voice reacquisition process is performed for virtual voices and therefore the load may be a bit higher than when CRIATOMEX_ALLOCATE_VOICE_ONCE is specified.

If the reallocation of voices is successful, the waveform data is played back from a position based on the playback time.
Attention
Note that when the CRIATOMEX_RETRY_VOICE_ALLOCATION mode is selected, if there are more playback requests than max_virtual_voices, the audio playback cannot be resumed.
(A warning is returned to the error callback function and virtual voices are deleted.)
Therefore, if you use the CRIATOMEX_RETRY_VOICE_ALLOCATION mode, allocate enough virtual voices at initialization.
(Specify a large value for max_virtual_voices.)

Also, when specifying the CRIATOMEX_RETRY_VOICE_ALLOCATION mode, it is not possible to strictly control what waveform data will start to play again and when.
(The result may be different depending on the timing.)

◆ max_path_strings

CriSint32 max_path_strings

Maximum number of path strings.

Description:
Specifies the maximum number of path strings that can be stored in an AtomEx Player.
Remarks:
This parameter only needs to be set if you want to specify a filename to play an unpacked audio file.
When the criAtomExPlayer_SetFile function is executed, the path of the file is stored in the AtomEx Player.
The default settings allow an AtomEx Player to store only a single path.
(This is done to minimize memory consumption.)
By specifying a larger number in max_path_strings when an AtomEx player is created, it is possible to store more paths.
By specifying a value greater than or equal to 2 for max_path_strings, a single player can play back multiple files simultaneously.
(Note, however, that the size of the work buffer increases accordingly to the value of max_path_strings.)
(Storing the paths requires max_path_strings * max_path bytes of memory.)
See also
criAtomExPlayer_SetDefaultConfig, criAtomExPlayer_SetFile

◆ max_path

CriSint32 max_path

Maximum path length.

Description:
Specifies the maximum length of a path that can be specified for an AtomEx Player.
If you think you will pass a file name directly for audio playback, then you must specify the maximum path length in max_path.
Remarks:
This parameter only needs to be set when playing an unpacked audio file by specifying the file name.
When you specify a Cue ID or waveform data ID for playback instead of specifying a file name, you can set max_path to 0.
Attention
When the criAtomExPlayer_SetDefaultConfig macro is used to set the default values to the CriAtomExPlayerConfig structure, max_path is set to 0.
When you specify a file name for playback, do not use the criAtomExPlayer_SetDefaultConfig macro, or, after calling it, change the maximum path length.
See also
criAtomExPlayer_SetDefaultConfig, criAtomExPlayer_SetFile

◆ max_aisacs

CriUint8 max_aisacs

Maximum number of AISACs.

Description:
This is the maximum number of AISACs that can be associated with one cue.
The Atom library allocates resources to reference the number of AISACs specified by max_aisacs when initializing and creating AtomExPlayer.
The maximum value that you can specify for max_aisacs is 55.

◆ updates_time

CriBool updates_time

Time update setting.

Description:
Specifies whether an AtomEx Player performs the playback time updating process.
Remarks:
If updates_time is set to CRI_FALSE, the AtomEx Player will not update the playback time.
As a result, the criAtomExPlayer_GetTime function will not be able to get the playback time. The advantage is a slightly reduced processing load.
See also
criAtomExPlayer_GetTime

◆ enable_audio_synced_timer

CriBool enable_audio_synced_timer

Enabling/disabling the update of time in sync with sound.

Description:
Specifies whether the AtomEx player updates time in sync with playback sound.
Note:
If enable_audio_synced_timer is set to CRI_TRUE, for the sound played by the created AtomEx player, playback time is adjusted in sync with the number of played samples.
You can use the criAtomExPlayback_GetTimeSyncedWithAudio function to acquire the adjusted playback time.
Because the processing load increases during sound playback, specify CRI_TRUE only when you create a player for which you want accurate playback time in sync with sound.
Attention
If this flag is enabled, you will not be able to specify the pitch for the AtomEx player.
See also
criAtomExPlayback_GetTimeSyncedWithAudio

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