Пример #1
0
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);
  }
}
Пример #2
0
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);
  }
}