This abstraction expects to get a number in any of its inlets, and will pass the number out the corresponding outlet, but before doing so it will send a 0 out the previous outlet.
This example demonstrates how to retrieve the timescale and duration values associated with a movie file.
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’.
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.
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 jit.qt.movie object.
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.
This patch shows how you might use one set of four toggle objects to control the states of four on/off switches in each of eight different "tracks" or "banks" of four. There are four toggles to control the states in each track. The toggle states will be routed only to the selected track number.
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.
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.
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.