Gridlock 0.3.54 - ETA 10/11/14
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.
Initially developed for the Launchpad, supported platforms are growing. Launchpad S, Launchpad Mini and Ableton Push are supported for both Max and M4L, as are the Livid Base/Base II and OhmRGB, and the Launch Control family. QuNeo is currently supported in Max, and for tablet users, Lemur and TouchOSC are fully supported and Mira will be landing in the not too distant future.
The target market for this product is two-fold:
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.
Currently Supported Hardware/Software
- Novation Launchpad/Launchpad S/Launchpad Mini
- Novation Launch Control/Launch Control XL
- Livid Base/Base II
- Livid OhmRGB
- Ableton Push
- Livid DS-1
- Akai APC Mini
- Akai APC40/APC40 MkII
- Livid Alias 8
- Livid Ohm64 (if demand)
- Livid Block (if demand)
- Monome 64/128/256
- Quneo(M4L) (if demand)
- Receive updates from grid controller indicating which buttons have been pressed
- Send updates to grid controller 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/XY/Monome modes
- User definable midi note/controller event for each grid cell/slider/bend/XY
- Matrix mode: Mix a selection of momentary/toggle/4-way buttons - 4 banks are provided
- Slider mode: 4 banks of vertical/horizontal/inverted sliders.
- Bend mode: 4 banks of vertical/horizontal pitch bend like controls.
- XY mode: 4 banks of 4 XY controls.
Each momentary/toggle can have it's own colour and own velocity
Each slider can have it's own colour and velocity
Add a +ve or -ve amount to a target
Each grid press sends out two controller values
- 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
- Slider grouping: select a number of sliders to be operated as a single control, either absolutely or relative to each other - with Push use the touchstrip to control the groups
- Auto-zero: For sliders, bends and XYs set the controls to automatically return to 0 when the control is released
- Switch seemlessly between modes, with all state being stored for each mode
- Configurable MIDI/OSC input/output per controller instance
- Intelligent bullk update processing for original Launchpad for fast and efficient updates
- Fine control mode for Sliders, Bends & XY
- Double control mode for Sliders and Bends allowing 16 levels to be used per slider
- 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
- Key map for controlling buttons from a keyboard
- Max sync for syncing Max transport to an external clock source
- Double click support (experimental)
- Monome emulation: See below
8 banks of configurable encoders and faders are supported natively for controllers which have them. Additionally, there is the option of adding an external bank of endless encoders which can be incorparated into the controller to augment the functionality of a grid controller.
- Push/OhmRGB/Launch Control/XL encoders/faders supported natively
- Encoders mapped to touchstrips on Base
- 8 banks for endless or non-endless encoders and 8 banks for faders
- Encoders and XY pads provided on Lemur and TouchOSC
- Absolute and relative encoders supported(several modes)
- Encoder banks can be linked to a matrix for auto-selection when a grid is selected
- Each encoder can be configured to send its own MIDI message
- External endless encoders can be used for Arc emulation (Push/Base coming in future update)
- Feedback supported for controllers that can display position information
Support for both Lemur and TouchOSC has been considerably enhanced for 0.3.50 with both platforms leveraging on the option of using native controls if the user wants and providing 8 encoders or 4 xy controllers for additional control. Both platforms also support running 128 and 256 Monome grids natively without having to bank around. The TouchOSC solution has also been enhanced with OSC bundle support (requires Java) for a much more stable and fluid experience.
Lemur additionally supports a zoom mode for finer control of encoders and XY pads (will be available on TouchOSC in a future release) and an Arc emulator.
With the increasing control options, set to build over time, a new Heads Up Display (HUD) has been provided. This allows a pop up display on your laptop to provide a quick reference to your current setup and what the grid is currently controlling. The HUD will track all changes you are making to Gridlock and can be resized as you wish to fit in with a screen layout for your performance play.Each section of the HUD is collapsable so that if screen real estate is at a premium you can display only what you are interested in.
With the release of 0.3.53 the HUD is more representative of the controller being used, rather than a standard Launchpad layout
- Controller - Gridlock comes with a comprehensive configuration screen to tailor the operation of your controller (e.g. colour setup, MIDI mappings, button behaviour).
Each configuration can be saved and restored at a later date. Additionally, the current state of Gridlock will be saved along with your set in Live.
Additional settings for each instance consists of rotation, momentary time, refresh time and double-click time
- Application - application configuration covers OSC devices, Monome apps, number of controllers, IO plus other information which represents the guts of your setup, including which devices are allocated to which controller instances. Again, each app setup can be saved and restored at a later date.
Finally, an in-controller configuration system is available for changing behaviour on the fly. This will eventually be configurable so you can setup the controller exactly how it suits you.
- Additional flash rates
- Fully configurable button menu system to set up your controller as you want it
- Additional modes:
- Selector mode
- n-way mode (n steps per button)
- Dual bend mode
- Mixed mode (Momentary/Toggle/4-Way/n-Way/Slider/Selector/Bend/Clip/Loop/Stutter)
- Pad mode
- Velocity support
- Extended preset storage
- Custom labels - replace all your MIDI mappings with human readable text
MN+ is a monome emulator written on top of the base controller. Current supported functionality is:
- Monome 64/128/256 emulation
- monome_sum support (Download)
- 32/64 bit
- Support for manual configuration, zeroconf and SerialOSC protocols
- Support for 7 configured monome apps (this will be increased in an upcoming version)
- Configurable colouring at the grid cell level or by each 8x8 unit
- Support for varibrightness (intensity)
- 128/256 grids available on Lemur and TouchOSC
- Autoloading of Monome apps (Max)
- Autoconnect for SerialOSC Monome apps (Max)
- GridLink support - use multiple controllers to create 128/256 surfaces
- Split large-frame surfaces into multiple apps, e.g. run 2x64, 1x128 apps on a 256 surface
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 :)
The main page for the Monome apps can be found at http://monome.org/docs/app.
Arcane is a monome Arc emulator written on top of the base controller. Current supported functionality is:
- Arc 2/4 emulation
- Support for up to 4 Arc apps
- Available for external bank of endless rotary encoders and on Lemur (Push in a future update)
- Feedback provided on the HUD or directly on Lemur
- Configurable brightness controls
- Autoloading of Arc apps (Max)
- Autoconnect for SerialOSC Arc apps (Max)
Working on some new videos as we speak, until then here are a couple of videos demonstrating the Monome emulation portion of Gridlock.
Thanks to PJ for the demo vids
Thanks to novasnoa for demoing Kolorit on Gridlock
All donators will be added to the beta program upon request (10E minimum)
This software is donationware. You are free to download and use it for personal use for free. If you are using it for commercial production or gigging (or not!) please consider leaving a donation as this will allow me to keep developing more apps 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 firstname.lastname@example.org in order to discuss this option.
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