127 |
} |
} |
128 |
} |
} |
129 |
|
|
130 |
virtual void Connect(AudioOutputDevice* pAudioOut) { |
virtual void Connect(AudioOutputDevice* pAudioOut) OVERRIDE { |
131 |
if (pEngine) { |
if (pEngine) { |
132 |
if (pEngine->pAudioOutputDevice == pAudioOut) return; |
if (pEngine->pAudioOutputDevice == pAudioOut) return; |
133 |
DisconnectAudioOutputDevice(); |
DisconnectAudioOutputDevice(); |
189 |
MidiInputPort::AddSysexListener(pEngine); |
MidiInputPort::AddSysexListener(pEngine); |
190 |
} |
} |
191 |
|
|
192 |
virtual void DisconnectAudioOutputDevice() { |
virtual void DisconnectAudioOutputDevice() OVERRIDE { |
193 |
if (pEngine) { // if clause to prevent disconnect loops |
if (pEngine) { // if clause to prevent disconnect loops |
194 |
|
|
195 |
ResetInternal(false/*don't reset engine*/); // 'false' is error prone here, but the danger of recursion with 'true' would be worse, there could be a better solution though |
ResetInternal(false/*don't reset engine*/); // 'false' is error prone here, but the danger of recursion with 'true' would be worse, there could be a better solution though |
471 |
MidiKeyboardManager<V>::Reset(); |
MidiKeyboardManager<V>::Reset(); |
472 |
} |
} |
473 |
|
|
474 |
virtual void ResetControllers() { |
virtual void ResetControllers() OVERRIDE { |
475 |
AbstractEngineChannel::ResetControllers(); |
AbstractEngineChannel::ResetControllers(); |
476 |
|
|
477 |
MidiKeyboardManager<V>::SustainPedal = false; |
MidiKeyboardManager<V>::SustainPedal = false; |