diff options
author | Chris Robinson <[email protected]> | 2013-11-28 04:52:53 -0800 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2013-11-28 04:52:53 -0800 |
commit | f8c68291d3b0ebbfa710c95a28b042393fb4b7d6 (patch) | |
tree | a13f3957a57d3f543239318a59d0b9b696c0ef18 /OpenAL32/Include/alMidi.h | |
parent | 29a4ac329a8d6f8c4432217e1e1f3e55cbf146fe (diff) |
Add a method to stop MIDI playback
Unlike pausing, this resets the MIDI clock time to 0, clears the existing event
queue, stops all MIDI sounds, and resets MIDI controllers.
Diffstat (limited to 'OpenAL32/Include/alMidi.h')
-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 d648e179..400b8b9b 100644 --- a/OpenAL32/Include/alMidi.h +++ b/OpenAL32/Include/alMidi.h @@ -40,6 +40,7 @@ struct MidiSynthVtable { ALenum (*const loadSoundfont)(MidiSynth *self, const char *filename); void (*const setState)(MidiSynth *self, ALenum state); + void (*const reset)(MidiSynth *self); void (*const update)(MidiSynth *self, ALCdevice *device); void (*const process)(MidiSynth *self, ALuint samples, ALfloat (*restrict DryBuffer)[BUFFERSIZE]); @@ -50,6 +51,7 @@ struct MidiSynthVtable { DECLARE_THUNK(T, MidiSynth, void, Destruct) \ DECLARE_THUNK1(T, MidiSynth, ALenum, loadSoundfont, const char*) \ DECLARE_THUNK1(T, MidiSynth, void, setState, ALenum) \ +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) \ @@ -59,6 +61,7 @@ static const struct MidiSynthVtable T##_MidiSynth_vtable = { \ \ T##_MidiSynth_loadSoundfont, \ T##_MidiSynth_setState, \ + T##_MidiSynth_reset, \ T##_MidiSynth_update, \ T##_MidiSynth_process, \ \ |