aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/midi/base.h
diff options
context:
space:
mode:
Diffstat (limited to 'Alc/midi/base.h')
-rw-r--r--Alc/midi/base.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/Alc/midi/base.h b/Alc/midi/base.h
index 4d13a054..42a4c279 100644
--- a/Alc/midi/base.h
+++ b/Alc/midi/base.h
@@ -80,7 +80,6 @@ struct MidiSynthVtable {
ALenum (*const selectSoundfonts)(MidiSynth *self, ALCcontext *context, ALsizei count, const ALuint *ids);
void (*const setGain)(MidiSynth *self, ALfloat gain);
- void (*const setState)(MidiSynth *self, ALenum state);
void (*const stop)(MidiSynth *self);
void (*const reset)(MidiSynth *self);
@@ -88,26 +87,25 @@ struct MidiSynthVtable {
void (*const update)(MidiSynth *self, ALCdevice *device);
void (*const process)(MidiSynth *self, ALuint samples, ALfloat (*restrict DryBuffer)[BUFFERSIZE]);
- void (*const Delete)(MidiSynth *self);
+ void (*const Delete)(void *ptr);
};
#define DEFINE_MIDISYNTH_VTABLE(T) \
DECLARE_THUNK(T, MidiSynth, void, Destruct) \
DECLARE_THUNK3(T, MidiSynth, ALenum, selectSoundfonts, ALCcontext*, ALsizei, const ALuint*) \
DECLARE_THUNK1(T, MidiSynth, void, setGain, ALfloat) \
-DECLARE_THUNK1(T, MidiSynth, void, setState, ALenum) \
DECLARE_THUNK(T, MidiSynth, void, stop) \
DECLARE_THUNK(T, MidiSynth, void, reset) \
DECLARE_THUNK1(T, MidiSynth, void, update, ALCdevice*) \
DECLARE_THUNK2(T, MidiSynth, void, process, ALuint, ALfloatBUFFERSIZE*restrict) \
-DECLARE_THUNK(T, MidiSynth, void, Delete) \
+static void T##_MidiSynth_Delete(void *ptr) \
+{ T##_Delete(STATIC_UPCAST(T, MidiSynth, (MidiSynth*)ptr)); } \
\
static const struct MidiSynthVtable T##_MidiSynth_vtable = { \
T##_MidiSynth_Destruct, \
\
T##_MidiSynth_selectSoundfonts, \
T##_MidiSynth_setGain, \
- T##_MidiSynth_setState, \
T##_MidiSynth_stop, \
T##_MidiSynth_reset, \
T##_MidiSynth_update, \
@@ -117,6 +115,7 @@ static const struct MidiSynthVtable T##_MidiSynth_vtable = { \
}
+MidiSynth *SSynth_create(ALCdevice *device);
MidiSynth *FSynth_create(ALCdevice *device);
MidiSynth *DSynth_create(ALCdevice *device);