name ONE indispensable Max/MSP/Jitter object; lines are now open

Aug 20, 2011 at 4:59pm

name ONE indispensable Max/MSP/Jitter object; lines are now open

haven’t posted for a while, kinda miss you guys so I came up with this oft asked question:

What is the ONE Max/MSP/Jitter object you could simply not do without; regardless of preferred medium, externals blah blah etc. Which native object do you use regularly and why?


[trigger] or [t]

control flow; I can impose structuring as I need; without it, my patches would be a mess, or would simply not work as I require.

At first glance, perhaps a frivolous post, but my hope is that this thread will give newcomers the gift of prescience………a valuable skill.


Aug 20, 2011 at 6:17pm


routing a stream in different directions, or more often, just to turn a stream on and off. I use it a lot when using [print], this way I can control when things are printed using a toggle in a locked patch rather than deleting/recreating the patch cord (not possible in a locked patch without scripting). If you have a ton of things printing very rapidly for a test, you only want a couple sets to print to see what’s going on.

It also lets you narrow down processing bottlenecks by routing streams in and out of processes/FX, you can track your CPU with audio or your FPS for matrices when you allow/restrict the input, like a bypass in a vst. Besides, you probably want the capability to turn a given effect on and off anyway…

though [t] is probably tops :)

Aug 20, 2011 at 7:51pm


So useful to capture the output when a patcher I am working on suddenly produces a ‘Hey-what-an-interesting-sound’.

Aug 20, 2011 at 11:09pm

[int] [float] [zl reg]

store ints, floats and lists for later use. very useful, specially for recursive things and to ensure order of operations in more complicated structures…

+1 for [t] though!

Aug 20, 2011 at 11:52pm

matrix~. You can combine lots of signals in any number of arbitrary ways and it provides a very fast building block for mixers in combination with vexpr. It was even better in the old G4 days since (thanks to Altivec) it was screaming fast in comparison to the alternatives.

I use it for mixers, linked coefficients (e.g. for freqs for an additive synth), midside, controlling the timing and volume of delay arrays with tapout~, feedback matrices, switchable filters (onepole~ plus matrix~ 2 1 0. = lowpass & highpass!) and more. It’s also a great way of doing multiply and add, so I use it in my PM.Scale~ object.

My only gripe is that there’s no setrow or setcolumn message, so a lot of people don’t make full use of this object. I think a lot of people only use it with matrixctrl, and that’s unfortunate, because there’s so much more that this object can do.

Aug 21, 2011 at 1:55am

Does [ezdac] or [loadbang] count as an object one cannot live without??! I’ve been stretching the [counter]+[preset] object combo out a lot lately as it’s pretty useful for pattern sequencers when tied with [matrix] or [itable].

Aug 21, 2011 at 12:08pm

I’m with you on [trigger] although when dealing with audio it’s pretty much always [*~].

Aug 21, 2011 at 12:18pm

[pak] not [pack] – I used to use pack all the time with triggers but then I found the [pak] and life was easier. Peter I never use [matrix~], I don’t think I’ve used it once! Must start looking into it.

Aug 21, 2011 at 7:13pm

[line~] – A great way of fading between values at audio rate :)

Aug 21, 2011 at 7:19pm

+1 for [line~]

also love [pak] and [coll]

Aug 21, 2011 at 10:01pm

[coll] Every patch I’ve made has one at minimum!

Aug 21, 2011 at 10:08pm

[scale] or [zmap] – I use at least 1 of these in every patch. Completely indispensable.

There’s also f0.auto_scale which can come in very handy sometimes.

Aug 21, 2011 at 10:24pm

My answer must be obvious before I even post it…

Aug 21, 2011 at 11:02pm


Aug 21, 2011 at 11:46pm

[trigger]/[t] – as Brendan says … definitely an essential

[comment ] – quite often, if I leave something unfinished and come back to it … I don’t understand how it works anymore without reading my little explanatory comments :)

Aug 21, 2011 at 11:55pm

@peter — mine is probably obvious, too. :-)

(although ‘bang’ is a teeny bit useful…)


Aug 22, 2011 at 12:17am

scale~ and objects similar to it.

r and s combos are also indispensable.

Aug 22, 2011 at 2:01pm


not the consensus I expected…..but that’s good; keep them coming.

I would’ve also gone for [scale]/[zmap]/[expr]/[zl], which are all one type of object/function, but I’m learning to do all my scaling outside of Max first (Arduino), simply so that Max/CPU has less work to do…

Peter and Brad may have to be a little less reserved :)


Aug 22, 2011 at 2:14pm

I would guess that Brad is referring to [rtcmix~] :)

Aug 22, 2011 at 2:19pm


Aug 22, 2011 at 4:35pm

Speaking of scaling, don’t forget function; it’s great for multisegment mappings.

Aug 23, 2011 at 1:26am

[route] hands down

gets rid of symbol prefix, invaluable for making an abstraction that follows the left index schema, and allows a more advanced use of all jitter object attributes.

And for some reason I still waffle on it’s pronunciation… :P

Aug 23, 2011 at 9:54am

…by which, you naturally mean “root”?


Aug 24, 2011 at 1:12am

While it is true that we can scale outside of Max – and I’ll leave aside the arguments pro and con of this – the real fun with the scale family of objets is that you can take one input stream and scale it in multiple ways for use in the same patch (0-100 for one thing, 100-0 for another, etc….).

Aug 24, 2011 at 4:25pm

[grab] kind of blew my mind. I look at my pre-grab patches and shudder.

Aug 24, 2011 at 10:04pm

[drunk] is one of the funniest to demonstrate !

Aug 25, 2011 at 6:20pm

New suggestion: any object abbreviated to a single letter.

[t] !!

and, my all time favorite of these:



You must be logged in to reply to this topic.