temamagic / golaunchpad

Pure go library for controlling a Novation's launchpad controller

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

  • button coloring
  • button identification
  • layout & event abstraction
  • grid with pan support, wrap around option
  • Pulse / Flash color (through midi control)

Midi

  • auto detection
  • 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

  • Select Layout
  • Daw Fader Setup
  • LED Ligthing
  • Text Scrolling
  • Brightness Level
  • LED Sleep/Wake
  • LED Feedback
  • Programmer / Live Toggle
  • DAW / Standalone
  • Clear DAW State
  • Session Colour

Grid & layout

  • dynamic expansion of grid layout
  • color flash (sofware)
  • color animation (blending)

Other

  • 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

About

Pure go library for controlling a Novation's launchpad controller


Languages

Language:Go 100.0%