void HelmPlugin::processMidi(juce::MidiBuffer& midi_messages, int start_sample, int end_sample) { MidiBuffer::Iterator midi_iter(midi_messages); MidiMessage midi_message; int midi_sample_position = 0; while (midi_iter.getNextEvent(midi_message, midi_sample_position)) { if (midi_sample_position >= start_sample && midi_sample_position < end_sample) midi_manager_->processMidiMessage(midi_message, midi_sample_position - start_sample); } }
void SynthBase::processMidi(MidiBuffer& midi_messages, int start_sample, int end_sample) { MidiBuffer::Iterator midi_iter(midi_messages); MidiMessage midi_message; int midi_sample = 0; bool process_all = end_sample == 0; while (midi_iter.getNextEvent(midi_message, midi_sample)) { if (process_all || (midi_sample >= start_sample && midi_sample < end_sample)) midi_manager_->processMidiMessage(midi_message, midi_sample - start_sample); } }