3 |
* LinuxSampler - modular, streaming capable sampler * |
* LinuxSampler - modular, streaming capable sampler * |
4 |
* * |
* * |
5 |
* Copyright (C) 2003,2004 by Benno Senoner and Christian Schoenebeck * |
* Copyright (C) 2003,2004 by Benno Senoner and Christian Schoenebeck * |
6 |
* Copyright (C) 2005-2020 Christian Schoenebeck * |
* Copyright (C) 2005-2021 Christian Schoenebeck * |
7 |
* Copyright (C) 2009-2012 Grigor Iliev * |
* Copyright (C) 2009-2012 Grigor Iliev * |
8 |
* Copyright (C) 2012-2017 Andreas Persson * |
* Copyright (C) 2012-2017 Andreas Persson * |
9 |
* * |
* * |
593 |
event.pEngineChannel = this; |
event.pEngineChannel = this; |
594 |
if (this->pEventQueue->write_space() > 0) this->pEventQueue->push(&event); |
if (this->pEventQueue->write_space() > 0) this->pEventQueue->push(&event); |
595 |
else dmsg(1,("AbstractEngineChannel: Input event queue full!")); |
else dmsg(1,("AbstractEngineChannel: Input event queue full!")); |
596 |
|
// inform connected virtual MIDI devices if any ... |
597 |
|
// (e.g. slider / knob in instrument editor(s)) |
598 |
|
ArrayList<VirtualMidiDevice*>& devices = |
599 |
|
const_cast<ArrayList<VirtualMidiDevice*>&>( |
600 |
|
virtualMidiDevicesReader_MidiThread.Lock() |
601 |
|
); |
602 |
|
for (int i = 0; i < devices.size(); i++) { |
603 |
|
devices[i]->SendCCToDevice(Controller, Value); |
604 |
|
} |
605 |
|
virtualMidiDevicesReader_MidiThread.Unlock(); |
606 |
} |
} |
607 |
} |
} |
608 |
|
|
634 |
event.pEngineChannel = this; |
event.pEngineChannel = this; |
635 |
if (this->pEventQueue->write_space() > 0) this->pEventQueue->push(&event); |
if (this->pEventQueue->write_space() > 0) this->pEventQueue->push(&event); |
636 |
else dmsg(1,("AbstractEngineChannel: Input event queue full!")); |
else dmsg(1,("AbstractEngineChannel: Input event queue full!")); |
637 |
|
// inform connected virtual MIDI devices if any ... |
638 |
|
// (e.g. slider / knob in instrument editor(s)) |
639 |
|
ArrayList<VirtualMidiDevice*>& devices = |
640 |
|
const_cast<ArrayList<VirtualMidiDevice*>&>( |
641 |
|
virtualMidiDevicesReader_MidiThread.Lock() |
642 |
|
); |
643 |
|
for (int i = 0; i < devices.size(); i++) { |
644 |
|
devices[i]->SendCCToDevice(Controller, Value); |
645 |
|
} |
646 |
|
virtualMidiDevicesReader_MidiThread.Unlock(); |
647 |
} |
} |
648 |
} |
} |
649 |
|
|