AbletonOSC's MidiMap API creates persistent MIDI CC assignments to device parameters via OSC, without Max for Live
The /live/midimap/map_cc address accepts (track_id, device_id, param_id, channel, cc) and registers an assignment inside Live’s MIDI map, so that incoming MIDI CC messages on the specified channel/number directly control the device parameter. Channels are indexed from zero (MIDI channel 1 = index 0). This lets an AV script programmatically set up MIDI CC mappings at runtime — for example, mapping a hardware controller’s knob to a synthesiser parameter without doing it manually in Live’s MIDI map editor. It complements the direct-set approach (/live/device/set/parameter/value) for scenarios where a physical controller needs direct hardware-speed control of a parameter, bypassing the OSC round-trip latency.
Examples
Map MIDI CC 7 on channel 1 (index 0) to parameter 3 of device 0 on track 0: /live/midimap/map_cc 0 0 3 0 7. After this, moving a hardware fader sending CC 7 on CH 1 directly updates the parameter without going through OSC.
Assessment
When would you prefer /live/midimap/map_cc over /live/device/set/parameter/value for controlling a synthesiser parameter? What index represents MIDI channel 1?