3 releases

0.1.2 Sep 14, 2024
0.1.1 Aug 26, 2024
0.1.0 Aug 25, 2024

#245 in Encoding

AGPL-3.0-or-later

200KB
5.5K SLoC

ncc

ncc compiles text-based configuration files into custom modes for Novation MIDI devices.

The behavior and appearance of controls on the device are specified using TOML files, which are then compiled by ncc into MIDI SysEx messages that can be sent to the hardware to apply the custom mode.

ncc is not affiliated with Novation or its parent, Focusrite plc.

Supported devices

  • Launchkey [MK3]: full support
  • Launchkey Mini [MK3]: full support, tested
  • FLkey: full support
  • FLkey Mini: full support
  • Launchpad X: full support
  • Launchpad Mini [MK3]: full support

Usage

See ncc --help for detailed usage information. The simplest use of ncc is ncc <file>, which compiles the TOML file <file> into a SysEx file with the same name but ending in .syx:

$ cd examples/launchkey-mini-mk3
$ ls example-pads*
example-pads.toml
$ ncc example-pads.toml
$ ls example-pads*
example-pads.toml  example-pads.syx

See the examples directory for a demonstration of how to write custom modes for ncc.

Installing custom modes

To install custom modes on your device, the compiled .syx file needs to be sent to the device as MIDI (and the response from the device must be read). The way to do this depends on your operating system. A guide is available for GNU/Linux systems using ALSA.

  1. Tested on real hardware.

Dependencies

~2.3–3MB
~63K SLoC