Audio Parameter Notation
In the Immersitech Libraries, we use the notation where one sample is a single value, one frame contains one sample per channel, and one buffer contains one sample period worth of frames. To learn more about this notation, visit this web resource.
Whisper and Sidebar Rooms
This concept is not critical for starting to use the library, feel free to return to this concept when you need to have side conversations from the main conference.
The idea of this feature is that a participant can say something to another participant of the same conference without everyone in the conference hearing them.
You can place any participant in a particular whisper or sidebar room using the IMM_CONTROL_WHISPER_ROOM or IMM_CONTROL_SIDEBAR_ROOM parameters respectively.
Note that room 0 means that the participant is not in such a room.
A participant who is not in any whisper or sidebar room will be considered to be in the main room.
A participant in the main room will only hear sources that are also not in any whisper or sidebar room.
A participant in the main room will only act as a source for listeners in the main room or listeners in any whisper room.
A participant in a whisper room will hear all sources from the main room and all sources in the whisper room.
A participant in a whisper room will act as a source only for listeners in the same whisper room.
A participant in a sidebar room will hear only sources in the same sidebar room.
A participant in a sidebar room will act as a source only for participants in the same sidebar room as them.
A participant in both a whisper room and a sidebar room will hear all sources from the sidebar room and all sources in the whisper room.
A participant in both a whisper room and a sidebar room will act as a source only for listeners in the same whisper room.
A room is a space where participants can hear and speak to all other participants in the room.
Each room can have unique attributes that can change the audio experience for the participants in that room.
A room will have an associated list of seats that participants can occupy, changing their 3D perspective with respective to the other participants.
A room will also have a center point, towards which all participants will turn to face automatically if they are placed into a seat.
A seat is a pre-defined (x,y,z) position that a single participant can occupy.
The seat will also have an automatically generated heading that turns the participant in that seat towards the center point of the room.
If you want to move a participant to a seat that is already occupied, the behavior while be defined by the allowSeatStacking property of the room.
If seat stacking is allowed, then both participants will occupy the same position in (x,y,z) space, but have different seat IDs.
If seat stacking is not allowed, then the second participant will occupy the same position shifted in the z-axis by the stackDelta property.
If you would like to have complete manual control for the participant's position and heading, use a room that is an Open Room.
In an Open Room, participants may be moved any where in the (x,y,z) coordinate system and face any direction.
If a participant is moved manually, they are no longer considered to be in a seat.