This script allows to transpose and optionally apply scaling to all incomming midi notes of all channels using three automatable CCs or the GUI elements.
The script handles the hanging-notes problems that would occur when changing transposition or scale while notes are held.
* The CCs are only received on the channel specified in the GUI
* The tranposition CC is centered at value 64 (no transpose)
* The scale CC takes a range from 0 to 24, This range is repeated from 25-49, 50-74 etc
* The root CC takes a range from 0 to 11. This range is repeated from 12 to 23, 24 to 35 etc
* Incomming CCs update the knob positions and labels.
* All midi events except the three controll CCs are routed through the script
* All midi events keep their channel information
* All settings are state-saved.
Developped upon request of @annahahn