Added per-control param to enable High-Res midi output (for output CC#0-31/32-63 and velocity with CC#88 norm) (default: off). Added global param to enable High-Res midi input (for input CC#0-31/32-63 and velocity with CC#88 norm) (default: off). Added special control for adjusting the keyboard velocity curve Fixed bug introduced in 3.1a, notes would have velocity at zero if the velocity curve was not enabled. Fixed bug introduced with transposition, notes were shifted by default. Bug fix : red curve feedback circle was a bit shifted if the CC was set to High Res. Added theme system, with two themes, Dark and Light. Predefined curves will be adapted to that range and pen drawing will be restricted to that range too. Added curve min/max behaviours : the user can now set some min/max limits on the curve, so that the curve is clamped between those bounds. Since red keys may now be kept due to channel re-routing, added an option to select what keys are affected by the velocity control (All/Green/Red) Since red keys may now be kept due to channel re-routing, added an option to select what keys are transposed (All/Green/Red) Added firewall option for unrouted notes. Added channel routing options for notes and ccs. Added a "pen" button to trigger pen mode, to avoid accidental clicks on the curve Fix : HighRes midi velocity LSB was not sent on the proper CC (#88). Fix : HighRes midi velocity was not properly handled for MSB 1, LSB 0.
Bug fix for notes that could be transposed outside of midi range. Added support for all notes within the MIDI range (0-127). Function export : MIDI CC Mapper X is now shipped with a script that exports the current curve User sets : the user can now import her/his own curves in the library Parametric sets : some sets are parametric, they can be used to generate an infinite number of curves Function library system : functions are stored in a function lib with sets that are extensible Added MIDI Bus routing support as global setting. Added support for Pitch Bend (symmetrical) Reworked keyboard splitting : up to five ranges may be defined, each with its own routing, transpose parameters, velocity curve, after touch curve Reworked Channel Pressure (breaking change) : treat Channel Pressure as Virtual CC#128 in the UI to allow painless CCCP conversion. Added pass through option per control to keep original events and allow event duplication Default value for keyboard ranges transposition is now ON instead of OFF (it feels more logical in the main flow) It has now basic support for REAPER Midi Buses (it can be used on all buses at a time, or layered on one MIDI Bus, and it can be rerouted). Handle High-Res input and Output for the CCs (CC/CC+32) and Keyboard velocity (CC#88 format).
Pass through initial unmodified events (and act as a splitter) The current curve can be exported and reused in your own sets - Split/drop/channel re-route keyboard keys By extending the predefined curves with your own sets of functions (through lib files) By restricting the range of values of your curve By pen-drawing/prototyping custom curves Tweak CC (or Channel Pressure) / Pitch Bend / Keyboard Velocity / After Touch response curves : - By using predefined curves, some of them being parametric Originally, its main purpose was to allow to modify the behavior and the real-time feel of a MIDI controller, by acting as a filter on the MIDI input by applying custom curves. This JSFX is an extended version of the original plugin called "MIDI CC Mapper" with many more features. The current version is 4.2 and it looks like this : This is the official thread for the Midi CC Mapper X JSFX.