Presets in Max for Live

How to use the Max preset object inside of M4L.

Screen Shot 2015-03-22 at 8.06.14 PM

There is some confusion about how to use Max presets in a M4L device. The method described here lets you save and recall presets with a device inside of a Live set, without additional files or dialog boxes. It uses pattrstorage. It works automatically with the Live UI objects.

It also works with other Max UI objects by connecting them to pattr objects.

Its based on an article by Gregory Taylor: https://cycling74.com/2011/05/19/max-for-live-tutorial-adding-pattr-presets-to-your-live-session/

Download

https://github.com/tkzic/max-for-live-projects

Folder: presets

Patch: aaa-preset3.amxd

How it works:

Instructions are included inside the patch. You will need to add objects and then set attributes for those objects in the inspector.  For best results, set the inspector values after adding each object

Write the patch in this order:

A1. Add UI objects.

For each UI object:

  1. check link-to-scripting name
  2. set long and short names to actual name of param

Screen Shot 2015-03-22 at 8.44.23 PM

A2 (optional) Add non Live (ie., Max UI objects)

For each object, connect the middle outlet of a pattr object (with a parameter name as an argument) to the left inlet of the UI object. For example:

Screen Shot 2015-03-22 at 8.30.24 PM

Then in inspector for each UI object:

  1. check  parameter-mode-enable
  2. check inital-enable

Screen Shot 2015-03-22 at 8.51.10 PM

B. Add a pattrstorage object.

Screen Shot 2015-03-22 at 8.35.28 PM

Give the object a name argument, for example: pattrstorage zoo. The name can be anything, its not important. Then in the inspector for pattrstorage:

  1. check parameter-mode enable
  2. check Auto-update-parameter Initial-value
  3. check initial-value
  4. change short-name to match long name

Screen Shot 2015-03-22 at 8.42.49 PM

C. Add an autopattr object

Screen Shot 2015-03-22 at 8.34.21 PM

D. Add a preset object

Screen Shot 2015-03-22 at 8.34.53 PM

In the inspector for the preset object:

  1. assign pattrstorage object name from step B. (zoo) to pattrstorage attribute

Screen Shot 2015-03-22 at 8.52.11 PM

 Notes

The preset numbers go from 1-n. They can be fed directly into the pattrstorage object – for example if you wanted to use an external controller

You can name the presets (slotnames). See the pattrstorage help file

You can interpolate between presets. See pattrstorage help file

Adding new UI objects after presets have been stored

If you add a new UI object to the patch after pattrstorage is set up, you will need to re-save the presets with the correct setting of the new UI object. Or you can edit the pattrstorage data.

 

 

ep-426 – Interactive video – Spring 2015 week 9

(totally under construction)

Various connections

Forward-Biased_pn_Junction.svg

 

Jitter + Processing

Example by Peter Wiessenthaner https://reactivemusic.net/?p=18529

Download Processing

https://processing.org

Examples: https://reactivemusic.net/?p=18655

OSC control of Processing with Max

Visualization of an audio signal from Max.

Tutorial by dude837

Max patch and processing sketch: http://otherbirds.com/tutorials (Processing 1: Deception)

Sending video from Processing to Jitter with Syphon

Screen Shot 2015-03-21 at 10.19.29 PM

Processing
  • add the “Syphon” library to Processing (sketch | import library | add library)
  • Load the “sendscreen” example sketch (file | examples | contributed libraries | syphon).
Max
Processing
  • Run the sendscreen sketch – you should see the output in both a Processing and a Jitter window.

Youtube in Max

Cefwithsyphon for Max (Web video streaming): https://reactivemusic.net/?p=11371

Video screen capture in Max

jit.desktop

p5.js and p5js.sound

Processing in a Web browser.

Miscellaneous

Assignment:

Next week we will present mid-term projects in class

ep-426 – Interactive video – Spring 2015 week 8

Screen Shot 2015-03-23 at 1.59.10 AM

Miscellaneous topics

(In addition to looking at student work in progress.)

Ableton Push as low resolution video display: https://reactivemusic.net/?p=18473

Jitter Open GL Physics example fixed (dude837 21b “bumper”) https://reactivemusic.net/?p=18585

Random walk synthesizer: https://reactivemusic.net/?p=18455

Basis functions using jit.bfg – an alternative to ordinary noise. https://reactivemusic.net/?p=18594

Not covered:

Rokvid M4L (Adam Rokhsar)

The difference between Jitter video matrixes and Open GL matrixes

image playlists (picturething2)

opening up vizzie and bpatchers in general