aboutsummaryrefslogtreecommitdiff
path: root/src/adlmidi_sequencer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/adlmidi_sequencer.cpp')
-rw-r--r--src/adlmidi_sequencer.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/adlmidi_sequencer.cpp b/src/adlmidi_sequencer.cpp
index e6de2b3..bf3d86c 100644
--- a/src/adlmidi_sequencer.cpp
+++ b/src/adlmidi_sequencer.cpp
@@ -103,6 +103,13 @@ static size_t rtCurrentDevice(void *userdata, size_t track)
MIDIplay *context = reinterpret_cast<MIDIplay *>(userdata);
return context->realTime_currentDevice(track);
}
+
+static void rtSongBegin(void *userdata)
+{
+ MIDIplay *context = reinterpret_cast<MIDIplay *>(userdata);
+ return context->realTime_ResetState();
+}
+
/* NonStandard calls End */
@@ -131,6 +138,9 @@ void MIDIplay::initSequencerInterface()
seq->rt_rawOPL = rtRawOPL;
seq->rt_deviceSwitch = rtDeviceSwitch;
seq->rt_currentDevice = rtCurrentDevice;
+
+ seq->onSongStart = rtSongBegin;
+ seq->onSongStart_userData = this;
/* NonStandard calls End */
m_sequencer->setInterface(seq);