MIDI Target Manufacturer(s): Roland
StreamByter Delay Not Working
SB appears the ideal fix to RD-2000 limitation of processing only eight Sysex at a time. To read a full page on one Load press, use the delay function to have SB delay 9-16 by 200 ms, 17-24 by 400 ms, etc.
But I am having problems getting it working.
I am using a dummy sysex header that tells SB how long to delay, and SB also replaces the dummy portion with correct data. By using the header, checksum remains correct.
SB code:
# If message header is F0 00 00, use fourth byte to determine delay amount
# then replace header with F0 41 10 00, plus remainder of message, delayed as specified
# Fourth byte, 20 = +D200, 40 = +D400, etc., selected by if statements.
IF M0 == F0 00 00 20 # Fourth byte = 20, so +D200
ASS M1 = 41 10 00
XX = XX +D200
END
# similar ifs for 40, 60, and 80 in fourth byte.
====
Also tried this alternate version
IF M0 == F0 00 00 20 # Fourth byte = 20, so +D200
SND M0 41 10 00 M04 M05 M06 M07 M08 M09 +F +D200
SND M0A M0B M0C M0D M0E M0F M10 +F +D200
END
F0 00 00 = XX XX XX +B # Block original message output
====
In both cases, the output sysex is changed appropriately, but not delayed.
Finally tried just this simple output rule:
F0 = XX + D2000
This should delay all Sysex by two seconds. Again, no delay.
Then tried
F0 = XX + D2000 +C
Both copies of message appear at same time.
What am I missing?