Hi Brad, the Bome solution worked, Steve Caldwell on their forum helped me.
So my Cantabile controller bar button shows which note his held while the below bome script actually holds the note. So I can look at Cantabile to see which harmony is active.
Here’s the text export of the project:
Project: Hold-Single-Notes-with-CC16-v2
Project MIDI IN ports: My Controller
Project MIDI OUT ports: Application
[x] Preset 0: New Preset
[x] Translator 0.0: CC 16 Slider Note C2 down
Options: swallow
Incoming: Control Change on ch. 1 with CC#:16 (0x10) and any value set ‘qq’ to value
Rules:
if qq<1 then exit rules, skip Outgoing Action
// lets start with higher notes and
// go down from there
// Add higher notes if desired
if qq<127 then ga=11
if qq<124 then ga=10
if qq<112 then ga=9
if qq<100 then ga=8
if qq<88 then ga=7
if qq<76 then ga=6
if qq<64 then ga=5
if qq<48 then ga=4
if qq<36 then ga=3
if qq<24 then ga=2
if qq<12 then ga=1
// Set note to play.
pp=ga+35
// get last note played into tt
tt=gb
// next iteraion set lst note played
if pp!=tt then gb=pp
// if last note played is same as current note, skil
if pp==tt then exit rules, skip Outgoing Action
//Log “Log Note off %tt% - Playing note %pp%”
Outgoing: MIDI 80 tt 00 90 pp 7f, to port Bome MIDI Translator 1 Virtual Out