For user documentation see: https://janburp.github.io/NordModularG2-Editor/
What follows is a brief technical overview and how to set up a local development environment.
- Editor for the Nord Modular G2 for multiple platforms (macOS, Windows, later Linux)
- Built with Electron, TypeScript, and Vue 3
- A C CLI/Daemon handles all USB communication with the G2 hardware
The CLI/Daemon handles all USB communication. All G2 responses go to stdout as JSON; all commands are sent via stdin.
This approach makes it possible to use the CLI/Daemon standalone, or from a different editor.
The Electron app can run in offline mode (editing files only, no G2 connected) or in online mode communicating with the G2 through the daemon.
cli/— C CLI tool for USB communication with the G2 hardwareg2-editor/— Electron desktop app (Vue 3 + TypeScript)test-patches/— Sample.pch2patch files for testingdoc/— Module help files (used by in-app help)docs/— GitHub Pages documentation
- GitHub Pages — user guide, getting started, alternatives
- USB Protocol — USB framing, commands, watch events, daemon architecture
- Patch File Format — PCH2/PRF2 binary format, sections, bit encoding
- CLI Commands — full
g2-clicommand reference - Development Setup — build instructions
- macOS:
brew install libusb - Windows: handled via the release build script (MinGW cross-compile)
cd cli
make # build
make test # run all testscd g2-editor
npm install
cd ../cli && make && cd ../g2-editor
npm run postinstall # copies CLI binary into app resources
npm run dev # development server