39 |
pMIDIKeyInfo[i].Active = false; |
pMIDIKeyInfo[i].Active = false; |
40 |
pMIDIKeyInfo[i].ReleaseTrigger = false; |
pMIDIKeyInfo[i].ReleaseTrigger = false; |
41 |
pMIDIKeyInfo[i].pEvents = NULL; // we allocate when we retrieve the right Engine object |
pMIDIKeyInfo[i].pEvents = NULL; // we allocate when we retrieve the right Engine object |
42 |
|
pMIDIKeyInfo[i].VoiceTheftsQueued = 0; |
43 |
pMIDIKeyInfo[i].RoundRobinIndex = 0; |
pMIDIKeyInfo[i].RoundRobinIndex = 0; |
44 |
} |
} |
45 |
for (uint i = 0; i < Event::destination_count; i++) { |
for (uint i = 0; i < Event::destination_count; i++) { |
70 |
GlobalPanRight = 1.0f; |
GlobalPanRight = 1.0f; |
71 |
CurrentKeyDimension = 0; |
CurrentKeyDimension = 0; |
72 |
|
|
73 |
// set all MIDI controller values to zero |
ResetControllers(); |
|
memset(ControllerTable, 0x00, 128); |
|
74 |
|
|
75 |
// reset key info |
// reset key info |
76 |
for (uint i = 0; i < 128; i++) { |
for (uint i = 0; i < 128; i++) { |
82 |
pMIDIKeyInfo[i].Active = false; |
pMIDIKeyInfo[i].Active = false; |
83 |
pMIDIKeyInfo[i].ReleaseTrigger = false; |
pMIDIKeyInfo[i].ReleaseTrigger = false; |
84 |
pMIDIKeyInfo[i].itSelf = Pool<uint>::Iterator(); |
pMIDIKeyInfo[i].itSelf = Pool<uint>::Iterator(); |
85 |
|
pMIDIKeyInfo[i].VoiceTheftsQueued = 0; |
86 |
} |
} |
87 |
|
|
88 |
// reset all key groups |
// reset all key groups |
388 |
} |
} |
389 |
} |
} |
390 |
|
|
391 |
|
void EngineChannel::ResetControllers() { |
392 |
|
// set all MIDI controller values to zero |
393 |
|
memset(ControllerTable, 0x00, 128); |
394 |
|
} |
395 |
|
|
396 |
/** |
/** |
397 |
* Copy all events from the engine channel's input event queue buffer to |
* Copy all events from the engine channel's input event queue buffer to |
398 |
* the internal event list. This will be done at the beginning of each |
* the internal event list. This will be done at the beginning of each |