aboutsummaryrefslogtreecommitdiff
path: root/backends/midi/ypa1.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'backends/midi/ypa1.cpp')
-rw-r--r--backends/midi/ypa1.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/backends/midi/ypa1.cpp b/backends/midi/ypa1.cpp
index 6e6a2f90de..e741f290ae 100644
--- a/backends/midi/ypa1.cpp
+++ b/backends/midi/ypa1.cpp
@@ -25,19 +25,18 @@ int MidiDriver_YamahaPa1::open() {
if (!(_isOpen = Pa1Lib_midiOpen(NULL, &_midiHandle)))
return MERR_DEVICE_NOT_AVAILABLE;
- Pa1Lib_midiControlChange(_midiHandle,0,120,0); // all sound off
- Pa1Lib_midiControlChange(_midiHandle,0,121,0); // reset all controller
- Pa1Lib_midiControlChange(_midiHandle,0,123,0); // all notes off
-
return 0;
}
void MidiDriver_YamahaPa1::close() {
if (_isOpen) {
- Pa1Lib_midiControlChange(_midiHandle,0,120,0); // all sound off
- Pa1Lib_midiControlChange(_midiHandle,0,121,0); // reset all controller
- Pa1Lib_midiControlChange(_midiHandle,0,123,0); // all notes off
+ for (UInt8 channel = 0; channel < 16; channel++) {
+ Pa1Lib_midiControlChange(_midiHandle, channel, 120,0); // all sound off
+ Pa1Lib_midiControlChange(_midiHandle, channel, 121,0); // reset all controller
+ Pa1Lib_midiControlChange(_midiHandle, channel, 123, 0); // all notes off
+ }
Pa1Lib_midiClose(_midiHandle);
+ _isOpen = false;
}
}