Immersitech Logo Developer Resources
immersitech_event_manager.h File Reference
#include "immersitech.h"

Go to the source code of this file.

Data Structures

struct  imm_event_manager_t
 

Enumerations

enum  imm_event_type {
  IMM_EVENT_CREATE_ROOM , IMM_EVENT_DESTROY_ROOM , IMM_EVENT_ADD_PARTICIPANT , IMM_EVENT_REMOVE_PARTICIPANT ,
  IMM_EVENT_SET_PARTICIPANT_SEAT , IMM_EVENT_SET_PARTICIPANT_POSITION , IMM_EVENT_SET_PARTICIPANT_STATE , IMM_EVENT_SET_ALL_PARTICIPANTS_STATE ,
  IMM_EVENT_SET_ROOM_LAYOUT , IMM_EVENT_SET_NAME
}
 All possible events that an Immersitech Event manager can support. More...
 

Typedefs

typedef void(* create_room_event_callback) (int room_id)
 Default immersitech event manager. More...
 
typedef void(* destroy_room_event_callback) (int room_id)
 Function pointer type for callback to propagate an IMM_EVENT_DESTROY_ROOM event. More...
 
typedef void(* add_participant_event_callback) (int room_id, int participant_id, const char *participant_name, imm_participant_configuration config)
 Function pointer type for callback to propagate an IMM_EVENT_ADD_PARTICIPANT event. More...
 
typedef void(* remove_participant_event_callback) (int room_id, int participant_id)
 Function pointer type for callback to propagate an IMM_EVENT_REMOVE_PARTICIPANT event. More...
 
typedef void(* set_participant_seat_event_callback) (int room_id, int participant_id, imm_seat seat)
 Function pointer type for callback to propagate an IMM_EVENT_SET_PARTICIPANT_SEAT event. More...
 
typedef void(* set_participant_position_event_callback) (int room_id, int participant_id, imm_position position, imm_heading heading)
 Function pointer type for callback to propagate an IMM_EVENT_SET_PARTICIPANT_POSITION event. More...
 
typedef void(* set_participant_state_event_callback) (int room_id, int participant_id, imm_audio_control control_to_edit, int value)
 Function pointer type for callback to propagate an IMM_EVENT_SET_PARTICIPANT_STATE event. More...
 
typedef void(* set_all_participants_state_event_callback) (int room_id, imm_audio_control control_to_edit, int value)
 Function pointer type for callback to propagate an IMM_EVENT_SET_ALL_PARTICIPANTS_STATE event. More...
 
typedef void(* set_room_layout_event_callback) (int room_id, int room_layout_id)
 Function pointer type for callback to propagate an IMM_EVENT_SET_ROOM_LAYOUT event. More...
 
typedef void(* set_name_event_callback) (int room_id, int participant_id, const char *name)
 Function pointer type for callback to propagate an IMM_EVENT_SET_NAME event. More...
 
typedef struct imm_event_manager_t imm_event_manager
 

Typedef Documentation

◆ add_participant_event_callback

typedef void(* add_participant_event_callback) (int room_id, int participant_id, const char *participant_name, imm_participant_configuration config)

Function pointer type for callback to propagate an IMM_EVENT_ADD_PARTICIPANT event.

Parameters
[in]room_idThe ID of the room that the participant was added to
[in]participant_idThe ID of the participant that was added
[in]participant_nameThe name of the participant that was added
[in]configThe configuration for the participant such as input sampling rate and input number of frames

◆ create_room_event_callback

typedef void(* create_room_event_callback) (int room_id)

Default immersitech event manager.

A custom event manager can be implemented by passing in a pointer to an instance of the data structure imm_event_manager. The developer must link each member of the data structure to an appropriate implementation of a callback function for the particular type of event.

Function pointer type for callback to propagate an IMM_EVENT_CREATE_ROOM event

Parameters
[in]room_idThe ID of the room that was created

◆ destroy_room_event_callback

typedef void(* destroy_room_event_callback) (int room_id)

Function pointer type for callback to propagate an IMM_EVENT_DESTROY_ROOM event.

Parameters
[in]room_idThe ID of the room that was destroyed

◆ imm_event_manager

◆ remove_participant_event_callback

typedef void(* remove_participant_event_callback) (int room_id, int participant_id)

Function pointer type for callback to propagate an IMM_EVENT_REMOVE_PARTICIPANT event.

Parameters
[in]room_idThe ID of the room that the participant was removed from
[in]participant_idThe ID of the participant that was removed

◆ set_all_participants_state_event_callback

typedef void(* set_all_participants_state_event_callback) (int room_id, imm_audio_control control_to_edit, int value)

Function pointer type for callback to propagate an IMM_EVENT_SET_ALL_PARTICIPANTS_STATE event.

Parameters
[in]room_idThe ID of the room that the participants are in
[in]control_to_editThe audio control that was changed
[in]valueThe value the audio control was set to

◆ set_name_event_callback

typedef void(* set_name_event_callback) (int room_id, int participant_id, const char *name)

Function pointer type for callback to propagate an IMM_EVENT_SET_NAME event.

Parameters
[in]room_idThe ID of the room
[in]participant_idThe ID of the participant whose name changed
[in]nameThe new name for the participant

◆ set_participant_position_event_callback

typedef void(* set_participant_position_event_callback) (int room_id, int participant_id, imm_position position, imm_heading heading)

Function pointer type for callback to propagate an IMM_EVENT_SET_PARTICIPANT_POSITION event.

Parameters
[in]room_idThe ID of the room that the participant was moved in
[in]participant_idThe ID of the participant that was moved
[in]positionThe new position of the participant
[in]headingThe new heading of the participant

◆ set_participant_seat_event_callback

typedef void(* set_participant_seat_event_callback) (int room_id, int participant_id, imm_seat seat)

Function pointer type for callback to propagate an IMM_EVENT_SET_PARTICIPANT_SEAT event.

Parameters
[in]room_idThe ID of the room that the participant was moved in
[in]participant_idThe ID of the participant that was moved
[in]seatThe seat that the participant was moved to

◆ set_participant_state_event_callback

typedef void(* set_participant_state_event_callback) (int room_id, int participant_id, imm_audio_control control_to_edit, int value)

Function pointer type for callback to propagate an IMM_EVENT_SET_PARTICIPANT_STATE event.

Parameters
[in]room_idThe ID of the room that the participant is in
[in]participant_idThe ID of the participant whose state was changed
[in]control_to_editThe audio control the was changed
[in]valueThe value the audio control was set to

◆ set_room_layout_event_callback

typedef void(* set_room_layout_event_callback) (int room_id, int room_layout_id)

Function pointer type for callback to propagate an IMM_EVENT_SET_ROOM_LAYOUT event.

Parameters
[in]room_idThe ID of the room that changed its layout
[in]room_layout_idThe ID of the room layout that was applied

Enumeration Type Documentation

◆ imm_event_type

All possible events that an Immersitech Event manager can support.

Enumerator
IMM_EVENT_CREATE_ROOM 

An event triggered when a room is created.

IMM_EVENT_DESTROY_ROOM 

An event triggered when a room is destroyed.

IMM_EVENT_ADD_PARTICIPANT 

An event triggered when a participant is added to a room.

IMM_EVENT_REMOVE_PARTICIPANT 

An event triggered when a participant is removed from a room.

IMM_EVENT_SET_PARTICIPANT_SEAT 

An event triggered when a participant changes seats.

IMM_EVENT_SET_PARTICIPANT_POSITION 

An event triggered when a participant changes position.

IMM_EVENT_SET_PARTICIPANT_STATE 

An event triggered when a participant changes the value of an audio control.

IMM_EVENT_SET_ALL_PARTICIPANTS_STATE 

An event triggered when all participants change the value of an audio control.

IMM_EVENT_SET_ROOM_LAYOUT 

An event triggered when a room has its layout changed.

IMM_EVENT_SET_NAME 

An event triggered when a participant's name changes.