|
Immersitech SDK Documentation
Engage SDK documentation
|
Go to the documentation of this file.
22 #ifndef IMMERSITECH_LIBRARY_H_
23 #define IMMERSITECH_LIBRARY_H_
26 #define IMMERSITECH_SOUND_MANAGER_API __attribute__((__visibility__("default")))
28 #define IMMERSITECH_SOUND_MANAGER_API __declspec(dllexport)
30 #define IMMERSITECH_SOUND_MANAGER_API
150 #define IMM_VERSION_BUFFER_LENGTH 11
296 #endif // IMMERSITECH_LIBRARY_H_
@ IMM_ERROR_START
This value allows you to identify the start of the enum.
Definition: immersitech_sound_manager.h:121
@ IMM_DEVICE_START
This value allows you to identify the start of the enum.
Definition: immersitech_sound_manager.h:88
@ IMM_ERROR_LIBRARY_NOT_YET_INITIALIZED
This error code will be generated if you call any functions before initializing the library.
Definition: immersitech_sound_manager.h:139
@ IMM_ERROR_ENGINE_NULL
This error code indicates you have not initialized one of the handles properly yet.
Definition: immersitech_sound_manager.h:123
@ IMM_PARTICIPANT_END
This value allows you to identify the end of the enum.
Definition: immersitech_sound_manager.h:105
@ IMM_PARTICIPANT_START
This value allows you to identify the start of the enum.
Definition: immersitech_sound_manager.h:101
@ IMM_ERROR_LICENSE_TAMPERED
This error code indicates your license file has been corrupted. All audio effects will be bypassed.
Definition: immersitech_sound_manager.h:142
@ IMM_ERROR_INVALID_HEADING
This error code indicates you provide a heading that was outside the allowed values....
Definition: immersitech_sound_manager.h:134
IMMERSITECH_SOUND_MANAGER_API immersitech_error_codes imm_edit_participant_position(Immersitech_Conference conference, int participant_ID, immersitech_position position, immersitech_heading heading)
Function to edit x,y,z position of a given participant.
IMMERSITECH_SOUND_MANAGER_API immersitech_error_codes imm_input_audio(Immersitech_Conference conference, short *audio_data, int number_frames, int participant_ID)
Function to add audio data from a participant into the conference.
A structure to describe a postion within a three-dimensional space.
Definition: immersitech_sound_manager.h:41
@ IMM_CONTROL_MIXING_3D_MAX_DISTANCE
If 3D mixing is enabled, this control will determine the max distance up to which attenuation will ap...
Definition: immersitech_sound_manager.h:72
immersitech_output_format
Output Types - how your output stream will be formatted.
Definition: immersitech_sound_manager.h:110
int elevation_heading
Definition: immersitech_sound_manager.h:56
IMMERSITECH_SOUND_MANAGER_API Immersitech_Conference imm_create_conference()
Function to allocate memory and initialize a conference.
@ IMM_CONTROL_STEREO_BYPASS_ENABLE
If the stereo bypass is enabled, all effects will be bypassed, meaning no processing will occur....
Definition: immersitech_sound_manager.h:65
@ IMM_ERROR_LICENSE_VERSION_MISMATCH
This error code indicates your license files version requirements no longer match....
Definition: immersitech_sound_manager.h:141
@ IMM_ERROR_NO_INPUT_AUDIO
This error code indicates that there was no input audio to be processed, meaning an output buffer cou...
Definition: immersitech_sound_manager.h:135
@ IMM_CONTROL_END
This value allows you to identify the end of the enum.
Definition: immersitech_sound_manager.h:79
@ IMM_DEVICE_SPEAKER
The listening device is a stereo loudspeaker pair. If this is selected, the participant should also s...
Definition: immersitech_sound_manager.h:90
@ IMM_ERROR_NONE
This error code indicates the function worked successfully without error.
Definition: immersitech_sound_manager.h:122
@ IMM_CONTROL_MIXING_3D_ENABLE
If a participant has 3D mixing enabled, they will hear all other participants spatially rendering in ...
Definition: immersitech_sound_manager.h:70
@ IMM_ERROR_LICENSE_DATE_EXPIRED
This error code indicates your license files no longer matches the date requirements....
Definition: immersitech_sound_manager.h:140
immersitech_participant_types
Types of participants you can instantiate.
Definition: immersitech_sound_manager.h:100
IMMERSITECH_SOUND_MANAGER_API immersitech_error_codes imm_remove_participant(Immersitech_Conference conference, int participant_ID)
Function to remove a participant from a conference.
@ IMM_ERROR_CONFERENCE_EMPTY
This error code indicates that there are not yet any participants in the conference to be processed.
Definition: immersitech_sound_manager.h:136
@ IMM_CONTROL_DEVICE
The device setting will help optimize 3D processing for a particular participant's listening device....
Definition: immersitech_sound_manager.h:74
immersitech_audio_controls
Audio Controls you can change in real-time.
Definition: immersitech_sound_manager.h:63
IMMERSITECH_SOUND_MANAGER_API immersitech_error_codes imm_output_audio(Immersitech_Conference conference, int participant_ID, short *output)
Function to process audio data and return the output audio data for a participant.
immersitech_device_types
Output Device Types you may be listening on.
Definition: immersitech_sound_manager.h:87
A strucutre to describe the direction a participant is facing in three-dimensional space.
Definition: immersitech_sound_manager.h:54
IMMERSITECH_SOUND_MANAGER_API immersitech_error_codes imm_destroy_conference(Immersitech_Conference conference)
Function to removes all remaining participants from a conference and frees all the data for the confe...
void * Immersitech_Conference
Immersitech Library API Handler.
Definition: immersitech_sound_manager.h:155
IMMERSITECH_SOUND_MANAGER_API immersitech_error_codes imm_add_participant(Immersitech_Conference conference, int sampling_rate, int num_channels, immersitech_participant_types participant_type, int *new_id)
Function to add a new pariticipant into a conference.
@ IMM_PARTICIPANT_SOURCE_ONLY
A source only participant will only input audio and will NOT receive other participant's audio.
Definition: immersitech_sound_manager.h:103
@ IMM_CONTROL_MIXING_3D_ATTENUATION
If 3D mixing is enabled, this control will determine how the volume of a source drops off as they mov...
Definition: immersitech_sound_manager.h:71
int x
Definition: immersitech_sound_manager.h:42
@ IMM_ERROR_DATA_LENGTH
This error code indicates there is a mismatch between the size of the data buffer you provided and th...
Definition: immersitech_sound_manager.h:125
immersitech_error_codes
All error codes that may be produced by the library.
Definition: immersitech_sound_manager.h:120
@ IMM_CONTROL_AGC_ENABLE
If a participant has AGC enabled, their input audio will be automatically adjusted to match the volum...
Definition: immersitech_sound_manager.h:68
@ IMM_OUTPUT_FORMAT_START
This value allows you to identify the start of the enum.
Definition: immersitech_sound_manager.h:111
int z
Definition: immersitech_sound_manager.h:44
@ IMM_ERROR_OUTPUT_TYPE
This error code indicates that you specified an invalid output type. Reference immersitech_output_for...
Definition: immersitech_sound_manager.h:128
@ IMM_OUTPUT_FORMAT_STEREO_BLOCK
The output will have two channels, first the entire left channel, then followed by the entire right c...
Definition: immersitech_sound_manager.h:114
@ IMM_ERROR_INVALID_VALUE
This error code indicates the value provided is outside the bounds specified for the various immersit...
Definition: immersitech_sound_manager.h:133
#define IMMERSITECH_SOUND_MANAGER_API
Definition: immersitech_sound_manager.h:30
@ IMM_CONTROL_AUTO_EQ_ENABLE
If a participant has Auto EQ enabled, their input audio will automatically adjusted to maximize the c...
Definition: immersitech_sound_manager.h:69
@ IMM_ERROR_SAMPLE_RATE
This error code indicates that you tried to specify an output sampling rate that is unsupported or an...
Definition: immersitech_sound_manager.h:127
@ IMM_CONTROL_SIDEBAR_ROOM
If a participant's sidebar room is set to a non-zero value from 1-100, they will be rendered inside t...
Definition: immersitech_sound_manager.h:78
@ IMM_CONTROL_MUTE_ENABLE
If a participant's mute is enabled, their input audio will not be passed to the other participants....
Definition: immersitech_sound_manager.h:66
@ IMM_PARTICIPANT_REGULAR
A regular participant will both input audio and receive other participant's audio.
Definition: immersitech_sound_manager.h:102
IMMERSITECH_SOUND_MANAGER_API immersitech_error_codes imm_destroy_library()
Function to frees all memory associated with the immersitech library.
@ IMM_OUTPUT_FORMAT_END
This value allows you to identify the end of the enum.
Definition: immersitech_sound_manager.h:115
@ IMM_DEVICE_END
This value allows you to identify the end of the enum.
Definition: immersitech_sound_manager.h:91
@ IMM_CONTROL_START
This value allows you to identify the start of the enum.
Definition: immersitech_sound_manager.h:64
struct immersitech_position immersitech_position
A structure to describe a postion within a three-dimensional space.
@ IMM_CONTROL_MIXING_3D_REVERB_ENABLE
If 3D mixing is enabled, this control will determine if reverb is applied to the 3D rendering....
Definition: immersitech_sound_manager.h:73
@ IMM_ERROR_IMPULSE_LENGTH
This error code indicates that you specified an invalid impulse length. Allowable values are from 512...
Definition: immersitech_sound_manager.h:129
@ IMM_CONTROL_ANC_ENABLE
If a participant has ANC enabled, all noise in their input audio will be automatically cancelled....
Definition: immersitech_sound_manager.h:67
@ IMM_PARTICIPANT_LISTENER_ONLY
A listener only participant will only receive other participant's audio and will NOT input audio.
Definition: immersitech_sound_manager.h:104
@ IMM_ERROR_INVALID_ROOM_ID
This error code indicates that you requested a room with an ID that doesn't exist....
Definition: immersitech_sound_manager.h:130
IMMERSITECH_SOUND_MANAGER_API immersitech_error_codes imm_initialize_library(const char *license_file_name, int sampling_rate, int num_frames_per_buffer, immersitech_output_format output_format, int impulse_length)
Function to allocate memory for the immersitech library.
@ IMM_OUTPUT_FORMAT_STEREO_INTERLEAVED
The output will have two channels which will be interleaved.
Definition: immersitech_sound_manager.h:113
IMMERSITECH_SOUND_MANAGER_API immersitech_error_codes imm_edit_participant_state(Immersitech_Conference conference, int participant_ID, immersitech_audio_controls control_to_edit, int value)
Function to edit state of a given participant.
IMMERSITECH_SOUND_MANAGER_API immersitech_error_codes imm_get_participant_spherical(Immersitech_Conference conference, int listener_ID, int source_ID, int *azimuth, int *elevation, int *distance)
Function to retrieve Spherical Coordinates of a given source of a given conference participant.
@ IMM_ERROR_END
This value allows you to identify the end of the enum.
Definition: immersitech_sound_manager.h:144
IMMERSITECH_SOUND_MANAGER_API immersitech_error_codes imm_flush_data(Immersitech_Conference conference, int participant_id)
Function to clear all data related to a particular participant.
@ IMM_CONTROL_WHISPER_ROOM
If a participant's whisper room is set to a non-zero value from 1-100, they will be rendered inside t...
Definition: immersitech_sound_manager.h:77
int y
Definition: immersitech_sound_manager.h:43
@ IMM_ERROR_INVALID_CONTROL
This error code indicates the control specified is not a valid one with the bounds of immersitech_aud...
Definition: immersitech_sound_manager.h:132
@ IMM_ERROR_NUM_CHANNELS
This error code indicates that you tried to specify a number of channels outside the allowed bounds.
Definition: immersitech_sound_manager.h:126
@ IMM_ERROR_DATA_NULL
This error code indicates you tried to use a buffer or variable that wasn't allocated properly.
Definition: immersitech_sound_manager.h:124
struct immersitech_heading immersitech_heading
A strucutre to describe the direction a participant is facing in three-dimensional space.
@ IMM_CONTROL_MASTER_GAIN
The master gain setting will adjust the volume for a participant's output audio. It is given as a per...
Definition: immersitech_sound_manager.h:76
IMMERSITECH_SOUND_MANAGER_API immersitech_error_codes imm_get_participant_state(Immersitech_Conference conference, int participant_ID, immersitech_audio_controls control_to_edit, int *value)
Function to retrieve state of a given conference participant.
@ IMM_OUTPUT_FORMAT_MONO
The output will have only one channel.
Definition: immersitech_sound_manager.h:112
IMMERSITECH_SOUND_MANAGER_API immersitech_error_codes imm_get_version(char *character_buffer, int buffer_len)
Function to return the current version of the immersitech library.
@ IMM_ERROR_PARTICIPANT_TYPE
This error code matches the exceptions specified under immersitech_participant_types.
Definition: immersitech_sound_manager.h:137
int azimuth_heading
Definition: immersitech_sound_manager.h:55
@ IMM_ERROR_LIBRARY_ALREADY_INITIALIZED
This error code will be generated if you try to initialize the library after you have already initial...
Definition: immersitech_sound_manager.h:138
@ IMM_CONTROL_HALF_SPAN_ANGLE
If the participant is using speakers, they should set the Half Span Angle from 1 to 90 to match the p...
Definition: immersitech_sound_manager.h:75
IMMERSITECH_SOUND_MANAGER_API immersitech_error_codes imm_get_participant_position(Immersitech_Conference conference, int participant_ID, immersitech_position *position, immersitech_heading *heading)
Function to retrieve Location of a given conference participant.
@ IMM_ERROR_INVALID_PARTICIPANT_ID
This error code indicates that you requested a participant with an ID that doesn't exist.
Definition: immersitech_sound_manager.h:131
@ IMM_DEVICE_HEADPHONE
The listening device is a headphone, including in-ear, on-ear, and over-ear variants.
Definition: immersitech_sound_manager.h:89
@ IMM_ERROR_LICENSE_MISSING
This error code indicates the path to your license file is invalid. All audio effects will be bypasse...
Definition: immersitech_sound_manager.h:143