golang library for Novation's Launchpad
This library is to be use to communicate and control with a
Novation Launchpad. Since i only have
access to a single Mini Mk3
that is the only device supported but if i can
It use the rtmidi driver, which require
CGO/gcc to compile on windows but no external libraries to run. I assume the
requirement are the same on other platform.
Other than that, i've tried to limit external dependencies to a minimum. Examples
contains basic setup and are use as integration tests.
Features
- [x] button coloring
- [x] button identification
- [x] layout & event abstraction
- [x] grid with pan support, wrap around option
- [ ] Pulse / Flash color (through midi control)
Midi
- [x] auto detection
- [x] programmer mode
- [ ] support for multiple launchpad device
- [ ] Add support for other launchpad models (x, pro etc)
- [ ] hot plugging / unplugging
- [ ] Midi clock
- [ ] SysEx message readback (ex: device inquiry)
SysEx command
- [x]
Select Layout
- [ ]
Daw Fader Setup
- [x]
LED Ligthing
- [x]
Text Scrolling
- [x]
Brightness Level
- [x]
LED Sleep/Wake
- [ ]
LED Feedback
- [x]
Programmer / Live Toggle
- [x]
DAW / Standalone
- [ ]
Clear DAW State
- [ ]
Session Colour
Grid & layout
- [ ] dynamic expansion of grid layout
- [ ] color flash (sofware)
- [x] color animation (blending)
Other
- [x] linux / raspian
- [ ] darwin
Examples
- wave: colored wave upon pressing a pad button
- scan: light up every button one after the other
- text: display pressed coordinate as text
- layout: press pad to light up buttons, use top button to select pages
- grid: use arrow to scroll through a grid, user button toggle wrapping mode
- blend: use row to change color with a blending fx
Ref