26#ifndef __AMBI_ROOMSIM_INTERNAL_H_INCLUDED__
27#define __AMBI_ROOMSIM_INTERNAL_H_INCLUDED__
41#if !defined(AMBI_ROOMSIM_FRAME_SIZE)
42# if defined(FRAME_SIZE)
43# define AMBI_ROOMSIM_FRAME_SIZE ( FRAME_SIZE )
45# define AMBI_ROOMSIM_FRAME_SIZE ( 128 )
57typedef struct _ambi_roomsim
#define MAX_NUM_INPUTS
Maximum number of input channels supported.
#define MAX_NUM_SH_SIGNALS
Maximum number of spherical harmonic components/signals supported.
A simple shoebox room Ambisonic encoder.
#define ROOM_SIM_MAX_NUM_RECEIVERS
Maximum supported number of receivers for the room sim example.
#define ROOM_SIM_MAX_NUM_SOURCES
Maximum supported number of sources for the room sim example.
#define AMBI_ROOMSIM_FRAME_SIZE
Framesize, in time-domain samples.
Main include header for the Spatial_Audio_Framework (SAF)
Include header for SAF externals.
Main structure for ambi_roomsim.
_Atomic_FLOAT32 room_dims[3]
Room dimensions along the x,y,z axes in meters.
_Atomic_INT32 new_sh_order
New receiver SH order (current value will be replaced by this after next re-init)
_Atomic_NORM_TYPES norm
Ambisonic normalisation convention (see NORM_TYPES)
void * hIms
Image source implementation handle.
int receiverIDs[ROOM_SIM_MAX_NUM_RECEIVERS]
Unique IDs per receiver in the simulation.
_Atomic_CH_ORDER chOrdering
Ambisonic channel order convention (see CH_ORDER)
float fs
Host sampling rate, in Hz.
_Atomic_INT32 enableReflections
0: disabled, 1: enabled
int sourceIDs[ROOM_SIM_MAX_NUM_SOURCES]
Unique IDs per source in the simulation.
_Atomic_FLOAT32 abs_wall[6]
Absorption coefficients per wall, in the order in which the axis intersect walls: +x -x +y -y +z -z.
_Atomic_INT32 nReceivers
Current number of receivers.
_Atomic_INT32 new_nSources
New number of sources (current value will be replaced by this after next re-init)
_Atomic_INT32 new_nReceivers
New number of receivers (current value will be replaced by this after next re-init)
_Atomic_INT32 sh_order
Current SH order of receivers.
_Atomic_INT32 reinit_room
Flag, 1: re-init required, 0: not required.
float ** src_sigs
Source signal buffers; ROOM_SIM_MAX_NUM_SOURCES x AMBI_ROOMSIM_FRAME_SIZE.
_Atomic_INT32 nSources
Current number of sources.
float *** rec_sh_outsigs
Receiver signal buffers; ROOM_SIM_MAX_NUM_RECEIVERS x MAX_NUM_SH_SIGNALS x AMBI_ROOMSIM_FRAME_SIZE.
float inputFrameTD[MAX_NUM_INPUTS][AMBI_ROOMSIM_FRAME_SIZE]
Input frame of signals.
_Atomic_INT32 refl_order
Current maximum image source reflection order.
_Atomic_FLOAT32 rec_pos[ROOM_SIM_MAX_NUM_RECEIVERS][3]
Current receiver Cartesian coordinates, meters.
float outputFrameTD[MAX_NUM_SH_SIGNALS][AMBI_ROOMSIM_FRAME_SIZE]
Output frame of SH signals.
_Atomic_FLOAT32 src_pos[ROOM_SIM_MAX_NUM_SOURCES][3]
Current source Cartesian coordinates, meters.