Skip to content

Compiler for custom modes on Novation MIDI devices—libre alternative to Components

License

Notifications You must be signed in to change notification settings

taylordotfish/ncc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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, tested1
  • FLkey: full support
  • FLkey Mini: full support
  • Launchpad X: full support
  • Launchpad Mini [MK3]: full support

Installation

Ensure Rust 1.74 or later is installed. Then install with Cargo:

cargo install ncc

This will install a binary named ncc in ~/.cargo/bin. If that directory is in your PATH, you can run the program simply by typing ncc in your shell:

$ ncc --version
ncc 0.1.3-dev
Manual installation

To compile and install ncc manually, ensure the following dependencies are installed:

Download the source code:

git clone https://github.com/taylordotfish/ncc
cd ncc

Build and install the program:

cargo install --path .

Alternatively, you can build and run ncc locally without installing:

$ cargo build --release
$ ./target/release/ncc --version
ncc 0.1.3-dev

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.

License

ncc is licensed under version 3 of the GNU Affero General Public License, or (at your option) any later version. See LICENSE.

The example .toml files in the examples directory have additionally been released to the public domain using CC0.

Contributing

Pull requests are welcome. By contributing to ncc, you agree that your contribution may be used under the terms of ncc’s license.

Footnotes

  1. Tested on real hardware.

About

Compiler for custom modes on Novation MIDI devices—libre alternative to Components

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published