void CtrlrMidiDevice::sendMidiBuffer (const MidiBuffer &buffer, double millisecondCounterToStartAt) { if (outJucePtr != nullptr) { { const ScopedLock sl(deviceLock); outJucePtr->sendBlockOfMessages (buffer, Time::getMillisecondCounter() + millisecondCounterToStartAt + 1, SAMPLERATE); } _MOUT(getProperty(Ids::name).toString() + "[JUCE]", buffer); } }
void CtrlrMidiDevice::sendMidiMessage (const MidiMessage &message, double millisecondCounterToStartAt) { if (outJucePtr != nullptr) { { const ScopedLock sl(deviceLock); throwBuffer.clear(); throwBuffer.addEvent (message, 1); outJucePtr->sendBlockOfMessages (throwBuffer, Time::getMillisecondCounter() + millisecondCounterToStartAt + 1, SAMPLERATE); } _MOUT(getProperty(Ids::name).toString() + "[JUCE]", message); } }
void CtrlrProcessor::processBlock (AudioSampleBuffer& buffer, MidiBuffer& midiMessages) { AudioPlayHead::CurrentPositionInfo info; if (getPlayHead()) { getPlayHead()->getCurrentPosition(info); } if (midiMessages.getNumEvents() > 0) { processPanels(midiMessages, info); } midiCollector.removeNextBlockOfMessages (midiMessages, buffer.getNumSamples()); MidiBuffer::Iterator i(midiMessages); while (i.getNextEvent(logResult, logSamplePos)) _MOUT("VST OUTPUT", logResult, logSamplePos); }