247 |
for (; engineiter != end; engineiter++) (*engineiter)->SendControlChange(Controller, Value); |
for (; engineiter != end; engineiter++) (*engineiter)->SendControlChange(Controller, Value); |
248 |
} |
} |
249 |
MidiChannelMapReader.Unlock(); |
MidiChannelMapReader.Unlock(); |
250 |
|
|
251 |
|
// dispatch event to all low priority MIDI listeners |
252 |
|
const std::vector<VirtualMidiDevice*>& listeners = |
253 |
|
virtualMidiDevicesReader.Lock(); |
254 |
|
for (int i = 0; i < listeners.size(); ++i) |
255 |
|
listeners[i]->SendCCToDevice(Controller, Value); |
256 |
|
virtualMidiDevicesReader.Unlock(); |
257 |
} |
} |
258 |
|
|
259 |
void MidiInputPort::DispatchControlChange(uint8_t Controller, uint8_t Value, uint MidiChannel, int32_t FragmentPos) { |
void MidiInputPort::DispatchControlChange(uint8_t Controller, uint8_t Value, uint MidiChannel, int32_t FragmentPos) { |
272 |
for (; engineiter != end; engineiter++) (*engineiter)->SendControlChange(Controller, Value, FragmentPos); |
for (; engineiter != end; engineiter++) (*engineiter)->SendControlChange(Controller, Value, FragmentPos); |
273 |
} |
} |
274 |
MidiChannelMapReader.Unlock(); |
MidiChannelMapReader.Unlock(); |
275 |
|
|
276 |
|
// dispatch event to all low priority MIDI listeners |
277 |
|
const std::vector<VirtualMidiDevice*>& listeners = |
278 |
|
virtualMidiDevicesReader.Lock(); |
279 |
|
for (int i = 0; i < listeners.size(); ++i) |
280 |
|
listeners[i]->SendCCToDevice(Controller, Value); |
281 |
|
virtualMidiDevicesReader.Unlock(); |
282 |
} |
} |
283 |
|
|
284 |
void MidiInputPort::DispatchSysex(void* pData, uint Size) { |
void MidiInputPort::DispatchSysex(void* pData, uint Size) { |