I don't mind making a donation for this.
I need a better way of snapping selected midi notes to note numbers or a reascale.
From the region name I can get the root and chord then calculate the notes and reascale:
root ="C"
notenums = "0,4,7" -- 0 being root
reascale = "100030050000"
so I can get those no problem but then I just need to move the existing notes to those,
I have been using mpl snap selected notes to scale but I get notes over the top of each other, only 2 notes in a triad and the notes transposed too much.
You can see below in before and after, the lighter notes are the chord snap guide track notes that they should snap to, green being the root.
Before After wrong
Should be like this
or like this