-
Notifications
You must be signed in to change notification settings - Fork 36
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Bug fix in sysex handling and incorporation of various minor changes …
…for header guards and compiler warnings. Also, fixed mm (midi monitor) ability to filter messages and control output. Details: The interface between system-dependent and system-independent code was originally based on the idea that the system did a lot of work to parse out messages, so it should be simple to push these messages to the PortMidi input queue. This should have avoided re-parsing MIDI bytes and enabled fast word-at-a-time handling of sysex data. However, MacOS MIDI handling is largely undocumented and has many complexities: packets can contain multiple messages or partial (sysex) messages, messages can have embedded 1-byte real-time messages. To handle these special cases, code became messy and to add to the complexity, the mess was split between system-dependent (mmmacosxcm.c) and system-independent (portmidi.c) code. Even after years, a new bug was found by te-johan, and there may be other problems with embedded real-time messages. Rather than continuing to patch the code, this commit greatly simplifies code by completely reparsing MIDI in system-independent code, but retains the option of passing in fully formed MIDI short messages.
- Loading branch information
1 parent
928520f
commit dba8357
Showing
18 changed files
with
412 additions
and
501 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.