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

结构体

struct  CriAtomExRngInterfaceTag
 Random Number Generator interface 更多...
 
struct  CriAtomExAcfRegistrationInfoTag
 ACF location information 更多...
 
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. 更多...
 
struct  CriAtomExFormatInfoTag
 Audio data format information 更多...
 
struct  CriAtomExSphericalCoordinatesTag
 Spherical Coordinate Structure 更多...
 
struct  CriAtomEx3dAttenuationParameterTag
 Distance attenuation parameter structure 更多...
 
struct  CriAtomExGameVariableInfoTag
 Structure for acquiring game variable information 更多...
 
struct  CriAtomExResourceUsageTag
 Usage status of various resources 更多...
 
struct  CriAtomExVoiceInfoDetailTag
 Detailed information about a voice 更多...
 
struct  CriAtomExMonitoringVoiceStopInfoTag
 Structure for acquiring voice stop information 更多...
 
struct  CriAtomExCueLinkInfoTag
 Info structure for the CueLink callback type 更多...
 
struct  CriAtomExPlaybackCancelInfoTag
 Info structure for playback cancel callbacks 更多...
 
struct  CriAtomExTrackTransitionBySelectorInfoTag
 Info structure for track transition by selector callbacks 更多...
 

宏定义

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

类型定义

typedef CriAtomMallocFunc CriAtomExMallocFunc
 Memory allocation function 更多...
 
typedef CriAtomFreeFunc CriAtomExFreeFunc
 Memory deallocation function 更多...
 
typedef enum CriAtomExThreadModelTag CriAtomExThreadModel
 Threading models 更多...
 
typedef enum CriAtomExCoordinateSystemTag CriAtomExCoordinateSystem
 Coordinate system 更多...
 
typedef enum CriAtomExAcfLocationInfoTypeTag CriAtomExAcfLocationInfoType
 ACF designated type 更多...
 
typedef void * CriAtomExRngHn
 Random Number Generator handle
 
typedef struct CriAtomExRngInterfaceTag CriAtomExRngInterface
 Random Number Generator interface
 
typedef struct CriAtomExAcfRegistrationInfoTag CriAtomExAcfRegistrationInfo
 ACF location information 更多...
 
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. 更多...
 
typedef CriAtomPerformanceInfo CriAtomExPerformanceInfo
 Performance information 更多...
 
typedef CriSint32 CriAtomExWaveId
 Waveform data ID 更多...
 
typedef CriSint32 CriAtomExVibrationId
 Vibration ID 更多...
 
typedef CriAtomFormat CriAtomExFormat
 Format type 更多...
 
typedef struct CriAtomExFormatInfoTag CriAtomExFormatInfo
 Audio data format information 更多...
 
typedef enum CriAtomExResumeModeTag CriAtomExResumeMode
 Resume target 更多...
 
typedef enum CriAtomExBiquadFilterTypeTag CriAtomExBiquadFilterType
 Type of biquad filter 更多...
 
typedef enum CriAtomExSilentModeTag CriAtomExSilentMode
 Silent mode 更多...
 
typedef enum CriAtomExPanTypeTag CriAtomExPanType
 Pan type 更多...
 
typedef enum CriAtomExPanSpeakerTypeTag CriAtomExPanSpeakerType
 Output speaker type for panning 更多...
 
typedef enum CriAtomExPanAngleTypeTag CriAtomExPanAngleType
 Panning angle type 更多...
 
typedef CriUint32 CriAtomExSpeakerSystem
 Order of the output speakers 更多...
 
typedef struct CriAtomExSphericalCoordinatesTag CriAtomExSphericalCoordinates
 Spherical Coordinate Structure 更多...
 
typedef struct CriAtomEx3dAttenuationParameterTag CriAtomEx3dAttenuationParameter
 Distance attenuation parameter structure 更多...
 
typedef CriSint32 CriAtomExBlockIndex
 Block Index 更多...
 
typedef CriUint32 CriAtomExGameVariableId
 Game variable ID 更多...
 
typedef struct CriAtomExGameVariableInfoTag CriAtomExGameVariableInfo
 Structure for acquiring game variable information 更多...
 
typedef CriAtomStreamingInfo CriAtomExStreamingInfo
 Streaming information 更多...
 
typedef enum CriAtomExCharacterEncodingTag CriAtomExCharacterEncoding
 Character code 更多...
 
typedef struct CriAtomExResourceUsageTag CriAtomExResourceUsage
 Usage status of various resources 更多...
 
typedef enum CriAtomExCurveTypeTag CriAtomExCurveType
 Curve Type 更多...
 
typedef enum CriAtomExVoiceEventTag CriAtomExVoiceEvent
 Voice event 更多...
 
typedef struct CriAtomExVoiceInfoDetailTag CriAtomExVoiceInfoDetail
 Detailed information about a voice 更多...
 
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 更多...
 
typedef void(* CriAtomExVoiceInfoCbFunc) (void *obj, const CriAtomExVoiceInfoDetail *voice_info)
 Type definition of the Voice information callback 更多...
 
typedef struct CriAtomExMonitoringVoiceStopInfoTag CriAtomExMonitoringVoiceStopInfo
 Structure for acquiring voice stop information 更多...
 
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 更多...
 
typedef enum CriAtomExPlaybackCancelTypeTag CriAtomExPlaybackCancelType
 Playback cancel type 更多...
 
typedef struct CriAtomExPlaybackCancelInfoTag CriAtomExPlaybackCancelInfo
 Info structure for playback cancel callbacks
 
typedef void(* CriAtomExPlaybackCancelCbFunc) (void *obj, const CriAtomExPlaybackCancelInfo *info)
 Playback cancel callback 更多...
 
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 更多...
 

枚举

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 更多...
 
enum  CriAtomExCoordinateSystemTag { CRIATOMEX_COORDINATE_SYSTEM_LEFT_HANDED = 0 , CRIATOMEX_COORDINATE_SYSTEM_RIGHT_HANDED = 1 , CRIATOMEX_COORDINATE_SYSTEM_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF }
 Coordinate system 更多...
 
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 更多...
 
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 更多...
 
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 更多...
 
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 更多...
 
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 更多...
 
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 更多...
 
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 更多...
 
enum  CriAtomExCharacterEncodingTag { CRIATOMEX_CHARACTER_ENCODING_UTF8 = 0 , CRIATOMEX_CHARACTER_ENCODING_SJIS = 1 , CRIATOMEX_CHARACTER_ENCODING_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF }
 Character code 更多...
 
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 更多...
 
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 更多...
 
enum  CriAtomExCueLinkTypeTag { CRIATOMEX_CUELINK_TYPE_STATIC = 0 , CRIATOMEX_CUELINK_TYPE_DYNAMIC = 1 , CRIATOMEX_CUELINK_TYPE_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF }
 CueLink callback type 更多...
 
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 更多...
 

函数

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

详细描述

宏定义说明

◆ criAtomEx_SetDefaultConfigForUserPcmOutput

#define criAtomEx_SetDefaultConfigForUserPcmOutput (   p_config)
值:
{ \
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

参数
[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.
参见
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.
参见
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

参数
[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.

参数
[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.
参见
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.
参见
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.
注意
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.
参见
criAtomEx_AttachPerformanceMonitor, criAtomEx_DetachPerformanceMonitor

◆ criAtomEx_SetChannelMapping

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

Specify the channel mapping pattern

参数
[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

参数
[in]num_channelsnumber of channels in the data
[in]sampling_ratesampling rate of the data
返回
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

参数
[in]num_channelsnumber of channels in the data
[in]sampling_ratesampling rate of the data
[in]qualityencoding quality of the data
返回
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

参数
[in]num_channelsnumber of channels in the data
[in]sampling_ratesampling rate of the data
[in]qualityencoding quality of the data
返回
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

参数
[in]num_channelsnumber of channels of the data
[in]sampling_ratesampling rate of the data
[in]num_bitsnumber of bits per sample
返回
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

参数
[in]num_channelsnumber of channels of the data
[in]sampling_ratesampling rate of the data
[in]num_bitsnumber of bits per sample
返回
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

参数
[out]streaming_infoPointer to the location where streaming information is stored
返回值
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.
注意
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.
参见
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

参数
[in]flagCRI_TRUE = Use free time during file I/O to perform streaming
返回值
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.
注意
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.

类型定义说明

◆ CriAtomExMallocFunc

Memory allocation function

Description:
Type of the memory allocation function passed during the regitration of the custom allocator.
参见
criAtomEx_SetUserAllocator

◆ CriAtomExFreeFunc

Memory deallocation function

Description:
Type of the memory deallocation function passed during the regitration of the custom allocator.
参见
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).
参见
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.
参见
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.
参见
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
参见
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.
注意
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.)
参见
criAtomEx_Initialize, criAtomEx_SetDefaultConfig

◆ CriAtomExPerformanceInfo

Performance information

Description:
Structure used to acquire performance information.
This structure is used by the criAtomEx_GetPerformanceInfo function.
参见
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.
参见
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.
参见
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.
参见
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.
参见
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.
参见
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
注意
Note that send levels or 2D panning calculations are not used to determine if a sound is silent.
参见
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.
参见
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.
参见
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.
参见
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.
参见
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.
参见
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.
参见
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.
参见
criAtomEx_GetGameVariableInfo

◆ CriAtomExStreamingInfo

Streaming information

Description:
The streaming status at the point when the information was acquired by the criAtomEx_GetStreamingInfo function.
参见
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.
参见
CriAtomExReactFadeParameter

◆ CriAtomExVoiceEvent

Voice event

Description:
Voice event type.
It is passed to the voice event callback.
参见
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.
参见
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

参数
[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.
注意
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.
参见
criAtomEx_SetVoiceEventCallback, CriAtomExVoiceEvent, CriAtomExVoiceInfoDetail

◆ CriAtomExVoiceInfoCbFunc

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

Type definition of the Voice information callback

参数
[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.
注意
Note that if processes are blocked in the callback function for a long time, some problems, such as a playback interruption may occur.
参见
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.
参见
CriAtomExMonitoringVoiceStopCbFunc

◆ CriAtomExCueLinkCbFunc

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

CueLink callback

Description:
参数
[in]objUser specified object
[in]infoCueLink information
返回
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.
参见
criAtomEx_SetCueLinkCallback

◆ CriAtomExPlaybackCancelType

Playback cancel type

Description:
This value indicates the type of a playback cancel.
参见
CriAtomExPlaybackCancelInfo, criAtomEx_SetPlaybackCancelCallback

◆ CriAtomExPlaybackCancelCbFunc

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

Playback cancel callback

Description:
参数
[in]objUser specified object
[in]infoPlayback cancel information
返回
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.
参见
criAtomEx_SetPlaybackCancelCallback

◆ CriAtomExTrackTransitionBySelectorCbFunc

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

Track transition by selector callback

Description:
参数
[in]objUser specified object
[in]infoInformation about the track transition by selector callback
返回
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.
参见
criAtomEx_SetTrackTransitionBySelectorCallback

枚举类型说明

◆ 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).
参见
criAtomEx_Initialize, CriAtomExConfig
枚举值
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.
注意
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.
注意
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.
参见
criAtomEx_Initialize, CriAtomExConfig
枚举值
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.
参见
criAtomEx_Initialize, CriAtomExConfig, CriAtomExAcfRegistrationInfo
枚举值
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.
参见
criAtomExPlayer_Resume, criAtomExPlayback_Resume
枚举值
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.
参见
criAtomExPlayer_SetBiquadFilterParameters
枚举值
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
注意
Note that send levels or 2D panning calculations are not used to determine if a sound is silent.
参见
criAtomExPlayer_SetSilentMode
枚举值
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.
参见
criAtomExPlayer_SetPanType
枚举值
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.
注意
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.
参见
criAtomExPlayer_SetPanSpeakerType
枚举值
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.
参见
criAtomExPlayer_SetPanAngleType
枚举值
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.
参见
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.
枚举值
CRIATOMEX_CHARACTER_ENCODING_UTF8 

UTF-8

CRIATOMEX_CHARACTER_ENCODING_SJIS 

Shift_JIS

◆ CriAtomExCurveTypeTag

Curve Type

Description:
The type of curve.
参见
CriAtomExReactFadeParameter
枚举值
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.
参见
CriAtomExVoiceEventCbFunc, criAtomEx_SetVoiceEventCallback
枚举值
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

枚举值
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.
参见
CriAtomExPlaybackCancelInfo, criAtomEx_SetPlaybackCancelCallback
枚举值
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.

函数说明

◆ criAtomEx_CalculateWorkSizeForUserPcmOutput()

CriSint32 criAtomEx_CalculateWorkSizeForUserPcmOutput ( const CriAtomExConfigForUserPcmOutput config)

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

参数
[in]configConfiguration structure
返回
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.
注意
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.
参见
CriAtomExConfigForUserPcmOutput, criAtomEx_InitializeForUserPcmOutput

◆ criAtomEx_InitializeForUserPcmOutput()

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

Initialization of the user PCM output

参数
[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.
注意
This function and the following functions can not be used together.
参见
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.
注意
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.
参见
criAtomEx_InitializeForUserPcmOutput

◆ criAtomEx_CalculateWorkSize()

CriSint32 criAtomEx_CalculateWorkSize ( const CriAtomExConfig config)

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

参数
[in]configconfiguration structure used to initialize the library
返回
CriSint32 size of the work buffer
返回值
>=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.
注意
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.
参见
CriAtomExConfig, criAtomEx_Initialize

◆ criAtomEx_Initialize()

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

Initialize the library

参数
[in]configconfiguration structure used to initialize the library
[in]workwork buffer
[in]work_sizesize of the work buffer
返回
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.
注意
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.
参见
CriAtomExConfig, criAtomEx_Finalize, criAtomEx_SetUserAllocator, criAtomEx_CalculateWorkSize

◆ criAtomEx_Finalize()

void criAtomEx_Finalize ( void  )

Finalize the library

Description:
Finalizes the library.
注意
This function cannot be called before the criAtomEx_Initialize function is executed.
参见
criAtomEx_Initialize

◆ criAtomEx_IsInitialized()

CriBool criAtomEx_IsInitialized ( void  )

Check the library initialization status

返回
CriBool whether or not the library has been initialized
返回值
CRI_FALSEuninitialized
CRI_TRUEinitialized
Description:
Checks whether the library has been initialized or not.
参见
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.
参见
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)
注意
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.
参见
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.
参见
criAtomEx_Lock

◆ criAtomEx_GetTimeMicro()

CriUint64 criAtomEx_GetTimeMicro ( void  )

Get the time

返回
CriUint64 time (in microseconds)
Description:
Gets the time from the master timer of the Atom library.
参见
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.
参见
criAtomEx_ResetTimer

◆ criAtomEx_PauseTimer()

void criAtomEx_PauseTimer ( CriBool  sw)

Pause the timer

参数
[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.
注意
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.
参见
criAtomEx_ResetTimer

◆ criAtomEx_SetConfigForWorkSizeCalculation()

void criAtomEx_SetConfigForWorkSizeCalculation ( const CriAtomExConfig config)

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

参数
[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.)
注意
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
参见
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

参数
[in]acf_dataACF data address
[in]acf_data_sizeACF data size
返回
CriSint32 work buffer size
返回值
>=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.
注意
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.
参见
criAtomEx_RegisterAcfData

◆ criAtomEx_RegisterAcfData()

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

Register in-memory ACF data

参数
[in]acf_dataACF data address
[in]acf_data_sizeACF data size
[in]workwork buffer
[in]work_sizework buffer size
返回
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.)
注意
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.

参见
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

参数
[in]binderbinder handle
[in]pathfile path
返回
CriSint32 work buffer size
返回值
>=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.
注意
The library must be initialized before this function is called.
参见
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)

参数
[in]binderbinder handle
[in]idCPK content ID
返回
CriSint32 work buffer size
返回值
>=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.
参见
criAtomEx_CalculateWorkSizeForRegisterAcfFile, criAtomEx_RegisterAcfFileById

◆ criAtomEx_RegisterAcfFile()

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

Register an ACF file

参数
[in]binderbinder handle
[in]pathfile path
[in]workwork buffer
[in]work_sizework buffer size
返回
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.
注意
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.)
    参见
    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)

参数
[in]binderbinder handle
[in]idCPK content ID
[in]workwork buffer
[in]work_sizework buffer size
返回
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.
注意
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.
参见
criAtomEx_RegisterAcfFile

◆ criAtomEx_UnregisterAcf()

void criAtomEx_UnregisterAcf ( void  )

Unregister an ACF file

Description:
Unregisters ACF information.
注意
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.
参见
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

参数
[in]acf_dataACF data address
[in]acf_data_sizeACF data size
[out]flagflag that indicates whether the ACF can be registered or not
返回
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

参数
[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
返回
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.
注意
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)

参数
[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
返回
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.
参见
criAtomEx_GetAcfVersionFromFile

◆ criAtomEx_GetSupportedAcfVersion()

void criAtomEx_GetSupportedAcfVersion ( CriUint32 *  version_low,
CriUint32 *  version_high 
)

Get what versions of an ACF file can be registered

参数
[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

参数
[in]bufferbuffer that stores the audio data
[in]buffer_sizesize of the buffer that stores the audio data
[out]infoformat information
返回
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.
注意
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

参数
[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.
参见
criAtomExPlayer_SetRandomSeed

◆ criAtomEx_CalculateWorkSizeForDspBusSetting()

CriSint32 criAtomEx_CalculateWorkSizeForDspBusSetting ( const CriChar8 *  setting)

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

参数
[in]settingname of the DSP bus setting
返回
CriSint32 work buffer size
返回值
>=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.
参见
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

参数
[in]acf_dataACF data
[in]acf_buffer_sizeACF data size
[in]setting_namename of the DSP bus setting
返回
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.
注意
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.
参见
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

参数
[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.
注意
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.
参见
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.)
注意
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.
参见
criAtomEx_AttachDspBusSetting

◆ criAtomEx_ApplyDspBusSnapshot()

void criAtomEx_ApplyDspBusSnapshot ( const CriChar8 *  snapshot_name,
CriSint32  time_ms 
)

Applying a DSP bus snapshot

参数
[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).
参见
criAtomEx_AttachDspBusSetting

◆ criAtomEx_GetAppliedDspBusSnapshotName()

const CriChar8* criAtomEx_GetAppliedDspBusSnapshotName ( void  )

Get the name of the snapshot applied to a DSP bus

返回
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.
参见
criAtomEx_ApplyDspBusSnapshot

◆ criAtomEx_SetCueLinkCallback()

void criAtomEx_SetCueLinkCallback ( CriAtomExCueLinkCbFunc  func,
void *  obj 
)

Registering a CueLink callback function

参数
[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.
注意
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.
参见
CriAtomExCueLinkCbFunc

◆ criAtomEx_SetSpeakerAngles()

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

Setting 5.1-ch speaker angles

参数
[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.
注意
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
参见
criAtomEx_SetSpeakerAngleArray

◆ criAtomEx_SetSpeakerAngleArray()

void criAtomEx_SetSpeakerAngleArray ( CriAtomExSpeakerSystem  speaker_system,
const CriFloat32 *  angle_array 
)

Setting the speaker angles

参数
[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.
注意
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
参见
criAtomEx_SetSpeakerAngles

◆ criAtomEx_SetVirtualSpeakerAngleArray()

void criAtomEx_SetVirtualSpeakerAngleArray ( CriAtomExSpeakerSystem  speaker_system,
const CriFloat32 *  angle_array 
)

Set the virtual speaker angle

参数
[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.
注意
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.
参见
criAtomEx_SetSpeakerAngleArray, criAtomEx_ControlVirtualSpeakerSetting

◆ criAtomEx_ControlVirtualSpeakerSetting()

void criAtomEx_ControlVirtualSpeakerSetting ( CriBool  sw)

Virtual speaker setting ON/OFF

参数
[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.
注意
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.
参见
criAtomEx_SetVirtualSpeakerAngleArray

◆ criAtomEx_GetNumGameVariables()

CriSint32 criAtomEx_GetNumGameVariables ( void  )

Acquiring the total number of game variables

返回
CriSint32 Total number of game variables
Description:
Acquires the total number of game variables that are registered in the ACF file.
注意
The ACF file must be registered before executing this function.
If an ACF file is not registered, the function returns -1.
参见
CriAtomExGameVariableInfo

◆ criAtomEx_GetGameVariableInfo()

CriBool criAtomEx_GetGameVariableInfo ( CriUint16  index,
CriAtomExGameVariableInfo info 
)

Acquiring game variable information (by specifying an index)

参数
[in]indexGame variable index
[out]infoGame variable information
返回
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.
参见
CriAtomExGameVariableInfo

◆ criAtomEx_GetGameVariableById()

CriFloat32 criAtomEx_GetGameVariableById ( CriAtomExGameVariableId  id)

Acquiring a game variable

参数
[in]idGame variable ID
返回
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.
注意
The ACF file must be registered before executing this function.

◆ criAtomEx_GetGameVariableByName()

CriFloat32 criAtomEx_GetGameVariableByName ( const CriChar8 *  name)

Acquiring a game variable

参数
[in]nameGame variable name
返回
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.
注意
The ACF file must be registered before executing this function.

◆ criAtomEx_SetGameVariableById()

void criAtomEx_SetGameVariableById ( CriAtomExGameVariableId  id,
CriFloat32  value 
)

Setting a game variable

参数
[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
注意
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

参数
[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
注意
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

参数
[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.
注意
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.
参见
CriAtomExPlaybackCancelCbFunc

◆ criAtomEx_ControlAcfConsistencyCheck()

void criAtomEx_ControlAcfConsistencyCheck ( CriBool  sw)

ACF consistency check function ON/OFF

参数
[in]swSwitch (CRI_FALSE = Check disabled, CRI_TRUE = Check enabled)
Description:
Turns the ACF consistency check ON or OFF when loading the ACB data.
注意
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

参数
[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

参数
[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.
注意
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.
参见
CriAtomExTrackTransitionBySelectorCbFunc

◆ criAtomExAcf_SetGlobalLabelToSelectorByName()

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

Set a Global Reference Label for Selector

参数
[in]selsector_nameSelector name
[in]label_nameLabel name
Description:
Sets the label to be globally referenced for the selector registered in the ACF file.
注意
Before executing this function, you need to register an ACF file.
参见
criAtomExAcf_SetGlobalLabelToSelectorByIndex

◆ criAtomExAcf_SetGlobalLabelToSelectorByIndex()

void criAtomExAcf_SetGlobalLabelToSelectorByIndex ( CriUint16  selsector_index,
CriUint16  label_index 
)

Set a Global Reference Label for Selector

参数
[in]selsector_indexSelector index
[in]label_indexLabel index
Description:
Sets the label to be globally referenced for the selector registered in the ACF file.
注意
Before executing this function, you need to register an ACF file.
参见
criAtomExAcf_SetGlobalLabelToSelectorByName

◆ criAtomExAcf_GetOutputPortHnByName()

CriAtomExOutputPortHn criAtomExAcf_GetOutputPortHnByName ( const CriChar8 *  name)

Getting the output port handle of the ACF file by name

参数
[in]nameOutput port name
返回
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.
参见
criAtomEx_RegisterAcf, criAtomExOutputPort_SetAsrRackId

◆ criAtomExPlayer_EnumeratePlayers()

void criAtomExPlayer_EnumeratePlayers ( CriAtomExPlayerCbFunc  func,
void *  obj 
)

Enumerating players

参数
[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.
参见
CriAtomExPlayerCbFunc

◆ criAtomEx_SetVoiceEventCallback()

void criAtomEx_SetVoiceEventCallback ( CriAtomExVoiceEventCbFunc  func,
void *  obj 
)

Register a voice event callback

参数
[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.
注意
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.
参见
CriAtomExVoiceEventCbFunc

◆ criAtomEx_EnumerateVoiceInfos()

void criAtomEx_EnumerateVoiceInfos ( CriAtomExVoiceInfoCbFunc  func,
void *  obj 
)

Voice information enumerator

参数
[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 .
注意
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.)
参见
CriAtomExVoiceInfoCbFunc

◆ criAtomEx_SetMonitoringVoiceStopCallback()

void criAtomEx_SetMonitoringVoiceStopCallback ( CriAtomExMonitoringVoiceStopCbFunc  func,
void *  obj 
)

Registering a callback function for monitoring a voice stop

参数
[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
参见
CriAtomExMonitoringVoiceStopCbFunc, criAtomEx_SetMonitoringVoiceStopPlaybackId

◆ criAtomEx_SetMonitoringVoiceStopPlaybackId()

void criAtomEx_SetMonitoringVoiceStopPlaybackId ( CriAtomExPlaybackId  playback_id)

Registering a playback ID for monitoring a voice stop

参数
[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.
参见
criAtomEx_SetMonitoringVoiceStopCallback