Fix intermittent import failure for firmware 1.15C #7

Open
chackneyrules wants to merge 1 commit from chackneyrules/chackneyrules-patch-1 into main
chackneyrules commented 2026-05-26 13:16:22 +02:00 (Migrated from github.com)

Fixes #6

Firmware 1.15C does not send a SysEx message for every pattern slot — it omits empty/unused patterns. The app expects all 128 DTPatternKitResponse messages, leaving any unoccupied slot as Nothing in the patterns bank. testAllThere then returns TestFail, which aborts the import entirely.

This change makes the missing-patterns check return TestWarn () instead of TestFail, consistent with how missing sounds are already handled. The import succeeds, the user sees a warning, and the empty pattern slots remain empty (which is correct — they were empty on the device).

missingSamples is intentionally left as TestFail since the sample pool arrives in a single ProjectSettings SysEx and can never be partially missing.

Fixes #6 Firmware 1.15C does not send a SysEx message for every pattern slot — it omits empty/unused patterns. The app expects all 128 `DTPatternKitResponse` messages, leaving any unoccupied slot as `Nothing` in the patterns bank. `testAllThere` then returns `TestFail`, which aborts the import entirely. This change makes the missing-patterns check return `TestWarn ()` instead of `TestFail`, consistent with how missing sounds are already handled. The import succeeds, the user sees a warning, and the empty pattern slots remain empty (which is correct — they were empty on the device). `missingSamples` is intentionally left as `TestFail` since the sample pool arrives in a single `ProjectSettings` SysEx and can never be partially missing.
mzero commented 2026-05-26 17:29:11 +02:00 (Migrated from github.com)

I don't have this OS version yet, so I can't check it... I'll review this when get a copy.

I don't have this OS version yet, so I can't check it... I'll review this when get a copy.
mzero commented 2026-05-26 21:46:54 +02:00 (Migrated from github.com)

I have it on authority from Elektron that this is not a change in how SysEx works with 1.15C, and that all the patterns should be sent. If some aren't received, it isn't because they were empty, it is because of the on-going problems with OSes and Browsers handling SysEx > 64k bytes.

Therefore, I feel this patch is misleading in that some users will things have worked, but in fact they have not.

I have it on authority from Elektron that this is not a change in how SysEx works with 1.15C, and that all the patterns should be sent. If some aren't received, it isn't because they were empty, it is because of the on-going problems with OSes and Browsers handling SysEx > 64k bytes. Therefore, I feel this patch is misleading in that some users will things have worked, but in fact they have not.
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin chackneyrules/chackneyrules-patch-1:chackneyrules/chackneyrules-patch-1
git switch chackneyrules/chackneyrules-patch-1

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff chackneyrules/chackneyrules-patch-1
git switch chackneyrules/chackneyrules-patch-1
git rebase main
git switch main
git merge --ff-only chackneyrules/chackneyrules-patch-1
git switch chackneyrules/chackneyrules-patch-1
git rebase main
git switch main
git merge --no-ff chackneyrules/chackneyrules-patch-1
git switch main
git merge --squash chackneyrules/chackneyrules-patch-1
git switch main
git merge --ff-only chackneyrules/chackneyrules-patch-1
git switch main
git merge chackneyrules/chackneyrules-patch-1
git push origin main
Sign in to join this conversation.
No description provided.