Book Image

Multimedia Programming Using Max/MSP and TouchDesigner

By : Patrik Lechner
Book Image

Multimedia Programming Using Max/MSP and TouchDesigner

By: Patrik Lechner

Overview of this book

Max 6 and TouchDesigner are both high-level visual programming languages based on the metaphor of connecting computational objects with patch cords. This guide will teach you how to design and build high-quality audio-visual systems in Max 6 and TouchDesigner, giving you competence in both designing and using these real-time systems. In the first few chapters, you will learn the basics of designing tools to generate audio-visual experiences through easy-to-follow instructions aimed at beginners and intermediate. Then, we combine tools such as Gen, Jitter, and TouchDesigner to work along with Max 6 to create 2D and 3D visualizations, this book provides you with tutorials based on creating generative art synchronized to audio. By the end of the book, you will be able to design and structure highly interactive, real-time systems.
Table of Contents (19 chapters)
Multimedia Programming Using Max/MSP and TouchDesigner
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Getting started with the Jitter matrix


So let's revise. Do you still remember what the plane count is and what dim means? It's probably a bit strange, but in Max, we talk about resolution as the dimensions of the matrix, and color channels as planes. Since a jit.matrix object is reserved memory space, we also have to tell Max what the format should be. So now, let's generate some matrices with different formats, dimensions, and plane counts to get more comfortable with the whole system, as shown in the following screenshot:

In the previous screenshot, you can see how we first make a matrix with 4 planes, ARGB (Alpha, Red, Green, and Blue), in the character format, with a resolution of 1*1 cells or pixels. We use the [swatch] object to set the values of our single pixel and then convert the matrix to a 4-plane, float 32, 3 x 3 pixel matrix. After that, we use [jit.unpack] to access the individual planes, look at the values via [jit.cellblock], and use [jit.spill] to get a list of values from...