Implement MIDI-CI message processing #19
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Implement MIDI-CI Message Processing
This PR fixes the issue where incoming MIDI-CI sysex messages were not being processed at all in the C++ implementation.
Changes Made
1. Renamed method for consistency with Kotlin implementation
process_incoming_sysex()toprocessInput()inMidiCIDeviceclass2. Implemented message dispatching
MidiCIDevice::processInput()to create aMessengerinstance and dispatch toMessenger::process_input()3. Complete message processing implementation
Messenger::process_input()with full message processing logicCISubId2message types:4. Added all missing handler functions
Messenger.hppMessenger.cppTechnical Details
The implementation follows the Kotlin reference implementation patterns:
Testing
CISubId2enum are handledNote: Some existing tests in the test suite have pre-existing failures unrelated to this PR (JSON serialization issues that existed before these changes).
Files Modified
src/midi-ci/core/MidiCIDevice.cpp- Renamed method and added dispatcher logicinclude/midi-ci/core/MidiCIDevice.hpp- Updated method declarationsrc/midi-ci/messages/Messenger.cpp- Complete message processing implementationinclude/midi-ci/messages/Messenger.hpp- Added handler function declarations and Message.hpp includetools/ci-tool/src/CIDeviceModel.cpp- Updated method callLink to Devin run: https://app.devin.ai/sessions/61fff8168c58468fa73e0a703e1d8997
Requested by: Atsushi Eno (atsushieno@gmail.com)