Hello and welcome to the first in depth research post! Today well look at the “this patcher” system in Max MSP and show you how if you learn how to use this object, the world of musical programming would be at your feet.

“This patcher” is an object in Max MSP, that allows the user to script commands and send them to the patch, this could be any kind of commands, from window resize, minimise, to object construction (it even allows you to hide objects from edit mode); but probably the function that I enjoy using the most is the ability to connect objects and patchers between the just with the press of a button, even in presentation mode, and everything is behind the scenes.

I don’t really know what your level of understanding of Max MSP programming is as a reader of a blog, but if there are any questions, that’s why there is a contact section on this website. I will now start explaining how to use the “this patcher” object:

The first thing when you want to get started with this patcher is to create a list of all the objects that you want to use “this patcher” with, or even better create a spacious diagram. Because with “this patcher” you will have to associate a unique scripting name to each object you want to use, and if you give random names it will surely become a mess and you won’t know where to start debugging from.
I want to use this patcher to connect the different modules that I have in my patch between them as the user would select in the matrix. To make things easier, each module would be a different patcher, and would have its own number of inlets and outlets, but in my diagram I need to take note of what is assigned to which outlet or inlet. And when everything is noted and created, I just have to put the “this patcher” object in the main patch, and connect messages to it in the form of:
“script connect object1name outlet1 object2name inlet2”
Knowing this, the rest of the functions for this object are deducible and even looking at the help patch for “this patcher” would give you access to even more command, such as changing your patch interface and make it extremely complicated for anybody to modify or copy your work.

I only mentioned the one command above because that is the one I will mainly use for my project, but if you want me to show you how you can use this object at its full capacity just contact me.

Till next time, Have a good one!