Response to question on FB from Allen Jordan:
Edit only in the temporary (scratchpad) area. This is the same as if you are editing on the board - those edits are in temporary memory. If you like the changes, then write to a permanent performance or patch location.
Using the sysex memory map, explicitly lay out the memory locations in a spreadsheet. The offsets add cumulatively to the base address.
With this, you can make groups that will allow editing multiple sections using a channel selector.
The green shows how all the “performance part” sections will share one editor with a channel changer.
Blue shows how the patch editors will be shared with a channel changer
We could repeat with an editor for the patch common sections in pink.
What about editing the tones in part 2? For now, the approach is to recall that patch to part 1, do the editing there, then move back to part 2. Even Roland have built editors that will only edit a tone in part 1.
Once you have all these working correctly, you could use advanced techniques with Streambyter to access the other parts, if really needed. And once you are really confident in your code, only then write to permanent memory locations - I only do this in very specific, separate layouts.
Performance Part x Editor (1_2_2)
First, build a channel changer, will have 8 ticks, display 1 -8, midi min 24, max 31 (green values converted to decimal - if they were non-continuous we would need named ticks, or if you wanted to see Part 1 - Part 8 as the label)
Now build the first item in performance part - transmit switch
This is on-off switch, so will use a toggle, midi min 0, max 1
Sysex value is (leave off the leading F0 and trailing F7 and checksum)
41 10 46 12 00 00 L 00 V, select Roland checksum, 1 byte V
Make this a sub-control of the performance part channel changer.
For the second item - transmit channel, will want a knob, 16 ticks, display 1-16, midi 0-15.
The sysex is 41 10 46 12 00 00 L 01 V, select Roland checksum, 1 byte V
Make this a sub-control of the performance part channel changer.
Patch Tone editor (1_3_2)
First need the channel changer, 4 ticks, display 1-4, midi 40-43 (the blue values). (Ditto comments on non-continuous needing named ticks, or to have more descriptive name.)
Skipping to second item in tone, it is wave group number.
Sysex is 41 10 46 12 00 00 L 01 V, select Roland checksum, 2 byte V
Note the format for this 2 byte value: 0000 aaaa 0000 bbbb
This control will have to be loaded with named ticks from a spreadsheet that calculates the required decimal values, also attached. Calculate the values for 0-254, then copy these in to the named ticks text field.
Make this a sub-control of the patch tone channel changer.
That should give you a sample control or two in each of the main editing areas.