コード例 #1
0
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);
	}
}
コード例 #2
0
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);
	}
}
コード例 #3
0
ファイル: CtrlrProcessor.cpp プロジェクト: gareth8118/ctrlr
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);
}