I try send messages to a SF2 synth but it behaves strangely when loading midi files and sending programs/patches, and i probably have something todo with message length.
My sequenser send program/patch messages, i use my Roland SC-7 here as references for patch changes.
Basicly the SF2 synth do want hex so i do a toString(16) on any numeric valued program before sending.
From program 1-10 it maps fine.
But when i send program 11 it suddenly read out 17 on the SF2 synth.
And start evolve from there, then at program 20 it suddenly make another jump to 33 on the SF2 synth.
I get it is something with the message length "bit length?" going wrong, do anyone familiar with MIDI program messages understand this behaviour.
And what i could do to correct the message formatting.
Now to further obfuscate the issue, program 1 is value 0 even on the SC-7 and program 128 is value 127, but that is standard for any midi device.
Should i just accept subtract 6 to program 11 and so on, without understand what is going on.
"Well that wont work out, i am the one sending the message 6 that is interpretated as 11"
Is this something with 7 bit encoding of program messages i have missed, and if so how do i correct it?
My Roland SC-7 quite happy with the messages i send, but that maybe because MIDI API very nice to me and convert my integer based messages to correct format.
But i know for a fact i send messages in the range 0-127 as program messages, so i am a bit stumped by the behaviour of the SF2 synth.
And i really can't see what could go wrong converting them to hex (base 16)
Best regards JT
PS no need to panic even if the browser do, i do not think my phone "server" have any dangerous programs on it just my sequencer.
Well one day i may get a SSL certificate if my android app support it.