You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Ranges now work for CC mappings in both directions: ["control_change", channel, controller, min, max] scales output into [min, max], and on input clamps and maps back to 0–1 (#105, #104). Note mappings don't support ranges yet.
The main use case is limiting the pitch range of note output, e.g. keeping a melody inside two octaves, or a drum machine that only responds to a few notes. On input, the same range would map a small keyboard or pad controller onto the full 0–1 dimension.
Format needs care, since ["note_on", channel, velocity] already means a fixed output velocity (#108). One option that parallels CCs is ["note_on", channel, velocity, min, max], with the same behaviour as ranged CCs:
Output:round(min + value * (max - min)).
Input: clamp the note to [min, max], then (note - min) / (max - min), with min == max giving 0.
Config changes should be careful here: docs/config.md, the example configs, the conformance vectors and impsy-auv3/impsy-web all need to agree.
Activity