diff options
author | Chris Robinson <[email protected]> | 2013-12-13 13:40:53 -0800 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2013-12-13 13:40:53 -0800 |
commit | a343d78724cf59f6368971f871493c0e45f66cea (patch) | |
tree | e3b256986bd78fa6ab1a5d15a0bee062669d2ac2 /OpenAL32/Include | |
parent | 57eef756c3feac7e7c364ac56b70978fb29aa822 (diff) |
Update behavior for alMidiStopSOFT
alMidiStopSOFT now has the following behavior:
* All pending MIDI events up to the current time are processed first, before
the queue is flushed.
* All channels then receive an All Notes Off event so that notes go through
their release phase. Controllers are *NOT* reset.
* Clock time is reset to 0, like before.
Diffstat (limited to 'OpenAL32/Include')
-rw-r--r-- | OpenAL32/Include/alMidi.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/OpenAL32/Include/alMidi.h b/OpenAL32/Include/alMidi.h index 847af04e..eb36adcf 100644 --- a/OpenAL32/Include/alMidi.h +++ b/OpenAL32/Include/alMidi.h @@ -45,6 +45,7 @@ struct MidiSynthVtable { void (*const setGain)(MidiSynth *self, ALfloat gain); void (*const setState)(MidiSynth *self, ALenum state); + void (*const stop)(MidiSynth *self); void (*const reset)(MidiSynth *self); void (*const update)(MidiSynth *self, ALCdevice *device); @@ -59,6 +60,7 @@ DECLARE_THUNK1(T, MidiSynth, ALboolean, isSoundfont, const char*) \ DECLARE_THUNK1(T, MidiSynth, ALenum, loadSoundfont, const char*) \ 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) \ @@ -71,6 +73,7 @@ static const struct MidiSynthVtable T##_MidiSynth_vtable = { \ T##_MidiSynth_loadSoundfont, \ T##_MidiSynth_setGain, \ T##_MidiSynth_setState, \ + T##_MidiSynth_stop, \ T##_MidiSynth_reset, \ T##_MidiSynth_update, \ T##_MidiSynth_process, \ |