{"id":28302629,"url":"https://github.com/taylordotfish/ncc","last_synced_at":"2025-06-14T05:32:23.951Z","repository":{"id":254763803,"uuid":"847475986","full_name":"taylordotfish/ncc","owner":"taylordotfish","description":"Compiler for custom modes on Novation MIDI devices—libre alternative to Components","archived":false,"fork":false,"pushed_at":"2025-06-14T03:46:58.000Z","size":248,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-14T04:35:38.843Z","etag":null,"topics":["compiler","customization","launchkey","launchpad","midi"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/taylordotfish.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-08-25T23:21:42.000Z","updated_at":"2025-06-14T03:47:01.000Z","dependencies_parsed_at":"2024-08-26T00:16:58.202Z","dependency_job_id":"9cbb6dc6-02f8-44a1-9ef6-9daeb7fb5586","html_url":"https://github.com/taylordotfish/ncc","commit_stats":null,"previous_names":["taylordotfish/ncc"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/taylordotfish/ncc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taylordotfish%2Fncc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taylordotfish%2Fncc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taylordotfish%2Fncc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taylordotfish%2Fncc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/taylordotfish","download_url":"https://codeload.github.com/taylordotfish/ncc/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taylordotfish%2Fncc/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259762220,"owners_count":22907375,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["compiler","customization","launchkey","launchpad","midi"],"created_at":"2025-05-23T21:11:57.738Z","updated_at":"2025-06-14T05:32:23.913Z","avatar_url":"https://github.com/taylordotfish.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- This file is automatically generated from .misc/README.m4. --\u003e\nncc\n===\n\nncc compiles text-based configuration files into custom modes for Novation MIDI\ndevices.\n\nThe behavior and appearance of controls on the device are specified using\n[TOML] files, which are then compiled by ncc into MIDI SysEx messages that can\nbe sent to the hardware to apply the custom mode.\n\n[TOML]: https://toml.io\n\n*ncc is not affiliated with Novation or its parent, Focusrite plc.*\n\nSupported devices\n-----------------\n\n* Launchkey \\[MK3]: full support\n* Launchkey Mini \\[MK3]: full support, tested[^1]\n* FLkey: full support\n* FLkey Mini: full support\n* Launchpad X: full support, tested[^1]\n* Launchpad Mini \\[MK3]: full support\n\n[^1]: Tested on real hardware.\n\nInstallation\n------------\n\nEnsure [Rust][rust-inst] 1.74 or later is installed. Then install with Cargo:\n\n[rust-inst]: https://www.rust-lang.org/tools/install\n\n```bash\ncargo install ncc\n```\n\nThis will install a binary named `ncc` in `~/.cargo/bin`. If that directory is\nin your `PATH`, you can run the program simply by typing `ncc` in your shell:\n\n```console\n$ ncc --version\nncc 0.1.3\n```\n\n\u003cdetails\u003e\n\u003csummary\u003eManual installation\u003c/summary\u003e\n\nTo compile and install ncc manually, ensure the following dependencies are\ninstalled:\n\n* [Rust] 1.74 or later\n* [Git]\n\n[Rust]: https://www.rust-lang.org\n[Git]: https://git-scm.com\n\nDownload the source code:\n\n```bash\ngit clone https://github.com/taylordotfish/ncc\ncd ncc\n```\n\nBuild and install the program:\n\n```bash\ncargo install --path .\n```\n\nAlternatively, you can build and run ncc locally without installing:\n\n```console\n$ cargo build --release\n$ ./target/release/ncc --version\nncc 0.1.4-dev\n```\n\u003c/details\u003e\n\nUsage\n-----\n\nSee `ncc --help` for detailed usage information. The simplest use of ncc is\n`ncc \u003cfile\u003e`, which compiles the TOML file `\u003cfile\u003e` into a SysEx file with the\nsame name but ending in `.syx`:\n\n```console\n$ cd examples/launchkey-mini-mk3\n$ ls example-pads*\nexample-pads.toml\n$ ncc example-pads.toml\n$ ls example-pads*\nexample-pads.toml  example-pads.syx\n```\n\nSee the [examples] directory for a demonstration of how to write custom modes\nfor ncc.\n\n[examples]: examples/\n\nInstalling custom modes\n-----------------------\n\nTo install custom modes on your device, the compiled `.syx` file needs to be\nsent to the device as MIDI (and the response from the device must be read). The\nway to do this depends on your operating system. [A guide is available][alsa]\nfor GNU/Linux systems using ALSA.\n\n[alsa]: doc/alsa.md\n\nLicense\n-------\n\nncc is licensed under version 3 of the GNU Affero General Public License, or\n(at your option) any later version. See [LICENSE](LICENSE).\n\nThe example `.toml` files in the [examples] directory have additionally been\nreleased to the public domain using [CC0].\n\n[examples]: examples/\n[CC0]: https://creativecommons.org/publicdomain/zero/1.0/\n\nContributing\n------------\n\nPull requests are welcome. By contributing to ncc, you agree that your\ncontribution may be used under the terms of ncc’s license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftaylordotfish%2Fncc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftaylordotfish%2Fncc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftaylordotfish%2Fncc/lists"}