Skip to content

Learned MIDI channel updates clip PGM/BANK/SUB values#3698

Open
dctucker wants to merge 13 commits intoSynthstromAudible:communityfrom
dctucker:program-change-midi-input
Open

Learned MIDI channel updates clip PGM/BANK/SUB values#3698
dctucker wants to merge 13 commits intoSynthstromAudible:communityfrom
dctucker:program-change-midi-input

Conversation

@dctucker
Copy link
Copy Markdown
Contributor

@dctucker dctucker commented May 14, 2025

This pull request is a trimmed-down version of #3695.

Learned MIDI channel updates clip program values when recording

MIDI tracks that are learned to a channel will listen for program and bank changes (CC 0 and 32), and assign incoming values into the active clip when RECORD is illuminated.

This is useful for toggling between the following scenarios:

  • RECORD off, when you want to try different sounds on the instrument without the clip forgetting the previous values.
  • RECORD on, when you want the clip to remember the most recently selected sound.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 14, 2025

Test Results

175 tests  ±0   175 ✅ ±0   0s ⏱️ -1s
 21 suites ±0     0 💤 ±0 
 21 files   ±0     0 ❌ ±0 

Results for commit 7ca5106. ± Comparison against base commit bef6d9d.

♻️ This comment has been updated with latest results.

@seangoodvibes
Copy link
Copy Markdown
Collaborator

@seangoodvibes seangoodvibes changed the title Learned MIDI channel updates clip PGM/BANK/SUB values [DRAFT] Learned MIDI channel updates clip PGM/BANK/SUB values Aug 10, 2025
@seangoodvibes seangoodvibes marked this pull request as draft August 10, 2025 12:39
@dctucker
Copy link
Copy Markdown
Contributor Author

Ok, documentation added. I'm a bit out of the loop on the release requirements and timing, so please let me know if I need to move the doc updates into 1.4.

@dctucker
Copy link
Copy Markdown
Contributor Author

I'm testing this now after merging community, and it seems program change isn't updating yet banks are. I'll mark this as ready for review once I get that working again.

@dctucker
Copy link
Copy Markdown
Contributor Author

🤦 Ok I figured out what was going on. My new SD card somehow ended up with a SETTINGS/MIDIDevices.XML containing <mpeUpperZone numMemberChannels="13" />, either by way of restoring from backups (likely), or being set as a default (unlikely but if so I'd like to understand why). I was able to deduce this since the problem went away when starting with the old SD card or no card inserted.

That does raise a concern though; shouldn't it behave the same regardless of MPE input settings?

@dctucker dctucker marked this pull request as ready for review August 17, 2025 16:38
@seangoodvibes
Copy link
Copy Markdown
Collaborator

🤦 Ok I figured out what was going on. My new SD card somehow ended up with a SETTINGS/MIDIDevices.XML containing <mpeUpperZone numMemberChannels="13" />, either by way of restoring from backups (likely), or being set as a default (unlikely but if so I'd like to understand why). I was able to deduce this since the problem went away when starting with the old SD card or no card inserted.

That does raise a concern though; shouldn't it behave the same regardless of MPE input settings?

I believe in the previous versions of the firmware the deluge would try to automatically detect a device as mpe and set it up as such. but that created other problems, so i think in 1.2 (or maybe 1.3) that feature was removed.

So it's possible your SD card has a MIDIDevices file with the MPE configuration of a past firmware.

@dctucker
Copy link
Copy Markdown
Contributor Author

That makes sense; thank you for the explanation. I confirmed my backup does not contain this file, so it might have been auto-detected when loading one of the earlier firmware during testing. Maybe including a file in my backup containing explicit values to disable MPE would make sense.

Other than the MPE behavior being a little unusual, this is working as expected, and since I don't have MPE it's a little harder for me to confirm expected behavior, but I should at least be able to eliminate the unexpected behavior. I'll try to figure that out and push a commit. I'm pretty sure it just has to do with the difference in function calls between CC and PGM messages.

@dctucker dctucker changed the title [DRAFT] Learned MIDI channel updates clip PGM/BANK/SUB values Learned MIDI channel updates clip PGM/BANK/SUB values Apr 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants