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

The #n notation


The send and receive objects within the MIDI bpatcher had a strange arguments: #0-mono-poly. The # notation allows us to do some very neat things: #1 to #9 accesses the first nine arguments given to the patcher if loaded as an abstraction, and #0 provides us with a unique random number if the patcher is loaded as an abstraction. Open the Pound-Sign-Examples.maxpat patcher. It doesn't do a lot but simply loads the pound-sign-examples_abstr.maxpat abstraction. You can see both of them in the following screenshot. However, if you double-click on the abstraction to view its interior, you shouldn't see the same thing until you unlock the patcher. This is because until you unlock the patch, it is loaded as an abstraction and therefore all the # numbers are replaced.

So, that's pretty handy right? However, what do we need random numbers for? We often build abstractions with the aim of loading multiple instances of them. So, if we naively used [send] and [receive] without this notation...