This forum is read-only. Please post new topics in our Q&A forum.

Why are 1024 bytes sent before transmission of large Sysex file?

General Discussion about Bome's Send SX

Moderator: florian

Locked
midman112113
User
Posts: 6
Joined: Wed Mar 23, 2016 2:32 pm

Why are 1024 bytes sent before transmission of large Sysex file?

Post by midman112113 » Mon Jul 18, 2016 3:06 pm

Before sending a very large Sysex file for example (522,243 bytes), there appears to be a random 1024 bytes sent before the transmission of the larger Sysex file. Are these bytes reflecting the (Sending MIDI out data...) function? Does any one know why this happens?

(Edit) My setup is like this

1. MIDI Sport 2x2 A out 5 pin MIDI DIN > MIDI Sport 2x2 A in > USB out to PC

2. Sending (522,243 bytes) from MIDI Sport 2x2 A out to MIDI sport 2x2 A in

3. Random 1024 bytes are sent before transmission of larger (522,243 bytes) Sysex file

[img]Capture1.PNG[/img] (may need to open image in new tab)
Attachments
Capture1.PNG
Capture1.PNG (173.08 KiB) Viewed 3287 times

User avatar
florian
Bome Software: Founder
Posts: 2435
Joined: Thu Apr 28, 2005 10:09 pm
Location: Munich, Germany
Contact:

Re: Why are 1024 bytes sent before transmission of large Sysex file?

Post by florian » Thu Jul 21, 2016 7:36 pm

Hi, have you verified that it actually receives 1024 + 522,243 bytes? it might be that just the log says "receives 1024 bytes" before going into bulk dump mode, where it includes the initially received 1024 bytes.
Otherwise, could you attach the bulk dump file?

Note that for such extreme Sys Ex files, some MIDI interfaces don't behave well. MIDISport usually is fine, but who knows. Send SX's settings allow for some tweaks if indeed you find that the MIDI wire carries wrong MIDI bytes (e.g. enable/disable splitting, enable/disable throttling, make it slower, etc.).

Thanks,
Florian

midman112113
User
Posts: 6
Joined: Wed Mar 23, 2016 2:32 pm

Re: Why are 1024 bytes sent before transmission of large Sysex file?

Post by midman112113 » Thu Jul 21, 2016 7:50 pm

Hello thanks for the reply, my theory is that it is not receiving 1024 + 522243, but rather it is receiving 522243 and that extra 1024 bytes out front are simply reflecting Send SX preparing for the bulk dump, not the actual bulk dump because why would it receive the appropriate amount of bytes after? I really don't know though :oops: :|

I know if you just send 1024 bytes alone, there is no extra bytes sent before.

I have included a link to the Send SX file in this google doc let me know if you have any trouble opening it up.

https://drive.google.com/open?id=0B1ynu ... lRZYnR3Yzg

Midman112113

User avatar
florian
Bome Software: Founder
Posts: 2435
Joined: Thu Apr 28, 2005 10:09 pm
Location: Munich, Germany
Contact:

Re: Why are 1024 bytes sent before transmission of large Sysex file?

Post by florian » Thu Jul 21, 2016 10:10 pm

Hi, you're misreading the SendSX log output. SendSX always receives sys ex in chunks of maximum 1024 bytes. When it receives the first chunk of 1024 bytes from the bulk dump, it displays "Received 1024 bytes successfully.". Then it receives another 1024 bytes from the bulk dump, and detects that it is indeed a bulk dump and displays the bulk dump receive window. The first 1024 bytes are part of the bulk dump. When it does not receive any data for a second or so, it assumes the bulk dump is complete and displays the data and the number of received bytes, including the initial 1024 bytes.

You can verify this behavior by
  • saving the received data as a separate .syx file, and loading it back. When sending, you'll see the number of contained bytes.
  • turning off bulk dump detection in Send SX's settings: all data is received in a series of 1024 bytes.
Florian

midman112113
User
Posts: 6
Joined: Wed Mar 23, 2016 2:32 pm

Re: Why are 1024 bytes sent before transmission of large Sysex file?

Post by midman112113 » Thu Jul 21, 2016 10:14 pm

OK cool thanks, so the 1024 bytes are not extra but simply included in the 522,243 bytes after bulk dump.

Thank you for your help.

Midman112113

Locked