diff options
author | Chris Robinson <[email protected]> | 2013-12-19 00:09:55 -0800 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2013-12-19 00:09:55 -0800 |
commit | 1b5c3495c993459c8bf83c183015881cba852a11 (patch) | |
tree | 33f1039e165609b51047a963fea044f7ef60cd5c /Alc/ALc.c | |
parent | 1e536cf7ca6413cc20536df144bb4eba8797bbad (diff) |
Add methods to create and destroy presets
Diffstat (limited to 'Alc/ALc.c')
-rw-r--r-- | Alc/ALc.c | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -284,6 +284,9 @@ static const ALCfunction alcFunctions[] = { DECL(alGenSoundfontsSOFT), DECL(alDeleteSoundfontsSOFT), DECL(alIsSoundfontSOFT), + DECL(alGenPresetsSOFT), + DECL(alDeletePresetsSOFT), + DECL(alIsPresetSOFT), DECL(alMidiSoundfontSOFT), DECL(alMidiEventSOFT), DECL(alMidiSysExSOFT), @@ -1956,6 +1959,13 @@ static ALCvoid FreeDevice(ALCdevice *device) } ResetUIntMap(&device->SfontMap); + if(device->PresetMap.size > 0) + { + WARN("(%p) Deleting %d Preset(s)\n", device, device->PresetMap.size); + ReleaseALPresets(device); + } + ResetUIntMap(&device->PresetMap); + free(device->Bs2b); device->Bs2b = NULL; @@ -2893,6 +2903,7 @@ ALC_API ALCdevice* ALC_APIENTRY alcOpenDevice(const ALCchar *deviceName) InitUIntMap(&device->EffectMap, ~0); InitUIntMap(&device->FilterMap, ~0); InitUIntMap(&device->SfontMap, ~0); + InitUIntMap(&device->PresetMap, ~0); //Set output format device->FmtChans = DevFmtChannelsDefault; @@ -3178,6 +3189,7 @@ ALC_API ALCdevice* ALC_APIENTRY alcCaptureOpenDevice(const ALCchar *deviceName, InitUIntMap(&device->EffectMap, ~0); InitUIntMap(&device->FilterMap, ~0); InitUIntMap(&device->SfontMap, ~0); + InitUIntMap(&device->PresetMap, ~0); device->DeviceName = NULL; @@ -3356,6 +3368,7 @@ ALC_API ALCdevice* ALC_APIENTRY alcLoopbackOpenDeviceSOFT(const ALCchar *deviceN InitUIntMap(&device->EffectMap, ~0); InitUIntMap(&device->FilterMap, ~0); InitUIntMap(&device->SfontMap, ~0); + InitUIntMap(&device->PresetMap, ~0); factory = ALCloopbackFactory_getFactory(); device->Backend = V(factory,createBackend)(device, ALCbackend_Loopback); |