Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix missing InputEventMIDI from MIDI with multiple messages eg chord #89871

Closed
wants to merge 1 commit into from
Closed

Commits on Mar 28, 2024

  1. Fix missing InputEventMidi from MIDI input

    MIDIDriver::receive_input_packet can be called to process an incoming midi packet that contains multiple messages. Eg playing a chord (several notes at the same time) may arrive using midi 'running status' and contain several NoteOn in one packet. This commit loops through all the messages in the midi packet creating an InputEventMidi for each one.
    
    Includes code review feedback by A Thousand Ships <[email protected]> and https://github.com/lawnjelly
    
    Fixes #77035
    
    Tested manually with various .mid and .sysex files to inject midi as if from midi hardware. Tested on macos with Roland keyboards. Fix isn't macos specific, but original defect 77035 found on mac, not found on windows because windows midi handling by OS 'unrolls' running status midi into individual messages before reaching Godot, which works around the defect.
    markofjohnson committed Mar 28, 2024
    Configuration menu
    Copy the full SHA
    0731fa2 View commit details
    Browse the repository at this point in the history