Я делаю небольшой инструмент на C++, используя структуру JUCE. Он отправляет MIDI, но я пришел к проблеме. Я хотел бы отправить аккорды в свою DAW, отправив примечание к сообщению, за которым следует сообщение о примечании. Код noteOn выглядит так:
void MainContentComponent::handleNoteOn (MidiKeyboardState*, int
midiChannel, int midiNoteNumber, float velocity)
{
timestamp = (Time::getMillisecondCounterHiRes() * 0.001);
MidiMessage m (MidiMessage::noteOn (midiChannel, midiNoteNumber , velocity));
MidiMessage m2 (MidiMessage::noteOn (midiChannel, midiNoteNumber + 3, velocity));
MidiMessage m3 (MidiMessage::noteOn (midiChannel, midiNoteNumber + 7, velocity));
m.setTimeStamp (timestamp);
m2.setTimeStamp (timestamp);
m3.setTimeStamp (timestamp);
sendToOutputs (m);
sendToOutputs (m2);
sendToOutputs (m3);
handleNoteOff(midiChannel, midiNoteNumber, velocity)
}
Проблема в том, что сообщение об отключении примечания следует сразу после сообщения о примечании. Мне нужна задержка между сообщением о включении и выключении примечания. Любая идея о том, как это сделать? Я думал о вариантах задержки, но насколько я знаю, они заморозят всю программу. Есть ли в JUCE что-нибудь, что может мне помочь? Я не смог найти его в Интернете.