aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/adlmidi.cpp10
-rw-r--r--src/adlmidi_midiplay.cpp5
-rw-r--r--src/adlmidi_private.hpp2
3 files changed, 17 insertions, 0 deletions
diff --git a/src/adlmidi.cpp b/src/adlmidi.cpp
index 7c08287..2add51a 100644
--- a/src/adlmidi.cpp
+++ b/src/adlmidi.cpp
@@ -696,3 +696,13 @@ ADLMIDI_EXPORT int adl_atEnd(ADL_MIDIPlayer *device)
return 1;
return (int)player->atEnd;
}
+
+ADLMIDI_EXPORT void adl_panic(ADL_MIDIPlayer *device)
+{
+ if(!device)
+ return;
+ MIDIplay *player = reinterpret_cast<MIDIplay *>(device->adl_midiPlayer);
+ if(!player)
+ return;
+ player->realTime_panic();
+}
diff --git a/src/adlmidi_midiplay.cpp b/src/adlmidi_midiplay.cpp
index 83517db..7b9a086 100644
--- a/src/adlmidi_midiplay.cpp
+++ b/src/adlmidi_midiplay.cpp
@@ -1346,6 +1346,11 @@ void MIDIplay::realTime_BankChange(uint8_t channel, uint16_t bank)
Ch[channel].bank_msb = uint8_t((bank >> 8) & 0xFF);
}
+void MIDIplay::realTime_panic()
+{
+ Panic();
+}
+
void MIDIplay::NoteUpdate(uint16_t MidCh,
MIDIplay::MIDIchannel::activenoteiterator i,
diff --git a/src/adlmidi_private.hpp b/src/adlmidi_private.hpp
index 58b4e10..27cfdb0 100644
--- a/src/adlmidi_private.hpp
+++ b/src/adlmidi_private.hpp
@@ -868,6 +868,8 @@ public:
void realTime_BankChangeMSB(uint8_t channel, uint8_t msb);
void realTime_BankChange(uint8_t channel, uint16_t bank);
+ void realTime_panic();
+
private:
enum
{