diff options
Diffstat (limited to 'OpenAL32')
-rw-r--r-- | OpenAL32/alSoundfont.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/OpenAL32/alSoundfont.c b/OpenAL32/alSoundfont.c index 8173526b..dde4b991 100644 --- a/OpenAL32/alSoundfont.c +++ b/OpenAL32/alSoundfont.c @@ -350,6 +350,44 @@ done: } +void ALsoundfont_Construct(ALsoundfont *self) +{ + self->ref = 0; + + self->Presets = NULL; + self->NumPresets = 0; + + self->Samples = NULL; + self->NumSamples = 0; + + RWLockInit(&self->Lock); + self->Mapped = AL_FALSE; + + self->id = 0; +} + +void ALsoundfont_Destruct(ALsoundfont *self) +{ + ALsizei i; + + FreeThunkEntry(self->id); + self->id = 0; + + for(i = 0;i < self->NumPresets;i++) + { + DecrementRef(&self->Presets[i]->ref); + self->Presets[i] = NULL; + } + free(self->Presets); + self->Presets = NULL; + self->NumPresets = 0; + + free(self->Samples); + self->Samples = NULL; + self->NumSamples = 0; +} + + /* ReleaseALSoundfonts * * Called to destroy any soundfonts that still exist on the device |