[Flagged for Deletion] MidiBuffer::Iterator issue with adjacent white/black keys

Hey jucers and ROLI team,

I have an interesting situation with the juce Midibuffer iterator class that is occurring in the current release version of the JUCE framework.

I am noticing that in the current version of JUCE (4.3.1; also reproducable on 4.2.3) that when midi notes are played from a DAW’s (Logic Pro X, Ableton, etc) on-screen keyboard in note groups of three, that the midi buffer iterator is not recognizing the involved third key as being a note on.

Note: Midi Iterator handles midi messages from external keyboards just fine.

Reproduction Steps:

  1. Open DAW with on-screen keyboard capabilities (Logic, Ableton, etc)
  2. Load Juce Demo Plugin (Audio Unit) into MIDI Instrument Track
  3. Using the DAW’s **on-screen keyboard ** play the following notes: 60, 61, 62.
  4. Please notice that the note that is pressed THIRD is not registered as a note on event.


  • if you press note 60, then 61, and then note 62 – note 62 will not activate.
  • if you press note 60, then 62, and then note 61 – note 61 will not activate.
  • if you press note 61, then 62, and then note 60 – note 60 will not activate.

This happens with any series of white keys seperated by a black key (C, C#, D for example).
Again, this does not occur from an external midi source, this only occurs when using the on-screen keyboard that some DAWs provide.

Thank you for your time. I look forward to a response.


I very much doubt that this would have anything to do with anything as basic as the MidiBuffer or its iterator… what makes you think it’s that?

And when you say the “on-screen keyboard”, do you really mean the DAW’s one, or the one in the juce plugin?

by on-screen keyboard I mean playing the QWERTY keyboard, as a midi keyboard.

Also, after further investigation following this post, it’s probably not the midi iterator. I believe it is the DAWs themselves. If that’s the case that’s good, because neither you or I need to deal with that. :smile:

In that case it’s probably the keyboard driver not registering the third keypress.

(Whatever it is, it really doesn’t sound like a juce problem!)