adafruit / adafruit/Adafruit_CircuitPython_MIDI

Missing parsing of running status messages

Open
#62 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
56
Forks
26
PR merge metrics
No merged PRs in 30d

Description

(edited)
I'm getting messages from BLE MIDI and it happens in a very reproducible manner that I receive bursts of messages with running status (when status is missed, and should considered same as last one)
For example, I sentI sent a group of CC [BA, 63, 6A, BA, 62, 6B, BA, 6A, 00, BA, 6B, 65, BA, 63, 7F, BA, 62, 7F] [FA] but what I receive is BA 63 6A -- 62 6B -- 6A 00 -- 6B 65 -- 63 7F -- 62 7F FA (-- is where status are omitted).
I saw running status was considered in the past. Any chance to implement it ?
Just FYI I actually got it somehow to work modifying the TMIDI library, but I'm not sure if I considered all cases

[tmidi.py](https://github.com/user-attachments/files/22893348/tmidi.py)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the attached tmidi.py and locate the MIDI message parser in the repository. Reproduce the shown BLE MIDI sequence, then verify that omitted status bytes reuse the preceding CC status while the final FA message remains correctly handled. Done means running-status bursts parse consistently across the relevant cases.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
audio-video-rtc
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.