|
Post by reathpd on May 13, 2019 19:28:06 GMT
# StreamByter - Audeonic Apps # Dynamic Transposer (CC17 - Control) # by audeonic modified by Reathpd # 20190511PR
IF LOAD # K0: note chan, ctl CC/chan, ctl CC val ASS K0 = 00 B0 11 # L0: current delta, note on, note off ASS L0 = 00 MAT L1 = 90 + K0 MAT L2 = 80 + K0 SET LB0 L0 +D END
# handle CC IF M0 == K1 K2 MAT L0 = M2 - 40 SET LB0 L0 +D END
# blanket convert all note on+vel0 to off 9X XX 00 = 8X
# trap chan note on IF M0 == L1 # determine transposed note into l3 MAT L3 = M1 + L0 # check in bounds IF L3 >= 0 IF L3 <= 7F # store current delta in I ASS IM1 = L0 # transpose the note ASS M1 = L3 # show last transposed note SET LB1 L3 +N END END END
# apply current delta to note off IF M0 == L2 MAT L3 = M1 + IM1 ASS M1 = L3 END
X1 -F = XX +B # only pass channel 1 Pad notes on Ch 10 are filtered out
XX = X1 # remap everything to channel 2
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on May 14, 2019 7:35:21 GMT
Hi reathpd , You mean the transpose value is showing as a very large number when transposing down? Slight mod to your script for that for new StreamByter: # StreamByter - Audeonic Apps # Dynamic Transposer (CC17 - Control) # by audeonic modified by Reathpd # 20190511PR
IF LOAD # K0: note chan, ctl CC/chan, ctl CC val ASS K0 = 00 B0 11 # L0: current delta, note on, note off ASS L0 = 00 MAT L1 = 90 + K0 MAT L2 = 80 + K0 SET LB0 L0 +D END
# handle CC IF M0 == K1 K2 MAT L0 = M2 - 40
# display as signed decimal ASS P0 = L0 IF P0 >= 8000
MAT P0 = P0 | FFFF0000 END SET LB0 P0 +D END
# blanket convert all note on+vel0 to off 9X XX 00 = 8X
# trap chan note on IF M0 == L1 # determine transposed note into l3 MAT L3 = M1 + L0
# check in bounds IF L3 >= 0 IF L3 <= 7F # store current delta in I ASS IM1 = L0 # transpose the note ASS M1 = L3 # show last transposed note SET LB1 L3 +N END END
END
# apply current delta to note off IF M0 == L2 MAT L3 = M1 + IM1 ASS M1 = L3 END
X1 -F = XX +B # only pass channel 1 Pad notes on Ch 10 are filtered out
XX = X1 # remap everything to channel 2Regards, Nic.
|
|
|
Post by reathpd on May 14, 2019 13:50:41 GMT
Thank you
|
|