diff options
author | Wohlstand <admin@wohlnet.ru> | 2017-11-10 02:40:38 +0300 |
---|---|---|
committer | Wohlstand <admin@wohlnet.ru> | 2017-11-10 02:40:38 +0300 |
commit | 0b64e5b1982c4ce09b48c2ac927ace7505d7f3a7 (patch) | |
tree | 097bb11ce72aa692becd746b1a38108a082e2803 /src | |
parent | 3680c0ac9d38d6ea105e53d34a79e7cafaf2408b (diff) | |
download | libADLMIDI-0b64e5b1982c4ce09b48c2ac927ace7505d7f3a7.tar.gz libADLMIDI-0b64e5b1982c4ce09b48c2ac927ace7505d7f3a7.tar.bz2 libADLMIDI-0b64e5b1982c4ce09b48c2ac927ace7505d7f3a7.zip |
Ability to quit from Classic ADLMIDI under DOS by ESC key hit
Diffstat (limited to 'src')
-rw-r--r-- | src/adlmidi.cpp | 10 | ||||
-rw-r--r-- | src/adlmidi_midiplay.cpp | 5 | ||||
-rw-r--r-- | src/adlmidi_private.hpp | 2 |
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 { |