aboutsummaryrefslogtreecommitdiff
path: root/src/adlmidi_sequencer.cpp
diff options
context:
space:
mode:
authorWohlstand <admin@wohlnet.ru>2020-09-03 00:46:53 +0300
committerWohlstand <admin@wohlnet.ru>2020-09-03 00:46:53 +0300
commitadd55f65c5727bfab338be16e6548f9af8756048 (patch)
tree3955e14974ffacab98a7939e1c23fb637c68fc30 /src/adlmidi_sequencer.cpp
parent9d34329f81f9d2588c27d828aaaf3a3d5f222da3 (diff)
downloadlibADLMIDI-add55f65c5727bfab338be16e6548f9af8756048.tar.gz
libADLMIDI-add55f65c5727bfab338be16e6548f9af8756048.tar.bz2
libADLMIDI-add55f65c5727bfab338be16e6548f9af8756048.zip
Fixed an incorrect logic of CC121
Issue #227
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);