Commit 55e4e59b authored by David Reid's avatar David Reid

Add support for configuring rolloff.

parent c2c32ed1
...@@ -1586,6 +1586,8 @@ MA_API void ma_spatializer_set_attenuation_model(ma_spatializer* pSpatializer, m ...@@ -1586,6 +1586,8 @@ MA_API void ma_spatializer_set_attenuation_model(ma_spatializer* pSpatializer, m
MA_API ma_attenuation_model ma_spatializer_get_attenuation_model(const ma_spatializer* pSpatializer); MA_API ma_attenuation_model ma_spatializer_get_attenuation_model(const ma_spatializer* pSpatializer);
MA_API void ma_spatializer_set_positioning(ma_spatializer* pSpatializer, ma_positioning positioning); MA_API void ma_spatializer_set_positioning(ma_spatializer* pSpatializer, ma_positioning positioning);
MA_API ma_positioning ma_spatializer_get_positioning(const ma_spatializer* pSpatializer); MA_API ma_positioning ma_spatializer_get_positioning(const ma_spatializer* pSpatializer);
MA_API void ma_spatializer_set_rolloff(ma_spatializer* pSpatializer, float rolloff);
MA_API float ma_spatializer_get_rolloff(const ma_spatializer* pSpatializer);
MA_API void ma_spatializer_set_min_gain(ma_spatializer* pSpatializer, float minGain); MA_API void ma_spatializer_set_min_gain(ma_spatializer* pSpatializer, float minGain);
MA_API float ma_spatializer_get_min_gain(const ma_spatializer* pSpatializer); MA_API float ma_spatializer_get_min_gain(const ma_spatializer* pSpatializer);
MA_API void ma_spatializer_set_max_gain(ma_spatializer* pSpatializer, float maxGain); MA_API void ma_spatializer_set_max_gain(ma_spatializer* pSpatializer, float maxGain);
...@@ -1781,6 +1783,8 @@ MA_API void ma_sound_set_attenuation_model(ma_sound* pSound, ma_attenuation_mode ...@@ -1781,6 +1783,8 @@ MA_API void ma_sound_set_attenuation_model(ma_sound* pSound, ma_attenuation_mode
MA_API ma_attenuation_model ma_sound_get_attenuation_model(const ma_sound* pSound); MA_API ma_attenuation_model ma_sound_get_attenuation_model(const ma_sound* pSound);
MA_API void ma_sound_set_positioning(ma_sound* pSound, ma_positioning positioning); MA_API void ma_sound_set_positioning(ma_sound* pSound, ma_positioning positioning);
MA_API ma_positioning ma_sound_get_positioning(const ma_sound* pSound); MA_API ma_positioning ma_sound_get_positioning(const ma_sound* pSound);
MA_API void ma_sound_set_rolloff(ma_sound* pSound, float rolloff);
MA_API float ma_sound_get_rolloff(const ma_sound* pSound);
MA_API void ma_sound_set_min_gain(ma_sound* pSound, float minGain); MA_API void ma_sound_set_min_gain(ma_sound* pSound, float minGain);
MA_API float ma_sound_get_min_gain(const ma_sound* pSound); MA_API float ma_sound_get_min_gain(const ma_sound* pSound);
MA_API void ma_sound_set_max_gain(ma_sound* pSound, float maxGain); MA_API void ma_sound_set_max_gain(ma_sound* pSound, float maxGain);
...@@ -1832,6 +1836,8 @@ MA_API void ma_sound_group_set_attenuation_model(ma_sound_group* pGroup, ma_atte ...@@ -1832,6 +1836,8 @@ MA_API void ma_sound_group_set_attenuation_model(ma_sound_group* pGroup, ma_atte
MA_API ma_attenuation_model ma_sound_group_get_attenuation_model(const ma_sound_group* pGroup); MA_API ma_attenuation_model ma_sound_group_get_attenuation_model(const ma_sound_group* pGroup);
MA_API void ma_sound_group_set_positioning(ma_sound_group* pGroup, ma_positioning positioning); MA_API void ma_sound_group_set_positioning(ma_sound_group* pGroup, ma_positioning positioning);
MA_API ma_positioning ma_sound_group_get_positioning(const ma_sound_group* pGroup); MA_API ma_positioning ma_sound_group_get_positioning(const ma_sound_group* pGroup);
MA_API void ma_sound_group_set_rolloff(ma_sound_group* pGroup, float rolloff);
MA_API float ma_sound_group_get_rolloff(const ma_sound_group* pGroup);
MA_API void ma_sound_group_set_min_gain(ma_sound_group* pGroup, float minGain); MA_API void ma_sound_group_set_min_gain(ma_sound_group* pGroup, float minGain);
MA_API float ma_sound_group_get_min_gain(const ma_sound_group* pGroup); MA_API float ma_sound_group_get_min_gain(const ma_sound_group* pGroup);
MA_API void ma_sound_group_set_max_gain(ma_sound_group* pGroup, float maxGain); MA_API void ma_sound_group_set_max_gain(ma_sound_group* pGroup, float maxGain);
...@@ -9670,6 +9676,24 @@ MA_API ma_positioning ma_spatializer_get_positioning(const ma_spatializer* pSpat ...@@ -9670,6 +9676,24 @@ MA_API ma_positioning ma_spatializer_get_positioning(const ma_spatializer* pSpat
return pSpatializer->config.positioning; return pSpatializer->config.positioning;
} }
MA_API void ma_spatializer_set_rolloff(ma_spatializer* pSpatializer, float rolloff)
{
if (pSpatializer == NULL) {
return;
}
pSpatializer->config.rolloff = rolloff;
}
MA_API float ma_spatializer_get_rolloff(const ma_spatializer* pSpatializer)
{
if (pSpatializer == NULL) {
return 0;
}
return pSpatializer->config.rolloff;
}
MA_API void ma_spatializer_set_min_gain(ma_spatializer* pSpatializer, float minGain) MA_API void ma_spatializer_set_min_gain(ma_spatializer* pSpatializer, float minGain)
{ {
if (pSpatializer == NULL) { if (pSpatializer == NULL) {
...@@ -11305,6 +11329,24 @@ MA_API ma_positioning ma_sound_get_positioning(const ma_sound* pSound) ...@@ -11305,6 +11329,24 @@ MA_API ma_positioning ma_sound_get_positioning(const ma_sound* pSound)
return ma_spatializer_get_positioning(&pSound->engineNode.spatializer); return ma_spatializer_get_positioning(&pSound->engineNode.spatializer);
} }
MA_API void ma_sound_set_rolloff(ma_sound* pSound, float rolloff)
{
if (pSound == NULL) {
return;
}
ma_spatializer_set_rolloff(&pSound->engineNode.spatializer, rolloff);
}
MA_API float ma_sound_get_rolloff(const ma_sound* pSound)
{
if (pSound == NULL) {
return 0;
}
return ma_spatializer_get_rolloff(&pSound->engineNode.spatializer);
}
MA_API void ma_sound_set_min_gain(ma_sound* pSound, float minGain) MA_API void ma_sound_set_min_gain(ma_sound* pSound, float minGain)
{ {
if (pSound == NULL) { if (pSound == NULL) {
...@@ -11853,6 +11895,24 @@ MA_API ma_positioning ma_sound_group_get_positioning(const ma_sound_group* pGrou ...@@ -11853,6 +11895,24 @@ MA_API ma_positioning ma_sound_group_get_positioning(const ma_sound_group* pGrou
return ma_spatializer_get_positioning(&pGroup->engineNode.spatializer); return ma_spatializer_get_positioning(&pGroup->engineNode.spatializer);
} }
MA_API void ma_sound_group_set_rolloff(ma_sound_group* pGroup, float rolloff)
{
if (pGroup == NULL) {
return;
}
ma_spatializer_set_rolloff(&pGroup->engineNode.spatializer, rolloff);
}
MA_API float ma_sound_group_get_rolloff(const ma_sound_group* pGroup)
{
if (pGroup == NULL) {
return 0;
}
return ma_spatializer_get_rolloff(&pGroup->engineNode.spatializer);
}
MA_API void ma_sound_group_set_min_gain(ma_sound_group* pGroup, float minGain) MA_API void ma_sound_group_set_min_gain(ma_sound_group* pGroup, float minGain)
{ {
if (pGroup == NULL) { if (pGroup == NULL) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment