Closed TheKikGen closed 6 years ago
Hi, I have pushed a fix for this in the #95 feat/4.4.0
branch, with a little edit from your proposal.
As I believe the natural order of the MSBits should be the same as the associated following bytes (it makes it easier to read and follow through), it seems Korg is reversing the order (for some implementation or optimisation reason), so the extra boolean parameter is named inFlipHeaderBits
, and is false by default to keep current behaviour consistent.
Extended documentation available here: https://github.com/FortySevenEffects/arduino_midi_library/blob/feat/4.4.0/doc/sysex-codec.md
Bonjour François.
Je switch au french comme je le suis et toi aussi non ? Tu as parfaitement raison : la logique voudrait que les bits suivent l'ordre des "bytes".... Content d'avoir contribué à ton super boulot sur cette librairie.
Franck
2018-03-10 17:03 GMT+01:00 Francois Best notifications@github.com:
Hi, I have pushed a fix for this in the #95 https://github.com/FortySevenEffects/arduino_midi_library/pull/95 feature/4.4.0 branch, with a little edit from your proposal.
As I believe the natural order of the MSBits should be the same as the associated following bytes (it makes it easier to read and follow through), it seems Korg is reversing the order (for some implementation or optimisation reason), so the extra boolean parameter is named inFlipHeaderBits, and is false by default to keep current behaviour consistent.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/FortySevenEffects/arduino_midi_library/issues/92#issuecomment-372040796, or mute the thread https://github.com/notifications/unsubscribe-auth/AiDKq6ltsqKAlXItzcsB2WLaUT0FhJrVks5tc_lTgaJpZM4SNukN .
Merci à toi ! Tu me diras si ça marche, j'ai ajouté un test pour vérifier la théorie, mais je n'ai pas de machine Korg sous la main pour tester in situ.
I had some issues with the decode and encode sysex functions on a Korg Electribe (and other Korg devices). In the encode/decodesysEx funcs, MSB bits are encoded on the 8th byte from bit 6 to bit 0 corresponding respectively to bytes 1 to 7 in the set. I got somes stranges values when decoding dumps from an Korg Electribe ES1, and saw that the logic of encoding bits was inverted, i.e. from bit 0 to bit 6.
For example, the following message received from the an ES1 (02) 07 7F 00 00 00 00 00 is corresponding to the decoded msg 07 FF 00 00 00 00 00 but encoded with encodeSysEx, I get (20) 07 7F 00 00 00 00 00
That is clear in the code of encodeSysEx when moving bits in outSysEx[0].
This match with the way to encode sample and file dumps in the midi standard but however I suggest to add an optional parameter to cover that case from such manufacturer, and making these sysex utility funcs a "bit" more universal.