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

Modules

 Parameters of the ASR bus effect
 

Data Structures

struct  CriAtomExAsrConfigTag
 Configuration structure for initializing ASRThis structure is used for specifying the behavior of the software sound renderer ASR.
This structure is specified as an argument of the criAtomExAsr_Initialize function.
More...
 
struct  CriAtomExAsrBusAnalyzerConfig
 Configuration structure for attaching level measuring functionThis structure is used for attaching the level measuring function to a bus
This structure is specified as an argument of the criAtomExAsr_AttachBusAnalyzerByName function.
More...
 
struct  CriAtomExAsrBusPanInfoTag
 Pan Information Structure. More...
 
struct  CriAtomExAsrIrReverbPerformanceInfoTag
 IR reverb effect load measurement structure. More...
 
struct  CriAtomExAsrRackConfigTag
 Configuration structure for creating an ASR rackThis structure is used for specifying the behavior of the ASR (Atom Sound Renderer).
This structure is specified as an argument of the criAtomExAsrRack_Create function.
More...
 
struct  CriAtomExAsrRackPerformanceInfoTag
 Performance Information. More...
 
struct  CriAtomPlayerConfig_ASR
 

Macros

#define CRIATOMEXASR_MAX_CHANNELS   (16)
 Maximum number of channels. More...
 
#define CRIATOMEXASR_DEFAULT_NUM_ROUTES   (8)
 Default number of potential send buses. More...
 
#define CRIATOMEXASR_DEFAULT_NUM_BUSES   (8)
 Default number of buses. More...
 
#define CRIATOMEXASR_MAX_BUSES   (64)
 Maximum number of channels. More...
 
#define CRIATOMEXASR_RACK_DEFAULT_ID   (0)
 Default ASR Rack ID. More...
 
#define CRIATOMEXASR_RACK_ILLEGAL_ID   (-1)
 Illegal rack ID. More...
 
#define CRIATOMEXASR_MAX_NUM_USER_EFFECT_INTERFACES   (256)
 Maximum registered number of user-defined effect interface. More...
 
#define CRIATOMEXASR_NUM_OBJECT_BASED_AUDIO   (CRIATOMEXASR_MAX_CHANNELS)
 Number of object-based sounds that can be played simultaneously. More...
 
#define CRIATOMEXASR_AMPLITUDE_ANALYZER_NAME   "CRIWARE/AmplitudeAnalyzer"
 Effect name of amplitude analyzer.
 
#define CRIATOMEXASR_BUS_BUFFER_POOL   "CRIWARE/BusBufferPool"
 Effect name of Bus/buffer pool.
 
#define CRIATOMEXASR_BIQUAD_FILTER_NAME   "CRIWARE/Biquad"
 Effect name of biquad filter.
 
#define CRIATOMEXASR_BANDPASS_FILTER_NAME   "CRIWARE/Bandpass"
 Effect name of bandpass filter (2nd order Butterworth filter)
 
#define CRIATOMEXASR_CHORUS_NAME   "CRIWARE/Chorus"
 Effect name of chorus.
 
#define CRIATOMEXASR_FLANGER_NAME   "CRIWARE/Flanger"
 Effect name of flanger.
 
#define CRIATOMEXASR_COMPRESSOR_NAME   "CRIWARE/Compressor"
 Effect name of compressor.
 
#define CRIATOMEXASR_LIMITER_NAME   "CRIWARE/Limiter"
 Effect name of limiter.
 
#define CRIATOMEXASR_DELAY_NAME   "CRIWARE/Delay"
 Effect name of delay.
 
#define CRIATOMEXASR_ECHO_NAME   "CRIWARE/Echo"
 Effect name of echo.
 
#define CRIATOMEXASR_MULTITAP_DELAY_NAME   "CRIWARE/MultiTapDelay"
 Effect name of multi tap delay.
 
#define CRIATOMEXASR_DISTORTION_NAME   "CRIWARE/Distortion"
 Effect name of distortion.
 
#define CRIATOMEXASR_I3DL2_REVERB_NAME   "CRIWARE/I3DL2Reverb"
 Effect name of I3DL2 reverb.
 
#define CRIATOMEXASR_MATRIX_NAME   "CRIWARE/Matrix"
 Effect name of matrix.
 
#define CRIATOMEXASR_MATRIX16_NAME   "CRIWARE/Matrix16"
 Effect name of matrix compatible with 16ch expansion.
 
#define CRIATOMEXASR_3BANDS_EQUALIZER_NAME   "CRIWARE/3BandsEQ"
 Effect name of 3-bands EQ.
 
#define CRIATOMEXASR_32BANDS_EQUALIZER_NAME   "CRIWARE/32BandsEQ"
 Effect name of 32 bands equalizer.
 
#define CRIATOMEXASR_PITCH_SHIFTER_NAME   "CRIWARE/PitchShifter"
 Effect name of pitch shifter.
 
#define CRIATOMEXASR_REVERB_NAME   "CRIWARE/Reverb"
 Effect name of reverb.
 
#define CRIATOMEXASR_SURROUNDER_NAME   "CRIWARE/Surrounder"
 Effect name of surrounder.
 
#define CRIATOMEXASR_BIT_CRUSHER_NAME   "CRIWARE/BitCrusher"
 Effect name of Bit Crusher.
 
#define CRIATOMEXASR_PHASER_NAME   "CRIWARE/Phaser"
 Effect name of Phaser.
 
#define CRIATOMEXASR_HEADPHONE_VIRTUAL_SURROUND_NAME   "CRIWARE/HeadphoneVirtualSurround"
 Effect name of Headphone Virtual Surround.
 
#define CRIATOMEXASR_IR_REVERB_NAME   "CRIWARE/IRReverb"
 Effect name of IR reverb.
 
#define CRIATOMEXASR_I3DL2_REVERB2_NAME   "CRIWARE/I3DL2Reverb2"
 Effect name of I3DL2 Reverb Ver.2.
 
#define CRIATOMEXASR_SURROUNDER_WITH_EQUALIZER_NAME   "CRIWARE/SurrounderWithEqualizer"
 Effect name of Surrounder with EQ.
 
#define criAtomExAsr_SetDefaultConfig(p_config)
 Set default parameters to CriAtomExAsrConfig. More...
 
#define criAtomExAsr_SetDefaultConfigForBusAnalyzer(p_config)
 Set the default value in the level measurement function configuration structure. More...
 

Typedefs

typedef struct CriAtomExAsrConfigTag CriAtomExAsrConfig
 Configuration structure for initializing ASRThis structure is used for specifying the behavior of the software sound renderer ASR.
This structure is specified as an argument of the criAtomExAsr_Initialize function.
More...
 
typedef struct CriAtomExAsrBusPanInfoTag CriAtomExAsrBusPanInfo
 Pan Information Structure. More...
 
typedef struct CriAtomExAsrIrReverbPerformanceInfoTag CriAtomExAsrIrReverbPerformanceInfo
 IR reverb effect load measurement structure. More...
 
typedef CriSint32 CriAtomExAsrRackId
 ASR Rack ID. More...
 
typedef struct CriAtomExAsrRackConfigTag CriAtomExAsrRackConfig
 Configuration structure for creating an ASR rackThis structure is used for specifying the behavior of the ASR (Atom Sound Renderer).
This structure is specified as an argument of the criAtomExAsrRack_Create function.
More...
 
typedef struct CriAtomExAsrRackPerformanceInfoTag CriAtomExAsrRackPerformanceInfo
 Performance Information. More...
 

Functions

CriSint32 criAtomExAsr_CalculateWorkSize (const CriAtomExAsrConfig *config)
 Calculate work area size required for initializing ASR. More...
 
void criAtomExAsr_SetConfigForWorkSizeCalculation (const CriAtomExAsrConfig *config)
 Set configuration structure for work area size calculation. More...
 
void criAtomExAsr_Initialize (const CriAtomExAsrConfig *config, void *work, CriSint32 work_size)
 Initialize ASR. More...
 
void criAtomExAsr_Finalize (void)
 Finalize ASR. More...
 
void criAtomExAsr_SetBusVolumeByName (const CriChar8 *bus_name, CriFloat32 volume)
 Bus volume setting. More...
 
void criAtomExAsr_GetBusVolumeByName (const CriChar8 *bus_name, CriFloat32 *volume)
 Get the volume of a bus. More...
 
void criAtomExAsr_SetBusPanInfoByName (const CriChar8 *bus_name, const CriAtomExAsrBusPanInfo *pan_info)
 Setting pan information for a bus. More...
 
void criAtomExAsr_GetBusPanInfoByName (const CriChar8 *bus_name, CriAtomExAsrBusPanInfo *pan_info)
 Setting pan information for a bus. More...
 
void criAtomExAsr_SetBusMatrixByName (const CriChar8 *bus_name, CriSint32 input_channels, CriSint32 output_channels, const CriFloat32 matrix[])
 Set level matrix for a bus. More...
 
void criAtomExAsr_SetBusSendLevelByName (const CriChar8 *bus_name, const CriChar8 *sendto_bus_name, CriFloat32 level)
 Set bus send level. More...
 
void criAtomExAsr_SetEffectParameter (const CriChar8 *bus_name, const CriChar8 *effect_name, CriUint32 parameter_index, CriFloat32 parameter_value)
 Set parameter during effect operation. More...
 
void criAtomExAsr_UpdateEffectParameters (const CriChar8 *bus_name, const CriChar8 *effect_name)
 Update parameter during effect operation. More...
 
CriFloat32 criAtomExAsr_GetEffectParameter (const CriChar8 *bus_name, const CriChar8 *effect_name, CriUint32 parameter_index)
 Get parameter during effect operation. More...
 
void criAtomExAsr_SetEffectBypass (const CriChar8 *bus_name, const CriChar8 *effect_name, CriBool bypass)
 Enable / disable the bypass of an effect. More...
 
void criAtomExAsr_AttachBusAnalyzerByName (const CriChar8 *bus_name, const CriAtomExAsrBusAnalyzerConfig *config)
 Add a level measurement function. More...
 
void criAtomExAsr_DetachBusAnalyzerByName (const CriChar8 *bus_name)
 Delete level measuring function. More...
 
void criAtomExAsr_GetBusAnalyzerInfoByName (const CriChar8 *bus_name, CriAtomExAsrBusAnalyzerInfo *info)
 Acquire level measurement results. More...
 
void criAtomExAsr_SetBusFilterCallbackByName (const CriChar8 *bus_name, CriAtomExAsrBusFilterCbFunc pre_func, CriAtomExAsrBusFilterCbFunc post_func, void *obj)
 Register waveform filter callback function. More...
 
CriSint32 criAtomExAsr_GetNumBuses (void)
 Acquiring the maximum number of buses. More...
 
CriBool criAtomExAsr_RegisterEffectInterface (CriAtomExAsrAfxInterfaceWithVersionPtr afx_interface)
 Register a user-defined effect interface. More...
 
void criAtomExAsr_UnregisterEffectInterface (CriAtomExAsrAfxInterfaceWithVersionPtr afx_interface)
 Unregister a user-defined effect interface. More...
 
void criAtomExAsr_ResetIrReverbPerformanceInfo (void)
 IR reverb effect load measurement reset. More...
 
void criAtomExAsr_GetIrReverbPerformanceInfo (CriAtomExAsrIrReverbPerformanceInfo *info)
 IR reverb effect load measurement. More...
 
CriSint32 criAtomExAsrRack_CalculateWorkSize (const CriAtomExAsrRackConfig *config)
 Calculating the size of the work area for creating the ASR rack. More...
 
CriSint32 criAtomExAsrRack_CalculateWorkSizeForDspBusSettingFromConfig (const CriAtomExAsrRackConfig *config, const CriChar8 *setting)
 Calculating the size of the work area for attaching the DSP bus settings. More...
 
CriSint32 criAtomExAsrRack_CalculateWorkSizeForDspBusSettingFromAcfDataAndConfig (void *acf_data, CriSint32 acf_data_size, const CriAtomExAsrRackConfig *rack_config, const CriChar8 *setting)
 Calculating the size of the work area for attaching the DSP bus settings. More...
 
CriAtomExAsrRackId criAtomExAsrRack_Create (const CriAtomExAsrRackConfig *config, void *work, CriSint32 work_size)
 Creating the ASR rack. More...
 
void criAtomExAsrRack_Destroy (CriAtomExAsrRackId rack_id)
 Destruction of the ASR rack. More...
 
void criAtomExAsrRack_GetNumRenderedSamples (CriAtomExAsrRackId rack_id, CriSint64 *num_samples, CriSint32 *sampling_rate)
 Resetting the performance monitor. More...
 
void criAtomExAsrRack_ResetPerformanceMonitor (CriAtomExAsrRackId rack_id)
 Reset the Performance Monitor. More...
 
void criAtomExAsrRack_GetPerformanceInfo (CriAtomExAsrRackId rack_id, CriAtomExAsrRackPerformanceInfo *info)
 Acquiring the performance information. More...
 
CriSint32 criAtomExAsrRack_CalculateWorkSizeForDspBusSetting (CriAtomExAsrRackId rack_id, const CriChar8 *setting)
 Calculating the size of the work area for attaching the DSP bus settings. More...
 
void criAtomExAsrRack_AttachDspBusSetting (CriAtomExAsrRackId rack_id, const CriChar8 *setting, void *work, CriSint32 work_size)
 Attaching the DSP bus settings. More...
 
void criAtomExAsrRack_DetachDspBusSetting (CriAtomExAsrRackId rack_id)
 Detaching the DSP bus settings. More...
 
void criAtomExAsrRack_ApplyDspBusSnapshot (CriAtomExAsrRackId rack_id, const CriChar8 *snapshot_name, CriSint32 time_ms)
 Applying a DSP bus snapshot. More...
 
const CriChar8 * criAtomExAsrRack_GetAppliedDspBusSnapshotName (CriAtomExAsrRackId rack_id)
 Get DSP bus snapshot name. More...
 
void criAtomExAsrRack_SetBusVolumeByName (CriAtomExAsrRackId rack_id, const CriChar8 *bus_name, CriFloat32 volume)
 Setting the volume of the bus. More...
 
void criAtomExAsrRack_GetBusVolumeByName (CriAtomExAsrRackId rack_id, const CriChar8 *bus_name, CriFloat32 *volume)
 Get the volume of a bus. More...
 
void criAtomExAsrRack_SetBusPanInfoByName (CriAtomExAsrRackId rack_id, const CriChar8 *bus_name, const CriAtomExAsrBusPanInfo *pan_info)
 Setting pan information for a bus. More...
 
void criAtomExAsrRack_GetBusPanInfoByName (CriAtomExAsrRackId rack_id, const CriChar8 *bus_name, CriAtomExAsrBusPanInfo *pan_info)
 Get bus pan information. More...
 
void criAtomExAsrRack_SetBusMatrixByName (CriAtomExAsrRackId rack_id, const CriChar8 *bus_name, CriSint32 input_channels, CriSint32 output_channels, const CriFloat32 matrix[])
 Setting the level matrix for the bus. More...
 
void criAtomExAsrRack_SetBusSendLevelByName (CriAtomExAsrRackId rack_id, const CriChar8 *bus_name, const CriChar8 *sendto_bus_name, CriFloat32 level)
 Setting the send level for the bus. More...
 
void criAtomExAsrRack_SetEffectParameter (CriAtomExAsrRackId rack_id, const CriChar8 *bus_name, const CriChar8 *effect_name, const CriUint32 parameter_index, const CriFloat32 parameter_value)
 Set parameter during effect operation. More...
 
void criAtomExAsrRack_UpdateEffectParameters (CriAtomExAsrRackId rack_id, const CriChar8 *bus_name, const CriChar8 *effect_name)
 Update parameter during effect operation. More...
 
CriFloat32 criAtomExAsrRack_GetEffectParameter (CriAtomExAsrRackId rack_id, const CriChar8 *bus_name, const CriChar8 *effect_name, const CriUint32 parameter_index)
 Get parameter during effect operation. More...
 
void criAtomExAsrRack_SetEffectBypass (CriAtomExAsrRackId rack_id, const CriChar8 *bus_name, const CriChar8 *effect_name, const CriBool bypass)
 Enable / disable the bypass of an effect. More...
 
CriBool criAtomExAsrRack_GetEffectBypass (CriAtomExAsrRackId rack_id, const CriChar8 *bus_name, const CriChar8 *effect_name)
 Adding a level measuring feature. More...
 
void criAtomExAsrRack_AttachBusAnalyzerByName (CriAtomExAsrRackId rack_id, const CriChar8 *bus_name, const CriAtomExAsrBusAnalyzerConfig *config)
 Added level measurement function. More...
 
void criAtomExAsrRack_DetachBusAnalyzerByName (CriAtomExAsrRackId rack_id, const CriChar8 *bus_name)
 Deleting the level measurement feature. More...
 
void criAtomExAsrRack_GetBusAnalyzerInfoByName (CriAtomExAsrRackId rack_id, const CriChar8 *bus_name, CriAtomExAsrBusAnalyzerInfo *info)
 Obtaining the level measurement results. More...
 
void criAtomExAsrRack_SetBusFilterCallbackByName (CriAtomExAsrRackId rack_id, const CriChar8 *bus_name, CriAtomExAsrBusFilterCbFunc pre_func, CriAtomExAsrBusFilterCbFunc post_func, void *obj)
 Registering a wave filter callback function. More...
 
void criAtomExAsrRack_SetAlternateRackId (CriAtomExAsrRackId rack_id, CriAtomExAsrRackId alt_rack_id)
 Setting the alternative ASR Rack ID. More...
 
CriSint32 criAtomExAsrRack_GetNumBuses (CriAtomExAsrRackId rack_id)
 Acquiring the maximum number of buses. More...
 
CriSint32 criAtomExAsr_GetPcmDataFloat32 (CriSint32 output_channels, CriSint32 output_samples, CriFloat32 *output_buffer[])
 Get the PCM data. More...
 
CriSint32 criAtomExAsr_GetNumBufferedSamples (void)
 Get the amount of remaining PCM data. More...
 
void criAtomExAsr_SetPcmBufferSize (CriSint32 num_samples)
 Specifying the PCM buffer size. More...
 
CriSint32 criAtomExAsr_GetPcmBufferSize (void)
 Getting the PCM buffer size. More...
 
CriSint32 criAtomExAsrRack_GetPcmDataFloat32 (CriAtomExAsrRackId rack_id, CriSint32 output_channels, CriSint32 output_samples, CriFloat32 *output_buffer[])
 Acquiring the PCM data in the ASR rack. More...
 
CriSint32 criAtomExAsrRack_GetNumBufferedSamples (CriAtomExAsrRackId rack_id)
 Get the amount of remaining PCM data in the ASR rack. More...
 
CriBool criAtomExAsrRack_GetAmplitudeAnalyzerRms (CriAtomExAsrRackId rack_id, CriSint32 bus_no, CriFloat32 *rms, CriUint32 num_channels)
 Get analysis result of amplitude analyzer of specified bus. More...
 
CriBool criAtomExAsrRack_GetAmplitudeAnalyzerRmsByName (CriAtomExAsrRackId rack_id, const CriChar8 *bus_name, CriFloat32 *rms, CriUint32 num_channels)
 Get analysis result of amplitude analyzer of specified bus. More...
 
CriBool criAtomExAsrRack_GetCompressorGain (CriAtomExAsrRackId rack_id, CriSint32 bus_no, CriFloat32 *gain, CriUint32 num_channels)
 Get multiplication value of compressor of specified bus. More...
 
CriBool criAtomExAsrRack_GetCompressorGainByName (CriAtomExAsrRackId rack_id, const CriChar8 *bus_name, CriFloat32 *gain, CriUint32 num_channels)
 Get multiplication value of compressor of specified bus. More...
 
CriBool criAtomExAsrRack_GetCompressorRms (CriAtomExAsrRackId rack_id, CriSint32 bus_no, CriFloat32 *rms, CriUint32 num_channels)
 Get amplitude value of compressor of specified bus. More...
 
CriBool criAtomExAsrRack_GetCompressorRmsByName (CriAtomExAsrRackId rack_id, const CriChar8 *bus_name, CriFloat32 *rms, CriUint32 num_channels)
 Get amplitude value of compressor of specified bus. More...
 
CriBool criAtomExAsrRack_SetAisacControlById (CriAtomExAsrRackId rack_id, CriAtomExAisacControlId control_id, CriFloat32 control_value)
 Apply the value to the AISAC control of the specified ASR rack (specify the control ID) More...
 
CriBool criAtomExAsrRack_SetAisacControlByName (CriAtomExAsrRackId rack_id, const CriChar8 *control_name, CriFloat32 control_value)
 Apply the value to the AISAC control of the specified ASR rack (specify the control ID) More...
 
CriBool criAtomExAsrRack_GetAisacControlById (CriAtomExAsrRackId rack_id, CriAtomExAisacControlId control_id, CriFloat32 *control_value)
 Apply the value to the AISAC control of the specified ASR rack (specify the control ID) More...
 
CriBool criAtomExAsrRack_GetAisacControlByName (CriAtomExAsrRackId rack_id, const CriChar8 *control_name, CriFloat32 *control_value)
 Apply the value to the AISAC control of the specified ASR rack (specify the control ID) More...
 
CriAtomDeviceType criAtomExAsrRack_GetDeviceType (CriAtomExAsrRackId rack_id)
 Acquires the type of the output device of the specified ASR rack. More...
 
CriAtomExAsrRackId criAtomExAsrRack_GetAmbisonicRackId (void)
 Get ASR Rack ID for Ambisonics playback. More...
 
void criAtomExAsr_EnableBinauralizer (CriBool enabled)
 Enabling the Binauralizer. More...
 
CriBool criAtomExAsr_IsEnabledBinauralizer (void)
 Get binauralizer enabled state. More...
 
CriAtomExAsrRackId criAtomExAsrRack_GetChannelBasedAudioRackId (void)
 Get ASR Rack ID for channel-based playback. More...
 
CriAtomExAsrRackId criAtomExAsrRack_GetObjectBasedAudioRackId (void)
 ObjectBasedAudio Get the ASR Rack ID for playback. More...
 
CriAtomExAsrRackId criAtomExAsrRack_GetPassThroughRackId (void)
 Get ASR Rack ID for pass-through Passthrough. More...
 
CriBool criAtomExAsr_RegisterSoundxRInterface (const void *soundxr_interface)
 Registering the SoundxR plugin interface. More...
 

Detailed Description

Macro Definition Documentation

◆ CRIATOMEXASR_MAX_CHANNELS

#define CRIATOMEXASR_MAX_CHANNELS   (16)

Maximum number of channels.

Description:
Maximum number of channels that ASR can process.

◆ CRIATOMEXASR_DEFAULT_NUM_ROUTES

#define CRIATOMEXASR_DEFAULT_NUM_ROUTES   (8)

Default number of potential send buses.

Description:
The default number of buses to which the audio can be sent.

◆ CRIATOMEXASR_DEFAULT_NUM_BUSES

#define CRIATOMEXASR_DEFAULT_NUM_BUSES   (8)

Default number of buses.

Description:
The default number of buses.

◆ CRIATOMEXASR_MAX_BUSES

#define CRIATOMEXASR_MAX_BUSES   (64)

Maximum number of channels.

Description:
Maximum number of buses that can be processed by ASR.

◆ CRIATOMEXASR_RACK_DEFAULT_ID

#define CRIATOMEXASR_RACK_DEFAULT_ID   (0)

Default ASR Rack ID.

Description:
This ASR Rack ID is automatically created at the initialization.
See also
criAtomExAsrRack_Create, criAtomExAsrRack_Destroy

◆ CRIATOMEXASR_RACK_ILLEGAL_ID

#define CRIATOMEXASR_RACK_ILLEGAL_ID   (-1)

Illegal rack ID.

Description:
This value is returned if the execution of the criAtomExAsrRack_Create function fails.
See also
criAtomExAsrRack_Create, criAtomExAsrRack_Destroy

◆ CRIATOMEXASR_MAX_NUM_USER_EFFECT_INTERFACES

#define CRIATOMEXASR_MAX_NUM_USER_EFFECT_INTERFACES   (256)

Maximum registered number of user-defined effect interface.

Description:
This value is the maximum number of user-defined effect interfaces that can be registered.
See also
criAtomExAsr_RegisterEffectInterface, criAtomExAsr_UnregisterEffectInterface

◆ CRIATOMEXASR_NUM_OBJECT_BASED_AUDIO

#define CRIATOMEXASR_NUM_OBJECT_BASED_AUDIO   (CRIATOMEXASR_MAX_CHANNELS)

Number of object-based sounds that can be played simultaneously.

Description:
The number of object-based sounds that can be played simultaneously in ASR.

◆ criAtomExAsr_SetDefaultConfig

#define criAtomExAsr_SetDefaultConfig (   p_config)
Value:
{\
(p_config)->server_frequency = 60.0f;\
(p_config)->num_buses = CRIATOMEXASR_DEFAULT_NUM_BUSES; \
(p_config)->output_channels = CRIATOM_DEFAULT_OUTPUT_CHANNELS;\
(p_config)->speaker_mapping = CRIATOM_SPEAKER_MAPPING_AUTO;\
(p_config)->output_sampling_rate = CRIATOM_DEFAULT_OUTPUT_SAMPLING_RATE;\
(p_config)->sound_renderer_type = CRIATOM_SOUND_RENDERER_NATIVE;\
(p_config)->context = NULL;\
(p_config)->max_racks = 8;\
(p_config)->ambisonics_order_type = CRIATOMAMBISONICS_ORDER_TYPE_NONE;\
}
#define CRIATOMEXASR_DEFAULT_NUM_BUSES
Default number of buses.
Definition: cri_le_atom_asr.h:52
@ CRIATOM_SPEAKER_MAPPING_AUTO
Definition: cri_le_atom.h:1208
@ CRIATOM_SOUND_RENDERER_NATIVE
Definition: cri_le_atom.h:812
@ CRIATOMAMBISONICS_ORDER_TYPE_NONE
Definition: cri_le_atom.h:7815

Set default parameters to CriAtomExAsrConfig.

Description:
Sets default values for a configuration structure ( CriAtomExAsrConfig ) that is set for the criAtomExAsr_Initialize function.
See also
criAtomExAsr_Initialize, CriAtomExAsrConfig

◆ criAtomExAsr_SetDefaultConfigForBusAnalyzer

#define criAtomExAsr_SetDefaultConfigForBusAnalyzer (   p_config)
Value:
{\
(p_config)->interval = 50;\
(p_config)->peak_hold_time = 1000;\
}

Set the default value in the level measurement function configuration structure.

Description
Sets default values for a configuration structure ( CriAtomExAsrBusAnalyzerConfig ) that is set for the criAtomExAsr_AttachBusAnalyzerByName function.
See also
criAtomExAsr_AttachBusAnalyzerByName, CriAtomExAsrBusAnalyzerConfig

Typedef Documentation

◆ CriAtomExAsrConfig

Configuration structure for initializing ASRThis structure is used for specifying the behavior of the software sound renderer ASR.
This structure is specified as an argument of the criAtomExAsr_Initialize function.

Remarks:
When using default settings, after setting default parameters for the structure using the criAtomExAsr_SetDefaultConfig macro, set the structure to the criAtomExAsr_Initialize function.
Attention
More members will be added in the future. So, when not using the criAtomExAsr_SetDefaultConfig macro, make sure to initialize the structure to zero before using it.
(Make sure that no indefinite value is set to any member of the structure.)
See also
criAtomExAsr_Initialize, criAtomExAsr_SetDefaultConfig

◆ CriAtomExAsrBusPanInfo

Pan Information Structure.

Description:
A structure that summarizes panning information for a bus.
Used to set and get panning information for a bus.
See also
criAtomExAsr_SetBusPanInfoByName, criAtomExAsr_GetBusPanInfoByName, criAtomExAsrRack_SetBusPanInfoByName, criAtomExAsrRack_GetBusPanInfoByName

◆ CriAtomExAsrIrReverbPerformanceInfo

IR reverb effect load measurement structure.

Description:
A structure that summarizes the information obtained from IR reverb load measurement. IR reverb processes a certain number of samples as one block asynchronously and measures the load on a block-by-block basis.
Attention
The content measured may differ depending on the platform.
For details, see IR reverb in the CRI ADX manual for each platform.
See also
criAtomExAsr_GetIrReverbPerformanceInfo

◆ CriAtomExAsrRackId

typedef CriSint32 CriAtomExAsrRackId

ASR Rack ID.

Description:
ID type for managing the ASR rack.
It can be acquired by creating an ASR rack with the criAtomExAsrRack_Create function.
See also
criAtomExAsrRack_Create, criAtomExAsrRack_AttachDspBusSetting

◆ CriAtomExAsrRackConfig

Configuration structure for creating an ASR rackThis structure is used for specifying the behavior of the ASR (Atom Sound Renderer).
This structure is specified as an argument of the criAtomExAsrRack_Create function.

Note:
When using default settings, set default parameters for the structure using the criAtomExAsrRack_SetDefaultConfig macro, and then specify the structure for the criAtomExAsrRack_Create function.
Attention
More members will be added in the future. Therefore, when the criAtomExAsrRack_SetDefaultConfig macro is not used, make sure to initialize the structure to zero before using it.
(A structure member must not be set to an undefined value.)
See also
criAtomExAsrRack_Create, criAtomExAsrRack_SetDefaultConfig

◆ CriAtomExAsrRackPerformanceInfo

Performance Information.

Description:
This is the structure used to get the performance information.
Used in the criAtomExAsrRack_GetPerformanceInfo function.
See also
criAtomExAsrRack_GetPerformanceInfo

Function Documentation

◆ criAtomExAsr_CalculateWorkSize()

CriSint32 criAtomExAsr_CalculateWorkSize ( const CriAtomExAsrConfig config)

Calculate work area size required for initializing ASR.

Parameters
[in]configConfiguration structure for ASR initialization
Description:
Acquires the work area size required for initializing the software sound renderer ASR.
When the criAtomExAsr_Initialize function is used to initialize ASR without registering an allocator using the criAtomEx_SetUserAllocator macro, as much memory area as the size calculated by this function must be passed as the work area.

If this function fails to calculate the work area size, it returns -1.
For the reason of the failure, refer to the error callback message.
Remarks:
The working memory size required for initializing ASR varies depending on the contents of the configuration structure ( CriAtomExAsrConfig ) for initializing ASR.

When NULL is specified for the argument, default settings (i.e., the same parameters as when criAtomExAsr_SetDefaultConfig is used) are used for calculating the work area size.
The information of the config argument is referenced only in the function.
It is not referenced after exiting the function and its area can be released after executing the function.
See also
criAtomEx_SetUserAllocator, criAtomExAsr_Initialize

◆ criAtomExAsr_SetConfigForWorkSizeCalculation()

void criAtomExAsr_SetConfigForWorkSizeCalculation ( const CriAtomExAsrConfig config)

Set configuration structure for work area size calculation.

Parameters
[in]configConfiguration structure for ASR initialization
Description:
Tentatively registers a configuration structure ( CriAtomExAsrConfig structure) for calculating the work area size.

The work area size required for attaching effect varies depending on the parameters of the structure specified for ASR initialization (i.e., when the criAtomExAsr_Initialize function is executed).
Thus, in general, the ASR must be initialized before calculating the required work area size.
When this function is used to register a configuration structure for ASR initialization, the work area size can be calculated without initializing the ASR.
(Executing the criAtomEx_CalculateWorkSizeForDspBusSettingFromAcfData function is possible.)
Remarks:
When NULL is specified for the argument (config), the default settings (i.e., the same parameters as when criAtomExAsr_SetDefaultConfig is used) will be used to calculate the work area size.

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

The criAtomEx_CalculateWorkSizeForDspBusSetting function cannot be used even when executing this function.
For the work area size calculation for attaching a DSP bus setting, use the criAtomEx_CalculateWorkSizeForDspBusSettingFromAcfData function.
Example:
CriAtomExAsrConfig asr_config;
// Tentatively register ASR initialization parameters for calculating the work area size
// Calculate the work area size for attaching a DSP bus setting
acf_data, acf_data_size, "DspBusSetting_0");
#define criAtomExAsr_SetDefaultConfig(p_config)
Set default parameters to CriAtomExAsrConfig.
Definition: cri_le_atom_asr.h:2079
void criAtomExAsr_SetConfigForWorkSizeCalculation(const CriAtomExAsrConfig *config)
Set configuration structure for work area size calculation.
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.
Configuration structure for initializing ASRThis structure is used for specifying the behavior of the...
Definition: cri_le_atom_asr.h:2344
See also
criAtomEx_CalculateWorkSizeForDspBusSettingFromAcfData

◆ criAtomExAsr_Initialize()

void criAtomExAsr_Initialize ( const CriAtomExAsrConfig config,
void *  work,
CriSint32  work_size 
)

Initialize ASR.

Parameters
[in]configConfiguration structure for ASR initialization
[in]workwork area
[in]work_sizework area size
Description:
Initializes the software sound renderer ASR.
By executing this function, ASR is started and ASR starts outputting rendering results.
Remarks:
The working memory size required for initializing ASR varies depending on the contents of the configuration structure ( CriAtomExAsrConfig ) for initializing ASR.

When NULL is specified for the argument, default settings
(i.e., the same parameters as when criAtomExAsr_SetDefaultConfig is used) are used for initialization.

The information of the config argument is referenced only in the function.
The information is not referred to after the function is completed. Therefore, after the function is executed, the area used for config can be released without any problem.
Attention
This function is a blocking function.
Executing this function blocks server processing of the Atom library for a while.
If this function is executed during audio playback, problems such as audio break may occur. Call this function only when a fluctuation in load is acceptable, for example, during a scene change.
After executing this function, always execute the criAtomExAsr_Finalize function.
Also, before executing the criAtomExAsr_Finalize function, do not execute this function again.
See also
criAtomEx_SetUserAllocator, criAtomExAsr_Finalize, criAtomExAsrRack_Create

◆ criAtomExAsr_Finalize()

void criAtomExAsr_Finalize ( void  )

Finalize ASR.

Description:
Finalizes the software sound renderer ASR.
By executing this function, ASR stops outputting rendering results.
If an allocator has already been registered by using the criAtomEx_SetUserAllocator macro, this function releases the memory area allocated when ASR is initialized.
(If a work area is passed when ASR is initialized, the work area can be released after this function is executed.)
Attention
This function is a blocking function.
Executing this function blocks server processing of the Atom library for a while.
If this function is executed during audio playback, problems such as audio break may occur.
Call this function only when a fluctuation in load is acceptable, for example, during a scene change.
See also
criAtomEx_SetUserAllocator, criAtomExAsr_Initialize

◆ criAtomExAsr_SetBusVolumeByName()

void criAtomExAsr_SetBusVolumeByName ( const CriChar8 *  bus_name,
CriFloat32  volume 
)

Bus volume setting.

Parameters
[in]bus_nameBus name
[in]volumeVolume value
Description:
Sets the bus volume.
This function is valid for send destinations whose send type is post-volume or post-panning.

Specify a real number between 0.0f and 1.0f for the volume.
Volume is the scaling factor for the amplitude of the sound data (unit is not decibels).
For example, if you specify 1.0f, the original sound is output with the volume unchanged.
If you specify 0.5f, sound is output at volume equal to data with half the amplitude of the original sound (-6 dB).
If you specify 0.0f, the sound is muted (silent).
The default value of the volume is the one set in CRI Atom Craft.

◆ criAtomExAsr_GetBusVolumeByName()

void criAtomExAsr_GetBusVolumeByName ( const CriChar8 *  bus_name,
CriFloat32 *  volume 
)

Get the volume of a bus.

Parameters
[in]bus_nameBus name
[in]volumeVolume value
Description:
Get the volume of a bus.
This is effective only when the send type of the destination is post volume or post pan.

The volume value returned is a real value.
The default value of the volume is set in the CRI Atom Craft tool.

◆ criAtomExAsr_SetBusPanInfoByName()

void criAtomExAsr_SetBusPanInfoByName ( const CriChar8 *  bus_name,
const CriAtomExAsrBusPanInfo pan_info 
)

Setting pan information for a bus.

Parameters
[in]bus_nameBus name
[in]pan_infoPan Information
Description:
Sets pan information for the bus.
Effective for send destinations with a send type of post pan.
Remarks:
This function refers to the DSP bus settings of the default ASR rack.
To refer to the DSP bus settings of any ASR rack, use the criAtomExAsrRack_SetBusPanInfoByName function.

The default value of the pan information is the value set in CRI Atom Craft.

◆ criAtomExAsr_GetBusPanInfoByName()

void criAtomExAsr_GetBusPanInfoByName ( const CriChar8 *  bus_name,
CriAtomExAsrBusPanInfo pan_info 
)

Setting pan information for a bus.

Parameters
[in]bus_nameBus name
[out]pan_infoPan Information
Description:
Gets panning information for a bus.
Remarks:
This function references the DSP bus settings of the default ASR rack.
To reference the DSP bus settings of any ASR rack, use the criAtomExAsrRack_GetBusPanInfoByName function.

◆ criAtomExAsr_SetBusMatrixByName()

void criAtomExAsr_SetBusMatrixByName ( const CriChar8 *  bus_name,
CriSint32  input_channels,
CriSint32  output_channels,
const CriFloat32  matrix[] 
)

Set level matrix for a bus.

Parameters
[in]bus_nameBus name
[in]input_channelsnumber of input channels
[in]output_channelsnumber of output channels
[in]matrixone-dimensional array of level values that represent a level matrix
Description:
Sets a level matrix for a bus.
This function is valid for send destinations whose send type is post-panning.

A level matrix provides a mechanism for specifying which speaker outputs each channel of audio data at which volume.
The matrix argument is an [input_channels * output_channels] matrix.
The level for sending data from an input channel ch_in to an output channel ch_out must be set for matrix[ch_in * output_channels + ch_out].
The default value of a level matrix is a unit matrix.

Specify a float value between 0.0f and 1.0f for a level value.
A level value is the scaling factor for the amplitude of the sound data (unit is not decibel).
For example, if you specify 1.0f, the original sound is output with the level unchanged.
If you specify 0.5f, sound is output at volume equal to data with half the amplitude of the original sound waveform (-6dB).
If you specify 0.0f, the sound is muted (silent).

◆ criAtomExAsr_SetBusSendLevelByName()

void criAtomExAsr_SetBusSendLevelByName ( const CriChar8 *  bus_name,
const CriChar8 *  sendto_bus_name,
CriFloat32  level 
)

Set bus send level.

Parameters
[in]bus_nameBus name
[in]sendto_bus_nameBus name for the send destination
[in]levellevel value
Description:
Sets the level for sending audio data to a send destination bus.

Specify a float value between 0.0f and 1.0f for a level value.
A level value is the scaling factor for the amplitude of the sound data (unit is not decibel).
For example, if you specify 1.0f, the original sound is output with the level unchanged.
If you specify 0.5f, sound is output at volume equal to data with half the amplitude of the original sound waveform (-6dB).
If you specify 0.0f, the sound is muted (silent).
The default value of the level is the one set in CRI Atom Craft.

◆ criAtomExAsr_SetEffectParameter()

void criAtomExAsr_SetEffectParameter ( const CriChar8 *  bus_name,
const CriChar8 *  effect_name,
CriUint32  parameter_index,
CriFloat32  parameter_value 
)

Set parameter during effect operation.

Parameters
[in]bus_nameBus name
[in]effect_nameEffect name
[in]parameter_indexEffect operation parameter index
[in]parameter_valueEffect operation parameter value
Description:
Use the default ASR Rack ID to set the operating parameters of the effect.
In order to set the operating parameters, the bus must be built beforehand by calling the criAtomEx_AttachDspBusSetting function.
Which effect exists on which bus depends on the attached DSP bus setting.
If an effect with the specified ID does not exist on the specified bus, the function fails.
The parameters set by this function are not actually reflected in the effect until the criAtomExAsr_UpdateParameter function is called.
For the correspondence between the parameter index and the actual parameter, refer to the parameter index ( Parameters of the ASR bus effect ) of each effect.
See also
criAtomEx_AttachDspBusSetting, criAtomExAsr_UpdateEffectParameters

◆ criAtomExAsr_UpdateEffectParameters()

void criAtomExAsr_UpdateEffectParameters ( const CriChar8 *  bus_name,
const CriChar8 *  effect_name 
)

Update parameter during effect operation.

Parameters
[in]bus_nameBus name
[in]effect_nameEffect name
Description:
Use the default ASR Rack ID and update the operating parameters of the effect.
In order to actually update the operating parameters, call this function in addition to the criAtomExAsr_SetEffectParameter function.
See also
criAtomEx_AttachDspBusSetting, criAtomExAsr_SetEffectParameter

◆ criAtomExAsr_GetEffectParameter()

CriFloat32 criAtomExAsr_GetEffectParameter ( const CriChar8 *  bus_name,
const CriChar8 *  effect_name,
CriUint32  parameter_index 
)

Get parameter during effect operation.

Parameters
[in]bus_nameBus name
[in]effect_nameEffect name
[in]parameter_indexEffect operation parameter index
Returns
Returns value of the parameter of a given effect by specifying the parameter index.
Description:
Use the default ASR Rack ID to get the value of the parameter of the effect.
In order to get the parameter, the bus must be built beforehand by calling the criAtomEx_AttachDspBusSetting function.
Which effect exists on which bus depends on the attached DSP bus setting.If an effect with the specified name does not exist on the specified bus, this function fails.
For details about operating parameters, refer to the parameter index ( Parameters of the ASR bus effect ) of each effect.
See also
criAtomEx_AttachDspBusSetting

◆ criAtomExAsr_SetEffectBypass()

void criAtomExAsr_SetEffectBypass ( const CriChar8 *  bus_name,
const CriChar8 *  effect_name,
CriBool  bypass 
)

Enable / disable the bypass of an effect.

Parameters
[in]bus_nameBus name
[in]effect_nameEffect name
[in]bypassBypass setting (CRI_TRUE:Enable bypass, CRI_FALSE:Disable bypass)
Description:
Enable / disable the bypass of an effect.
When the bypass is enabled, the effect is ignored during audio processing.
To enable the bypass of an effect, before calling this function, use the criAtomEx_AttachDspBusSetting function to build a bus in advance.
The attached DSP bus setting determines which effect exists on which bus. If an effect with the specified ID does not exist on the specified bus, this function fails.
Attention
If a bypass is enabled during audio playback, a noise may occur.
See also
criAtomEx_AttachDspBusSetting

◆ criAtomExAsr_AttachBusAnalyzerByName()

void criAtomExAsr_AttachBusAnalyzerByName ( const CriChar8 *  bus_name,
const CriAtomExAsrBusAnalyzerConfig config 
)

Add a level measurement function.

Parameters
[in]bus_nameBus name
[in]configConfiguration structure for the level measurement function
Description:
Adds the function to a bus and starts the level measurement process.
After executing this function, it is possible to call the criAtomExAsr_GetBusAnalyzerInfo function to get the RMS level (sound pressure), peak level (maximum amplitude), and peak hold level. To measure the levels on multiple buses, you must invoke this function for each bus.
Example:
// Structure to acquire level measurement information
// Add the level metering to the zeroth bus (master bus)
  :
// Acquire level measurement information
// Display the measurement results
for (i = 0; i < CRIATOMEXASR_MAX_CHANNELS; i++) {
printf("[%d] RMS: %1.6f, Peak: %1.6f, Hold: %1.6f",
i, info.rms_levels[i], info.peak_levels[i], info.peak_hold_levels[i]);
}
void criAtomExAsr_GetBusAnalyzerInfo(CriSint32 bus_no, CriAtomExAsrBusAnalyzerInfo *info)
void criAtomExAsr_AttachBusAnalyzer(CriSint32 bus_no, const CriAtomExAsrBusAnalyzerConfig *config)
#define CRIATOMEXASR_MAX_CHANNELS
Maximum number of channels.
Definition: cri_le_atom_asr.h:36
Level measurement information.
Definition: cri_le_atom_asr.h:2470
CriFloat32 peak_levels[CRIATOMEXASR_MAX_CHANNELS]
Peak level.
Definition: cri_le_atom_asr.h:2491
CriFloat32 rms_levels[CRIATOMEXASR_MAX_CHANNELS]
RMS level.
Definition: cri_le_atom_asr.h:2484
CriFloat32 peak_hold_levels[CRIATOMEXASR_MAX_CHANNELS]
Peak hold level.
Definition: cri_le_atom_asr.h:2498
Attention
This function handles the same resource than the criAtomEx_AttachDspBusSetting function.
Therefore, when executing this function after the criAtomEx_AttachDspBusSetting function, the information cannot be retrieved by the criAtomExAsr_GetBusAnalyzerInfo function.
Be careful when using this function together with the criAtomEx_AttachDspBusSetting function, before executing the criAtomEx_AttachDspBusSetting function, disable the level measurement function with the criAtomExAsr_DetachBusAnalyzer function, and then execute this function again after executing the criAtomEx_AttachDspBusSetting function.
// Temporarily disable the level measurement feature before changing the DSP bus setting
// Update the DSP bus setting
criAtomEx_AttachDspBusSetting("DspBusSetting_0", NULL, 0);
// Attach the level measurement feature again
void criAtomExAsr_DetachBusAnalyzer(CriSint32 bus_no)
void criAtomEx_AttachDspBusSetting(const CriChar8 *setting, void *work, CriSint32 work_size)
Attach a DSP bus setting.
See also
criAtomExAsr_GetBusAnalyzerInfo, criAtomExAsr_DetachBusAnalyzer

◆ criAtomExAsr_DetachBusAnalyzerByName()

void criAtomExAsr_DetachBusAnalyzerByName ( const CriChar8 *  bus_name)

Delete level measuring function.

Parameters
[in]bus_nameBus name
Description:
Deletes the level measuring function from a bus.
See also
criAtomExAsr_AttachBusAnalyzerByName

◆ criAtomExAsr_GetBusAnalyzerInfoByName()

void criAtomExAsr_GetBusAnalyzerInfoByName ( const CriChar8 *  bus_name,
CriAtomExAsrBusAnalyzerInfo info 
)

Acquire level measurement results.

Parameters
[in]bus_nameBus name
[out]infostructure for level measurement results
Description:
Acquires results of the level measuring function from a bus.
See also
criAtomExAsr_AttachBusAnalyzerByName

◆ criAtomExAsr_SetBusFilterCallbackByName()

void criAtomExAsr_SetBusFilterCallbackByName ( const CriChar8 *  bus_name,
CriAtomExAsrBusFilterCbFunc  pre_func,
CriAtomExAsrBusFilterCbFunc  post_func,
void *  obj 
)

Register waveform filter callback function.

Parameters
[in]bus_nameBus name
[in]pre_funcfilter callback function used before effect process
[in]post_funcfilter callback function used after effect process
[in]objuser specified object
Description:
Registers a callback function for receiving PCM data sent on a bus.
The registered callback function is invoked when a sound renderer performs audio processing.
If one of the callback functions for effect pre-process or effect post-process is not used, NULL can be specified for the callback function not to be used.
Attention
Do not execute Atom library APIs in this callback function.
The callback function is executed from the server process in the Atom library.
Therefore, if an API that does not take account of interrupts to the server process is executed, an error or deadlock may occur.

Note that if processes are blocked in the waveform filter callback function for a long time, some problems such as a playback break may occur.
See also
CriAtomExPlayerFilterCbFunc

◆ criAtomExAsr_GetNumBuses()

CriSint32 criAtomExAsr_GetNumBuses ( void  )

Acquiring the maximum number of buses.

Returns
Maximum number of buses
Description:
Acquires the maximum number of available buses.
By default, CRIATOMEXASR_DEFAULT_NUM_BUSES is returned.
To change the maximum number of buses, change CriAtomExAsrConfig::num_buses and then create an ASR rack.
See also
CriAtomExAsrConfig, criAtomExAsr_Create, criAtomExAsr_SetDefaultConfig

◆ criAtomExAsr_RegisterEffectInterface()

CriBool criAtomExAsr_RegisterEffectInterface ( CriAtomExAsrAfxInterfaceWithVersionPtr  afx_interface)

Register a user-defined effect interface.

Parameters
[in]afx_interfaceInterface with version information of user-defined effect
Returns
Whether registration was successful (CRI_TRUE: Success, CRI_FALSE: Failure)
Description:
Register the user-defined effect interface in the ASR.
Effects that have registered user-defined effect interfaces can be used to attach DSP bus settings.
If the following conditions are satisfied, registration of the user-defined effect interface fails and an error callback is returned:
  • A user-defined effect interface with the same effect name has already been registered
  • Implementation of the interface is different from Atom user-defined effect interface
  • Number of user defined effect interfaces registered exceeded the maximum number( ::CRIATOMEXASR_MAX_NUM_USER_EFFECT_INTERFACES )
Attention
Please use this function only when registering user-defined effects created with CRI ADX Audio Effect Plugin SDK.
Register the user defined effect interface with this function
before attaching the DSP bus setting including the user-defined effect.
If the default DSP bus setting exists in the ACF, the DSP bus setting is also attached by registering the ACF.
Therefore, if the user defined effect is included in the default DSP bus setting, before the ACF is registered, the user defined effect interface Please register.
The pointer of the interface once registered will continue to be referred to while attaching the DSP bus setting.
To unregister the interface while using the Atom library, please use the criAtomExAsr_UnregisterEffectInterface function.
See also
criAtomExAsr_UnregisterEffectInterface, criAtomEx_AttachDspBusSetting, criAtomEx_DetachDspBusSetting, criAtomEx_RegisterAcfFile, criAtomEx_RegisterAcfData

◆ criAtomExAsr_UnregisterEffectInterface()

void criAtomExAsr_UnregisterEffectInterface ( CriAtomExAsrAfxInterfaceWithVersionPtr  afx_interface)

Unregister a user-defined effect interface.

Parameters
[in]afx_interfaceInterface with version information of user-defined effect
Description:
Unregister the effect interface.
Effects that are canceled can not be used when attaching DSP bus settings.
It is not possible to unregister an effect interface that has not been registered (error call back will be returned).
Remarks:
Please use this function only when unregistering user-defined effects created with CRI ADX Audio Effect Plugin SDK.
Since the registered user-defined effect interface continues to be referred to while the DSP bus setting is attached,
be sure to call this function after calling criAtomEx_DetachDspBusSetting .
When you exit the Atom library, all user-defined effect interfaces will be unregistered.
See also
criAtomExAsr_RegisterEffectInterface, criAtomEx_AttachDspBusSetting, criAtomEx_DetachDspBusSetting

◆ criAtomExAsr_ResetIrReverbPerformanceInfo()

void criAtomExAsr_ResetIrReverbPerformanceInfo ( void  )

IR reverb effect load measurement reset.

Description:
Resets the IR reverb load measurement for the ASR effect.
Remarks:
It is possible to call this function even if the DSP bus does not have an IR reverb effect set, but no processing will be performed.
See also
criAtomExAsr_GetIrReverbPerformanceInfo

◆ criAtomExAsr_GetIrReverbPerformanceInfo()

void criAtomExAsr_GetIrReverbPerformanceInfo ( CriAtomExAsrIrReverbPerformanceInfo info)

IR reverb effect load measurement.

Parameters
[out]infoIR reverb load measurement information structure
Description:
Measures the load of all IR reverb effects on a DSP bus at once.
Remarks:
It is possible to call this function even if the DSP bus does not have an IR reverb effect set, but no processing will be performed.
Attention
Measurements may vary depending on the platform.
For more information, see IR Reverb in the CRI ADX manual for each platform.
See also
criAtomExAsr_ResetIrReverbPerformanceInfo

◆ criAtomExAsrRack_CalculateWorkSize()

CriSint32 criAtomExAsrRack_CalculateWorkSize ( const CriAtomExAsrRackConfig config)

Calculating the size of the work area for creating the ASR rack.

Parameters
[in]configConfiguration structure for ASR initialization
Description:
Obtains the size of the work area for creating the ASR rack
When the criAtomExAsrRack_Create function is used to initialize the ASR without registering an allocator using the criAtomEx_SetUserAllocator macro, the memory area of the size calculated by this function must be passed as the work area.

If this function fails to calculate the work area size, it returns -1.
For the reason for the failure, refer to the error callback message.
Note:
The size of the working memory required to initialize the ASR rack varies depending on the contents of the configuration structure ( CriAtomExAsrRackConfig ) for initializing the ASR rack.

When NULL is specified for the argument, default settings (i.e., the same parameters as when criAtomExAsr_SetDefaultConfig is used) are used for calculating the work area size.
The information of the config argument is referenced only in this function.
The information is not referenced after the function is completed. Therefore, the area used for config can be released after executing the function.
See also
criAtomEx_SetUserAllocator, criAtomExAsrRack_Create

◆ criAtomExAsrRack_CalculateWorkSizeForDspBusSettingFromConfig()

CriSint32 criAtomExAsrRack_CalculateWorkSizeForDspBusSettingFromConfig ( const CriAtomExAsrRackConfig config,
const CriChar8 *  setting 
)

Calculating the size of the work area for attaching the DSP bus settings.

Parameters
[in]configConfiguration structure for creating an ASR rack
[in]settingName of the DSP bus settings
Returns
CriSint32 Required work area size
Description:
Calculates the work area size required for building a bus based on the DSP bus settings.
Before executing this function, use the ::criAtomEx_RegisterAcfConfig function to register ACF information. For config, specify the same structure as the one specified for the criAtomExAsrRack_Create function.

If this function fails to calculate the work area size, it returns -1.
For the reason for the failure, refer to the error callback message.
Note:
The size of the work memory required for attaching the DSP bus settings varies depending on the DSP bus settings created in CRI Atom Craft.
See also
criAtomExAsrRack_AttachDspBusSetting, criAtomEx_RegisterAcfConfig

◆ criAtomExAsrRack_CalculateWorkSizeForDspBusSettingFromAcfDataAndConfig()

CriSint32 criAtomExAsrRack_CalculateWorkSizeForDspBusSettingFromAcfDataAndConfig ( void *  acf_data,
CriSint32  acf_data_size,
const CriAtomExAsrRackConfig rack_config,
const CriChar8 *  setting 
)

Calculating the size of the work area for attaching the DSP bus settings.

Parameters
[in]acf_dataACF data
[in]acf_data_sizeSize of the ACF data
[in]rack_configConfiguration structure for creating the ASR rack
[in]settingName of the DSP bus settings
Returns
CriSint32 Required work area size
Description:
Calculates the work area size required for building a bus based on the DSP bus settings.
Unlike the criAtomExAsrRack_CalculateWorkSizeForDspBusSettingFromConfig function, it can calculate the size of the work memory by using the ACF data loaded in memory.

If this function fails to calculate the work area size, it returns -1.
For the reason for the failure, refer to the error callback message.
Note:
The size of the work memory required for attaching the DSP bus settings varies depending on the DSP bus settings created in CRI Atom Craft.
See also
criAtomExAsrRack_AttachDspBusSetting, criAtomEx_RegisterAcfConfig

◆ criAtomExAsrRack_Create()

CriAtomExAsrRackId criAtomExAsrRack_Create ( const CriAtomExAsrRackConfig config,
void *  work,
CriSint32  work_size 
)

Creating the ASR rack.

Parameters
[in]configConfiguration structure for ASR initialization
[in]workWork area
[in]work_sizeSize of the work area
Returns
CriAtomExAsrRackId ASR Rack ID
Description:
Creates the ASR rack.
The ASR rack is a collection of the buses. You can attach the DSP bus settings to it.
By executing this function, the ASR rack is added to the ASR, starting the output of rendering results.
You can select the output destination for the ASR rack added with this function. You can select a platform-native sound renderer or an ASR for outputting to another ASR rack.
Note:
When the criAtomExAsr_Initialize function is executed, the default ASR rack is added.
The criAtomExAsr_***function will be the API for handling the default ASR rack.

The size of the working memory required for initializing the ASR varies depending on the contents of the configuration structure ( CriAtomExAsrConfig ) for initializing the ASR.

When NULL is specified for the argument, default settings
(i.e., the same parameters as when criAtomExAsr_SetDefaultConfig is used) are used for initialization.

The information of the config argument is referenced only in this function.
The information is not referenced after the function is completed. Therefore, the area used for config can be released after executing the function.
If ASR rack creation succeeded, this function returns the generated ASR Rack ID.
If creation failed, -1 is returned.
Attention
This function is a blocking function.
Executing this function blocks server processing of the Atom library for a while.
If this function is executed during audio playback, problems such as interruption of playback may occur. Call this function only when a fluctuation in load is acceptable, for example, during a scene change.
See also
criAtomEx_SetUserAllocator, criAtomExAsrRack_Destroy, criAtomExAsrRack_AttachDspBusSetting

◆ criAtomExAsrRack_Destroy()

void criAtomExAsrRack_Destroy ( CriAtomExAsrRackId  rack_id)

Destruction of the ASR rack.

Description:
Disposes of the ASR rack.
By executing this function, ASR stops outputting rendering results.
If an allocator has already been registered by using the criAtomEx_SetUserAllocator macro, the memory allocated when the ASR rack is created is released.
(If a work area is passed when ASR was created, it can be released after this function is executed.)
Attention
This function is a blocking function.
Executing this function blocks server processing of the Atom library for a while.
If this function is executed during audio playback, problems such as playback interruptions may occur.
Call this function only when a fluctuation in load is acceptable, for example, during a scene change.
See also
criAtomEx_SetUserAllocator, criAtomExAsrRack_Create

◆ criAtomExAsrRack_GetNumRenderedSamples()

void criAtomExAsrRack_GetNumRenderedSamples ( CriAtomExAsrRackId  rack_id,
CriSint64 *  num_samples,
CriSint32 *  sampling_rate 
)

Resetting the performance monitor.

Description:
Gets the number of rendered samples and sampling rate of the ASR rack.
Attention
The pattern in which this function increments the number of rendered samples may vary depending on the platform and output device it is running on.

◆ criAtomExAsrRack_ResetPerformanceMonitor()

void criAtomExAsrRack_ResetPerformanceMonitor ( CriAtomExAsrRackId  rack_id)

Reset the Performance Monitor.

Parameters
[in]rack_idASR rack ID
Description:
Discards the measurement results previously acquired.
The Performance Monitor starts acquiring information immediately after the creation of the ASR rack and accumulates the measurement results over time.
If you do not want to include the previous measurement results, call this function to reset the Performance Monitor.

◆ criAtomExAsrRack_GetPerformanceInfo()

void criAtomExAsrRack_GetPerformanceInfo ( CriAtomExAsrRackId  rack_id,
CriAtomExAsrRackPerformanceInfo info 
)

Acquiring the performance information.

Parameters
[in]rack_idASR rack ID
[out]infoパフォーマンス情報
Description:
Acquires the performance information.
This function only measures the rendering load of the specified ASR rack.
Remarks:
If CRIATOMEX_THREAD_MODEL_MULTI_WITH_SONICSYNC is not specified for the thread model, it is not necessary to use this function.
(When using a thread model other than CRIATOMEX_THREAD_MODEL_MULTI_WITH_SONICSYNC , the load of this function will already be included in CriAtomExPerformanceInfo .)
See also
CriAtomExAsrRackPerformanceInfo

◆ criAtomExAsrRack_CalculateWorkSizeForDspBusSetting()

CriSint32 criAtomExAsrRack_CalculateWorkSizeForDspBusSetting ( CriAtomExAsrRackId  rack_id,
const CriChar8 *  setting 
)

Calculating the size of the work area for attaching the DSP bus settings.

Parameters
[in]rack_idASR Rack ID
[in]settingName of the DSP bus settings
Returns
CriSint32 Required work area size
Description:
Calculates the work area size required for building a bus based on the DSP bus settings.
Before executing this function, use the ::criAtomEx_RegisterAcfConfig function to register ACF information.
If this function fails to calculate the work area size, it returns -1.
For the reason for the failure, refer to the error callback message.
Note:
The size of the work memory required for attaching the DSP bus settings varies depending on the DSP bus settings created in CRI Atom Craft.
See also
criAtomExAsrRack_AttachDspBusSetting, criAtomEx_RegisterAcfConfig

◆ criAtomExAsrRack_AttachDspBusSetting()

void criAtomExAsrRack_AttachDspBusSetting ( CriAtomExAsrRackId  rack_id,
const CriChar8 *  setting,
void *  work,
CriSint32  work_size 
)

Attaching the DSP bus settings.

Parameters
[in]rack_idASR Rack ID
[in]settingName of the DSP bus settings
[in]workWork area
[in]work_sizeSize of the work area
Description:
Builds a bus based on the DSP bus settings and attaches it to the ASR rack.
Before executing this function, use the ::criAtomEx_RegisterAcfConfig function to register ACF information.
Note:
The size of the work memory required for attaching the DSP bus settings varies depending on the DSP bus settings created in CRI Atom Craft.
Attention
This function is a blocking function.
Executing this function blocks server processing of the Atom library for a while.
If this function is executed during audio playback, problems such as interruption of playback may occur. Call this function only when a fluctuation in load is acceptable, for example, during a scene change.
See also
criAtomExAsrRack_DetachDspBusSetting, criAtomEx_RegisterAcfConfig

◆ criAtomExAsrRack_DetachDspBusSetting()

void criAtomExAsrRack_DetachDspBusSetting ( CriAtomExAsrRackId  rack_id)

Detaching the DSP bus settings.

Parameters
[in]rack_idASR Rack ID
Description:
Detaches the DSP bus settings from the ASR rack.
If an allocator has already been registered by using the criAtomEx_SetUserAllocator macro, the memory area allocated when DSP bus settings were attached is released.
(If you pass a work area when attaching DSP bus settings, the work area can be released after this function is executed.)
Attention
This function is a blocking function.
Executing this function blocks server processing of the Atom library for a while.
If this function is executed during audio playback, problems such as interruption of playback may occur. Call this function only when a fluctuation in load is acceptable, for example, during a scene change.
See also
criAtomExAsrRack_AttachDspBusSetting

◆ criAtomExAsrRack_ApplyDspBusSnapshot()

void criAtomExAsrRack_ApplyDspBusSnapshot ( CriAtomExAsrRackId  rack_id,
const CriChar8 *  snapshot_name,
CriSint32  time_ms 
)

Applying a DSP bus snapshot.

Parameters
[in]rack_idASR Rack ID
[in]snapshot_nameName of the snapshot
[in]time_msTime (milliseconds)
Description:
Applies the DSP bus snapshot.
When this function is called, the parameters will change to those specified for the snapshot over the time of time_ms.
Specifying CRI_NULL as the snapshot_name argument will revert to the original DSP bus settings (without any snapshot applied).
See also
criAtomExAsrRack_AttachDspBusSetting

◆ criAtomExAsrRack_GetAppliedDspBusSnapshotName()

const CriChar8* criAtomExAsrRack_GetAppliedDspBusSnapshotName ( CriAtomExAsrRackId  rack_id)

Get DSP bus snapshot name.

Parameters
[in]rack_idASR Rack ID
Description:
Specify the ASR Rack ID and obtain the DSP bus snapshot name. If the snapshot is not applied, CRI_NULL is returned.
See also
criAtomExAsrRack_ApplyDspBusSnapshot

◆ criAtomExAsrRack_SetBusVolumeByName()

void criAtomExAsrRack_SetBusVolumeByName ( CriAtomExAsrRackId  rack_id,
const CriChar8 *  bus_name,
CriFloat32  volume 
)

Setting the volume of the bus.

Parameters
[in]rack_idASR Rack ID
[in]bus_nameBus name
[in]volumeVolume value
Description:
Sets the volume of the bus.
This function is valid for send destinations whose send type is post-volume or post-panning.

Specify a real number between 0.0f and 1.0f for the volume.
The volume is the scaling factor for the amplitude of the sound data (unit is not decibel).
For example, if you specify 1.0f, sound is output at the original volume.
If you specify 0.5f, sound is output at the volume that is half the amplitude of the original sound waveform (-6dB).
If you specify 0.0f, the sound is muted (silent).
The default value of the volume is the one set in CRI Atom Craft.

◆ criAtomExAsrRack_GetBusVolumeByName()

void criAtomExAsrRack_GetBusVolumeByName ( CriAtomExAsrRackId  rack_id,
const CriChar8 *  bus_name,
CriFloat32 *  volume 
)

Get the volume of a bus.

Parameters
[in]rack_idASR Rack ID
[in]bus_nameBus name
[in]volumeVolume value
Description:
Get the volume of the bus.
It is effective only when the send type of the destination is post volume or post pan.

The volume value obtained is a real value.
The default value of the volume is set in the CRI Atom Craft tool.

◆ criAtomExAsrRack_SetBusPanInfoByName()

void criAtomExAsrRack_SetBusPanInfoByName ( CriAtomExAsrRackId  rack_id,
const CriChar8 *  bus_name,
const CriAtomExAsrBusPanInfo pan_info 
)

Setting pan information for a bus.

Parameters
[in]rack_idASR rack ID
[in]bus_nameBus name
[in]pan_infoPan information
Description:
Sets the pan information for the bus.
Valid for send destinations with a send type of post pan.

The default value for pan information is the value set in CRI Atom Craft.

◆ criAtomExAsrRack_GetBusPanInfoByName()

void criAtomExAsrRack_GetBusPanInfoByName ( CriAtomExAsrRackId  rack_id,
const CriChar8 *  bus_name,
CriAtomExAsrBusPanInfo pan_info 
)

Get bus pan information.

Parameters
[in]rack_idASR rack ID
[in]bus_nameBus name
[out]pan_infoPan information
Description:
Gets panning information for a bus.

◆ criAtomExAsrRack_SetBusMatrixByName()

void criAtomExAsrRack_SetBusMatrixByName ( CriAtomExAsrRackId  rack_id,
const CriChar8 *  bus_name,
CriSint32  input_channels,
CriSint32  output_channels,
const CriFloat32  matrix[] 
)

Setting the level matrix for the bus.

Parameters
[in]rack_idASR Rack ID
[in]bus_nameBus name
[in]input_channelsNumber of input channels
[in]output_channelsNumber of output channels
[in]matrixOne-dimensional array of level values that represent the level matrix
Description:
Sets the level matrix for the bus.
This function is valid for send destinations whose send type is post-panning.

A level matrix is used to specify which speaker outputs the sound for each channel at which volume.
The matrix argument is an [input_channels * output_channels] matrix.
The level for sending data from an input channel ch_in to an output channel ch_out must be set at matrix[ch_in * output_channels + ch_out].
The default level matrix is a unit matrix.

Specify a real number between 0.0f and 1.0f for the level value.
The level value is the scaling factor for the amplitude of the sound data (unit is not decibel).
For example, if you specify 1.0f, sound is output at the original level.
If you specify 0.5f, sound is output at the volume that is half the amplitude of the original sound waveform (-6dB).
If you specify 0.0f, the sound is muted (silent).

◆ criAtomExAsrRack_SetBusSendLevelByName()

void criAtomExAsrRack_SetBusSendLevelByName ( CriAtomExAsrRackId  rack_id,
const CriChar8 *  bus_name,
const CriChar8 *  sendto_bus_name,
CriFloat32  level 
)

Setting the send level for the bus.

Parameters
[in]rack_idASR Rack ID
[in]bus_nameBus name
[in]sendto_bus_nameBus name of the send destination
[in]levelLevel value
Description:
Sets the level for sending audio data to a send destination bus.

Specify a real number between 0.0f and 1.0f for the level value.
The level value is the scaling factor for the amplitude of the sound data (unit is not decibel).
For example, if you specify 1.0f, sound is output at the original level.
If you specify 0.5f, sound is output at the volume that is half the amplitude of the original sound waveform (-6dB).
If you specify 0.0f, the sound is muted (silent).
The default value of the level is the one set in CRI Atom Craft.

◆ criAtomExAsrRack_SetEffectParameter()

void criAtomExAsrRack_SetEffectParameter ( CriAtomExAsrRackId  rack_id,
const CriChar8 *  bus_name,
const CriChar8 *  effect_name,
const CriUint32  parameter_index,
const CriFloat32  parameter_value 
)

Set parameter during effect operation.

Parameters
[in]rack_idASR Rack ID
[in]bus_nameBus name
[in]effect_nameEffect name
[in]parameter_indexEffect operation parameter index
[in]parameter_valueEffect operation parameter value
Description:
Sets the the value of an effect parameter.
To set an effect parameter, you must attach a bus with the criAtomEx_AttachDspBusSetting before calling this function.
The attached bus settings determine which effect exists on which bus. If the specified ID does not exist on the given bus, this function fails.
For the correspondence between the parameter index and the actual parameter, refer to the parameter index (Parameters of the ASR bus effect) of each effect.
See also
criAtomEx_AttachDspBusSetting, criAtomExAsrRack_UpdateEffectParameters

◆ criAtomExAsrRack_UpdateEffectParameters()

void criAtomExAsrRack_UpdateEffectParameters ( CriAtomExAsrRackId  rack_id,
const CriChar8 *  bus_name,
const CriChar8 *  effect_name 
)

Update parameter during effect operation.

Parameters
[in]rack_idASR Rack ID
[in]bus_nameBus name
[in]effect_nameEffect name
Description:
Update the operating parameter of an effect.
In order to actually update the operating parameter, please call this function in addition to the criAtomExAsrRack_SetEffectParameter function.
See also
criAtomEx_AttachDspBusSetting, criAtomExAsrRack_SetEffectParameter

◆ criAtomExAsrRack_GetEffectParameter()

CriFloat32 criAtomExAsrRack_GetEffectParameter ( CriAtomExAsrRackId  rack_id,
const CriChar8 *  bus_name,
const CriChar8 *  effect_name,
const CriUint32  parameter_index 
)

Get parameter during effect operation.

Parameters
[in]rack_idASR Rack ID
[in]bus_nameBus name
[in]effect_nameEffect name
[in]parameter_indexEffect operation parameter index
Returns
Returns the value of the parameter of a given effect by specifying the parameter index.
Description:
Get the value of the parameter of a fiven effect.
In order to get the operating parameter, it is necessary to attach the bus beforehand by calling the criAtomEx_AttachDspBusSetting function.
If the effect does not exist on the target bus, the function fails.
For details about the operating parameters, refer to parameter index (Parameters of the ASR bus effect) of each effect.
See also
criAtomEx_AttachDspBusSetting

◆ criAtomExAsrRack_SetEffectBypass()

void criAtomExAsrRack_SetEffectBypass ( CriAtomExAsrRackId  rack_id,
const CriChar8 *  bus_name,
const CriChar8 *  effect_name,
const CriBool  bypass 
)

Enable / disable the bypass of an effect.

Parameters
[in]rack_idASR Rack ID
[in]bus_nameBus name
[in]effect_nameEffect name
[in]bypassBypass setting (CRI_TRUE:Enable bypass, CRI_FALSE:Disable bypass)
Description:
Enables / disables the bypass setting for an effect.
When the bypass is enabled, the effect is ignored during audio processing.
To enable the bypass of an effect, first call the criAtomEx_AttachDspBusSetting function to build a bus.
The attached DSP bus settings determine which effect exists on which bus. If the effect with the specified ID does not exist on the given bus, this function fails.
Attention
If a bypass setting is enabled during audio playback, a noise may occur.
See also
criAtomEx_AttachDspBusSetting

◆ criAtomExAsrRack_GetEffectBypass()

CriBool criAtomExAsrRack_GetEffectBypass ( CriAtomExAsrRackId  rack_id,
const CriChar8 *  bus_name,
const CriChar8 *  effect_name 
)

Adding a level measuring feature.

Parameters
[in]rack_idASR Rack ID
[in]bus_nameBus name
[in]effect_nameEffect name
Returns
CriBool Is bypass set? (CRI_TRUE: Bypass, CRI_FALSE: Do not bypass)
Description:
Gets the bypass setting for an effect.
Effects that are set to bypass will be ignored during audio processing.
When setting an effect to bypass, the bus must be created using the criAtomEx_AttachDspBusSetting function before calling this function.
Which effects exist on which bus depends on the attached DSP bus settings. If the specified bus does not have an effect with the specified name, the function returns CRI_FALSE.
See also
criAtomExAsrRack_SetEffectBypass

◆ criAtomExAsrRack_AttachBusAnalyzerByName()

void criAtomExAsrRack_AttachBusAnalyzerByName ( CriAtomExAsrRackId  rack_id,
const CriChar8 *  bus_name,
const CriAtomExAsrBusAnalyzerConfig config 
)

Added level measurement function.

Parameters
[in]rack_idASR Rack ID
[in]bus_nameBus name
[in]configConfiguration structure for the level measuring feature
Description:
Adds the level measuring feature to the bus and starts a level measurement process.
By executing this function and then executing the criAtomExAsrRack_GetBusAnalyzerInfo function, you can obtain the RMS level (sound pressure), peak level (maximum amplitude), and peak hold level. To measure the levels of multiple buses, you must invoke this function for each bus.
Attention
This function handles the same resources as the criAtomExAsrRack_AttachDspBusSetting function.
Currently, after executing the criAtomExAsrRack_AttachDspBusSetting function, you cannot obtain information by using the criAtomExAsrRack_GetBusAnalyzerInfo function.
To use both this function and the criAtomExAsrRack_AttachDspBusSetting function, use the criAtomExAsrRack_DetachBusAnalyzer function to disable the level measurement feature before executing the criAtomExAsrRack_AttachDspBusSetting function. Then execute the criAtomExAsrRack_AttachDspBusSetting function before executing this function again.
See also
criAtomExAsrRack_GetBusAnalyzerInfo, criAtomExAsrRack_DetachBusAnalyzer

◆ criAtomExAsrRack_DetachBusAnalyzerByName()

void criAtomExAsrRack_DetachBusAnalyzerByName ( CriAtomExAsrRackId  rack_id,
const CriChar8 *  bus_name 
)

Deleting the level measurement feature.

Parameters
[in]rack_idASR Rack ID
[in]bus_nameBus name
Description:
Deletes the level measuring feature from the bus.
See also
criAtomExAsrRack_AttachBusAnalyzer

◆ criAtomExAsrRack_GetBusAnalyzerInfoByName()

void criAtomExAsrRack_GetBusAnalyzerInfoByName ( CriAtomExAsrRackId  rack_id,
const CriChar8 *  bus_name,
CriAtomExAsrBusAnalyzerInfo info 
)

Obtaining the level measurement results.

Parameters
[in]rack_idASR Rack ID
[in]bus_nameBus name
[out]infoStructure for level measurement results
Description:
Obtains the level measurement results from the bus.
See also
criAtomExAsrRack_AttachBusAnalyzer

◆ criAtomExAsrRack_SetBusFilterCallbackByName()

void criAtomExAsrRack_SetBusFilterCallbackByName ( CriAtomExAsrRackId  rack_id,
const CriChar8 *  bus_name,
CriAtomExAsrBusFilterCbFunc  pre_func,
CriAtomExAsrBusFilterCbFunc  post_func,
void *  obj 
)

Registering a wave filter callback function.

Parameters
[in]rack_idASR Rack ID
[in]bus_nameBus name
[in]pre_funcFilter callback function used before effect processing
[in]post_funcFilter callback function used after effect processing
[in]objUser specified object
Description:
Registers callback functions for receiving PCM data on the bus.
The registered callback function is invoked when a sound renderer performs audio processing.
You can specify NULL for one of the two callback functions that is not used.
Attention
Do not call Atom library APIs in the callback function.
The callback function is called from the server processing in the Atom library.
Therefore, when an API that doesn't appropriately handle an interrupt to the server processing is called, a problem such as error or deadlock may occur.

Note that if audio processing is blocked in the wave filter callback function for a long time, some problems such as playback interruption may occur.
See also
CriAtomExPlayerFilterCbFunc

◆ criAtomExAsrRack_SetAlternateRackId()

void criAtomExAsrRack_SetAlternateRackId ( CriAtomExAsrRackId  rack_id,
CriAtomExAsrRackId  alt_rack_id 
)

Setting the alternative ASR Rack ID.

Parameters
[in]rack_idASR Rack ID
[in]alt_rack_idAlternative ASR Rack ID
Description:
Sets the ID of an alternative ASR rack in case the ASR rack of the specified ID does not exist.
(If the ASR rack of rack_id does not exist, the sound is output via the ASR rack of alt_rack_id.)

The default setting is CRIATOMEXASR_RACK_DEFAULT_ID . (The default ASR is used if the ASR rack of the specified ID does not exist.)
Note:
To treat the output to the missing ASR rack as an error, set alt_rack_id and rack_id to the same value.

◆ criAtomExAsrRack_GetNumBuses()

CriSint32 criAtomExAsrRack_GetNumBuses ( CriAtomExAsrRackId  rack_id)

Acquiring the maximum number of buses.

Parameters
[in]rack_idASR Rack ID
Returns
Maximum number of buses
Description:
Acquires the maximum number of available buses in the specified ID.
By default, CRIATOMEXASR_DEFAULT_NUM_BUSES is returned.
To change the maximum number of buses, change CriAtomExAsrRackConfig::num_buses and then create an ASR rack.
See also
CriAtomExAsrRackConfig, criAtomExAsrRack_Create, criAtomExAsrRack_SetDefaultConfig

◆ criAtomExAsr_GetPcmDataFloat32()

CriSint32 criAtomExAsr_GetPcmDataFloat32 ( CriSint32  output_channels,
CriSint32  output_samples,
CriFloat32 *  output_buffer[] 
)

Get the PCM data.

Parameters
[in]output_channelsnumber of channels of the output buffer
[in]output_samplesnumber of samples that the output buffer can store
[out]output_bufferoutput buffer
Returns
CriSint32 number of retrieved samples
Return values
0and more than 0 number of retrieved samples
negativevalue an error occurred
Description:
Gets the PCM data that has been output from the library.

The library should be initialized with criAtomEx_InitializeForUserPcmOutput to be able to use this function.
Attention
The criAtomExAsr_GetPcmDataFloat32 function should be called periodically on an independent thread.
Currently, there are some functions within the Atom libray that do not return the process until the PCM data is output.
(e.g. voice pool destruction process).
If such a function and this function are called in sequence on the same thread, the API will wait forever for the output of PCM data, and processing may not return.
See also
criAtomEx_InitializeForUserPcmOutput

◆ criAtomExAsr_GetNumBufferedSamples()

CriSint32 criAtomExAsr_GetNumBufferedSamples ( void  )

Get the amount of remaining PCM data.

Returns
CriSint32 Amount of remaining PCM data (in samples)
Description:
Returns the number of samples that can be acquired with the criAtomExAsr_GetPcmDataFloat32 function.
See also
criAtomExAsr_GetPcmDataFloat32

◆ criAtomExAsr_SetPcmBufferSize()

void criAtomExAsr_SetPcmBufferSize ( CriSint32  num_samples)

Specifying the PCM buffer size.

Parameters
[in]num_samplesPCM buffer size (i.e., number of samples)
Description:
Specifies the size of the buffer used to save the PCM data in the Atom library.
(The size is specified in number of samples.)

If 0 is specified for the size, a buffer that can store PCM data for 2V will be created.

The value that was set using this function can be retrieved by calling the criAtomExAsr_GetPcmBufferSize function.
Remarks:
When the user PCM output method is selected when initializing the Atom library, the output of the ASR is stored in a PCM buffer by the library.
By default, the size of the PCM buffer is automatically determined based on the parameters passed during the library’s initialization. However, the size of the PCM buffer can be changed by calling this function.
Attention
The PCM buffer is allocated within the criAtomEx_InitializeForUserPcmOutput function.
Therefore, this function must be called before the criAtomEx_InitializeForUserPcmOutput function.

If the size of the PCM buffer is too small and all the data is read before new PCM data to output can be acquired, the sound may be interrupted.
On the contrary, if the size of the PCM buffer is too large, the audio latency (i.e., the delay between the triggering of a sound and its output) may be too long.

In a PC environment, when the size of the PCM buffer is reduced, proper playback also depends on the performance of the sound device.
To achieve seamless playback in most environments, make sure to specify a sufficiently large PCM buffer size or call the criAtomExAsr_GetPcmDataFloat32 function with the shortest possible interval.
See also
criAtomExAsr_GetPcmBufferSize

◆ criAtomExAsr_GetPcmBufferSize()

CriSint32 criAtomExAsr_GetPcmBufferSize ( void  )

Getting the PCM buffer size.

Description:
Gets the size of the buffer used to store the PCM data within the Atom library.
(The size is specified in number of samples.)
Remarks:
If the criAtomExAsr_SetPcmBufferSize function was not called, 0 will be returned.
See also
criAtomExAsr_SetPcmBufferSize

◆ criAtomExAsrRack_GetPcmDataFloat32()

CriSint32 criAtomExAsrRack_GetPcmDataFloat32 ( CriAtomExAsrRackId  rack_id,
CriSint32  output_channels,
CriSint32  output_samples,
CriFloat32 *  output_buffer[] 
)

Acquiring the PCM data in the ASR rack.

Parameters
[in]rack_idASRラックID
[in]output_channelsNumber of channels in the output buffer
[in]output_samplesNumber of samples that can be stored in the output buffer
[out]output_bufferOutput buffer
Returns
CriSint32 Number of acquired samples
Return values
0or larger Number of acquired samples
Negativevalue An error occurred
Description:
Acquires output PCM data in the ASR rack.

Before you can use this function, you must use the criAtomEx_InitializeForUserPcmOutput function to initialize the library.
Attention
This function must be called periodically on an independent thread.
Currently, some APIs in the Atom library do not return the process until PCM data is output.
(Destruction of a voice pool, etc.)
If such a function and this function are called in turn on the same thread, the API may keep waiting for the output of PCM data forever, resulting in no return of the process.
See also
criAtomEx_InitializeForUserPcmOutput

◆ criAtomExAsrRack_GetNumBufferedSamples()

CriSint32 criAtomExAsrRack_GetNumBufferedSamples ( CriAtomExAsrRackId  rack_id)

Get the amount of remaining PCM data in the ASR rack.

Returns
CriSint32 Amount of remaining PCM data (number of samples)
Description:
Returns the number of samples that can be acquired with the criAtomExAsrRack_GetPcmDataFloat32 function.
See also
criAtomExAsrRack_GetPcmDataFloat32

◆ criAtomExAsrRack_GetAmplitudeAnalyzerRms()

CriBool criAtomExAsrRack_GetAmplitudeAnalyzerRms ( CriAtomExAsrRackId  rack_id,
CriSint32  bus_no,
CriFloat32 *  rms,
CriUint32  num_channels 
)

Get analysis result of amplitude analyzer of specified bus.

Parameters
[in]rack_idASR Rack ID
[in]bus_noBus Number
[out]rmsOutput Buffer
[in]num_channelsChannel Number of Output Buffer
Returns
CriBool Whether get was successful (CRI_TRUE: Success, CRI_FALSE: Failure)
Description:
Gets the current analysis result (RMS value) of the amplitude analyzer. This function fails if the specified bus does not have an amplitude analyzer, or if the specified number of channels is greater than that of the ASR bus.

◆ criAtomExAsrRack_GetAmplitudeAnalyzerRmsByName()

CriBool criAtomExAsrRack_GetAmplitudeAnalyzerRmsByName ( CriAtomExAsrRackId  rack_id,
const CriChar8 *  bus_name,
CriFloat32 *  rms,
CriUint32  num_channels 
)

Get analysis result of amplitude analyzer of specified bus.

Parameters
[in]rack_idASR Rack ID
[in]bus_nameBus Name
[out]rmsOutput Buffer
[in]num_channelsChannel Number of Output Buffer
Returns
CriBool Whether get was successful (CRI_TRUE: Success, CRI_FALSE: Failure)
Description:
Gets the current analysis result (RMS value) of the amplitude analyzer. This function fails if the specified bus does not have an amplitude analyzer, or if the specified number of channels is greater than that of the ASR bus.

◆ criAtomExAsrRack_GetCompressorGain()

CriBool criAtomExAsrRack_GetCompressorGain ( CriAtomExAsrRackId  rack_id,
CriSint32  bus_no,
CriFloat32 *  gain,
CriUint32  num_channels 
)

Get multiplication value of compressor of specified bus.

Parameters
[in]rack_idASR Rack ID
[in]bus_noBus Number
[out]gainOutput Buffer
[in]num_channelsChannel Number of Output Buffer
Returns
CriBool Whether get was successful (CRI_TRUE: Success, CRI_FALSE: Failure)
Description:
Gets the value by which the compressor multiplies the input waveform.
This function fails if the specified bus does not have a compressor, or if the specified number of channels is greater than that of the ASR bus.

◆ criAtomExAsrRack_GetCompressorGainByName()

CriBool criAtomExAsrRack_GetCompressorGainByName ( CriAtomExAsrRackId  rack_id,
const CriChar8 *  bus_name,
CriFloat32 *  gain,
CriUint32  num_channels 
)

Get multiplication value of compressor of specified bus.

Parameters
[in]rack_idASR Rack ID
[in]bus_nameBus Name
[out]gainOutput Buffer
[in]num_channelsChannel Number of Output Buffer
Returns
CriBool Whether get was successful (CRI_TRUE: Success, CRI_FALSE: Failure)
Description:
Gets the value by which the compressor multiplies the input waveform.
This function fails if the specified bus does not have a compressor, or if the specified number of channels is greater than that of the ASR bus.

◆ criAtomExAsrRack_GetCompressorRms()

CriBool criAtomExAsrRack_GetCompressorRms ( CriAtomExAsrRackId  rack_id,
CriSint32  bus_no,
CriFloat32 *  rms,
CriUint32  num_channels 
)

Get amplitude value of compressor of specified bus.

Parameters
[in]rack_idASR Rack ID
[in]bus_noBus Number
[out]rmsOutput Buffer
[in]num_channelsChannel Number of Output Buffer
Returns
CriBool Whether get was successful (CRI_TRUE: Success, CRI_FALSE: Failure)
Description:
Gets the amplitude value applied to the compressor.
This function fails if the specified bus does not have a compressor, or if the specified number of channels is greater than that of the ASR bus.

◆ criAtomExAsrRack_GetCompressorRmsByName()

CriBool criAtomExAsrRack_GetCompressorRmsByName ( CriAtomExAsrRackId  rack_id,
const CriChar8 *  bus_name,
CriFloat32 *  rms,
CriUint32  num_channels 
)

Get amplitude value of compressor of specified bus.

Parameters
[in]rack_idASR Rack ID
[in]bus_nameBus Name
[out]rmsOutput Buffer
[in]num_channelsChannel Number of Output Buffer
Returns
CriBool Whether get was successful (CRI_TRUE: Success, CRI_FALSE: Failure)
Description:
Gets the amplitude value applied to the compressor.
This function fails if the specified bus does not have a compressor, or if the specified number of channels is greater than that of the ASR bus.

◆ criAtomExAsrRack_SetAisacControlById()

CriBool criAtomExAsrRack_SetAisacControlById ( CriAtomExAsrRackId  rack_id,
CriAtomExAisacControlId  control_id,
CriFloat32  control_value 
)

Apply the value to the AISAC control of the specified ASR rack (specify the control ID)

Parameters
[in]rack_idASR Rack ID
[in]control_idAISAC Control ID
[in]control_valueAISAC Control Values
Returns
CriBool Was the application successful? (CRI_TRUE: Application successful, CRI_FALSE: Application failed)
Description:
Sets the value of the AISAC control for the DSP bus settings attached to the specified ASR rack.
If unsuccessful, an error callback is returned.

◆ criAtomExAsrRack_SetAisacControlByName()

CriBool criAtomExAsrRack_SetAisacControlByName ( CriAtomExAsrRackId  rack_id,
const CriChar8 *  control_name,
CriFloat32  control_value 
)

Apply the value to the AISAC control of the specified ASR rack (specify the control ID)

Parameters
[in]rack_idASR Rack ID
[in]control_nameAISAC Control Name
[in]control_valueAISAC Control Values
Returns
CriBool Was the application successful? (CRI_TRUE: Application successful, CRI_FALSE: Application failed)
Description:
Sets the value of the AISAC control for the DSP bus settings attached to the specified ASR rack.
If unsuccessful, an error callback is returned.

◆ criAtomExAsrRack_GetAisacControlById()

CriBool criAtomExAsrRack_GetAisacControlById ( CriAtomExAsrRackId  rack_id,
CriAtomExAisacControlId  control_id,
CriFloat32 *  control_value 
)

Apply the value to the AISAC control of the specified ASR rack (specify the control ID)

Parameters
[in]rack_idASR Rack ID
[in]control_idAISAC Control ID
[out]control_valueAISAC Control Values
Returns
CriBool Was the acquisition successful? (CRI_TRUE: Acquisition successful, CRI_FALSE: Acquisition failed)
Description:
Sets the value of the AISAC control for the DSP bus settings attached to the specified ASR rack.
If unsuccessful, an error callback is returned.

◆ criAtomExAsrRack_GetAisacControlByName()

CriBool criAtomExAsrRack_GetAisacControlByName ( CriAtomExAsrRackId  rack_id,
const CriChar8 *  control_name,
CriFloat32 *  control_value 
)

Apply the value to the AISAC control of the specified ASR rack (specify the control ID)

Parameters
[in]rack_idASR Rack ID
[in]control_nameAISAC Control Name
[out]control_valueAISAC Control Values
Returns
CriBool Was the acquisition successful? (CRI_TRUE: Acquisition successful, CRI_FALSE: Acquisition failed)
Description:
Sets the value of the AISAC control for the DSP bus settings attached to the specified ASR rack.
If unsuccessful, an error callback is returned.

◆ criAtomExAsrRack_GetDeviceType()

CriAtomDeviceType criAtomExAsrRack_GetDeviceType ( CriAtomExAsrRackId  rack_id)

Acquires the type of the output device of the specified ASR rack.

Parameters
[in]rack_idASR rack ID
Returns
CriAtomDeviceType Output device type
Description:
Gets the type of the output device of the specified ASR rack.
Remarks:
When a platform is unable to obtain the device type, CRIATOM_DEVICE_TYPE_UNKNOWN will be returned. Also, this query may be time-consuming depending on the platform, we recommend to use the callback function registered with criAtom_SetDeviceUpdateCallback .
See also
criAtom_SetDeviceUpdateCallback

◆ criAtomExAsrRack_GetAmbisonicRackId()

CriAtomExAsrRackId criAtomExAsrRack_GetAmbisonicRackId ( void  )

Get ASR Rack ID for Ambisonics playback.

Returns
CriAtomExAsrRackId ASR Rack ID
Description:
Gets the ASR Rack ID used for Ambisonics playback.
The ASR Rack for Ambisonics playback is automatically created by registering an ACF that has the output port "_ambisonics" set.
The acquired ASR Rack ID is only valid while you are registered with ACF.
If you cancel the ACF registration, the ASR Rack for Ambisonics playback will also be deleted, and the acquired ASR Rack ID will become invalid.
Returns CRIATOMEXASR_RACK_ILLEGAL_ID if no ASR Rack for Ambisonics playback has been created.

◆ criAtomExAsr_EnableBinauralizer()

void criAtomExAsr_EnableBinauralizer ( CriBool  enabled)

Enabling the Binauralizer.

Parameters
[in]enabledValid flag
Description:
Specifies whether the binauralizer is enabled.
Remarks:
The binauralizer is only available in ASR racks where sound_renderer_type is CRIATOM_SOUND_RENDERER_SPATIAL. If a binauralizer spatializer interface is registered, the registered spatializer will be used. If not registered, Atom's built-in spatializer will be used.

◆ criAtomExAsr_IsEnabledBinauralizer()

CriBool criAtomExAsr_IsEnabledBinauralizer ( void  )

Get binauralizer enabled state.

Returns
Is the binauralizer enabled? (CRI_TRUE: enabled, CRI_FALSE: disabled)
Description:
Gets the binauralizer's enabled state.

◆ criAtomExAsrRack_GetChannelBasedAudioRackId()

CriAtomExAsrRackId criAtomExAsrRack_GetChannelBasedAudioRackId ( void  )

Get ASR Rack ID for channel-based playback.

Returns
CriAtomExAsrRackId ASR Rack ID
Description:
For channel-based ASR Rack, set the output port to "_7_1_4". It is automatically created when you register an ACF that specifies "Use a dedicated mixer" as True.
The acquired ASR Rack ID is only valid while you are registered with ACF.
If you cancel the ACF registration, the ASR Rack for channel-based playback will also be deleted, and the acquired ASR Rack ID will become invalid.
If an ASR Rack for channel-based playback has not been created, returns CRIATOMEXASR_RACK_ILLEGAL_ID .

◆ criAtomExAsrRack_GetObjectBasedAudioRackId()

CriAtomExAsrRackId criAtomExAsrRack_GetObjectBasedAudioRackId ( void  )

ObjectBasedAudio Get the ASR Rack ID for playback.

Returns
CriAtomExAsrRackId ASR Rack ID
Description:
Gets the ASR Rack ID to use for ObjectBasedAudio playback.
The ASR Rack for ObjectBasedAudio playback is automatically created by registering an ACF that has the output port "_object_based_audio" set.
The acquired ASR Rack ID is only valid while you are registered with ACF.
If you unregister the ACF, the ASR Rack for ObjectBasedAudio playback will also be deleted, and the acquired ASR Rack ID will become invalid.
If an ASR Rack for ObjectBasedAudio playback has not been created, returns CRIATOMEXASR_RACK_ILLEGAL_ID .

◆ criAtomExAsrRack_GetPassThroughRackId()

CriAtomExAsrRackId criAtomExAsrRack_GetPassThroughRackId ( void  )

Get ASR Rack ID for pass-through Passthrough.

Returns
CriAtomExAsrRackId ASR Rack ID
Description:
Get the ASR Rack ID to be used for pass-through Passthrough .
The ASR Rack for Passthrough -through playback is automatically created by registering an ACF that has the output port "_pass_through" set.
The acquired ASR Rack ID is only valid while you are registered with ACF.
If you cancel the ACF registration, the ASR Rack for pass-through Passthrough will also be deleted, and the acquired ASR Rack ID will become invalid.
If an ASR Rack for pass-through Passthrough has not been created, it returns CRIATOMEXASR_RACK_ILLEGAL_ID .

◆ criAtomExAsr_RegisterSoundxRInterface()

CriBool criAtomExAsr_RegisterSoundxRInterface ( const void *  soundxr_interface)

Registering the SoundxR plugin interface.

Parameters
[in]soundxr_interfaceSoundxR Plugin Interface
Returns
Was the registration successful? (CRI_TRUE: Registration successful, CRI_FALSE: Registration failed)
Description:
Registers the SoundxR plugin interface.
You need to register the ACF with Sound xR set as the binauralizer on the tool.
If you register ACFs with different binauralizer settings, the following behavior will occur.
  • Old ACF with no binauralizer settings : Binaural result is silence.
  • ACF with binauralizer setting CRI Binauralizer : Binaural result is silence.
Attention
Please execute this function before initializing the library.