Unfortunately, I don't think that there are currently any other options than those discussed in
Programming SYSEX curves like if they were CC .
The most promising solutions appear to be:
1) Use a JSFX to convert an envelope into a sysex curve, as described by ELP in the other thread, or
2) Use a ReaScript to convert a 7-bit CC curve to a sysex curve. The following quick Lua script should do the trick:
Code:
-- Convert a 7-bit CC curve into sysex
indexOfByteToDraw = 2
sysexBytes = {[1] = 0x1F,
[2] = nil, -- or anything
[3] = 0x11,
[4] = 0x1F
}
take = reaper.MIDIEditor_GetTake(reaper.MIDIEditor_GetActive())
i = reaper.MIDI_EnumSelCC(take, -1)
while i > -1 do
ccOK, _, muted, ppqpos, _, _, _, value = reaper.MIDI_GetCC(take, i)
reaper.MIDI_DeleteCC(take, i)
if ccOK == true then
sysexBytes[indexOfByteToDraw] = value
sysexString = ""
for m = 1, #sysexBytes do
sysexString = sysexString .. string.char(sysexBytes[m])
end
reaper.MIDI_InsertTextSysexEvt(take, true, muted, ppqpos, -1, sysexString)
end
i = reaper.MIDI_EnumSelCC(take, -1)
end
Replace the table at the beginning of the script with your own sysex values (excluding the bounding F0..F7), draw the curve in the CC lane, select the CCs, and run the script.