Route signal for audio and control data

The way audio Max compiles audio signal networks is, whenever audio is turned on, MSP outlets send out the message ‘signal’. (In other words, that’s how Max knows how MSP objects are connected to each other, and thus knows how to calculate the audio signal network.) The [route signal] object detects the selector ‘signal’ and sends a ‘bang’ out its left outlet in response. The [t signal] object converts that ‘bang’ back into the message ‘signal’.

Dealing with the "symbol" output of coll

Any message that consists of a single word is a message of type symbol (as opposed to int or float or list or some other word followed by other items). The coll object explicitly puts the word symbol ahead of its output if the output is a single word. The advantage of that is that you can detect single-word outputs as being different from all other outputs, by using a route symbol object. loopstart

This example lets you loop a movie, and jump to the beginning of the loop point by defining with a ‘looppoints’ attribute, and using ‘getloopstart’ to retrieve the loop’s starting time to be set to the time attribute for the object.

Stitch MOV frames

Q: I would like to stitch the frames of a MOV and create one big frame in another matrix by stitching all of the frames one after another vertically so I can save it as one bmp. Basically, I would like to create a concatenated film strip image like you can do with ImageMagick or Image Stitcher. 

Extract Indices

In the first example, you can retrieve specific indices from a list using zl lookup.

The second example lets you input two values to be set as a maximum and minimum value of a range, and output a series of integers in that range. 

patcherargs output

This example is intends to clarify a situation where the difference between integers and symbols might be less than obvious. First of all, attribute names are symbols, not integers. Thus, they come out of patcherargs as symbols, not as integers. In this example, the route object tries to compare the symbol ‘-1’ with the number ‘-1’ and the test fails. Give it a try with some of the objects in this patch and note where they’re coming out.

MIDI cc to control umenu

To get the values of only one particular continuous controller, use the ctlin object, or use the route object to parse the controller data coming out of midiparse. To change one range of values into another, use simple math (usually one multiplication and one addition will be enough), or use the scale object.