/Max

patches for Livid Controllers and Cycling74 Max

Primary LanguageMaxThe UnlicenseUnlicense

Max

A growing library of patches that detail how to work with Livid controllers and Cycling74's Max6 software. The easy way to make all this work is to put the whole repo in your Max search path. Max for Live devices are not frozen, it is recommended that you do this!

The Device Example Max For Live devices depend on the corresponding "M4L" Live Remote Script that can be found in our Live Remote Scripts repository. You'll also need to make sure the "scripts" folder in this repository can be found by Max, as the M4L devices require the LividM4Lhub.js.

An overview of contents:

CNTRL:R folder
01_CNTRLR_simple.maxpat - This patch provides a system for generating names for groups of controls, and attaching MIDI notes and ccs to those names. The result is MIDI input converted to symbols, which we can use to more intuitively control our patch. In a way, this is "MIDI learn" for Max. 02_CNTRLR_toUI.maxpat - Here we use the names we generated in "CNTRLR_simple" to create a UI and control the UI with MIDI. 03_LEDcontrols.maxpat - This patch describes how to control LEDs on the CNTRL:R, and how to configure some things with the 'settings channel' 04_SimpleStep.maxpat - We put everything we've learned together and make a simple step sequencer using the bottom two rows of 16 buttons on the CNTRL:R 05_UItoCNTRLR.maxpat - UI data in the max patch (in this case, on-off states of toggles) is polled and sent to the CNTRL:R to illuminate LEDs. The challenge here is to blink an LED with red, but reset the LED with it's previous color.

Alias8 Folder
Alias8 DeviceExample.amxd - Example Max For Live device that works with the M4L script at https://github.com/LividInstruments/LiveRemoteScripts for easy in/out of data from an Alias8 to a Max for Live device, including LED control

Code Folder
Code DeviceExample.amxd - Example Max For Live device that works with the M4L script at https://github.com/LividInstruments/LiveRemoteScripts for easy in/out of data from a Code to a Max for Live device, including LED control

Base Folder
Base DeviceExample.amxd - Example Max For Live device that works with the M4L script at https://github.com/LividInstruments/LiveRemoteScripts for easy in/out of data from a Base to a Max for Live device, including LED control

Guitar Wing Folder
GuitarWing DeviceExample.amxd - Example Max For Live device that works with the M4L script at https://github.com/LividInstruments/LiveRemoteScripts for easy in/out of data from a GuitarWing to a Max for Live device, including LED control GuitarWing InOut.maxpat - Example patch that maps MIDI from a GuitarWing to Max UI elements, and provides a nice example of how to control the LEDs on the Guitar Wing with MIDI out. Steppegiator.amxd - Assign a note from the guitarwing to act as a trigger to step through a table on notes.

Ohm Folder
softMap.maxpat - remaps incoming MIDI data from Ohm64/RGB into different cc or note messages on unique channels and send the altered MIDI to a port of your choice. Good example of interface and use of pattrstorage.

Abstractions folder
2coll - takes a stream of data and prepares it to store into a coll object, it in order received. mtxbtn.png - image for the matrixctl object polystep16 - used in a poly~ in the StepApp.maxpat for 16 sequences zeroseq.json - can be read into "dict seqs" to clear all sequences listinterp.maxpat - a utility patch used to create a lookup table of interpolations between lists. scaleinterp.json - json file of different scales for interpolation scales.json - json file of different scales zeroenc.json - used for dict to reset all encoder values zeroseq.json - used for dict to reset all sequences

BEAP folder
Various synthesizers and support patches built with/branched from the BEAP virtual analog system from stretta: https://github.com/stretta/BEAP

examples folder
basic_concepts.maxpat - a patch to describe a nice way of wirelessly patching max and integrating pattrstorage
save_sysex_settings.maxpat - a utilty that detects a Livid controller, requests its current settings, then saves them to a file for later use.
scriptingName_example.maxpat - a simple example of how to use thispatcher and an objects "Scripting Name" to control and object. The patches in this collection make heavy use of this practice, so a simple example seemed worthwhile for those unfamiliar with this feature in Max.
monomeBridge.maxpat - turns a button grid on the block, Ohm64, OhmRGB, or Code into a monome. Converts MIDI to OSC and back.
scripts
LividM4LHub.js - communicates with M4L scripts to provide controller info in a Max for Live device
findLivid.js - uses Sysex to find a Livid controller on a MIDI port and initialize a patch appropriately
findLivid.maxhelp - help file for findLivid.js
li.getsetup.js - uses sysex to determine the analog, button and LED mapping of some Livid controllers
li.UI.js - Takes in the MIDI assignment data in form of sysex and coordinates messages for graphical interface and patch interaction.
li.UI.maxhelp - example patch for li.UI.js
ohmrgb_colors.js - This script manages color schemes and patterns for the OhmRGB controller.
Launchpad DeviceExample.amxd - A Max For Live device that makes it easy to create devices around the Novation Launchpad.
img