ma_result ma_sound_group_init(ma_engine* pEngine, ma_uint32 flags, ma_sound_group* pParentGroup, ma_sound_group* pGroup); ma_result ma_sound_group_init_ex(ma_engine* pEngine, const ma_sound_group_config* pConfig, ma_sound_group* pGroup); void ma_sound_group_uninit(ma_sound_group* pGroup); ma_engine* ma_sound_group_get_engine(const ma_sound_group* pGroup); ma_result ma_sound_group_start(ma_sound_group* pGroup); ma_result ma_sound_group_stop(ma_sound_group* pGroup); void ma_sound_group_set_volume(ma_sound_group* pGroup, float volume); float ma_sound_group_get_volume(const ma_sound_group* pGroup); void ma_sound_group_set_pan(ma_sound_group* pGroup, float pan); float ma_sound_group_get_pan(const ma_sound_group* pGroup); void ma_sound_group_set_pan_mode(ma_sound_group* pGroup, ma_pan_mode panMode); ma_pan_mode ma_sound_group_get_pan_mode(const ma_sound_group* pGroup); void ma_sound_group_set_pitch(ma_sound_group* pGroup, float pitch); float ma_sound_group_get_pitch(const ma_sound_group* pGroup); void ma_sound_group_set_spatialization_enabled(ma_sound_group* pGroup, ma_bool32 enabled); ma_bool32 ma_sound_group_is_spatialization_enabled(const ma_sound_group* pGroup); void ma_sound_group_set_pinned_listener_index(ma_sound_group* pGroup, ma_uint32 listenerIndex); ma_uint32 ma_sound_group_get_pinned_listener_index(const ma_sound_group* pGroup); ma_uint32 ma_sound_group_get_listener_index(const ma_sound_group* pGroup); ma_vec3f ma_sound_group_get_direction_to_listener(const ma_sound_group* pGroup); void ma_sound_group_set_position(ma_sound_group* pGroup, float x, float y, float z); ma_vec3f ma_sound_group_get_position(const ma_sound_group* pGroup); void ma_sound_group_set_direction(ma_sound_group* pGroup, float x, float y, float z); ma_vec3f ma_sound_group_get_direction(const ma_sound_group* pGroup); void ma_sound_group_set_velocity(ma_sound_group* pGroup, float x, float y, float z); ma_vec3f ma_sound_group_get_velocity(const ma_sound_group* pGroup); void ma_sound_group_set_attenuation_model(ma_sound_group* pGroup, ma_attenuation_model attenuationModel); ma_attenuation_model ma_sound_group_get_attenuation_model(const ma_sound_group* pGroup); void ma_sound_group_set_positioning(ma_sound_group* pGroup, ma_positioning positioning); ma_positioning ma_sound_group_get_positioning(const ma_sound_group* pGroup); void ma_sound_group_set_rolloff(ma_sound_group* pGroup, float rolloff); float ma_sound_group_get_rolloff(const ma_sound_group* pGroup); void ma_sound_group_set_min_gain(ma_sound_group* pGroup, float minGain); float ma_sound_group_get_min_gain(const ma_sound_group* pGroup); void ma_sound_group_set_max_gain(ma_sound_group* pGroup, float maxGain); float ma_sound_group_get_max_gain(const ma_sound_group* pGroup); void ma_sound_group_set_min_distance(ma_sound_group* pGroup, float minDistance); float ma_sound_group_get_min_distance(const ma_sound_group* pGroup); void ma_sound_group_set_max_distance(ma_sound_group* pGroup, float maxDistance); float ma_sound_group_get_max_distance(const ma_sound_group* pGroup); void ma_sound_group_set_cone(ma_sound_group* pGroup, float innerAngleInRadians, float outerAngleInRadians, float outerGain); void ma_sound_group_get_cone(const ma_sound_group* pGroup, float* pInnerAngleInRadians, float* pOuterAngleInRadians, float* pOuterGain); void ma_sound_group_set_doppler_factor(ma_sound_group* pGroup, float dopplerFactor); float ma_sound_group_get_doppler_factor(const ma_sound_group* pGroup); void ma_sound_group_set_directional_attenuation_factor(ma_sound_group* pGroup, float directionalAttenuationFactor); float ma_sound_group_get_directional_attenuation_factor(const ma_sound_group* pGroup); void ma_sound_group_set_fade_in_pcm_frames(ma_sound_group* pGroup, float volumeBeg, float volumeEnd, ma_uint64 fadeLengthInFrames); void ma_sound_group_set_fade_in_milliseconds(ma_sound_group* pGroup, float volumeBeg, float volumeEnd, ma_uint64 fadeLengthInMilliseconds); float ma_sound_group_get_current_fade_volume(ma_sound_group* pGroup); void ma_sound_group_set_start_time_in_pcm_frames(ma_sound_group* pGroup, ma_uint64 absoluteGlobalTimeInFrames); void ma_sound_group_set_start_time_in_milliseconds(ma_sound_group* pGroup, ma_uint64 absoluteGlobalTimeInMilliseconds); void ma_sound_group_set_stop_time_in_pcm_frames(ma_sound_group* pGroup, ma_uint64 absoluteGlobalTimeInFrames); void ma_sound_group_set_stop_time_in_milliseconds(ma_sound_group* pGroup, ma_uint64 absoluteGlobalTimeInMilliseconds); ma_bool32 ma_sound_group_is_playing(const ma_sound_group* pGroup); ma_uint64 ma_sound_group_get_time_in_pcm_frames(const ma_sound_group* pGroup);