Gridlock: Grid Interface (M4L/MAX)

Gridlock provides an easy-to-use abstraction for using a number of grid based controllers from either inside M4L or standalone in a MAX application. All communications (to and from each supported device) are handled for you and a consistent message spec is provided for talking to each physical device.

Primarily developed for the Launchpad, supported platforms are growing. Examples of upcoming adaptors for hardware are QuNeo and Push, along with Mira, Lemur and TouchOSC interfaces for the iPad.

The target market for this product is twofold:

1) Developers in MAX/M4L that wish to use one of the supported controllers without having to write the low-level code for interfacing to the controllers can use the exposed API. Anything developed will work with any of the supported controllers without having to worry about the ins and outs of each device.

2) Musicians can use the built-in functionality for configuring the controller to provide easy access to OSC/Midi based applications that they desire. Again, the control surfaces available to you are those currently supported by the application.

Current Functionality 0.3.1

  • Receive updates from LP indicating which buttons have been pressed
  • Send updates to LP to set button colour
  • Configurable momentary value for holding buttons down
  • Mini display to indicate which buttons are active/momentary
  • Configuration editor for Matrix/Slider/Bend/Monome modes
  • User definable midi note/controller event for each grid cell/slider/bend
  • Modes:
    •    Matrix mode: Mix a selection of momentary/toggle/4-way buttons.
    •                        Each momentary/toggle can have it's own colour and own velocity

    •    Slider mode: 4 banks of vertical/horizontal/inverted sliders.
    •                        Each slider can have it's own colour and velocity

    •    Bend mode: 4 banks of vertical/horizontal pitch bend like controls.
    •                        Add a +ve or -ve amount to a target

  • Flash support: 5 different rates of flashing assignable to each button for configurable visual feedback
  • Button grouping: Group buttons together so that only one out of the group can be active at any time
  • Switch seemlessly between modes, with all state being stored for each mode
  • Fine control mode for Sliders & Bends
  • Attack/Decay for momentary and toggle switches
  • Repeat functionality to repeat the action of a button at timed intervals, for a few times or forever
  • Lemur template
  • TouchOSC template
  • Monome emulation: See below
     
Lemur TouchOSC

 

Future Functionality

  • Additional flash rates
  • Fully configurable menu system to set up your controller as you want it
  • Additional modes:
    •     Selector mode
    •     n-way mode (n steps per button)
    •     Dual slider/bend mode
    •     Mixed mode+ (Momentary/Toggle/4-Way/n-Way/Slider/Selector/Bend/Clip)
    •     Pad mode
    •     X-Y mode
  • Double click support
  • Velocity support
  • Rotation
  • Extended preset storage
  • Mira support
  • Quneo support
  • Push support
  • Multi-launchpad support (turn multiple LPs into one big controller) including virtual LP support
  • GridLink - Extensive mapping of the grid to Ableton Live - program the controller on the fly and hook it up to anything in Live
  • TrackLink - GridLink setup tailored to track control
  • LiveLink - Direct integration into the Live Interface API development: Ableton

 

This software is donationware. You are free to download and use it for personal, non-commercial use for free - if you like it then please come back and donate so that I can keep on producing devices such as this.

Please note that the license does not include the right to distribute any portion of the software in your own commercial devices, or any modified code in non-commercial devices - please contact m4l@sigabort.co in order to discuss this option.

 

MN+ Monome Emulation (M4L/MAX)

MN+ is a Monome emulator written on top of the base controller. Current supported functionality is:

  • Monome 64/128/256 emulation
  • Support for legacy, autoconf, zeroconf protocols, along with autofocus
  • Support for 7 configured monome apps (this will be enhanced if there is enough interest)
  • Configurable colouring at the grid cell level or by each 8x8 unit

 

Future Functionality

  • Multi-launchpad support
  • Serialosc connections
  • Rotation
  • Intensity mapping

 

The Monome community has a great number of open source contributors who provide an outstanding mix of quality applications that cover an enourmous amount of ground. If you use this app to use those applications, please consider leaving a little contribution to the programmers involved for the effort and passion that they put into their work :)

There is quite alot of ground to cover here on different protocols, framesizes etc, so it is likely that there will be apps which do not quite work correctly - I am addressing these as they come up, but please send me a mail at the address below if there is a particular app that is not working and I'll take a look at it.

The main page for the Monome apps can be found at http://monome.org/docs/app.

Thanks to PJ for the demo vids

 

If you've had a play and like what you see then please help me keep this and future products free by leaving a donation, and as word of mouth is my best advertisment, please pass on the details on to anyone else you know that might be interested! Thanks