CRI ADX  Last Updated: 2024-07-17 10:47 p
CriAtomEx API

Data Structures

struct  CriAtomExRngInterfaceTag
 Random Number Generator interface. More...
 
struct  CriAtomExAcfRegistrationInfoTag
 ACF location information. More...
 
struct  CriAtomExConfigTag
 Configuration structure used to initialize the Atom libraryThis structure is used to specify the behavior of the CRI Atom library.
It is passed to the criAtomEx_Initialize function.

The CRI Atom library will allocate internal resources as needed during initialization according to the settings specified in this structure.
The size of the work area required by the library varies depending on the parameters specified in this structure. More...
 
struct  CriAtomExFormatInfoTag
 Audio data format information. More...
 
struct  CriAtomExSphericalCoordinatesTag
 Spherical Coordinate Structure. More...
 
struct  CriAtomEx3dAttenuationParameterTag
 Distance attenuation parameter structure. More...
 
struct  CriAtomExGameVariableInfoTag
 Structure for acquiring game variable information. More...
 
struct  CriAtomExResourceUsageTag
 Usage status of various resources. More...
 
struct  CriAtomExVoiceInfoDetailTag
 Detailed information about a voice. More...
 
struct  CriAtomExMonitoringVoiceStopInfoTag
 Structure for acquiring voice stop information. More...
 
struct  CriAtomExCueLinkInfoTag
 Info structure for the CueLink callback type. More...
 
struct  CriAtomExPlaybackCancelInfoTag
 Info structure for playback cancel callbacks. More...
 
struct  CriAtomExTrackTransitionBySelectorInfoTag
 Info structure for track transition by selector callbacks. More...
 

Macros

#define criAtomEx_SetDefaultConfigForUserPcmOutput(p_config)
 Set default values to the library initialization configuration structure. More...
 
#define CRIATOMEX_MAX_VIRTUAL_VOICES   (32767)
 Configurable maximum number of virtual voices. More...
 
#define criAtomEx_SetUserAllocator(p_malloc_func, p_free_func, p_obj)    criAtom_SetUserAllocator((p_malloc_func), (p_free_func), (p_obj))
 Register a custom memory allocator. More...
 
#define criAtomEx_SetDefaultConfig(p_config)
 Assign the default values to the configuration structure used for the library's initialization. More...
 
#define criAtomEx_AttachPerformanceMonitor()   criAtom_AttachPerformanceMonitor()
 Add the performance monitor. More...
 
#define criAtomEx_DetachPerformanceMonitor()   criAtom_DetachPerformanceMonitor()
 Remove the performance monitor. More...
 
#define criAtomEx_ResetPerformanceMonitor()   criAtom_ResetPerformanceMonitor()
 Reset the performance monitor. More...
 
#define criAtomEx_GetPerformanceInfo(p_info)   criAtom_GetPerformanceInfo(p_info)
 Get the performance information. More...
 
#define criAtomEx_SetChannelMapping(nch, type)    criAtom_SetChannelMapping((nch), (type))
 Specify the channel mapping pattern. More...
 
#define criAtomEx_CalculateAdxBitrate(num_channels, sampling_rate)    criAtom_CalculateAdxBitrate(num_channels, sampling_rate)
 Calculate the bit rate of ADX data. More...
 
#define criAtomEx_CalculateHcaBitrate(num_channels, sampling_rate, quality)    criAtom_CalculateHcaBitrate(num_channels, sampling_rate, quality)
 Calculate the bit rate of HCA data. More...
 
#define criAtomEx_CalculateHcaMxBitrate(num_channels, sampling_rate, quality)    criAtom_CalculateHcaMxBitrate(num_channels, sampling_rate, quality)
 Calculate the bit rate of HCA-MX data. More...
 
#define criAtomEx_CalculateWaveBitrate(num_channels, sampling_rate, num_bits)    criAtom_CalculateWaveBitrate(num_channels, sampling_rate, num_bits)
 Calculate the bit rate of Wave data. More...
 
#define criAtomEx_CalculateAiffBitrate(num_channels, sampling_rate, num_bits)    criAtom_CalculateAiffBitrate(num_channels, sampling_rate, num_bits)
 Calculate the bit rate of AIFF data. More...
 
#define criAtomEx_GetStreamingInfo(streaming_info)    criAtom_GetStreamingInfo(streaming_info)
 Acquiring streaming information. More...
 
#define criAtomEx_SetFreeTimeBufferingFlagForDefaultDevice(flag)    criAtom_SetFreeTimeBufferingFlagForDefaultDevice(flag)
 Enable or disable the loading of streams when there is free time during file I/O. More...
 

Typedefs

typedef CriAtomMallocFunc CriAtomExMallocFunc
 Memory allocation function. More...
 
typedef CriAtomFreeFunc CriAtomExFreeFunc
 Memory deallocation function. More...
 
typedef enum CriAtomExThreadModelTag CriAtomExThreadModel
 Threading models. More...
 
typedef enum CriAtomExCoordinateSystemTag CriAtomExCoordinateSystem
 Coordinate system. More...
 
typedef enum CriAtomExAcfLocationInfoTypeTag CriAtomExAcfLocationInfoType
 ACF designated type. More...
 
typedef void * CriAtomExRngHn
 Random Number Generator handle.
 
typedef struct CriAtomExRngInterfaceTag CriAtomExRngInterface
 Random Number Generator interface.
 
typedef struct CriAtomExAcfRegistrationInfoTag CriAtomExAcfRegistrationInfo
 ACF location information. More...
 
typedef struct CriAtomExConfigTag CriAtomExConfig
 Configuration structure used to initialize the Atom libraryThis structure is used to specify the behavior of the CRI Atom library.
It is passed to the criAtomEx_Initialize function.

The CRI Atom library will allocate internal resources as needed during initialization according to the settings specified in this structure.
The size of the work area required by the library varies depending on the parameters specified in this structure. More...
 
typedef CriAtomPerformanceInfo CriAtomExPerformanceInfo
 Performance information. More...
 
typedef CriSint32 CriAtomExWaveId
 Waveform data ID. More...
 
typedef CriSint32 CriAtomExVibrationId
 Vibration ID. More...
 
typedef CriAtomFormat CriAtomExFormat
 Format type. More...
 
typedef struct CriAtomExFormatInfoTag CriAtomExFormatInfo
 Audio data format information. More...
 
typedef enum CriAtomExResumeModeTag CriAtomExResumeMode
 Resume target. More...
 
typedef enum CriAtomExBiquadFilterTypeTag CriAtomExBiquadFilterType
 Type of biquad filter. More...
 
typedef enum CriAtomExSilentModeTag CriAtomExSilentMode
 Silent mode. More...
 
typedef enum CriAtomExPanTypeTag CriAtomExPanType
 Pan type. More...
 
typedef enum CriAtomExPanSpeakerTypeTag CriAtomExPanSpeakerType
 Output speaker type for panning. More...
 
typedef enum CriAtomExPanAngleTypeTag CriAtomExPanAngleType
 Panning angle type. More...
 
typedef CriUint32 CriAtomExSpeakerSystem
 Order of the output speakers. More...
 
typedef struct CriAtomExSphericalCoordinatesTag CriAtomExSphericalCoordinates
 Spherical Coordinate Structure. More...
 
typedef struct CriAtomEx3dAttenuationParameterTag CriAtomEx3dAttenuationParameter
 Distance attenuation parameter structure. More...
 
typedef CriSint32 CriAtomExBlockIndex
 Block Index. More...
 
typedef CriUint32 CriAtomExGameVariableId
 Game variable ID. More...
 
typedef struct CriAtomExGameVariableInfoTag CriAtomExGameVariableInfo
 Structure for acquiring game variable information. More...
 
typedef CriAtomStreamingInfo CriAtomExStreamingInfo
 Streaming information. More...
 
typedef enum CriAtomExCharacterEncodingTag CriAtomExCharacterEncoding
 Character code. More...
 
typedef struct CriAtomExResourceUsageTag CriAtomExResourceUsage
 Usage status of various resources. More...
 
typedef enum CriAtomExCurveTypeTag CriAtomExCurveType
 Curve Type. More...
 
typedef enum CriAtomExVoiceEventTag CriAtomExVoiceEvent
 Voice event. More...
 
typedef struct CriAtomExVoiceInfoDetailTag CriAtomExVoiceInfoDetail
 Detailed information about a voice. More...
 
typedef void(* CriAtomExVoiceEventCbFunc) (void *obj, CriAtomExVoiceEvent voice_event, const CriAtomExVoiceInfoDetail *request, const CriAtomExVoiceInfoDetail *removed, const CriAtomExVoiceInfoDetail *removed_in_group)
 Type definition of the Voice event callback. More...
 
typedef void(* CriAtomExVoiceInfoCbFunc) (void *obj, const CriAtomExVoiceInfoDetail *voice_info)
 Type definition of the Voice information callback. More...
 
typedef struct CriAtomExMonitoringVoiceStopInfoTag CriAtomExMonitoringVoiceStopInfo
 Structure for acquiring voice stop information. More...
 
typedef enum CriAtomExCueLinkTypeTag CriAtomExCueLinkType
 CueLink callback type.
 
typedef struct CriAtomExCueLinkInfoTag CriAtomExCueLinkInfo
 Info structure for the CueLink callback type.
 
typedef CriSint32(* CriAtomExCueLinkCbFunc) (void *obj, const CriAtomExCueLinkInfo *info)
 CueLink callback. More...
 
typedef enum CriAtomExPlaybackCancelTypeTag CriAtomExPlaybackCancelType
 Playback cancel type. More...
 
typedef struct CriAtomExPlaybackCancelInfoTag CriAtomExPlaybackCancelInfo
 Info structure for playback cancel callbacks.
 
typedef void(* CriAtomExPlaybackCancelCbFunc) (void *obj, const CriAtomExPlaybackCancelInfo *info)
 Playback cancel callback. More...
 
typedef struct CriAtomExTrackTransitionBySelectorInfoTag CriAtomExTrackTransitionBySelectorInfo
 Info structure for track transition by selector callbacks.
 
typedef void(* CriAtomExTrackTransitionBySelectorCbFunc) (void *obj, const CriAtomExTrackTransitionBySelectorInfo *info)
 Track transition by selector callback. More...
 

Enumerations

enum  CriAtomExThreadModelTag {
  CRIATOMEX_THREAD_MODEL_MULTI = 0 , CRIATOMEX_THREAD_MODEL_MULTI_WITH_SONICSYNC = 4 , CRIATOMEX_THREAD_MODEL_MULTI_USER_DRIVEN = 3 , CRIATOMEX_THREAD_MODEL_USER_MULTI = 1 ,
  CRIATOMEX_THREAD_MODEL_SINGLE = 2 , CRIATOMEX_THREAD_MODEL_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
}
 Threading models. More...
 
enum  CriAtomExCoordinateSystemTag { CRIATOMEX_COORDINATE_SYSTEM_LEFT_HANDED = 0 , CRIATOMEX_COORDINATE_SYSTEM_RIGHT_HANDED = 1 , CRIATOMEX_COORDINATE_SYSTEM_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF }
 Coordinate system. More...
 
enum  CriAtomExAcfLocationInfoTypeTag { CRIATOMEX_ACF_LOCATION_INFO_TYPE_NONE = 0 , CRIATOMEX_ACF_LOCATION_INFO_TYPE_NAME , CRIATOMEX_ACF_LOCATION_INFO_TYPE_ID , CRIATOMEX_ACF_LOCATION_INFO_TYPE_DATA , CRIATOMEX_ACF_LOCATION_INFO_TYPE_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF }
 ACF designated type. More...
 
enum  CriAtomExResumeModeTag { CRIATOMEX_RESUME_ALL_PLAYBACK = 0 , CRIATOMEX_RESUME_PAUSED_PLAYBACK = 1 , CRIATOMEX_RESUME_PREPARED_PLAYBACK = 2 , CRIATOMEX_RESUME_MODE_RESERVED = 3 , CRIATOMEX_RESUME_MODE_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF }
 Resume target. More...
 
enum  CriAtomExBiquadFilterTypeTag {
  CRIATOMEX_BIQUAD_FILTER_TYPE_OFF = 0 , CRIATOMEX_BIQUAD_FILTER_TYPE_LOWPASS = 1 , CRIATOMEX_BIQUAD_FILTER_TYPE_HIGHPASS = 2 , CRIATOMEX_BIQUAD_FILTER_TYPE_NOTCH = 3 ,
  CRIATOMEX_BIQUAD_FILTER_TYPE_LOWSHELF = 4 , CRIATOMEX_BIQUAD_FILTER_TYPE_HIGHSHELF = 5 , CRIATOMEX_BIQUAD_FILTER_TYPE_PEAKING = 6 , CRIATOMEX_BIQUAD_FILTER_TYPE_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
}
 Type of biquad filter. More...
 
enum  CriAtomExSilentModeTag { CRIATOMEX_SILENT_MODE_NORMAL = 0 , CRIATOMEX_SILENT_MODE_STOP = 1 , CRIATOMEX_SILENT_MODE_VIRTUAL = 2 , CRIATOMEX_SILENT_MODE_VIRTUAL_RETRIGGER = 3 , CRIATOMEX_SILENT_MODE_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF }
 Silent mode. More...
 
enum  CriAtomExPanTypeTag { CRIATOMEX_PAN_TYPE_UNKNOWN = -1 , CRIATOMEX_PAN_TYPE_PAN3D = 0 , CRIATOMEX_PAN_TYPE_3D_POS , CRIATOMEX_PAN_TYPE_AUTO , CRIATOMEX_PAN_TYPE_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF }
 Pan type. More...
 
enum  CriAtomExPanSpeakerTypeTag {
  CRIATOMEX_PAN_SPEAKER_TYPE_4CH = 0 , CRIATOMEX_PAN_SPEAKER_TYPE_5CH = 1 , CRIATOMEX_PAN_SPEAKER_TYPE_6CH = 2 , CRIATOMEX_PAN_SPEAKER_TYPE_7CH = 3 ,
  CRIATOMEX_PAN_SPEAKER_TYPE_5_0_2CH = 4 , CRIATOMEX_PAN_SPEAKER_TYPE_7_0_4CH = 5 , CRIATOMEX_PAN_SPEAKER_TYPE_4_0_2CH = 6 , CRIATOMEX_PAN_SPEAKER_TYPE_6_0_4CH = 7 ,
  CRIATOMEX_PAN_SPEAKER_TYPE_AUTO = 10 , CRIATOMEX_PAN_SPEAKER_TYPE_AUTO_WITH_CENTER = 11 , CRIATOMEX_PAN_SPEAKER_TYPE_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
}
 Output speaker type for panning. More...
 
enum  CriAtomExPanAngleTypeTag { CRIATOMEX_PAN_ANGLE_TYPE_OFFSET = 0 , CRIATOMEX_PAN_ANGLE_TYPE_FIX = 1 , CRIATOMEX_PAN_ANGLE_TYPE_AMBIENCE_MIX = 4 , CRIATOMEX_PAN_ANGLE_TYPE_AMBIENCE_STRAIGHT = 5 , CRIATOMEX_PAN_ANGLE_TYPE_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF }
 Panning angle type. More...
 
enum  CriAtomExCharacterEncodingTag { CRIATOMEX_CHARACTER_ENCODING_UTF8 = 0 , CRIATOMEX_CHARACTER_ENCODING_SJIS = 1 , CRIATOMEX_CHARACTER_ENCODING_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF }
 Character code. More...
 
enum  CriAtomExCurveTypeTag {
  CRIATOMEX_CURVE_TYPE_LINEAR = 0 , CRIATOMEX_CURVE_TYPE_SQUARE , CRIATOMEX_CURVE_TYPE_SQUARE_REVERSE , CRIATOMEX_CURVE_TYPE_S ,
  CRIATOMEX_CURVE_TYPE_FLAT_AT_HALF , CRIATOMEX_CURVE_TYPE_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
}
 Curve Type. More...
 
enum  CriAtomExVoiceEventTag {
  CRIATOMEX_VOICE_EVENT_ALLOCATE = 0 , CRIATOMEX_VOICE_EVENT_ALLOCATE_AND_REMOVE , CRIATOMEX_VOICE_EVENT_ALLOCATE_AND_REMOVE_IN_GROUP , CRIATOMEX_VOICE_EVENT_ALOOCATE_AND_REMOVE_TWO ,
  CRIATOMEX_VOICE_EVENT_REJECT , CRIATOMEX_VOICE_EVENT_REJECT_BY_GROUP_LIMIT , CRIATOMEX_VOICE_EVENT_REMOVE , CRIATOMEX_VOICE_EVENT_ENUM_IS_4BYTE = 0x7FFFFFFF
}
 Voice event. More...
 
enum  CriAtomExCueLinkTypeTag { CRIATOMEX_CUELINK_TYPE_STATIC = 0 , CRIATOMEX_CUELINK_TYPE_DYNAMIC = 1 , CRIATOMEX_CUELINK_TYPE_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF }
 CueLink callback type. More...
 
enum  CriAtomExPlaybackCancelTypeTag {
  CRIATOMEX_PLAYBACK_CANCEL_TYPE_CUE_LIMIT = 0 , CRIATOMEX_PLAYBACK_CANCEL_TYPE_CATEGORY_CUE_LIMIT , CRIATOMEX_PLAYBACK_CANCEL_TYPE_PROBABILITY , CRIATOMEX_PLAYBACK_CANCEL_TYPE_STOP_BY_CUE_LIMIT ,
  CRIATOMEX_PLAYBACK_CANCEL_TYPE_SWITCH , CRIATOMEX_PLAYBACK_CANCEL_TYPE_NO_TRACK_TO_PLAY , CRIATOMEX_PLAYBACK_CANCEL_TYPE_ENUM_IS_4BYTE = 0x7FFFFFFF
}
 Playback cancel type. More...
 

Functions

CriSint32 criAtomEx_CalculateWorkSizeForUserPcmOutput (const CriAtomExConfigForUserPcmOutput *config)
 Calculate the size of the work area required for the user PCM output method. More...
 
void criAtomEx_InitializeForUserPcmOutput (const CriAtomExConfigForUserPcmOutput *config, void *work, CriSint32 work_size)
 Initialization of the user PCM output. More...
 
void criAtomEx_FinalizeForUserPcmOutput (void)
 End processing of user PCM output library. More...
 
CriSint32 criAtomEx_CalculateWorkSize (const CriAtomExConfig *config)
 Calculate the size of the work buffer required to initialize the library. More...
 
CriBool criAtomEx_Initialize (const CriAtomExConfig *config, void *work, CriSint32 work_size)
 Initialize the library. More...
 
void criAtomEx_Finalize (void)
 Finalize the library. More...
 
CriBool criAtomEx_IsInitialized (void)
 Check the library initialization status. More...
 
void criAtomEx_ExecuteMain (void)
 Execute the server processing. More...
 
void criAtomEx_ExecuteAudioProcess (void)
 Execute the server processing for user multithreading. More...
 
void criAtomEx_Lock (void)
 Prevent the server process interrupts. More...
 
void criAtomEx_Unlock (void)
 Cancel the server process interrupt prevention. More...
 
CriUint64 criAtomEx_GetTimeMicro (void)
 Get the time. More...
 
void criAtomEx_ResetTimer (void)
 Reset the timer. More...
 
void criAtomEx_PauseTimer (CriBool sw)
 Pause the timer. More...
 
void criAtomEx_SetConfigForWorkSizeCalculation (const CriAtomExConfig *config)
 Set the configuration structure used for the calculation of the work buffer sizes. More...
 
CriSint32 criAtomEx_CalculateWorkSizeForRegisterAcfData (void *acf_data, CriSint32 acf_data_size)
 Calculate the size of the work buffer required to register in-memory ACF data. More...
 
void criAtomEx_RegisterAcfData (void *acf_data, CriSint32 acf_data_size, void *work, CriSint32 work_size)
 Register in-memory ACF data. More...
 
CriSint32 criAtomEx_CalculateWorkSizeForRegisterAcfFile (CriFsBinderHn binder, const CriChar8 *path)
 Calculate the size of the work buffer required to register an ACF file. More...
 
CriSint32 criAtomEx_CalculateWorkSizeForRegisterAcfFileById (CriFsBinderHn binder, CriUint16 id)
 Calculate the size of the work buffer required to register an ACF file (specifying a CPK content ID) More...
 
CriBool criAtomEx_RegisterAcfFile (CriFsBinderHn binder, const CriChar8 *path, void *work, CriSint32 work_size)
 Register an ACF file. More...
 
CriBool criAtomEx_RegisterAcfFileById (CriFsBinderHn binder, CriUint16 id, void *work, CriSint32 work_size)
 Register an ACF file (specifying a CPK content ID) More...
 
void criAtomEx_UnregisterAcf (void)
 Unregister an ACF file. More...
 
CriUint32 criAtomEx_GetAcfVersion (void *acf_data, CriSint32 acf_data_size, CriBool *flag)
 Get the version of an in-memory ACF. More...
 
CriUint32 criAtomEx_GetAcfVersionFromFile (CriFsBinderHn binder, const CriChar8 *path, void *work, CriSint32 work_size, CriBool *flag)
 Get the version of an ACF file. More...
 
CriUint32 criAtomEx_GetAcfVersionFromFileById (CriFsBinderHn binder, CriUint16 id, void *work, CriSint32 work_size, CriBool *flag)
 Get the version of an ACF file (specifying CPK content ID) More...
 
void criAtomEx_GetSupportedAcfVersion (CriUint32 *version_low, CriUint32 *version_high)
 Get what versions of an ACF file can be registered. More...
 
CriBool criAtomEx_AnalyzeAudioHeader (const void *buffer, CriSint32 buffer_size, CriAtomExFormatInfo *info)
 Analyze audio header. More...
 
void criAtomEx_SetRandomSeed (CriUint32 seed)
 Set a random seed. More...
 
CriSint32 criAtomEx_CalculateWorkSizeForDspBusSetting (const CriChar8 *setting)
 Calculate the size of the work buffer required to attach a DSP bus setting. More...
 
CriSint32 criAtomEx_CalculateWorkSizeForDspBusSettingFromAcfData (void *acf_data, CriSint32 acf_buffer_size, const CriChar8 *setting_name)
 Calculate the size of the work buffer required to attach a DSP bus setting. More...
 
void criAtomEx_AttachDspBusSetting (const CriChar8 *setting, void *work, CriSint32 work_size)
 Attach a DSP bus setting. More...
 
void criAtomEx_DetachDspBusSetting (void)
 Detach a DSP bus setting. More...
 
void criAtomEx_ApplyDspBusSnapshot (const CriChar8 *snapshot_name, CriSint32 time_ms)
 Applying a DSP bus snapshot. More...
 
const CriChar8 * criAtomEx_GetAppliedDspBusSnapshotName (void)
 Get the name of the snapshot applied to a DSP bus. More...
 
void criAtomEx_SetCueLinkCallback (CriAtomExCueLinkCbFunc func, void *obj)
 Registering a CueLink callback function. More...
 
void criAtomEx_SetSpeakerAngles (CriFloat32 angle_l, CriFloat32 angle_r, CriFloat32 angle_sl, CriFloat32 angle_sr)
 Setting 5.1-ch speaker angles. More...
 
void criAtomEx_SetSpeakerAngleArray (CriAtomExSpeakerSystem speaker_system, const CriFloat32 *angle_array)
 Setting the speaker angles. More...
 
void criAtomEx_SetVirtualSpeakerAngleArray (CriAtomExSpeakerSystem speaker_system, const CriFloat32 *angle_array)
 Set the virtual speaker angle. More...
 
void criAtomEx_ControlVirtualSpeakerSetting (CriBool sw)
 Virtual speaker setting ON/OFF. More...
 
CriSint32 criAtomEx_GetNumGameVariables (void)
 Acquiring the total number of game variables. More...
 
CriBool criAtomEx_GetGameVariableInfo (CriUint16 index, CriAtomExGameVariableInfo *info)
 Acquiring game variable information (by specifying an index) More...
 
CriFloat32 criAtomEx_GetGameVariableById (CriAtomExGameVariableId id)
 Acquiring a game variable. More...
 
CriFloat32 criAtomEx_GetGameVariableByName (const CriChar8 *name)
 Acquiring a game variable. More...
 
void criAtomEx_SetGameVariableById (CriAtomExGameVariableId id, CriFloat32 value)
 Setting a game variable. More...
 
void criAtomEx_SetGameVariableByName (const CriChar8 *name, CriFloat32 value)
 Setting a game variable. More...
 
void criAtomEx_SetPlaybackCancelCallback (CriAtomExPlaybackCancelCbFunc func, void *obj)
 Registering a playback cancel callback function. More...
 
void criAtomEx_ControlAcfConsistencyCheck (CriBool sw)
 ACF consistency check function ON/OFF. More...
 
void criAtomEx_SetAcfConsistencyCheckErrorLevel (CriErrorLevel level)
 ACF consistency check error level setting. More...
 
void criAtomEx_SetTrackTransitionBySelectorCallback (CriAtomExTrackTransitionBySelectorCbFunc func, void *obj)
 Registering a track transition by selector callback function. More...
 
void criAtomExAcf_SetGlobalLabelToSelectorByName (const CriChar8 *selsector_name, const CriChar8 *label_name)
 Set a Global Reference Label for Selector. More...
 
void criAtomExAcf_SetGlobalLabelToSelectorByIndex (CriUint16 selsector_index, CriUint16 label_index)
 Set a Global Reference Label for Selector. More...
 
CriAtomExOutputPortHn criAtomExAcf_GetOutputPortHnByName (const CriChar8 *name)
 Getting the output port handle of the ACF file by name. More...
 
void criAtomExPlayer_EnumeratePlayers (CriAtomExPlayerCbFunc func, void *obj)
 Enumerating players. More...
 
void criAtomEx_SetVoiceEventCallback (CriAtomExVoiceEventCbFunc func, void *obj)
 Register a voice event callback. More...
 
void criAtomEx_EnumerateVoiceInfos (CriAtomExVoiceInfoCbFunc func, void *obj)
 Voice information enumerator. More...
 
void criAtomEx_SetMonitoringVoiceStopCallback (CriAtomExMonitoringVoiceStopCbFunc func, void *obj)
 Registering a callback function for monitoring a voice stop. More...
 
void criAtomEx_SetMonitoringVoiceStopPlaybackId (CriAtomExPlaybackId playback_id)
 Registering a playback ID for monitoring a voice stop. More...
 

Detailed Description

Macro Definition Documentation

◆ criAtomEx_SetDefaultConfigForUserPcmOutput

#define criAtomEx_SetDefaultConfigForUserPcmOutput (   p_config)
Value:
{ \
criAtomEx_SetDefaultConfig(&(p_config)->atom_ex); \
criAtomExAsr_SetDefaultConfig(&(p_config)->asr); \
criAtomExHcaMx_SetDefaultConfig(&(p_config)->hca_mx); \
}

Set default values to the library initialization configuration structure.

Parameters
[out]p_configPointer to the initializing configuration structure
Description:
Sets default values to the configuration structure ( CriAtomExConfigForUserPcmOutput ) to be passed to the criAtomEx_InitializeForUserPcmOutput function.
See also
CriAtomExConfigForUserPcmOutput

◆ CRIATOMEX_MAX_VIRTUAL_VOICES

#define CRIATOMEX_MAX_VIRTUAL_VOICES   (32767)

Configurable maximum number of virtual voices.

Description:
This is the upper limit of the virtual voice's configurable value. The value of CriAtomExConfig::max_virtual_voices must be set below this value.
See also
CriAtomExConfig

◆ criAtomEx_SetUserAllocator

#define criAtomEx_SetUserAllocator (   p_malloc_func,
  p_free_func,
  p_obj 
)     criAtom_SetUserAllocator((p_malloc_func), (p_free_func), (p_obj))

Register a custom memory allocator.

Parameters
[in]p_malloc_funcmemory allocation function
[in]p_free_funcmemory deallocation function
[in]p_objuser-specified object
Description:
Registers a memory allocator (memory allocation/deallocation functions) with the CRI Atom library.
Once this macro has registered an allocator, whenever the Atom library needs a work buffer, the user memory allocation/deallocation processes are called.
Therefore, there is no need to pass a work buffer to each function (such as criAtomExPlayer_Create ) that requires memory.
(If a NULL pointer is passed for the work buffer and 0 bytes for its size, the library still works without any problem due to the memory allocation provided by the custome llocator.)
Remarks:
By setting the pointers to the memory allocation/deallocation functions to NULL, the registration of the allocator is canceled.
However, if the registration is canceled and a memory buffer was not deallocated, an error callback is triggered and the cancellation will fail.
(The registered allocator will still be called.)

This macro internally calls the criAtom_SetUserAllocator macro, as well as criAtom_SetUserMallocFunction and criAtom_SetUserFreeFunction functions.
Therefore, do not call these functions if you are using criAtomEx_SetUserAllocator.
(Calling this macro overwrites the settings of the functions listed above.)

Also, the registered memory allocator may be called from different threads in multithreading mode. Therefore, if a memory allocation process is not thread-safe, it should implement its own exclusive access control.

◆ criAtomEx_SetDefaultConfig

#define criAtomEx_SetDefaultConfig (   p_config)

Assign the default values to the configuration structure used for the library's initialization.

Parameters
[out]p_configpointer to the configuration structure used for the library's initialization.
Description:
Assigns the default values to the configuration structure ( CriAtomExConfig ) that is passed to the criAtomEx_Initialize function.
See also
CriAtomExConfig

◆ criAtomEx_AttachPerformanceMonitor

#define criAtomEx_AttachPerformanceMonitor ( )    criAtom_AttachPerformanceMonitor()

Add the performance monitor.

Description:
Adds the performance monitoring function and starts the performance measuring process.
After executing this function, you can get information about the performance of the library (such as the load and the execution time of the server process) by calling the criAtomEx_GetPerformanceInfo function.
See also
criAtomEx_GetPerformanceInfo, criAtomEx_DetachPerformanceMonitor
Example:
// Structure to get the performance information
// Initialize the library
// Add the performance monitoring function
// Reset the performance monitoring
// Performance measurement interval
// Ge the performance information
// Display the measurements
printf(
"Max CPU Load : %d (us)\n" \
"Average CPU Load : %d (us)\n" \
"Max Server Interval : %d (us)\n" \
"Average Server Interval : %d (us)\n",
);
CriBool criAtomEx_Initialize(const CriAtomExConfig *config, void *work, CriSint32 work_size)
Initialize the library.
#define criAtomEx_GetPerformanceInfo(p_info)
Get the performance information.
Definition: cri_le_atom_ex.h:431
#define criAtomEx_AttachPerformanceMonitor()
Add the performance monitor.
Definition: cri_le_atom_ex.h:395
#define criAtomEx_ResetPerformanceMonitor()
Reset the performance monitor.
Definition: cri_le_atom_ex.h:420
Performance information.
Definition: cri_le_atom.h:872
CriUint32 max_server_time
Definition: cri_le_atom.h:875
CriUint32 max_server_interval
Definition: cri_le_atom.h:878
CriUint32 average_server_time
Definition: cri_le_atom.h:876
CriUint32 average_server_interval
Definition: cri_le_atom.h:879

◆ criAtomEx_DetachPerformanceMonitor

#define criAtomEx_DetachPerformanceMonitor ( )    criAtom_DetachPerformanceMonitor()

Remove the performance monitor.

Description:
Stops the performance measuring process and removes the performance monitoring function.
Attention
This is a blocking function.
Executing this function blocks the server processing of the Atom library for a while.
If this function is executed during audio playback, problems such as the audio breaking up may occur. Call this function only when a fluctuation in load is acceptable, for example when loading a new game level.

◆ criAtomEx_ResetPerformanceMonitor

#define criAtomEx_ResetPerformanceMonitor ( )    criAtom_ResetPerformanceMonitor()

Reset the performance monitor.

Description:
Discards all the previous measurements.
The performance monitor starts acquiring performance information immediately after the criAtomEx_AttachPerformanceMonitor function is called and then accumulates the measurement results (for example when calculating averages).
If you do not want to mix the previous measurements with the new ones, call this function to discard them.

◆ criAtomEx_GetPerformanceInfo

#define criAtomEx_GetPerformanceInfo (   p_info)    criAtom_GetPerformanceInfo(p_info)

Get the performance information.

Description:
Acquires the performance information.
This function is only available after calling criAtomEx_AttachPerformanceMonitor , and until the criAtomEx_DetachPerformanceMonitor function is called.
See also
criAtomEx_AttachPerformanceMonitor, criAtomEx_DetachPerformanceMonitor

◆ criAtomEx_SetChannelMapping

#define criAtomEx_SetChannelMapping (   nch,
  type 
)     criAtom_SetChannelMapping((nch), (type))

Specify the channel mapping pattern.

Parameters
[in]nchnumber of channels for which the mapping pattern is changed
[in]typemapping pattern
Description:
Changes the mapping of the individual channels to the output speakers.
For example, when a 5-channel audio data is played back, by default, the channels are output in the following order: L, R, C, Ls, and Rs.
In this case, calling criAtomEx_SetChannelMapping(5, 1); will change the output order to L, R, LFE, Ls, and Rs.
Remarks:
This function currently allows mapping pattern changes on 5-channel audio data only.

◆ criAtomEx_CalculateAdxBitrate

#define criAtomEx_CalculateAdxBitrate (   num_channels,
  sampling_rate 
)     criAtom_CalculateAdxBitrate(num_channels, sampling_rate)

Calculate the bit rate of ADX data.

Parameters
[in]num_channelsnumber of channels in the data
[in]sampling_ratesampling rate of the data
Returns
CriSint32 bit rate [bps]
Description:
Calculate the bit rate of HCA data.
If the function fails to calculate the bit rate, it returns -1.
To know the reason of the failure, refer to the error callback message.

◆ criAtomEx_CalculateHcaBitrate

#define criAtomEx_CalculateHcaBitrate (   num_channels,
  sampling_rate,
  quality 
)     criAtom_CalculateHcaBitrate(num_channels, sampling_rate, quality)

Calculate the bit rate of HCA data.

Parameters
[in]num_channelsnumber of channels in the data
[in]sampling_ratesampling rate of the data
[in]qualityencoding quality of the data
Returns
CriSint32 bit rate [bps]
Description:
Calculate the bit rate of HCA data.
If the function fails to calculate the bit rate, it returns -1.
To know the reason of the failure, refer to the error callback message.
Remarks:
For the quality parameter, specify the encoding quality set in CRI Atom Craft or CRI Atom Encoder.

◆ criAtomEx_CalculateHcaMxBitrate

#define criAtomEx_CalculateHcaMxBitrate (   num_channels,
  sampling_rate,
  quality 
)     criAtom_CalculateHcaMxBitrate(num_channels, sampling_rate, quality)

Calculate the bit rate of HCA-MX data.

Parameters
[in]num_channelsnumber of channels in the data
[in]sampling_ratesampling rate of the data
[in]qualityencoding quality of the data
Returns
CriSint32 bit rate [bps]
Description:
Calculate the bit rate of HCA-MX data.
If the function fails to calculate the bit rate, it returns -1.
To know the reason of the failure, refer to the error callback message.
Remarks:
For the quality parameter, specify the encoding quality set in CRI Atom Craft or CRI Atom Encoder.

◆ criAtomEx_CalculateWaveBitrate

#define criAtomEx_CalculateWaveBitrate (   num_channels,
  sampling_rate,
  num_bits 
)     criAtom_CalculateWaveBitrate(num_channels, sampling_rate, num_bits)

Calculate the bit rate of Wave data.

Parameters
[in]num_channelsnumber of channels of the data
[in]sampling_ratesampling rate of the data
[in]num_bitsnumber of bits per sample
Returns
CriSint32 bit [bps]
Description:
Calculates the bit rate of Wave data.
If the function fails to calculate the bit rate, it returns -1.
To know the reason of the failure, refer to the error callback message.

◆ criAtomEx_CalculateAiffBitrate

#define criAtomEx_CalculateAiffBitrate (   num_channels,
  sampling_rate,
  num_bits 
)     criAtom_CalculateAiffBitrate(num_channels, sampling_rate, num_bits)

Calculate the bit rate of AIFF data.

Parameters
[in]num_channelsnumber of channels of the data
[in]sampling_ratesampling rate of the data
[in]num_bitsnumber of bits per sample
Returns
CriSint32 bit [bps]
Description:
Calculates the bit rate of AIFF data.
If the function fails to calculate the bit rate, it returns -1.
To know the reason of the failure, refer to the error callback message.

◆ criAtomEx_GetStreamingInfo

#define criAtomEx_GetStreamingInfo (   streaming_info)     criAtom_GetStreamingInfo(streaming_info)

Acquiring streaming information.

Parameters
[out]streaming_infoPointer to the location where streaming information is stored
Return values
CRI_TRUESucceeded in acquiring the value
CRI_FALSEFailed in acquiring the value
Description:
Acquires streaming information from the streaming management module in the CRI Atom library.
This function stores the streaming information when it is called at streaming_info.
Attention
Because this function and some processes in the Atom server are exclusively controlled, do not stop the Atom server due to priority inversion.
Streaming information is not available on some platforms.
Check the return value of this function.
If streaming information cannot be acquired because of an error,
check whether an error callback occurred.
See also
CriExAtomStreamingInfo

◆ criAtomEx_SetFreeTimeBufferingFlagForDefaultDevice

#define criAtomEx_SetFreeTimeBufferingFlagForDefaultDevice (   flag)     criAtom_SetFreeTimeBufferingFlagForDefaultDevice(flag)

Enable or disable the loading of streams when there is free time during file I/O.

Parameters
[in]flagCRI_TRUE = Use free time during file I/O to perform streaming
Return values
CRI_TRUEThe process finished normally.
CRI_FALSEAn error occurred.
Description:
This setting tells the CRI Atom library streaming management module whether or not to perform
streaming when there is free time during file I/O operations.
When set to CRI_TRUE, the CRI Atom library streaming management module uses any free time during file I/O to load extra data into an empty buffer.
When set to CRI_FALSE, the CRI Atom library streaming management module does not use the free time during file I/O to load extra data.
The default setting is CRI_TRUE.
Remarks:
By using the free time between file I/O operations to load extra data into an empty buffer, you can reduce the frequency of seek playback and improve the overall efficiency of file I/O.
However, normal file load processing has a lower priority than streaming, so if the empty buffer is too large, normal file load processing will be greatly delayed.
Attention
Note that some exclusive access control is performed with the Atom server internal processing, so be sure not to stop the Atom server due to reversed priorities.

Typedef Documentation

◆ CriAtomExMallocFunc

Memory allocation function.

Description:
Type of the memory allocation function passed during the regitration of the custom allocator.
See also
criAtomEx_SetUserAllocator

◆ CriAtomExFreeFunc

Memory deallocation function.

Description:
Type of the memory deallocation function passed during the regitration of the custom allocator.
See also
criAtomEx_SetUserAllocator

◆ CriAtomExThreadModel

Threading models.

Description:
Represents the threading models available when using the Atom library.
The thread model is specified in the CriAtomExConfig structure when the library is initialized (by calling the criAtomEx_Initialize function).
See also
criAtomEx_Initialize, CriAtomExConfig

◆ CriAtomExCoordinateSystem

Coordinate system.

Description:
Represents the coordinate system used by the Atom library for 3D position calculations.
This is specified in the CriAtomExConfig structure passed to the criAtomEx_Initialize function when the library is initialized.
See also
criAtomEx_Initialize, CriAtomExConfig

◆ CriAtomExAcfLocationInfoType

ACF designated type.

Description:
Indicates how the ACF information is provided when ACF registration is performed in the Atom library initialization processing.
This is specified in the CriAtomExAcfRegistrationInfo structure of the CriAtomExConfig structure passed to the criAtomEx_Initialize function when the library is initialized.
See also
criAtomEx_Initialize, CriAtomExConfig, CriAtomExAcfRegistrationInfo

◆ CriAtomExAcfRegistrationInfo

ACF location information.

Description:
Indicates how the ACF information is provided when ACF registration is performed in the Atom library initialization processing.
This is specified as "acf_info" in the CriAtomExConfig structure passed to the criAtomEx_Initialize function when the library is initialized.
Remarks:
Depending on the type of data, the information required may differ.
Please select the appropriate "type" and set the corresponding structure in "info" union.
CriAtomExAcfLocationInfo acf_info;
acf_info.name.binder = NULL;
acf_info.name.path = "sounddata/project.scf";
config.acf_info = &acf_info;
#define criAtomEx_SetDefaultConfig(p_config)
Assign the default values to the configuration structure used for the library's initialization.
Definition: cri_le_atom_ex.h:322
@ CRIATOMEX_ACF_LOCATION_INFO_TYPE_NAME
Definition: cri_le_atom_ex.h:1324
Configuration structure used to initialize the Atom libraryThis structure is used to specify the beha...
Definition: cri_le_atom_ex.h:1461
const CriAtomExAcfRegistrationInfo * acf_info
Pointer to ACF information.
Definition: cri_le_atom_ex.h:1834
See also
criAtomEx_Initialize, CriAtomExConfig

◆ CriAtomExConfig

Configuration structure used to initialize the Atom libraryThis structure is used to specify the behavior of the CRI Atom library.
It is passed to the criAtomEx_Initialize function.

The CRI Atom library will allocate internal resources as needed during initialization according to the settings specified in this structure.
The size of the work area required by the library varies depending on the parameters specified in this structure.

Remarks:
To use the default settings, call the criAtomEx_SetDefaultConfig macro on a CriAtomExConfigTag structure and pass it to the criAtomEx_Initialize function.
Attention
More members will be added in the future. So, if you are not using the criAtomEx_SetDefaultConfig macro, make sure to initialize the structure to zero before using it.
(To make sure that no indefinite value is set to any member of the structure.)
See also
criAtomEx_Initialize, criAtomEx_SetDefaultConfig

◆ CriAtomExPerformanceInfo

Performance information.

Description:
Structure used to acquire performance information.
This structure is used by the criAtomEx_GetPerformanceInfo function.
See also
criAtomEx_GetPerformanceInfo

◆ CriAtomExWaveId

typedef CriSint32 CriAtomExWaveId

Waveform data ID.

Description:
A unique ID assigned (in the authoring tool) to an asset of an AWB file.
To reference the waveform data ID through the program, it is necessary to use this variable type.
See also
criAtomExPlayer_SetWaveId

◆ CriAtomExVibrationId

typedef CriSint32 CriAtomExVibrationId

Vibration ID.

Description:
To reference the vibration ID through the program, it is necessary to use this variable type.

◆ CriAtomExFormat

Format type.

Description:
Data type used to specify the format of the audio data played back on an AtomEx Player.
This type is used by the criAtomExPlayer_SetFormat function.
See also
criAtomExPlayer_SetFormat

◆ CriAtomExFormatInfo

Audio data format information.

Description:
Information on the audio data format.
Remarks:
It is possible to get detailed information about the format of the audio data loaded in memory by executing the criAtomEx_AnalyzeAudioHeader function.
The format of audio data being played back can be acquired by using the criAtomExPlayback_GetFormatInfo function.
See also
criAtomEx_AnalyzeAudioHeader, criAtomExPlayback_GetFormatInfo

◆ CriAtomExResumeMode

Resume target.

Description:
Data type used to specify what paused objects should be resumed.
Used as an argument of the criAtomExPlayer_Resume and criAtomExPlayback_Resume functions.
See also
criAtomExPlayer_Resume, criAtomExPlayback_Resume

◆ CriAtomExBiquadFilterType

Type of biquad filter.

Description:
Data type used to specify the type of the biquad filter.
It is passed to the criAtomExPlayer_SetBiquadFilterParameters function.
See also
criAtomExPlayer_SetBiquadFilterParameters

◆ CriAtomExSilentMode

Silent mode.

Description:
Data type used to specify the silent mode.
This type is used by the criAtomExPlayer_SetSilentMode function.
The library determines if a sound is silent by checking if one of the following values is 0:
  • Volume
  • Volume resulting from the 3D panning calculations
  • Volume resulting from the 3D positioning calculations
Attention
Note that send levels or 2D panning calculations are not used to determine if a sound is silent.
See also
criAtomExPlayer_SetSilentMode

◆ CriAtomExPanType

Pan type.

Description:
Data type used to specify how 3D sound localization should be determined.
This is passed to the criAtomExPlayer_SetPanType function.
See also
criAtomExPlayer_SetPanType

◆ CriAtomExPanSpeakerType

Output speaker type for panning.

Description:
Represents the speakers to be used for the sound output after calculating the 3D localization.
This is passed to the criAtomExPlayer_ChangeDefaultPanSpeakerType function and the criAtomExPlayer_SetPanSpeakerType function.
Remarks:
For a platform with stereo speakers, regardless of the type selected, sounds will be downmixed to stereo.
See also
criAtomExPlayer_SetPanSpeakerType

◆ CriAtomExPanAngleType

Panning angle type.

Description:
Specifies how to handle the angles for each input channel when performing localization calculations for multi-channel materials.
This is used by the criAtomExPlayer_SetPanAngleType function.
See also
criAtomExPlayer_SetPanAngleType

◆ CriAtomExSpeakerSystem

typedef CriUint32 CriAtomExSpeakerSystem

Order of the output speakers.

Description:
Indicates the mapping between the subscript of each channel and an output speaker.
This is used in the criAtomEx_SetSpeakerAngleArray function.
See also
criAtomEx_SetSpeakerAngleArray CRIATOMEX_SPEAKER_SYSTEM_SURROUND_5_1 CRIATOMEX_SPEAKER_SYSTEM_SURROUND_7_1

◆ CriAtomExSphericalCoordinates

Spherical Coordinate Structure.

Description:
This is a structure for handling spherical coordinates.

◆ CriAtomEx3dAttenuationParameter

Distance attenuation parameter structure.

Description:
A structure that holds parameters related to the distance attenuation of a sound source.

◆ CriAtomExBlockIndex

typedef CriSint32 CriAtomExBlockIndex

Block Index.

Description:
A block index is a number that shows the offset of a block in a block sequence.
(Numbers are assigned sequentially to blocks: 0 is assigned to the first block, 1 is assigned to the second block, and so on.)
To maintain a block index in a program, you need to handle the value with this variable type.
See also
criAtomExPlayer_SetFirstBlockIndex, criAtomExPlayback_SetNextBlockIndex, criAtomExPlayback_GetCurrentBlockIndex

◆ CriAtomExGameVariableId

typedef CriUint32 CriAtomExGameVariableId

Game variable ID.

Description:
A game variable ID is assigned to a game variable in ACF by the user on an authoring tool.
To maintain a game variable ID in a program, you need to handle the value with this variable type.
See also
criAtomEx_GetGameVariableById, criAtomEx_SetGameVariableById

◆ CriAtomExGameVariableInfo

Structure for acquiring game variable information.

Description:
This structure is used for acquiring game variable information.
It is passed to the CriAtomExGameVariableInfo function as an argument.
See also
criAtomEx_GetGameVariableInfo

◆ CriAtomExStreamingInfo

Streaming information.

Description:
The streaming status at the point when the information was acquired by the criAtomEx_GetStreamingInfo function.
See also
criAtomEx_GetStreamingInfo

◆ CriAtomExCharacterEncoding

Character code.

Description:
Describes the character encoding method used.

◆ CriAtomExResourceUsage

Usage status of various resources.

Description:
Structure that shows the usage of various resources.

◆ CriAtomExCurveType

Curve Type.

Description:
The type of curve.
See also
CriAtomExReactFadeParameter

◆ CriAtomExVoiceEvent

Voice event.

Description:
Voice event type.
It is passed to the voice event callback.
See also
CriAtomExVoiceEventCbFunc, criAtomEx_SetVoiceEventCallback

◆ CriAtomExVoiceInfoDetail

Detailed information about a voice.

Description:
Structure that stores detailed information about the voice at the time an event occurred.
It is passed to the voice event callback.
See also
CriAtomExVoiceEventCbFunc, criAtomEx_SetVoiceEventCallback

◆ CriAtomExVoiceEventCbFunc

typedef void( * CriAtomExVoiceEventCbFunc) (void *obj, CriAtomExVoiceEvent voice_event, const CriAtomExVoiceInfoDetail *request, const CriAtomExVoiceInfoDetail *removed, const CriAtomExVoiceInfoDetail *removed_in_group)

Type definition of the Voice event callback.

Parameters
[in]objuser-specified object
[in]voice_eventevent that occurred
[in]requestdetailed informaton about the playback request
[in]removeddetailed information about the stopped voice
[in]removed_in_groupdetailed information about the stopped voice in the group
Description:
The type of the callback function that notifies when a voice event occurs.
It is registered by calling the criAtomEx_SetVoiceEventCallback function.

The contents of the third to fifth arguments of the callback function (request, removed, removed_in_group) change depending on the voice event type (i.e. voice_event) as shown below:

(1) CRIATOMEX_VOICE_EVENT_ALLOCATE
The third argument (request) contains the information about the playback request that acquires a voice.
The fourth and the fifth arguments are NULL.

(2) CRIATOMEX_VOICE_EVENT_ALLOCATE_AND_REMOVE
The third argument (request) contains the information about the playback request that acquires a voice.
The fourth argument (removed) contains the information about the voice that is removed and whose playback is stopped.
The fifth argument is NULL.

(3) CRIATOMEX_VOICE_EVENT_ALLOCATE_AND_REMOVE_IN_GROUP
The third argument (request) contains the information about the playback request that acquires a voice.
The fourth argument is NULL.
The fifth argument (removed_in_group) contains the information about the voice that is removed and whose playback is stopped.

(4) CRIATOMEX_VOICE_EVENT_ALLOCATE_AND_REMOVE_TWO
The third argument (request) contains the information about the playback request that acquires a voice.
The fourth argument (removed) contains the information about the voice that is removed and whose playback is stopped.
The fifth argument (removed_in_group) contains the information about the voice that is stopped by adjusting the playback control in the group.

(5) CRIATOMEX_VOICE_EVENT_REJECT
The third argument (request) contains the information about the voice request that is rejected.
The fourth and the fifth arguments are NULL.

(6) CRIATOMEX_VOICE_EVENT_REJECT_BY_GROUP_LIMIT
The third argument (request) contains the information about the voice request that is rejected.
The fourth and the fifth arguments are NULL.

(7) CRIATOMEX_VOICE_EVENT_REMOVE
The fourth argument (removed) contains the information about the voice whose playback has either completed or been stopped.
The third and the fifth arguments are NULL.
Attention
In this callback, only the information related to the limit control at the voice level can be retrieved. (i.e. the priority control on the waveforms based on the voice priority)
If playback is stopped due to the Cue limit control before acquiring a Voice, information such as CRIATOMEX_VOICE_EVENT_REJECT is not returned to this callback.
(At this time, the information about the limit control by the category Cue priority cannot be retrieved.)

At the time when a voice event callback is triggered, the audio data for the playback has not yet been set to request->atom_player.
Therefore, use the member values of the CriAtomExVoiceInfoDetail structure to look up information about the audio data for the playback, instead of checking the atom_player.

Note that if processes are blocked in the callback function for a long time, some problems, such as a playback interruption may occur.
See also
criAtomEx_SetVoiceEventCallback, CriAtomExVoiceEvent, CriAtomExVoiceInfoDetail

◆ CriAtomExVoiceInfoCbFunc

typedef void( * CriAtomExVoiceInfoCbFunc) (void *obj, const CriAtomExVoiceInfoDetail *voice_info)

Type definition of the Voice information callback.

Parameters
[in]objUser-specified object
[in]voice_infoVoice information
Description:
This is the type of the callback function used to send voice information.
By registering this function type callback function to the criAtomEx_EnumerateVoiceInfos function, you can receive information about the voice being played via callback.
Attention
Note that if processes are blocked in the callback function for a long time, some problems, such as a playback interruption may occur.
See also
criAtomEx_EnumerateVoiceInfos, CriAtomExVoiceInfoDetail

◆ CriAtomExMonitoringVoiceStopInfo

Structure for acquiring voice stop information.

Description:
This structure is used for acquiring voice stop information.
It is passed as an argument for the CriAtomExMonitoringVoiceStopCbFunc function type.
See also
CriAtomExMonitoringVoiceStopCbFunc

◆ CriAtomExCueLinkCbFunc

typedef CriSint32( * CriAtomExCueLinkCbFunc) (void *obj, const CriAtomExCueLinkInfo *info)

CueLink callback.

Description:
Parameters
[in]objUser specified object
[in]infoCueLink information
Returns
Unused CueLink callback function type for the AtomEx library.
Use the criAtomEx_SetCueLinkCallback function to register a callback function.
The registered callback function is executed when a CueLink is processed in the library.
Therefore, if an API that doesn't appropriately handle an interrupt to the server processing is called, a problem such as error or deadlock may occur.
Basically, do not use Atom library APIs in a callback function.
Note that if audio processing is blocked in the callback function for a long time, some problems such as a playback interruption may occur.
See also
criAtomEx_SetCueLinkCallback

◆ CriAtomExPlaybackCancelType

Playback cancel type.

Description:
This value indicates the type of a playback cancel.
See also
CriAtomExPlaybackCancelInfo, criAtomEx_SetPlaybackCancelCallback

◆ CriAtomExPlaybackCancelCbFunc

typedef void( * CriAtomExPlaybackCancelCbFunc) (void *obj, const CriAtomExPlaybackCancelInfo *info)

Playback cancel callback.

Description:
Parameters
[in]objUser specified object
[in]infoPlayback cancel information
Returns
Unused Playback cancel callback function type for the AtomEx library.
Use the criAtomEx_SetPlaybackCancelCallback function to register a callback function.
The registered callback function is executed when playback start is canceled in the library.
Therefore, if an API that doesn't appropriately handle an interrupt to the server processing is called, a problem such as error or deadlock may occur.
Basically, do not use Atom library APIs in a callback function.
Note that if audio processing is blocked in the callback function for a long time, some problems such as a playback interruption may occur.
See also
criAtomEx_SetPlaybackCancelCallback

◆ CriAtomExTrackTransitionBySelectorCbFunc

typedef void( * CriAtomExTrackTransitionBySelectorCbFunc) (void *obj, const CriAtomExTrackTransitionBySelectorInfo *info)

Track transition by selector callback.

Description:
Parameters
[in]objUser specified object
[in]infoInformation about the track transition by selector callback
Returns
Unused Track transition by selector callback function type for the AtomEx library.
Use the criAtomEx_SetTrackTransitionBySelectorCallback function to register a callback function.
The registered callback function is executed when transition is started in the library.
Therefore, if an API that doesn't appropriately handle an interrupt to the server processing is called, a problem such as an error or deadlock may occur.
Basically, do not use Atom library APIs in a callback function.
Note that if audio processing is blocked in the callback function for a long time, some problems such as a playback interruption may occur.
See also
criAtomEx_SetTrackTransitionBySelectorCallback

Enumeration Type Documentation

◆ CriAtomExThreadModelTag

Threading models.

Description:
Represents the threading models available when using the Atom library.
The thread model is specified in the CriAtomExConfig structure when the library is initialized (by calling the criAtomEx_Initialize function).
See also
criAtomEx_Initialize, CriAtomExConfig
Enumerator
CRIATOMEX_THREAD_MODEL_MULTI 

Multithreading.

Description:
The library internally creates threads and works in multithreading mode.
The threads are created when the criAtomEx_Initialize function is called.
The library's server processing is executed at regular intervals on a the created threads.
CRIATOMEX_THREAD_MODEL_MULTI_WITH_SONICSYNC 

Multi-threaded low latency output.

Description:
The library internally creates threads and works in multithreading mode.
The threads are created when the criAtomEx_Initialize function is called.
The library's server processing is executed at regular intervals on these threads.
The audio is concurrently rendered on a thread linked to the sound system.
Remarks:
This thread model can only be used on certain platforms.
On platforms that do not support this function, even if CRIATOMEX_THREAD_MODEL_MULTI_WITH_SONICSYNC is specified during library initialization, the behavior will be the same as when CRIATOMEX_THREAD_MODEL_MULTI is specified.
Attention
The processing of the library is distributed across multiple threads.
When using this thread model, you need to call the following functions to measure the processing load.
  • criAtomEx_GetPerformanceInfo
  • criAtomExAsrRack_GetPerformanceInfo
CRIATOMEX_THREAD_MODEL_MULTI_USER_DRIVEN 

Multithreading (user-driven)

Description:
The library internally creates threads and works in multithreading mode.
The threads are created when the criAtomEx_Initialize function is called.
The library's server processing is executed on the created threads, but unlike with CRIATOMEX_THREAD_MODEL_MULTI, they will not be executed automatically.
The user must explicitly execute the server process by calling the criAtomEx_ExecuteMain function.
(When the criAtomEx_ExecuteMain function is called, the thread starts up and the server process is executed.)
CRIATOMEX_THREAD_MODEL_USER_MULTI 

User multithreading.

Description:
While the library does not internally create threads, it ensure exclusive access control so that user-created threads can call the server processing function.
The server process is executed synchronously in the criAtomEx_ExecuteMain function.
CRIATOMEX_THREAD_MODEL_SINGLE 

Single threading.

Description:
The library does not internally create threads and also does not garantee exclusive access control.
The server process is executed synchronously in the criAtomEx_ExecuteMain function.
Attention
When this model is selected, call each API and server processing function from the same thread.

◆ CriAtomExCoordinateSystemTag

Coordinate system.

Description:
Represents the coordinate system used by the Atom library for 3D position calculations.
This is specified in the CriAtomExConfig structure passed to the criAtomEx_Initialize function when the library is initialized.
See also
criAtomEx_Initialize, CriAtomExConfig
Enumerator
CRIATOMEX_COORDINATE_SYSTEM_LEFT_HANDED 

Left-handed coordinate system.

Description:
A left-handed Cartesian coordinate system in which the positive direction of the x-axis points rightward, the positive direction of the y-axis points upward, and the positive direction of the z-axis points into the screen.
CRIATOMEX_COORDINATE_SYSTEM_RIGHT_HANDED 

Right-handed coordinate system.

Description:
A right-handed Cartesian coordinate system in which the positive direction of the x-axis points rightward, the positive direction of the y-axis points upward, and the positive direction of the z-axis points out of the screen.

◆ CriAtomExAcfLocationInfoTypeTag

ACF designated type.

Description:
Indicates how the ACF information is provided when ACF registration is performed in the Atom library initialization processing.
This is specified in the CriAtomExAcfRegistrationInfo structure of the CriAtomExConfig structure passed to the criAtomEx_Initialize function when the library is initialized.
See also
criAtomEx_Initialize, CriAtomExConfig, CriAtomExAcfRegistrationInfo
Enumerator
CRIATOMEX_ACF_LOCATION_INFO_TYPE_NONE 

Not set

CRIATOMEX_ACF_LOCATION_INFO_TYPE_NAME 

File name

CRIATOMEX_ACF_LOCATION_INFO_TYPE_ID 

Content ID

CRIATOMEX_ACF_LOCATION_INFO_TYPE_DATA 

On memory data

◆ CriAtomExResumeModeTag

Resume target.

Description:
Data type used to specify what paused objects should be resumed.
Used as an argument of the criAtomExPlayer_Resume and criAtomExPlayback_Resume functions.
See also
criAtomExPlayer_Resume, criAtomExPlayback_Resume
Enumerator
CRIATOMEX_RESUME_ALL_PLAYBACK 

Resume playback regardless of the pause method

CRIATOMEX_RESUME_PAUSED_PLAYBACK 

Resume playback only if the audio was paused by the Pause function

CRIATOMEX_RESUME_PREPARED_PLAYBACK 

Resume playback of the audio which was prepared using the Prepare function

◆ CriAtomExBiquadFilterTypeTag

Type of biquad filter.

Description:
Data type used to specify the type of the biquad filter.
It is passed to the criAtomExPlayer_SetBiquadFilterParameters function.
See also
criAtomExPlayer_SetBiquadFilterParameters
Enumerator
CRIATOMEX_BIQUAD_FILTER_TYPE_OFF 

Filter disabled

CRIATOMEX_BIQUAD_FILTER_TYPE_LOWPASS 

Low pass filter

CRIATOMEX_BIQUAD_FILTER_TYPE_HIGHPASS 

High pass filter

CRIATOMEX_BIQUAD_FILTER_TYPE_NOTCH 

Notch filter

CRIATOMEX_BIQUAD_FILTER_TYPE_LOWSHELF 

Low shelf filter

CRIATOMEX_BIQUAD_FILTER_TYPE_HIGHSHELF 

High shelf filter

CRIATOMEX_BIQUAD_FILTER_TYPE_PEAKING 

Peaking filter

◆ CriAtomExSilentModeTag

Silent mode.

Description:
Data type used to specify the silent mode.
This type is used by the criAtomExPlayer_SetSilentMode function.
The library determines if a sound is silent by checking if one of the following values is 0:
  • Volume
  • Volume resulting from the 3D panning calculations
  • Volume resulting from the 3D positioning calculations
Attention
Note that send levels or 2D panning calculations are not used to determine if a sound is silent.
See also
criAtomExPlayer_SetSilentMode
Enumerator
CRIATOMEX_SILENT_MODE_NORMAL 

Do nothing.

Description:
No special process is performed when the sound is silent. (Default value)
CRIATOMEX_SILENT_MODE_STOP 

Stop playback.

Description:
The playback is automatically stopped when the sound is silent.
CRIATOMEX_SILENT_MODE_VIRTUAL 

Virtualization.

Description:
Automatically performs virtualization when the sound is silent.
CRIATOMEX_SILENT_MODE_VIRTUAL_RETRIGGER 

Virtualization by re-trigger.

Description:
Automatically performs virtualization in re-trigger mode when the sound is silent.

◆ CriAtomExPanTypeTag

Pan type.

Description:
Data type used to specify how 3D sound localization should be determined.
This is passed to the criAtomExPlayer_SetPanType function.
See also
criAtomExPlayer_SetPanType
Enumerator
CRIATOMEX_PAN_TYPE_UNKNOWN 

Unknown.

Description:
The Pan type is not known. You can get this if you get the information ( CriAtomExCueInfo ) of the cue in the ACB data less than ACB Ver.1.35.00, e.g. with the criAtomExAcb_GetCueInfoByName function.
Attention
If you specify this type in the criAtomExPlayer_SetPanType function, an error occurs.
CRIATOMEX_PAN_TYPE_PAN3D 

Pan3D.

Description:
Pan3D is used to calculate the sound localization.
CRIATOMEX_PAN_TYPE_3D_POS 

3D Positioning

Description:
3D positioning is used to calculate the sound localization.
CRIATOMEX_PAN_TYPE_AUTO 

Automatic.

Description:
The 3D localization is calculated using 3D positioning if a 3D sound source or 3D listener is set to the AtomEx player and using Pan3D otherwise.

◆ CriAtomExPanSpeakerTypeTag

Output speaker type for panning.

Description:
Represents the speakers to be used for the sound output after calculating the 3D localization.
This is passed to the criAtomExPlayer_ChangeDefaultPanSpeakerType function and the criAtomExPlayer_SetPanSpeakerType function.
Remarks:
For a platform with stereo speakers, regardless of the type selected, sounds will be downmixed to stereo.
See also
criAtomExPlayer_SetPanSpeakerType
Enumerator
CRIATOMEX_PAN_SPEAKER_TYPE_4CH 

4ch panning

Description:
L, R, Ls, and Rs are used for panning.
CRIATOMEX_PAN_SPEAKER_TYPE_5CH 

5ch panning

Description:
L, R, C, Ls, and Rs are used for panning.
CRIATOMEX_PAN_SPEAKER_TYPE_6CH 

6ch panning

Description:
L, R, Ls, Rs, Lsb, and Rsb are used for panning.
CRIATOMEX_PAN_SPEAKER_TYPE_7CH 

7ch panning

Description:
L, R, C, Ls, Rs, Lsb, and Rsb are used for panning.
CRIATOMEX_PAN_SPEAKER_TYPE_5_0_2CH 

5.0.2ch panning

Description:
L, R, C, Ls, Rs, Lts, and Rts are used for panning.
CRIATOMEX_PAN_SPEAKER_TYPE_7_0_4CH 

7.0.4ch panning

Description:
Uses L, R, C, Ls, Rs, Lsb, Rsb、Ltf、Rtf、Ltb、Rtb to perform panning.
CRIATOMEX_PAN_SPEAKER_TYPE_4_0_2CH 

Panning automatic setting.

Description:
L, R, Ls, Rs, Lts, Rts are used for panning.
CRIATOMEX_PAN_SPEAKER_TYPE_6_0_4CH 

6.0.4ch panning

Description:
L, R, Ls, Rs, Lsb, Rsb、Ltf、Rtf、Ltb、Rtb are used for panning.
CRIATOMEX_PAN_SPEAKER_TYPE_AUTO 

Automatic panning settings.

Description:
Pans using the largest channel configuration depending on the number of destination channels. Center speaker is not included. Default pan speaker type.
CRIATOMEX_PAN_SPEAKER_TYPE_AUTO_WITH_CENTER 

Panning automatic setting (with center speaker)

Description:
Pans using the largest channel configuration depending on the number of destination channels. Includes center speaker.

◆ CriAtomExPanAngleTypeTag

Panning angle type.

Description:
Specifies how to handle the angles for each input channel when performing localization calculations for multi-channel materials.
This is used by the criAtomExPlayer_SetPanAngleType function.
See also
criAtomExPlayer_SetPanAngleType
Enumerator
CRIATOMEX_PAN_ANGLE_TYPE_OFFSET 

Offset.

Description:
The offset value is added to each channel based on the speaker layout centered around the Pan3D angle specified, then panning calculations are performed for each input channel individually.
For example, if a Pan3D angle of 0 degrees is set for a stereo material, the L channel will be at -30 degrees and output as it is from the L speaker. The R channel will be at +30 degrees and output as it is from the R speaker. If the Pan3D angle is set to +30 degrees, the L channel will be at 0 degrees and the R channel will be at 60 degrees for the panning calculations.
CRIATOMEX_PAN_ANGLE_TYPE_FIX 

Fixed.

Description:
Determines the panning by calculating the balance between each speaker assuming that each speaker's position is fixed based on the number of input channels.
For example, if a Pan3D angle of 0 degrees is set for a stereo material, the L channel will be output from the L speaker with a level scaled by approximately 0.7 and the R channel will be output from the R speaker with a level scaled by approximately 0.7. If the Pan3D angle is set to +30 degrees, the L channel will not be output and the R channel will be output from the R speaker as it is.
Remarks:
This behavior is how Pan3D was in CRI Audio.
What channel is sent to what speaker is handled in the same way than the dry send level is set via the criAtomExPlayer_SetDrySendLevel function.
See also
criAtomExPlayer_SetDrySendLevel
CRIATOMEX_PAN_ANGLE_TYPE_AMBIENCE_MIX 

Environmental sound mix.

Description:
A special pan angle type. Do not use.
CRIATOMEX_PAN_ANGLE_TYPE_AMBIENCE_STRAIGHT 

Environmental sound linear interpolation.

Description:
A special pan angle type. Do not use.

◆ CriAtomExCharacterEncodingTag

Character code.

Description:
Describes the character encoding method used.
Enumerator
CRIATOMEX_CHARACTER_ENCODING_UTF8 

UTF-8

CRIATOMEX_CHARACTER_ENCODING_SJIS 

Shift_JIS

◆ CriAtomExCurveTypeTag

Curve Type.

Description:
The type of curve.
See also
CriAtomExReactFadeParameter
Enumerator
CRIATOMEX_CURVE_TYPE_LINEAR 

Straight line

CRIATOMEX_CURVE_TYPE_SQUARE 

Slow change

CRIATOMEX_CURVE_TYPE_SQUARE_REVERSE 

Fast change

CRIATOMEX_CURVE_TYPE_S 

S-curve

CRIATOMEX_CURVE_TYPE_FLAT_AT_HALF 

Reverse S-curve

◆ CriAtomExVoiceEventTag

Voice event.

Description:
Voice event type.
It is passed to the voice event callback.
See also
CriAtomExVoiceEventCbFunc, criAtomEx_SetVoiceEventCallback
Enumerator
CRIATOMEX_VOICE_EVENT_ALLOCATE 

Allocate a voice.

Description:
Occurs when a free voice is allocated from a voice pool and that a new playback is started.
CRIATOMEX_VOICE_EVENT_ALLOCATE_AND_REMOVE 

Steal a voice.

Description:
A value that indicates that a voice that was playing has been snatched.
A voice that was playing has been stopped and reused to play a different voice.
The waveform data to be stopped and the waveform data to be newly played belong to different voice limit groups.
(Even if one or both of the waveform data do not belong to a voice limit group, this event will occur when a voice is stolen.)
CRIATOMEX_VOICE_EVENT_ALLOCATE_AND_REMOVE_IN_GROUP 

Steal a voice from the same voice limit group.

Description:
Occurs when a playing voice is stolen.
One of the playing voices is stopped and it is reused to allow another voice to play.
Unlike CRIATOMEX_VOICE_EVENT_ALLOCATE_AND_REMOVE , this event occurs when the waveform that is being stopped and the waveform for the new playback belong to the same voice limit group.
CRIATOMEX_VOICE_EVENT_ALOOCATE_AND_REMOVE_TWO 

Steal a voice and adjust the number of voices.

Description:
Occurs when a playing voice is stolen and the number of voices is adjusted.
Two of the playing voices are stopped, and one of them is reused to allow another voice to play.
(One of the stopped voices is returned to a voice pool as a free voice.)
When stealing a voice that meets the playback conditions of the audio data, the number of voices overflows. After adjusting the number of voices in the group, this event occurs.
Remarks:
When playing as much HCA data as allowed by the voice limit group, if ADX data belonging to the same voice limit group is played, this case will happen.
By stopping the ADX voice belonging to another group in order to play the ADX data, if the sum of the voices used for HCA data and ADX data exceeds the voice limit group, an additional voice for HCA data with a low priority will be stopped.
(In that case, one playback request actually stops two voices.)
CRIATOMEX_VOICE_EVENT_REJECT 

Reject a playback request.

Description:
Occurs when the priority of the waveform data to be played is the lowest among all the voices. (It was not possible to steal a voice).
CRIATOMEX_VOICE_EVENT_REJECT_BY_GROUP_LIMIT 

Reject a playback request in the same group.

Description:
Occurs when the priority of the waveform data to be played is the lowest among all the voices from the same group. (It was not possible to steal a voice from that group).
CRIATOMEX_VOICE_EVENT_REMOVE 

Stop voice.

Description:
Occurs if a voice is stopped by a playback completion or by a playback stop request.
The stopped voice is returned to the voice pool as a free voice.

◆ CriAtomExCueLinkTypeTag

CueLink callback type.

Enumerator
CRIATOMEX_CUELINK_TYPE_STATIC 

Static link

CRIATOMEX_CUELINK_TYPE_DYNAMIC 

Dynamic link

◆ CriAtomExPlaybackCancelTypeTag

Playback cancel type.

Description:
This value indicates the type of a playback cancel.
See also
CriAtomExPlaybackCancelInfo, criAtomEx_SetPlaybackCancelCallback
Enumerator
CRIATOMEX_PLAYBACK_CANCEL_TYPE_CUE_LIMIT 

Cue limit.

Description:
Playback cancel by a cue limit.
CRIATOMEX_PLAYBACK_CANCEL_TYPE_CATEGORY_CUE_LIMIT 

Category cue limit.

Description:
Playback cancel by a category cue limit.
CRIATOMEX_PLAYBACK_CANCEL_TYPE_PROBABILITY 

Probability.

Description:
Probability cancel by a priority.
CRIATOMEX_PLAYBACK_CANCEL_TYPE_STOP_BY_CUE_LIMIT 

Cue limit.

Description:
Playback stop by a cue limit.
CRIATOMEX_PLAYBACK_CANCEL_TYPE_SWITCH 

Switch.

Description:
Playback cancel by a switch.
CRIATOMEX_PLAYBACK_CANCEL_TYPE_NO_TRACK_TO_PLAY 

Unknown track.

Description:
Playback cancellation due to an unknown track.

Function Documentation

◆ criAtomEx_CalculateWorkSizeForUserPcmOutput()

CriSint32 criAtomEx_CalculateWorkSizeForUserPcmOutput ( const CriAtomExConfigForUserPcmOutput config)

Calculate the size of the work area required for the user PCM output method.

Parameters
[in]configConfiguration structure
Returns
CriSint32 Work area size
Description:
Gets the size of the work area necessary for initializing the library with the user PCM output method.
Remarks:
The size of the work area required varies depending on the contents of the configuration structure ( CriAtomExConfigForUserPcmOutput ).

The information in the "config" structure is only referenced within this function.
Therefore, it is possible to release the "config" area after executing the function.
Attention
This function is used to initialize the library using the criAtomEx_InitializeForUserPcmOutput function.
When using the criAtomEx_Initialize function, calculate the work area size using the criAtomEx_CalculateWorkSize function instead of this function.
See also
CriAtomExConfigForUserPcmOutput, criAtomEx_InitializeForUserPcmOutput

◆ criAtomEx_InitializeForUserPcmOutput()

void criAtomEx_InitializeForUserPcmOutput ( const CriAtomExConfigForUserPcmOutput config,
void *  work,
CriSint32  work_size 
)

Initialization of the user PCM output.

Parameters
[in]configConfiguration structure for initialization
[in]workWork area
[in]work_sizeWork area size
Description:
Initialize the library in user PCM output mode.

When initialization processing is performed using this function, the Atom library does not output audio.
Users need to periodically obtain PCM data from the library using criAtomExAsr_GetPcmDataFloat32 function and output audio on the application side.
Attention
This function and the following functions can not be used together.
See also
CriAtomExConfigForUserPcmOutput, criAtomEx_FinalizeForUserPcmOutput, criAtomExAsr_GetPcmDataFloat32, criAtomEx_CalculateWorkSizeForUserPcmOutput

◆ criAtomEx_FinalizeForUserPcmOutput()

void criAtomEx_FinalizeForUserPcmOutput ( void  )

End processing of user PCM output library.

Description:
Performs termination processing of the library initialized in user PCM output mode.
Attention
This function is used when library is initialized using criAtomEx_InitializeForUserPcmOutput function.
If the criAtomEx_Initialize function was called, please use the criAtomEx_Finalize function instead of this function to perform termination processing.
See also
criAtomEx_InitializeForUserPcmOutput

◆ criAtomEx_CalculateWorkSize()

CriSint32 criAtomEx_CalculateWorkSize ( const CriAtomExConfig config)

Calculate the size of the work buffer required to initialize the library.

Parameters
[in]configconfiguration structure used to initialize the library
Returns
CriSint32 size of the work buffer
Return values
>=0 successfully completed
-1error occurred
Description:
Calculates the size of the work buffer required to initialize the library.

If this function fails to calculate the size of the work buffer, it will return -1.
To know the reason of the failure, refer to the error callback message.
Remarks:
The size of the work buffer needed for the library depends on the value of the parameters in the configuration structure ( CriAtomExConfig ).

When NULL is specified for the structure, the default settings (the same than the ones set by the criAtomEx_SetDefaultConfig macro) are used to calculate the size of the work buffer.
The information in the config argument is referenced only within the function.
Since it will no longer be referenced after the function exits, it is okay to free the config area after the function is executed.
Attention
If a value is set to the acf_info member of the CriAtomExConfig structure, this function fails and -1 is returned.
When registering ACF data in initialization processing, it is necessary to allocate memory using the memory allocator by the ADX 2 system, not by securing memory using this function value.
See also
CriAtomExConfig, criAtomEx_Initialize

◆ criAtomEx_Initialize()

CriBool criAtomEx_Initialize ( const CriAtomExConfig config,
void *  work,
CriSint32  work_size 
)

Initialize the library.

Parameters
[in]configconfiguration structure used to initialize the library
[in]workwork buffer
[in]work_sizesize of the work buffer
Returns
CriBool Whether it was initialized (initialized : CRI_TRUE / uninitialized : CRI_FALSE)
Description:
Initializes the library.
In order to be able to use the features of the library, you must first call this function.
(Once this function is called, the features of the library are available until the criAtomEx_Finalize function is called.)

To initialize the library, you must allocate a memory area (work buffer) that will be used internally by the library.
There are two methods to allocate the work buffer.
(a) User Allocator method: This method calls a user-provided function to allocate/deallocate the memory.
(b) Fixed Memory method: This method passes the necessary memory buffer directly to the library.

You can register ACF data in the initialization process by using the acf_info member of the CriAtomExConfig structure.
When registering ACF data in initialization processing, it is necessary to allocate a memory area using the User Allocator method.

When using the User Allocator method, the user must register a memory allocation function with the library.
If you specify NULL for work and 0 for work_size when calling this function, the library will use the registered memory allocation function to automatically allocate the required amount of memory.
In that case, the user does not need to prepare the work buffer.
The memory allocated at the initialization will be released when the library is finalized (by calling criAtomEx_Finalize).

When using the Fixed Memory method, the user must pass a pre-allocated memory buffer to this function.
The size of the work buffer needed can be calculated by calling the criAtomEx_CalculateWorkSize function.
Before the initialization, allocate a memory buffer of the size returned by the criAtomEx_CalculateWorkSize function, and then pass it to this function.
When the Fixed Memory method is used, the library uses the work buffer until the library is finalized (by calling the criAtomEx_Finalize function).
Do not release the memory of the work buffer before the library is finalized.
Example:
[Initialization of the library using the User Allocator method]
The following lines show the procedure to initialize/finalize the library when the User Allocator method is used.
  1. Before initializing the library, use the criAtomEx_SetUserAllocator function to register the memory allocation/deallocation functions.
  2. Specify the parameters of the configuration structure for the initialization.
  3. Execute the criAtomEx_Initialize function to initialize the library.
    (Specify NULL for work and 0 for work_size.)
  4. When exiting the application, execute the criAtomEx_Finalize function to finalize the library.


A code example is shown below.

// User-provided memory allocation function
void *user_malloc(void *obj, CriUint32 size)
{
void *mem;
// Allocate memory
mem = malloc(size);
return (mem);
}
// User-provided memory deallocation function
void user_free(void *obj, void *mem)
{
// Release the memory
free(mem);
return;
}
main()
{
CriAtomExConfig config; // Configuration structure used to initialize the library
:
// // Register the user allocator
criAtomEx_SetUserAllocator(user_malloc, user_free, NULL);
// Set the default values in the configuration structure used to initialize the library
// Initialize the library
// Specify NULL and 0 for the work buffer and its size.
// -> The required memory is allocated using the registered memory allocation function.
criAtomEx_Initialize(&config, NULL, 0);
:
// Application's main routine
:
// Finalize the library when exiting the application
// -> The memory allocated during the initialization is released using the registered memory deallocation function.
:
}
void criAtomEx_Finalize(void)
Finalize the library.
#define criAtomEx_SetUserAllocator(p_malloc_func, p_free_func, p_obj)
Register a custom memory allocator.
Definition: cri_le_atom_ex.h:309


[Initialization of the library using the Fixed Memory method]
The following lines show the procedure to initialize/finalize the library when the Fixed Memory method is used.

  1. Specify the parameters of the configuration structure used for the initialization.
  2. Use the criAtomEx_CalculateWorkSize function to calculate the size of the work buffer required to initialize the library.
  3. Allocate the same amount of memory.
  4. Call the criAtomEx_Initialize function to initialize the library.
    (Specify the address of the allocated memory for work and the size of the work buffer for work_size.)
  5. When exiting the application, call the criAtomEx_Finalize function to finalize the library.
  6. Release the memory of the work buffer.


A code example is shown below.

main()
{
CriAtomExConfig config; // Configuration structure used to initialize the library
void *work; // Address of the work buffer
CriSint32 work_size; // Size of the work buffer
:
// Set the default values to the configuration structure
// Calculate the size of the work buffer required to initialize the library
work_size = criAtomEx_CalculateWorkSize(&config);
// Allocate the memory for the work buffer
work = malloc((size_t)work_size);
// Initialize the library
// -> Specify the work buffer that was allocated
criAtomEx_Initialize(&config, NULL, 0);
:
// Application's main routine
// -> The allocated memory must not be released
:
// Finalize the library when exiting the application
// Release the work buffer which is no longer necessary
free(work);
:
}
CriSint32 criAtomEx_CalculateWorkSize(const CriAtomExConfig *config)
Calculate the size of the work buffer required to initialize the library.
Remarks:
The size of the work buffer required for the library depends on the value of the parameters in the configuration structure used for the initialization.
In addition, it also depends on the platform.
The information in the configuration structure is only used during the initialization and is not referenced after that. Therefore, it is safe to release it once the function has returned.
Attention
At present, regardless of whether streaming playback is performed or not, the Atom library always uses the features of the CRI File System library.
Therefore, if the CRI File System library has not been initialized, when the Atom library is initialized, the CRI File System library will be internally initialized at the same time.

When the Atom library internally initializes the CRI File System library, it uses the parameters pointed by the fs_config pointer of the CriAtomExConfig structure.
If fs_config is NULL, the Atom library uses the default parameters (i.e. the same values that would be set by using the ::criFs_SetDefaultConfig macro).

If the CRI File System library has already been initialized, this function does not initialize it again.

If you call this function, you must always call the criAtomEx_Finalize function later.
Do not call this function again until you have called the criAtomEx_Finalize function.
See also
CriAtomExConfig, criAtomEx_Finalize, criAtomEx_SetUserAllocator, criAtomEx_CalculateWorkSize

◆ criAtomEx_Finalize()

void criAtomEx_Finalize ( void  )

Finalize the library.

Description:
Finalizes the library.
Attention
This function cannot be called before the criAtomEx_Initialize function is executed.
See also
criAtomEx_Initialize

◆ criAtomEx_IsInitialized()

CriBool criAtomEx_IsInitialized ( void  )

Check the library initialization status.

Returns
CriBool whether or not the library has been initialized
Return values
CRI_FALSEuninitialized
CRI_TRUEinitialized
Description:
Checks whether the library has been initialized or not.
See also
criAtomEx_Initialize, criAtomEx_Finalize

◆ criAtomEx_ExecuteMain()

void criAtomEx_ExecuteMain ( void  )

Execute the server processing.

Description:
Updates the internal status of the CRI Atom library.
The application must execute this function regularly.

The fequency at which this function must be called depends on the parameters specified at the initialization of the library.
If the threading model is set to CRIATOMEX_THREAD_MODEL_MULTI at the initialization of the library, all processes that must be executed in real-time are executed regularly and automatically within the CRI Atom library. And therefore, even if the calling frequency of this function is low, no problem will occur.
(If this function is executed at least once per second, it should prevent any problem such as audio breakup to occur.)
If the threading model is set to CRIATOMEX_THREAD_MODEL_SINGLE or CRIATOMEX_THREAD_MODEL_USER_MULTI at the initialization of the library, this function performs almost all processes required for audio playback, such as file-reading management, data decoding, and audio output.
Also, this function performs the file access and data decoding processes of the CRI File System library while synchronizing with the audio playback.
Therefore, if this function is executed less frequently than the execution frequency of the server processing (server_frequency in the CriAtomExConfig structure) that was specified when the library was initialized, or if a large or compressed file is read, some problems such as audio breakups may occur.
Remarks:
When the threading model is set to CRIATOMEX_THREAD_MODEL_MULTI at the initialization of the library, this function must also be executed.
(If the threading model is set to CRIATOMEX_THREAD_MODEL_MULTI , only some processes such as status updates are executed, therefore processes are not blocked for a long time in this function.)
The server processing of the CRI File System library is executed internally from within the CRI Atom library.
It means that if this function has been executed, the application does not need to call the server processing of the CRI File System library.

◆ criAtomEx_ExecuteAudioProcess()

void criAtomEx_ExecuteAudioProcess ( void  )

Execute the server processing for user multithreading.

Description:
Updates only the CRI Atom library.
When the threading model is CRIATOMEX_THREAD_MODEL_USER_MULTI , the application must execute this function regularly.

This function performs almost all the processes required for audio playback, such as file-reading management, data decoding and audio output.
Therefore, if this function is executed less frequently than the frequency of the server processing (server_frequency in the CriAtomExConfig structure), some problems such as audio playback breakups may occur.
In addition, unlike the criAtomEx_ExecuteMain function, this function does not execute the server processing of the CRI File System library.
The application must execute the necessary server processings in the correct order.
Remarks:
When CRIATOMEX_THREAD_MODEL_SINGLE is selected, exclusive control over the server processing is not garanteed, so you must not call this function from multiple threads.
See also
criAtomEx_ExecuteMain

◆ criAtomEx_Lock()

void criAtomEx_Lock ( void  )

Prevent the server process interrupts.

Description:
Suppresses the server process interrupts.
Once this function is executed, the server process operations are suppressed until the criAtomEx_Unlock function is executed.
When you want to execute multiple APIs in the same audio frame, use this function to prevent the server process to interrupt and then execute those functions.
Example:
// Prevent server process interrupts
// Start playing back multiple voices
// Cancel the server process interrupt prevention
void criAtomEx_Unlock(void)
Cancel the server process interrupt prevention.
void criAtomEx_Lock(void)
Prevent the server process interrupts.
void criAtomExPlayer_SetVolume(CriAtomExPlayerHn player, CriFloat32 volume)
Set the volume.
void criAtomExPlayer_UpdateAll(CriAtomExPlayerHn player)
Update the playback parameters (for all sounds currently playing)
Attention
Even if multiple players start playing simultaneously in an interruption prevention section, the waveforms being played may not be synchronized on a sample-by-sample basis due to the following factors:
  • Pronunciation delay due to data supply during streaming playback
  • Pronunciation delay due to the hijacking of pronunciation resources
    If you want to synchronize playback, prepare for playback using the criAtomExPlayer_Prepare function, and then start playback in the interrupt prevention section after preparation is complete.

    After this function is executed, if the criAtomEx_Unlock function is not called for a long time, an audio playback breakup may occur.
    The duration for which the server process interrupts are suppressed must be as short as possible.
See also
criAtomEx_Unlock

◆ criAtomEx_Unlock()

void criAtomEx_Unlock ( void  )

Cancel the server process interrupt prevention.

Description:
Cancels the server process interrupts prevention started by the criAtomEx_Lock function.
See also
criAtomEx_Lock

◆ criAtomEx_GetTimeMicro()

CriUint64 criAtomEx_GetTimeMicro ( void  )

Get the time.

Returns
CriUint64 time (in microseconds)
Description:
Gets the time from the master timer of the Atom library.
See also
criAtomEx_ResetTimer

◆ criAtomEx_ResetTimer()

void criAtomEx_ResetTimer ( void  )

Reset the timer.

Description:
Resets the time of the master timer of the Atom library.
Remarks:
This function only affects the value returned by the criAtomEx_GetTimeMicro function.
The playback time of the AtomEx Players will not be cleared.
See also
criAtomEx_ResetTimer

◆ criAtomEx_PauseTimer()

void criAtomEx_PauseTimer ( CriBool  sw)

Pause the timer.

Parameters
[in]swCRI_TRUE = Pause timer, CRI_FALSE = Resume timer
Description:
Pauses or resumes the master timer of the Atom library.
When the master timer is paused, the sequence time no longer progresses.
Remarks:
This function is intended to be used on platforms where the timer continues to count
even when the application is paused or suspended.
Call this function before transitioning into the paused or suspended state
to prevent the sequence from progressing while suspended.
Attention
This function only stops the internal Atom library master timer.
This function cannot be used to stop any currently playing voices, etc. The pause flag set via this function will be applied when the CRI Atom server process is executed.
If instantaneous synchronization is required, call the criAtomEx_ExecuteAudioProcess function to synchronize manually.
However, criAtomEx_ExecuteAudioProcess will execute the audio processing on the thread in which it was called. So make sure that the CPU can handle the load before calling the function.
See also
criAtomEx_ResetTimer

◆ criAtomEx_SetConfigForWorkSizeCalculation()

void criAtomEx_SetConfigForWorkSizeCalculation ( const CriAtomExConfig config)

Set the configuration structure used for the calculation of the work buffer sizes.

Parameters
[in]configConfiguration structure
Description:
Tentatively registers a configuration structure ( CriAtomExConfig structure) to calculate the work buffer size.

The size of the work buffer required for an ACF file registration or a Voice Pool creation depends on the value of the parameters of the structure specified during the library initialization (i.e., when the criAtomEx_Initialize function is executed).
Thus, in general, the library must be initialized before calculating the size of the work buffer that is needed.
However, this function can be used to calculate the size of the work buffer required without initializing the library.

By executing this function, the following can be done without initializing the library:
Remarks:
When NULL is specified for the argument (config), the default settings will be used to calculate the size of the working buffer (i.e. the same parameters than when criAtomEx_SetDefaultConfig is used)

This function currently cannot be undone. Once executed, there is no way to restore the previous state (in which the library has not been initialized and the calculation of the size of the work buffer results in an error).
(It is still possible to overwrite the parameters by executing the function again.)
Attention
The configuration structure registered by this function is only used to calculate the size of the work buffer when the library has not been initialized.
Once the library is initialized, instead of the parameters of this configuration structure, the parameters specified during the initialization will be taken into account to calculate the size of the work buffer.
(If the parameters of the structure registered by this function differ from the parameters of the structure used for the library's initialization, the handle creation may fail due to an insufficient work buffer size.)

Some functions, such as criAtomEx_RegisterAcfFile and criAtomExAcb_LoadAcbFile , require file access during the calculation of the size of the work buffer. Therefore, the size of their work buffer cannot be calculated before the library is initialized, even by calling this function.
(The library must be initialized before calculating the size of the work buffer.)
Example:
CriAtomExConfig atomex_config;
// Assign default values to the configuration structure.
// Calculate the size of the work buffer.
lib_work_size = criAtomEx_CalculateWorkSize(&atomex_config);
// Tentatively register parameters to calculate the size of the work buffer for the sub-modules.
// Calculate the size of the work buffer for the sub-modules.
acf_work_size = criAtomEx_CalculateWorkSizeForRegisterAcfData(acf_data, acf_data_size);
:
CriSint32 criAtomEx_CalculateWorkSizeForRegisterAcfData(void *acf_data, CriSint32 acf_data_size)
Calculate the size of the work buffer required to register in-memory ACF data.
void criAtomEx_SetConfigForWorkSizeCalculation(const CriAtomExConfig *config)
Set the configuration structure used for the calculation of the work buffer sizes.
CriSint32 criAtomExVoicePool_CalculateWorkSizeForStandardVoicePool(const CriAtomExStandardVoicePoolConfig *config)
Calculate the size of the work buffer required to create a standard Voice Pool.
See also
criAtomEx_CalculateWorkSizeForRegisterAcfData, criAtomExVoicePool_CalculateWorkSizeForStandardVoicePool

◆ criAtomEx_CalculateWorkSizeForRegisterAcfData()

CriSint32 criAtomEx_CalculateWorkSizeForRegisterAcfData ( void *  acf_data,
CriSint32  acf_data_size 
)

Calculate the size of the work buffer required to register in-memory ACF data.

Parameters
[in]acf_dataACF data address
[in]acf_data_sizeACF data size
Returns
CriSint32 work buffer size
Return values
>=0 successfully completed
-1error occurred
Description:
Calculates the size of the work buffer required to execute the criAtomEx_RegisterAcfData function.
When the criAtomEx_RegisterAcfData function is called and no user allocator was registered (using the criAtomEx_SetUserAllocator macro), a memory buffer of the size returned by this function must be passed to criAtomEx_RegisterAcfData.

If this function fails to calculate the size, it returns -1.
To know the reason of the failure, refer to the error callback message.
Attention
The size of the work buffer depends on the value of the parameters specified when the library was initialized (by calling the criAtomEx_Initialize function).
Therefore, the library must be initialized before this function is called.
See also
criAtomEx_RegisterAcfData

◆ criAtomEx_RegisterAcfData()

void criAtomEx_RegisterAcfData ( void *  acf_data,
CriSint32  acf_data_size,
void *  work,
CriSint32  work_size 
)

Register in-memory ACF data.

Parameters
[in]acf_dataACF data address
[in]acf_data_sizeACF data size
[in]workwork buffer
[in]work_sizework buffer size
Returns
CriBool Was the data registration successful?
Description:
Registers the in-memory ACF data with the library.
The size of the work buffer required to register the ACF information is calculated by the criAtomEx_CalculateWorkSizeForRegisterAcfData function.
If the ACF file is successfully registered, this function returns CRI_TRUE.
If the ACF file cannot be read due to invalid data or other reasons, this function will return CRI_FALSE.
Remarks:
If an allocator has already been registered by using the criAtomEx_SetUserAllocator macro, it is not necessary to pass a work buffer to this function.
(By passing NULL for work and 0 for work_size, the amount of memory required will be allocated by the user allocator.)
Attention
The library must be initialized before this function is called.

This function stops all the sound being played when the function is executed. It also resets all the parameters related to the following ACF set in the player:
  1. AISAC
  2. AISAC control value
  3. Category
  4. Selector label
  5. Bus send


Both the ACF data buffer and the work buffer that are passed to this function must be maintained by the application until the criAtomEx_UnregisterAcf function is executed.
(Do not release the memory for the work buffer before calling the criAtomEx_UnregisterAcf function.) A part of the ACF data buffer is also used as a work buffer.

See also
criAtomEx_UnregisterAcf

◆ criAtomEx_CalculateWorkSizeForRegisterAcfFile()

CriSint32 criAtomEx_CalculateWorkSizeForRegisterAcfFile ( CriFsBinderHn  binder,
const CriChar8 *  path 
)

Calculate the size of the work buffer required to register an ACF file.

Parameters
[in]binderbinder handle
[in]pathfile path
Returns
CriSint32 work buffer size
Return values
>=0 successfully completed
-1error occurred
Description:
Calculates the size of the work buffer required to execute the criAtomEx_RegisterAcfFile function.
When the criAtomEx_RegisterAcfFile function is called and no user allocator was registered (using the criAtomEx_SetUserAllocator macro), a memory buffer of the size returned by this function must be passed to criAtomEx_RegisterAcfData.
  • During allocator registration: the ACF file is temporarily loaded and the size calculation is done using the number of categories recorded in ACF, the number of category references in the playback unit, and the number of REACTs.
  • When the allocator is not registered: size calculation will be done using the CriAtomExConfig structure's max_categories member and categories_per_playback member specified at the time of library initialization.

    If this function fails to calculate the size, it returns -1.
    To know the reason of the failure, refer to the error callback message.
Remarks:
Specify NULL when the data is not packed to CPK.
Attention
The library must be initialized before this function is called.
See also
criAtomEx_RegisterAcfFile

◆ criAtomEx_CalculateWorkSizeForRegisterAcfFileById()

CriSint32 criAtomEx_CalculateWorkSizeForRegisterAcfFileById ( CriFsBinderHn  binder,
CriUint16  id 
)

Calculate the size of the work buffer required to register an ACF file (specifying a CPK content ID)

Parameters
[in]binderbinder handle
[in]idCPK content ID
Returns
CriSint32 work buffer size
Return values
>=0 successfully completed
-1error occurred
Description:
Calculates the size of the work buffer required to execute the criAtomEx_RegisterAcfFileById function.
Beside the fact that a CPK content ID is specified instead of a file path, this function works in the same way as the criAtomEx_CalculateWorkSizeForRegisterAcfFile function.
Remarks:
Specify NULL when the data is not packed to CPK.
See also
criAtomEx_CalculateWorkSizeForRegisterAcfFile, criAtomEx_RegisterAcfFileById

◆ criAtomEx_RegisterAcfFile()

CriBool criAtomEx_RegisterAcfFile ( CriFsBinderHn  binder,
const CriChar8 *  path,
void *  work,
CriSint32  work_size 
)

Register an ACF file.

Parameters
[in]binderbinder handle
[in]pathfile path
[in]workwork buffer
[in]work_sizework buffer size
Returns
CriBool result of the file reading
Description:
Loads an ACF file and registers it with the library.
If you have already registered the allocator using the criAtomEx_SetUserAllocator macro, there is no need to specify a work area for this function. (By setting work to NULL and work_size to 0, memory is dynamically allocated from the registered allocators for the required workspace size.) The size of the work buffer required to register the ACF information is calculated by the criAtomEx_CalculateWorkSizeForRegisterAcfFile function.

When this function registers an ACF file successfully, it returns CRI_TRUE.
If it fails to register the ACF file, for example due to a reading error, it returns CRI_FALSE.
Remarks:
Specify NULL when the data is not packed to CPK.
Attention
The library must be initialized before this function is called.

This function stops all the sound being played when the function is executed.
It also resets all the parameters related to the following ACF set in the player:
  1. AISAC
  2. AISAC control value
  3. Category
  4. Selector label
  5. Bus send


This function allocates a loader with the criFsLoader_Create function when it begins its execution and destroys the loader with the criFsLoader_Destroy function when it finishes its execution.
Before calling this function, make sure to adjust the number of loaders so that there is at least one free load handle.

If you do not register an allocator using the criAtomEx_SetUserAllocator macro, and you specify a work area for the work size calculated by the criAtomEx_CalculateWorkSizeForRegisterAcfFile function and CRI_FALSE is returned when this function is called, the cause may be a lack of work area.
Make sure that the following members of the CriAtomExConfig structure that you specify at the time of library initialization are set to the correct values

  • max_categories : Equal to or greater than the number of categories, REACT number in ACF.
  • categories_per_playback : Equal to or greater than the number of category references in the play unit in ACF.

    The work buffer that is passed to this function must be maintained by the application until the criAtomEx_UnregisterAcf function is executed.
    (Do not release the memory for the work buffer before calling the criAtomEx_UnregisterAcf function.)
    See also
    criAtomEx_UnregisterAcf

◆ criAtomEx_RegisterAcfFileById()

CriBool criAtomEx_RegisterAcfFileById ( CriFsBinderHn  binder,
CriUint16  id,
void *  work,
CriSint32  work_size 
)

Register an ACF file (specifying a CPK content ID)

Parameters
[in]binderbinder handle
[in]idCPK content ID
[in]workwork buffer
[in]work_sizework buffer size
Returns
CriBool result of the file reading
Description:
Loads an ACF file and registers it with the library.
Beside the fact that a CPK content ID is specified instead of a file path, this function works in the same way as the criAtomEx_RegisterAcfFile function.
Remarks:
Specify NULL when the data is not packed to CPK.
Attention
This function stops all the sound being played when the function is executed. It also resets all the parameters you have set for the player.
See also
criAtomEx_RegisterAcfFile

◆ criAtomEx_UnregisterAcf()

void criAtomEx_UnregisterAcf ( void  )

Unregister an ACF file.

Description:
Unregisters ACF information.
Attention
This function stops all the sound being played when the function is executed.
It also resets all the parameters you have set for the player. (The audio will not be stopped if this function is executed during audio playback when the ACF file is not registered) This function cannot be executed before the criAtomEx_RegisterAcfFile function has been called.
See also
criAtomEx_RegisterAcfData, criAtomEx_RegisterAcfFile, criAtomEx_RegisterAcfFileById

◆ criAtomEx_GetAcfVersion()

CriUint32 criAtomEx_GetAcfVersion ( void *  acf_data,
CriSint32  acf_data_size,
CriBool *  flag 
)

Get the version of an in-memory ACF.

Parameters
[in]acf_dataACF data address
[in]acf_data_sizeACF data size
[out]flagflag that indicates whether the ACF can be registered or not
Returns
CriUint32 ACF format version
Description:
Gets the version of the format of the ACF data present in memory.
The flag argument indicates whether the data for this version can be registered.

◆ criAtomEx_GetAcfVersionFromFile()

CriUint32 criAtomEx_GetAcfVersionFromFile ( CriFsBinderHn  binder,
const CriChar8 *  path,
void *  work,
CriSint32  work_size,
CriBool *  flag 
)

Get the version of an ACF file.

Parameters
[in]binderbinder handle
[in]pathfile path
[in]workwork buffer
[in]work_sizework buffer size
[out]flagflag that indicates whether the ACF can be registered or not
Returns
CriUint2 ACF format version
Description:
Loads an ACF file and gets the version of the ACF data.
The size of the work buffer required to register the ACF information is calculated by the criAtomEx_CalculateWorkSizeForRegisterAcfFile function.

The flag argument indicates whether the data for this version can be registered.
Remarks:
If an allocator has already been registered by using the criAtomEx_SetUserAllocator macro, it is not necessary to pass a work buffer to this function.
(By passing NULL for work and 0 for work_size, the amount of memory required will be allocated by the user allocator.)
Specify NULL when the data is not packed to CPK.
Attention
This function allocates a loader with the criFsLoader_Create function when it begins its execution and destroys the loader with the criFsLoader_Destroy function when it finishes its execution.
Before calling this function, make sure to adjust the number of loaders so that there is at least one free load handle.

The application does not need to maintain the work buffer set in this function.
(When the function is finished, the data loaded is released.)

◆ criAtomEx_GetAcfVersionFromFileById()

CriUint32 criAtomEx_GetAcfVersionFromFileById ( CriFsBinderHn  binder,
CriUint16  id,
void *  work,
CriSint32  work_size,
CriBool *  flag 
)

Get the version of an ACF file (specifying CPK content ID)

Parameters
[in]binderbinder handle
[in]idCPK content ID
[in]workwork buffer
[in]work_sizework buffer size
[out]flagflag that indicates whether the ACF can be registered or not
Returns
CriUint2 ACF format version
Description:
Loads an ACF file and get the version of the format of the ACF data.
Beside the fact that a CPK content ID is specified instead of a file path, this function works in the same way as the criAtomEx_GetAcfVersionFromFile function.
Remarks:
Specify NULL when the data is not packed to CPK.
See also
criAtomEx_GetAcfVersionFromFile

◆ criAtomEx_GetSupportedAcfVersion()

void criAtomEx_GetSupportedAcfVersion ( CriUint32 *  version_low,
CriUint32 *  version_high 
)

Get what versions of an ACF file can be registered.

Parameters
[out]version_lowlowest version that can be registered
[out]version_highhighest version that can be registered
Description:
Get what versions of an ACF file can be registered (i.e. are supported by the current version).
Since version_high corresponds to the version when the library was built, an ACF with a version higher than this value may be registrable.

◆ criAtomEx_AnalyzeAudioHeader()

CriBool criAtomEx_AnalyzeAudioHeader ( const void *  buffer,
CriSint32  buffer_size,
CriAtomExFormatInfo info 
)

Analyze audio header.

Parameters
[in]bufferbuffer that stores the audio data
[in]buffer_sizesize of the buffer that stores the audio data
[out]infoformat information
Returns
CriBool whether the format acquisition has succeeded or failed (If succeeded: CRI_TRUE/if failed: CRI_FALSE)
Description:
Analyzes the format of the audio data loaded in memory.
If the analysis has succeeded, this function returns CRI_TRUE and stores the format information of the audio data in the third argument (info).
If the analysis has failed, this function returns CRI_FALSE.
Remarks:
In the first argument (buffer), the header area of the audio data must be stored (i.e. the first part of the audio data that is loaded in memory).
If a part other than the header of the audio data is set, if unnecessary data is added before the header or if only a part of the header is stored, the format analysis will fail.
For the ADX data or the HCA data, if the first 2048 bytes of the audio file is passed, this function will not fail the format analysis.
Attention
At present, this function only supports the analysis of ADX data and HCA data.
While this function can analyze HCA-MX data, it is not possible to identify whether the data is actually HCA data or HCA-MX data just by checking the header information, and therefore this function will return CRIATOMEX_FORMAT_HCA as the format type.

◆ criAtomEx_SetRandomSeed()

void criAtomEx_SetRandomSeed ( CriUint32  seed)

Set a random seed.

Parameters
[in]seedrandom seed
Description:
Specifies a random seed for a Random Number Generator shared by the entire CRI Atom library.
By setting a random seed, various random playback processes can be reproduced.
If you want to make them reproducible at the AtomEx Player level, use the criAtomExPlayer_SetRandomSeed function instead.
See also
criAtomExPlayer_SetRandomSeed

◆ criAtomEx_CalculateWorkSizeForDspBusSetting()

CriSint32 criAtomEx_CalculateWorkSizeForDspBusSetting ( const CriChar8 *  setting)

Calculate the size of the work buffer required to attach a DSP bus setting.

Parameters
[in]settingname of the DSP bus setting
Returns
CriSint32 work buffer size
Return values
>=0 successfully completed
-1error occurred
Description:
Calculates the size of the work buffer required to build a DSP bus from the DSP bus setting.
Before executing this function, call the ::criAtomEx_RegisterAcfConfig function to register the ACF information.

If this function fails to calculate the size, it returns -1.
To know the reason of the failure, refer to the error callback message.
Remarks:
The size of the work buffer required to attach a DSP bus setting depends on the contents of the DSP bus setting, as created in CRI Atom Craft.
See also
criAtomEx_AttachDspBusSetting, criAtomEx_RegisterAcfConfig

◆ criAtomEx_CalculateWorkSizeForDspBusSettingFromAcfData()

CriSint32 criAtomEx_CalculateWorkSizeForDspBusSettingFromAcfData ( void *  acf_data,
CriSint32  acf_buffer_size,
const CriChar8 *  setting_name 
)

Calculate the size of the work buffer required to attach a DSP bus setting.

Parameters
[in]acf_dataACF data
[in]acf_buffer_sizeACF data size
[in]setting_namename of the DSP bus setting
Returns
CriSint32 work buffer size
Description:
Calculates the size of the work buffer required to build a DSP bus from a DSP bus setting.
Unlike the criAtomEx_CalculateWorkSizeForDspBusSetting function, this function can be executed before calling ::criAtomEx_RegisterAcfConfig.
(In this case, load the ACF data in advance and register the configuration structure for the ASR initialization tentatively.)

If the calculation of the size fails, this function returns -1.
To know the reason of the failure, refer to the error callback message.
Remarks:
The size of the work buffer required to attach a DSP bus setting depends on the contents of the DSP bus setting, as created in CRI Atom Craft.
Attention
This function may not be able to get the size of the work buffer on platforms that use hardware DSP (i.e., platforms that do not use the ASR.)
(In this case, an error callback may be triggered or a negative value may be returned when this function is executed.)
On platforms where this function cannot be used, call the criAtomEx_CalculateWorkSizeForDspBusSetting function to calculate the size of the work buffer after initializing the library.
See also
criAtomEx_AttachDspBusSetting, criAtomEx_RegisterAcfData, criAtomEx_RegisterAcfFile, criAtomEx_RegisterAcfFileById, criAtomExAsr_SetConfigForWorkSizeCalculation, criAtomEx_CalculateWorkSizeForDspBusSetting

◆ criAtomEx_AttachDspBusSetting()

void criAtomEx_AttachDspBusSetting ( const CriChar8 *  setting,
void *  work,
CriSint32  work_size 
)

Attach a DSP bus setting.

Parameters
[in]settingname of the DSP bus setting
[in]workwork buffer
[in]work_sizework buffer size
Description:
Builds a DSP bus from a DSP bus setting and attaches it to the sound renderer.
Before executing this function, call ::criAtomEx_RegisterAcfConfig to register the ACF information.
:
// Load and register an ACF file
criAtomEx_RegisterAcfFile(NULL, "Sample.acf", NULL, 0);
// Apply a DSP bus setting
criAtomEx_AttachDspBusSetting("DspBusSetting_0", NULL, 0);
:
CriBool criAtomEx_RegisterAcfFile(CriFsBinderHn binder, const CriChar8 *path, void *work, CriSint32 work_size)
Register an ACF file.
void criAtomEx_AttachDspBusSetting(const CriChar8 *setting, void *work, CriSint32 work_size)
Attach a DSP bus setting.
Remarks:
The size of the work buffer required to attach a DSP bus setting depends on the contents of the DSP bus setting, as created in CRI Atom Craft.
Attention
This is a blocking function.
Executing this function blocks the server processing of the Atom library for a while.
Threfore, if this function is executed during audio playback, problems such as audio breakups may occur. Call this function only when a fluctuation in load is acceptable, for example when loading a new level.
See also
criAtomEx_DetachDspBusSetting, criAtomEx_RegisterAcfData, criAtomEx_RegisterAcfFile, criAtomEx_RegisterAcfFileById

◆ criAtomEx_DetachDspBusSetting()

void criAtomEx_DetachDspBusSetting ( void  )

Detach a DSP bus setting.

Description:
Detaches a DSP bus setting.
If an allocator has been registered by using the criAtomEx_SetUserAllocator macro, the memory allocated when the DSP bus setting was attached is released.
(If you passed a work buffer when attaching the DSP bus setting, it can be released after this function is executed.)
Attention
This is a blocking function.
Executing this function blocks the server processing of the Atom library for a while.
Threfore, if this function is executed during audio playback, problems such as sound breakups may occur. Call this function only when a fluctuation in load is acceptable, for example when loading a new level.
See also
criAtomEx_AttachDspBusSetting

◆ criAtomEx_ApplyDspBusSnapshot()

void criAtomEx_ApplyDspBusSnapshot ( const CriChar8 *  snapshot_name,
CriSint32  time_ms 
)

Applying a DSP bus snapshot.

Parameters
[in]snapshot_nameName of the snapshot
[in]time_msTime (milliseconds)
Description:
Applies the DSP bus snapshot.
When this function is called, the parameters set in the snapshot will change by time_ms.
If you specify CRI_NULL for the snapshot_name argument, the settings will return to the original DSP bus settings (the state when no snapshot is applied).
See also
criAtomEx_AttachDspBusSetting

◆ criAtomEx_GetAppliedDspBusSnapshotName()

const CriChar8* criAtomEx_GetAppliedDspBusSnapshotName ( void  )

Get the name of the snapshot applied to a DSP bus.

Returns
const CriChar8* Pointer to the string containing snapshot name If the snapshot has not been applied or could not be obtained, CRI_NULL is returned.
Description:
Get the name of the snapshot applied to a DSP bus.
If no snapshot is applied, the function returns CRI_NULL.
See also
criAtomEx_ApplyDspBusSnapshot

◆ criAtomEx_SetCueLinkCallback()

void criAtomEx_SetCueLinkCallback ( CriAtomExCueLinkCbFunc  func,
void *  obj 
)

Registering a CueLink callback function.

Parameters
[in]funcCueLink callback function
[in]objUser specified object
Description:
Registers a callback function to receive CueLink information when a CueLink is processed during cue playback.
Attention
The registered callback function is executed when a CueLink is processed in the library.
Therefore, if an API that doesn't appropriately handle an interrupt to the server processing is called, a problem such as error or deadlock may occur.
Basically, do not use Atom library APIs in a callback function.
Note that if audio processing is blocked in the callback function for a long time, some problems such as a playback interruption may occur.

You can register only one callback function.
When you register a callback function again, the registered callback function is overwritten with the new callback function.

By specifying NULL for func, you can unregister the registered function.
See also
CriAtomExCueLinkCbFunc

◆ criAtomEx_SetSpeakerAngles()

void criAtomEx_SetSpeakerAngles ( CriFloat32  angle_l,
CriFloat32  angle_r,
CriFloat32  angle_sl,
CriFloat32  angle_sr 
)

Setting 5.1-ch speaker angles.

Parameters
[in]angle_lAngle of the front left speaker
[in]angle_rAngle of the front right speaker
[in]angle_slAngle of the surround left speaker
[in]angle_srAngle of the surround right speaker
Description:
Sets the angles (arrangement) of the output speakers. The angles are used to calculate pan 3D and 3D positioning.
Angles must be between -180 degrees and 180 degrees. 0 degrees indicate the front direction.
Attention
This function influences only a panning speaker type for 5.1 ch (4 ch or 5 ch).
To change the speaker angles of a panning speaker type for 7.1 ch (6 ch or 7 ch), use the criAtomEx_SetSpeakerAngleArray function.

The specified speaker angles must be angle_sl < angle_l < angle_r < angle_sr.
Example:
criAtomEx_SetSpeakerAngles(-45.0f, 45.0f, -135.0f, 135.0f);
void criAtomEx_SetSpeakerAngles(CriFloat32 angle_l, CriFloat32 angle_r, CriFloat32 angle_sl, CriFloat32 angle_sr)
Setting 5.1-ch speaker angles.
See also
criAtomEx_SetSpeakerAngleArray

◆ criAtomEx_SetSpeakerAngleArray()

void criAtomEx_SetSpeakerAngleArray ( CriAtomExSpeakerSystem  speaker_system,
const CriFloat32 *  angle_array 
)

Setting the speaker angles.

Parameters
[in]speaker_systemOrder of output speakers
[in]angle_arrayAngles of output speakers
Description:
Sets the angles (arrangement) of the output speakers. The angles are used to calculate pan 3D and 3D positioning.
Angles must be between -180 degrees and 180 degrees. 0 degrees indicate the front direction.
The angle array must have more elements than the number of the output speakers.
If NULL is specified as the angle array, the default angles are set based on the order of the output speakers.
Attention
If you reverse FRONT LEFT and FRONT RIGHT, unexpected behaviors may occur.
Additional information:
Changing the angle of LOW FREQUENCY does not influence the calculation results of pan 3D or 3D positioning.
The angles are specified independently for each speaker system.
Example:
CriFloat32 angle_array[8] = {-30.0f, 30.0f, 0.0f, 0.0f, -90.0f, 90.0f, -150.0f, 150.0f}
#define CRIATOMEX_SPEAKER_SYSTEM_SURROUND_7_1
7.1 ch surround
Definition: cri_le_atom_ex.h:2268
void criAtomEx_SetSpeakerAngleArray(CriAtomExSpeakerSystem speaker_system, const CriFloat32 *angle_array)
Setting the speaker angles.
See also
criAtomEx_SetSpeakerAngles

◆ criAtomEx_SetVirtualSpeakerAngleArray()

void criAtomEx_SetVirtualSpeakerAngleArray ( CriAtomExSpeakerSystem  speaker_system,
const CriFloat32 *  angle_array 
)

Set the virtual speaker angle.

Parameters
[in]speaker_systemOrder of virtual speakers
[in]angle_arrayAngles of virtual speakers
Description:
Sets the angles (arrangement) of the virtual speakers. The angles are used to calculate pan 3D and 3D positioning.
The operation of this function is similar to the criAtomEx_SetSpeakerAngleArray function, so please refer to it for the basic explanation.
Attention
The settings passed to this function are not reflected in the pan 3D or 3D positioning calculations unless the virtual speaker settings are enabled with the criAtomEx_ControlVirtualSpeakerSetting function.
See also
criAtomEx_SetSpeakerAngleArray, criAtomEx_ControlVirtualSpeakerSetting

◆ criAtomEx_ControlVirtualSpeakerSetting()

void criAtomEx_ControlVirtualSpeakerSetting ( CriBool  sw)

Virtual speaker setting ON/OFF.

Parameters
[in]swSwitch (CRI_FALSE = disable, CRI_TRUE = enable)
Description:
Enable or disable the function that uses the virtual speaker settings when calculating Pan 3D or 3D Positioning.
When it is enabled, multichannel sounds are played back from the virtual speaker angle set with the criAtomEx_SetVirtualSpeakerAngleArray function.
Attention
The default state is disabled.
If you select "Enable" while playing a voice, it will not be immediately reflected in the calculation of the Pan 3D or 3D Positioning. It will be reflected from the next voice playback.
See also
criAtomEx_SetVirtualSpeakerAngleArray

◆ criAtomEx_GetNumGameVariables()

CriSint32 criAtomEx_GetNumGameVariables ( void  )

Acquiring the total number of game variables.

Returns
CriSint32 Total number of game variables
Description:
Acquires the total number of game variables that are registered in the ACF file.
Attention
The ACF file must be registered before executing this function.
If an ACF file is not registered, the function returns -1.
See also
CriAtomExGameVariableInfo

◆ criAtomEx_GetGameVariableInfo()

CriBool criAtomEx_GetGameVariableInfo ( CriUint16  index,
CriAtomExGameVariableInfo info 
)

Acquiring game variable information (by specifying an index)

Parameters
[in]indexGame variable index
[out]infoGame variable information
Returns
CriBool Whether information is acquired or not. (Acquired: CRI_TRUE/not acquired: CRI_FALSE)
Description:
Acquires game variable information based on the game variable index.
If a game variable for the specified index does not exist, the function returns CRI_FALSE.
See also
CriAtomExGameVariableInfo

◆ criAtomEx_GetGameVariableById()

CriFloat32 criAtomEx_GetGameVariableById ( CriAtomExGameVariableId  id)

Acquiring a game variable.

Parameters
[in]idGame variable ID
Returns
CriFloat32 Game variable value
Description:
Acquires the game variable value registered in the ACF file.
If a game variable with the specified id does not exist, -1.0f will be returned.
Attention
The ACF file must be registered before executing this function.

◆ criAtomEx_GetGameVariableByName()

CriFloat32 criAtomEx_GetGameVariableByName ( const CriChar8 *  name)

Acquiring a game variable.

Parameters
[in]nameGame variable name
Returns
CriFloat32 Game variable value
Description:
Acquires the game variable registered in the ACF file.
If a game variable with the specified name does not exist, -1.0f will be returned.
Attention
The ACF file must be registered before executing this function.

◆ criAtomEx_SetGameVariableById()

void criAtomEx_SetGameVariableById ( CriAtomExGameVariableId  id,
CriFloat32  value 
)

Setting a game variable.

Parameters
[in]idGame variable ID
[in]valueGame variable value
Description:
Sets a value for the game variable registered in the ACF file.
You can set a value between 0.0f and 1.0f.
Remarks:
The values of game variables are referenced in the sound controls below.
  • Switch tracks with switch cues
  • Control parameters with AISAC
Attention
The ACF file must be registered before executing this function.

When the same value is set to the game variable, the AISAC parameter update process will not occur.

◆ criAtomEx_SetGameVariableByName()

void criAtomEx_SetGameVariableByName ( const CriChar8 *  name,
CriFloat32  value 
)

Setting a game variable.

Parameters
[in]nameGame variable name
[in]valueGame variable value
Description:
Sets a value for the game variable registered in the ACF file.
You can set a value between 0.0f and 1.0f.
Remarks:
The values of game variables are referenced in the sound controls below.
  • Switch tracks with switch cues
  • Control parameters with AISAC
Attention
The ACF file must be registered before executing this function.

When the same value is set to the game variable, the AISAC parameter update process will not occur.

◆ criAtomEx_SetPlaybackCancelCallback()

void criAtomEx_SetPlaybackCancelCallback ( CriAtomExPlaybackCancelCbFunc  func,
void *  obj 
)

Registering a playback cancel callback function.

Parameters
[in]funcPlayback cancel callback function
[in]objUser specified object
Description:
Registers a callback function that receives playback cancel information when playback start is canceled at cue playback.
Attention
The registered callback function is executed when playback start is canceled in the library.
Therefore, when APIs that cannot consider interrupt to the library processing are called, a problem such as error or deadlock may occur.
Basically, do not use Atom library APIs in a callback function.
Note that if audio processing is blocked in the callback function for a long time, some problems such as a playback interruption may occur.

You can register only one callback function.
When you register a callback function again, the registered callback function is overwritten with the new callback function.

By specifying NULL for func, you can unregister the registered function.
See also
CriAtomExPlaybackCancelCbFunc

◆ criAtomEx_ControlAcfConsistencyCheck()

void criAtomEx_ControlAcfConsistencyCheck ( CriBool  sw)

ACF consistency check function ON/OFF.

Parameters
[in]swSwitch (CRI_FALSE = Check disabled, CRI_TRUE = Check enabled)
Description:
Turns the ACF consistency check ON or OFF when loading the ACB data.
Attention
The default setting is "check enabled". If this check is disabled, and inconsistent data is used, you may not obtain the results intended when using the ACF.
A separate error callback will be triggered if an ACF item referenced from the ACB cannot be found when executing sound processing even when this check is disabled.

◆ criAtomEx_SetAcfConsistencyCheckErrorLevel()

void criAtomEx_SetAcfConsistencyCheckErrorLevel ( CriErrorLevel  level)

ACF consistency check error level setting.

Parameters
[in]levelError level
Description:
Sets the notification level for the errors that occur when checking for ACF consistency when loading the ACB data.
The default notification level is CRIERR_LEVEL_WARNING.

◆ criAtomEx_SetTrackTransitionBySelectorCallback()

void criAtomEx_SetTrackTransitionBySelectorCallback ( CriAtomExTrackTransitionBySelectorCbFunc  func,
void *  obj 
)

Registering a track transition by selector callback function.

Parameters
[in]funcTrack transition by selector callback function
[in]objUser specified object
Description:
Registers a callback function that receives information about transition when a track transition by selector cue is played.
Attention
The registered callback function is executed when transition is started in the library.
Therefore, if an API that doesn't appropriately handle an interrupt to the server processing is called, a problem such as an error or deadlock may occur.
Basically, do not use Atom library APIs in a callback function.
Note that if audio processing is blocked in the callback function for a long time, some problems such as a playback interruption may occur.

You can register only one callback function.
When you register a callback function again, the registered callback function is overwritten with the new callback function.

By specifying NULL for func, you can unregister the registered function.
See also
CriAtomExTrackTransitionBySelectorCbFunc

◆ criAtomExAcf_SetGlobalLabelToSelectorByName()

void criAtomExAcf_SetGlobalLabelToSelectorByName ( const CriChar8 *  selsector_name,
const CriChar8 *  label_name 
)

Set a Global Reference Label for Selector.

Parameters
[in]selsector_nameSelector name
[in]label_nameLabel name
Description:
Sets the label to be globally referenced for the selector registered in the ACF file.
Attention
Before executing this function, you need to register an ACF file.
See also
criAtomExAcf_SetGlobalLabelToSelectorByIndex

◆ criAtomExAcf_SetGlobalLabelToSelectorByIndex()

void criAtomExAcf_SetGlobalLabelToSelectorByIndex ( CriUint16  selsector_index,
CriUint16  label_index 
)

Set a Global Reference Label for Selector.

Parameters
[in]selsector_indexSelector index
[in]label_indexLabel index
Description:
Sets the label to be globally referenced for the selector registered in the ACF file.
Attention
Before executing this function, you need to register an ACF file.
See also
criAtomExAcf_SetGlobalLabelToSelectorByName

◆ criAtomExAcf_GetOutputPortHnByName()

CriAtomExOutputPortHn criAtomExAcf_GetOutputPortHnByName ( const CriChar8 *  name)

Getting the output port handle of the ACF file by name.

Parameters
[in]nameOutput port name
Returns
Output port handle
Description:
Gets the handle of the ACF output port specified by name.
ACF output port handles are generated and stored when registering an ACF file.
The name of the output port registered in the ACF file is described in the ACF header.
Since the default ASR rack is assigned to the output port handle after generation, when a handle is generated using this function, it is necessary to specify the correct ASR rack by calling the criAtomExOutputPort_SetAsrRackId function.
See also
criAtomEx_RegisterAcf, criAtomExOutputPort_SetAsrRackId

◆ criAtomExPlayer_EnumeratePlayers()

void criAtomExPlayer_EnumeratePlayers ( CriAtomExPlayerCbFunc  func,
void *  obj 
)

Enumerating players.

Parameters
[in]funcPlayer callback function
[in]objUser specified object
Description:
Enumerates the players allocated in the application.

When you execute this function, the callback functions specified at the first argument (func) that are as many as the number of the AtomEx players are called.
(An AtomEx player handle is passed to the callback function as an argument.)
Remarks:
The value that is set at the second argument (obj) is passed as an argument of the callback function.
For other arguments of the callback function, refer to the description of CriAtomExPlayerCbFunc.
See also
CriAtomExPlayerCbFunc

◆ criAtomEx_SetVoiceEventCallback()

void criAtomEx_SetVoiceEventCallback ( CriAtomExVoiceEventCbFunc  func,
void *  obj 
)

Register a voice event callback.

Parameters
[in]funcVoice event callback function
[in]objUser-specified object
Description:
Registers a voice event callback.
By registering a voice event callback using this function, you can obtain detailed information (such as detailed information about the audio data being played/stopped) when a voice event (acquiring/releasing/taking away a voice) occurs.
Remarks:
The value set for the second argument ( obj ) will be passed to the callback function.
For information about the other arguments of the callback function, refer to the description of CriAtomExVoiceEventCbFunc .

By specifying NULL for func, the registered function will be unregistered.
Attention
The callback registered with this function will only return information about per-voice limit control (per-waveform priority control based on voice priority).
(Currently, information regarding control by category cue priority cannot be obtained.)

Only one callback function can be registered.
If perform a registration operation more than once, the already registered callback function will be overwritten by the callback function registered later.
See also
CriAtomExVoiceEventCbFunc

◆ criAtomEx_EnumerateVoiceInfos()

void criAtomEx_EnumerateVoiceInfos ( CriAtomExVoiceInfoCbFunc  func,
void *  obj 
)

Voice information enumerator.

Parameters
[in]funcVoice information callback function
[in]objUser-specified object
Description:
Enumerates the information about the voices currently playing.

When this function is executed, the callback function passed in the first argument ( func ) is called as many times as there are voices currently being played.
Detailed information about the voices being played is passed to the callback function in a CriAtomExVoiceInfoDetail structure.
Remarks:
The value set for the second argument ( obj ) is passed to the callback function as an argument.
For information about the other arguments of the callback function, refer to the description of CriAtomExVoiceInfoCbFunc .
Attention
Only information about voices that have sufficient voice resources to be played is returned to the callback.
(Information about the virtualized voices is not returned.)
See also
CriAtomExVoiceInfoCbFunc

◆ criAtomEx_SetMonitoringVoiceStopCallback()

void criAtomEx_SetMonitoringVoiceStopCallback ( CriAtomExMonitoringVoiceStopCbFunc  func,
void *  obj 
)

Registering a callback function for monitoring a voice stop.

Parameters
[in]funcCallback function for monitoring a voice stop
[in]objUser specified object
Description:
Registers a callback function for monitoring a voice stop.

When you execute this function, the callback function specified at the first argument (func) is called when a played voice is stopped in the monitored playback ID.
Information about the stopped voice is passed to the callback function as the CriAtomExMonitoringVoiceStopInfo structure.
Remarks:
The value that is set at the second argument (obj) is passed as an argument of the callback function.
For other arguments of the callback function, refer to the description of CriAtomExMonitoringVoiceStopCbFunc .
If the cue being played back using the monitoring playback ID set by the criAtomEx_SetMonitoringVoiceStopPlaybackId function has the following structure and settings, the playback ID notified by the callback function may differ from the monitoring playback ID.
This is because a separate playback ID is assigned during internal playback processing.
  • Using cue Link
  • Cues with a Track Transition sequence type
See also
CriAtomExMonitoringVoiceStopCbFunc, criAtomEx_SetMonitoringVoiceStopPlaybackId

◆ criAtomEx_SetMonitoringVoiceStopPlaybackId()

void criAtomEx_SetMonitoringVoiceStopPlaybackId ( CriAtomExPlaybackId  playback_id)

Registering a playback ID for monitoring a voice stop.

Parameters
[in]playback_idPlayback ID for monitoring a voice stop
Description:
Registers a playback ID for monitoring a voice stop.

Only one playback ID can be monitored.
If this function is called when the playback ID has already been set, the monitoring playback ID information is overwritten.
For monitoring, register a callback function for using the criAtomEx_SetMonitoringVoiceStopCallback function for notification.
Remarks:
If a new cue is played by the action track of a cue being played with the monitoring playback ID, the pronunciation voice from this new cue will not be monitored for voice stop.
This is because the action starts playback without any dependency on the cue that called it.
For this reason, it is not possible to simultaneously monitor the stopping of a voice that is being played from both the action's calling cue and the action's destination cue.
The cue playback ID that was started by the action can be obtained by registering a callback function with the criAtomExPlayer_SetPlaybackEventCallback function. Please obtain and set it as appropriate.
See also
criAtomEx_SetMonitoringVoiceStopCallback