aboutsummaryrefslogtreecommitdiffstats
path: root/OpenAL32/alMidi.c
diff options
context:
space:
mode:
Diffstat (limited to 'OpenAL32/alMidi.c')
-rw-r--r--OpenAL32/alMidi.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/OpenAL32/alMidi.c b/OpenAL32/alMidi.c
index 0679b64c..6313523e 100644
--- a/OpenAL32/alMidi.c
+++ b/OpenAL32/alMidi.c
@@ -19,7 +19,9 @@
MidiSynth *SynthCreate(ALCdevice *device)
{
- MidiSynth *synth = FSynth_create(device);
+ MidiSynth *synth = NULL;
+ if(!synth) synth = SSynth_create(device);
+ if(!synth) synth = FSynth_create(device);
if(!synth) synth = DSynth_create(device);
return synth;
}
@@ -133,7 +135,7 @@ AL_API void AL_APIENTRY alMidiPlaySOFT(void)
synth = context->Device->Synth;
WriteLock(&synth->Lock);
- V(synth,setState)(AL_PLAYING);
+ MidiSynth_setState(synth, AL_PLAYING);
WriteUnlock(&synth->Lock);
ALCcontext_DecRef(context);
@@ -149,7 +151,7 @@ AL_API void AL_APIENTRY alMidiPauseSOFT(void)
synth = context->Device->Synth;
WriteLock(&synth->Lock);
- V(synth,setState)(AL_PAUSED);
+ MidiSynth_setState(synth, AL_PAUSED);
WriteUnlock(&synth->Lock);
ALCcontext_DecRef(context);
@@ -168,7 +170,7 @@ AL_API void AL_APIENTRY alMidiStopSOFT(void)
synth = device->Synth;
WriteLock(&synth->Lock);
- V(synth,setState)(AL_STOPPED);
+ MidiSynth_setState(synth, AL_STOPPED);
ALCdevice_Lock(device);
V0(synth,stop)();
@@ -191,7 +193,7 @@ AL_API void AL_APIENTRY alMidiResetSOFT(void)
synth = device->Synth;
WriteLock(&synth->Lock);
- V(synth,setState)(AL_INITIAL);
+ MidiSynth_setState(synth, AL_INITIAL);
ALCdevice_Lock(device);
V0(synth,reset)();