Max for Live Tips & Tricks

Learn about building and using Max for Live devices.
stringtapper
Posts: 6321
Joined: Sat Aug 28, 2004 6:21 pm

Re: Max for Live Tips & Tricks

Post by stringtapper » Sun Dec 13, 2009 9:07 pm

Wow, insanely useful. Thank you for posting that!
Unsound Designer

Tone Deft
Posts: 24152
Joined: Mon Oct 02, 2006 5:19 pm

Re: Max for Live Tips & Tricks

Post by Tone Deft » Sun Dec 13, 2009 9:19 pm

wow. that's amazing. I'm still not comfortable with making Live API stuff on my own, that will help a TON.

Strings - thanks for the shit tip. yay!!
In my life
Why do I smile
At people who I'd much rather kick in the eye?
-Moz

gavspav
Posts: 342
Joined: Tue Jul 12, 2005 12:43 am

Re: Max for Live Tips & Tricks

Post by gavspav » Mon Dec 14, 2009 10:17 am

Most of my problems seem to arise from ordering issues.

Watchpoints and the debugger are proving very useful to get my head around this, see Max Tutorial 5.

Maybe I shouldnt post in this thread saying "Read Tutorial 5" but I did the Tutorials a while ago and just went back to this one.

jon_moore
Posts: 320
Joined: Thu Oct 23, 2008 4:50 pm

Re: Max for Live Tips & Tricks

Post by jon_moore » Mon Dec 14, 2009 10:51 am

gavspav wrote:Most of my problems seem to arise from ordering issues.

Watchpoints and the debugger are proving very useful to get my head around this, see Max Tutorial 5.

Maybe I shouldnt post in this thread saying "Read Tutorial 5" but I did the Tutorials a while ago and just went back to this one.
I'd say going through the included tutorials is the best tip of all (at least twice for that matter)!

:)
JM

http://leftside-wobble.blogspot.com/

MacBook Pro 2.8 (10.5.6)

mastahlee
Posts: 40
Joined: Sat Sep 19, 2009 11:49 pm

Re: Max for Live Tips & Tricks

Post by mastahlee » Mon Dec 14, 2009 9:50 pm

Man, this thread has exploded! Really good tips, guys, I've learned probably five or six new things reading through so far.
gavspav wrote:Most of my problems seem to arise from ordering issues.

Watchpoints and the debugger are proving very useful to get my head around this, see Max Tutorial 5.

Maybe I shouldnt post in this thread saying "Read Tutorial 5" but I did the Tutorials a while ago and just went back to this one.
I figured out the basic functionality of the debugger myself and was just going to post it. For those documentation-averse (yeah, yeah, yeah, I'll go through the tutorial after I finish this patch...) here is a quick-and-dirty that I figured out to get useful basic debugger functionality.

Why Use the debugger?
Having issues with your patch and not sure why? Getting an unexpected result, or can't seem to nail down those edge cases in your loop? Unsure about your message ordering or when a piece of data is getting to specific place at the right time? Want to inspect your objects at some specific point in time? The debugger can help you with all these problems!

Steps to Basic Debugging with Break Points
First, enable debugging by clicking "Enable Debugging" in the Debug menu. Easy!

Next, find a patch cord that you want to know what is going on at. Right click on the cord and select "Add Break Point". A red circle with a number in it should appear over the cord.

Now, do some action that causes input to go through that cord. The program will stop at that moment and the debugger window will open. Browse through the window to see your data at all the points prior to that moment. You can then either hit the continue button for your patch to proceed like normal, step through each following action one at a time, or abort the whole process.

When you're done debugging, be sure to click the "Disable Debugging" option in the Debug Menu. You can keep your break points if you want for later debugging sessions, or delete them by right-clicking on the patch cord and select "clear Break Point".

There is much more that you can do with debugging, but I haven't taken the time to figure it out yet and this one use case always solves my problem. Hope it helps!

qzs3ESc7
Posts: 13
Joined: Wed Nov 04, 2009 7:11 pm

Re: Max for Live Tips & Tricks

Post by qzs3ESc7 » Fri Dec 18, 2009 12:31 pm

Sorry. In the last weeks I just used live for audi processing. That way I hear a lot without activating "play". When I first tried buffer shuffler I was very confused because I forgot about activating it ... just thought something similar might have happened to you.

Machinate
Posts: 11648
Joined: Thu Jun 24, 2004 2:15 pm
Location: Denmark

Re: Max for Live Tips & Tricks

Post by Machinate » Sat Dec 19, 2009 12:29 am

One thing that really helped me a lot was the now infamous yet top secret (lolwut) Max ToolBox:
http://www.youtube.com/watch?v=fcqF9hDNoJk
http://code.google.com/p/maxtoolbox/
Select a bunch of objects, hit a key command to connect them all to an object below.
Distribute and align, way superior to the built in system (which is still awesome)

It really helps your workflow that you don't have to do all the tedious stuff like dragging cables around.

Also;

[zl] <- I can't describe how many times I've been dealing with a list and been like "how the FUCK do I do this next bit?" and then the zl family of objects saved my ass.

[vexpr] which usually does all my "normal max-object needs, but for lists"

okay, these aren't specific to M4L, but I thought I'd share anyways.
mbp 2.66, osx 10.6.8, 8GB ram.

BOB Cooper
Posts: 107
Joined: Wed Dec 31, 2008 1:45 pm
Location: France

Re: Max for Live Tips & Tricks

Post by BOB Cooper » Sat Dec 19, 2009 2:48 am

stringtapper wrote:
Tone Deft wrote:I'm watching videos over here
http://darwingrosse.blogspot.com/

and as he draws wires I hear a click as he sets corners for the routing, how is he doing that?
Hold shift when you click an outlet to start drawing a cable. Then you can click at each point where you want the cable to segment after that.

OR you can have "Segmented Patch Cords" chosen in the Options menu which will let you do it without holding shift first.
Also comm + Y to get 2 corners on your wires.

LOFA
Posts: 3365
Joined: Mon Jan 10, 2005 7:10 pm

Re: Max for Live Tips & Tricks

Post by LOFA » Sun Dec 20, 2009 4:06 am

Style/Workflow-tip. Make things float by encasing them in a patcher with at least a dummy inlet inside it, so that you can attach a pcontrol-object to it. Then use a toggle/live.button sent to a select with the attributes 0 / 1, connected to the relevant messages "open" and "close," leading into the pcontrol.

Here is an example; a floating "Buffer Shuffler"
Last edited by LOFA on Mon Dec 21, 2009 5:20 pm, edited 1 time in total.

prebentious
Posts: 312
Joined: Fri Jul 20, 2007 12:07 am

Re: Max for Live Tips & Tricks

Post by prebentious » Sun Dec 20, 2009 9:09 am

Here's an abstraction (that I called Interval) that I made that might come in handy. It's a counter for various metrical intervals. If you want to know how many sets of 7 16th notes since the beginning of the set, or how many sets of 4 measure phrases since the beginning of the set, or just want a bang every three quarter notes, this will do the trick.
There are two arguments and two inlets, which feed the numerator and the denominator. If you want to count every three eighth notes, put in 3 8 as the argument, or send a 3 in the first inlet, and an eight in the second. If you want to count every four measures, put in 4 1.
Make sense?

Here's how to use abstractions:
http://cycling74.com/docs/max5/vignette ... tions.html

<pre><code>
----------begin_max5_patcher----------
1772.3oc2assbiZCF9ZmmBMd1K5z0qqj.AhdU5gq6KvN6jgXqDSCFbM38P2Y
e2qN.DuYwlehs+kmNYRBRFAe5S+mk7WuYxz6K+rpZJ4WIumLYxWuYxDaWlNl
zzdxz0oedQdZk81lVn9T48+8zYtOpV84Za2ukvZ6aSZ8hUYEOd2V0hZ2ilGE
NmNiDPc+iOWLivhmSIenYLE6VWtqNWUaeIrldenrntJ6eUl9Rziz0q6Fq+xF
k6gOMqP+ZZeRYKs3Qiw2wBmt2CpHcsc.S+ssYo4Se9EmUz9d4l991M2X9yrK
IeDDQMDAiSQkOB7Ge7tiKejDYHhXNpzA8pkNBkFhPDgIcD6O13mIr4Ca8feY
3iGxKS6mQ3Q9iRpI2Sd3nVPrhHbFLNgONN49zhGmN6nbiXjbC67wM+BLwEoD
YwEO5tQSIb4b.xKTmGm.q6GLHEO5yYWwlzEOcLRQvc7fUIJjN.ovGug1YG1d
Km6OMHi0kriQLr8IlKk0kC5XNweLyaAXXgJwzuLm5WuPY.hiMvOxIxqS4jVs
mHbit2uAvwkCGPKxw26wv2VrRK6p.n43xHNLZ.WOAiiRZ0ZNlxiGCfSKtHNF
23b6DgawB3dM5MwvxJRTc6vX9jOBkz4CKg3rpfWvrI9zBa.e3BnfqHh7J19Z
Cg3JYfGLuF4OqqCyMN8FW9Ndfa7nmm5soEUaJ2VOL8vaphvP7SxqNqvtBrz6
E8cW8RmdrrCqU0aKI2ltnN6iJBibqFvpseLM2DOXA41+YWZQslSrMGlxk6kd
04y7kMMhdyr5Z19UazO9RIM.AkTGtZebqrPQ28uq4FRYAodkhTsQsH6gL0RR
qnUWbAoEEk0o0YkE1QwIoaeb2Zkl.HOTtknQmZaZs9pzhkjkphRMZssAP6tD
Z4h1+d.Zm1SbS8yNMctnbsAg169OJ2YlRjprhEJBU+Ca5qfDsujiLkXsYiBZ
FwNnHS+AMS6c5R6Y59mlU.K++SL6BzmVUlqH50PUkFR1tVkl+fqm4D8OZqF1
t0+udkq+KBCEc4Hnmqk0fDze0JvN87YmYS5wp+4kbalN.cHuhKGbXazy3WLX
1nqdy+Or21TQUGa+pL29bUdFzf6PyyWAitVUUk9ri7NYst3fdCiTms3IsEtt
XgZ6ZXZoIRnPKuvDWXUSulv+QytsYeHvtfpTOFfnNh+kt5eeXVwEjhYi+5pE
BBQMynrq1JG5zaXIHeNRvXGZNjkl2brCRR39EYtgOtrlQjg9jKNlQD2lOfJW
3w89dQYd9vjgK6RQx.JJgiO6xte6kXFsEjNu4442sLsNsgPZXDyGry4jWNqo
m165816q6N0exSpuXel716U2m1U8tF3yHenoa2hPuCNJr2wxgL1.duiMDxXY
Q8NVIjwdfoaDjw1+zM.z7s+oaDr4a+Xlu+Dt4R8SwIjTk9Q0x6zxYZo86Rqq
2lc+tZ2gbceQF056UK6bO4T6NaaadNIevDMjzKwlleXkNpGcaOrOaAp9riSt
pCsyIfPQMttXOdZJrTfN6wsOVMHq3pSiPddyO+fpMwwW26VQaV.gN0Hd7091
UDGc0reECmAtaSfhiPRGTbJlkrOvo4YEu7Kzgc5Y5+6IrpxcaWzBolMRxDAS
y6Yopp1T.ml5879mOV.jmogUYKWpJ1u1LqyVtoTKHT0FhP3bt1jtvtI8AQ1P
MMMbds+gkUnX8E33.fULNvdpXhCASFfyFAAJEFJSxr7mzRilFmHVSf.UNpzG
GB8YNj0Gk9zoHTtswzXmSTWZv6o99RRNhYHYdraGHkVin1Vm5bJB5bBQdNDx
ZOtXhAASA3Bo.HzjDWLIffIb4IHR3lupUXRST.XB2UNNjUtWXsXXeCwwVyVA
NyVwAcsNGnkAAsiwSVBysYOQ6aj0z5jiEPBY8FWYvXHXxjbAhXxRACsrJw07
gDhYVICedZPLgqGRIDOjwI3hIFTLwvSuCTjsTrcHAhohv0Bk40ELHSwQlo3f
W+FgPEykEESZqxny0iswI65AxBqHAYNjBJQTbMpJ.oXxPVGHFDnv0Ms8PiA.
UHm6AmBFULD4p3qQtxhJ1UFWAJgVbyJB.hvMLKHQYIPGQCIIMRil7D5bYrn8
bkGPsNGOCYhEBHhhQ5KLPDOOxTA4PWEjcNxCOCUPVBQEMdrUq08kQSD6NF4h
tVmZn1PzcGoapl0ccf.tsdk005bPsmcz516.lHbezZZcpnEh2VNcr66gCeIg
6UZFaqyAZYPP6XDacBpbJa+RyPOCRBf7Nib3wQWf0atvVJtjf8VtSBPpzV7Q
lilCqwMq41E6uqg8ZQ.6kWyhDtcwyIaGIN8BMxgHMiaEo3PhShiaP.PpdLtI
o.RwF2j4.kfB+Tvjtw2t4+PyHtgF
-----------end_max5_patcher-----------
</code></pre>

Resident Emil
Posts: 5
Joined: Thu Sep 10, 2009 8:24 pm

Re: Max for Live Tips & Tricks

Post by Resident Emil » Sun Dec 20, 2009 12:04 pm

Here's my "interval" which I call Timer.
It outputs numbered (0-15 int's) 16'ths from left outlet, synced to Live. Stoping & Starting Live resets the counter to 0, SHIFT-SPACE starting continues where it was stoped.
From the right outlet it outputs "sub-beats" which are 16'ths counting from 0-3 for each beat (something I needed for a patch I recently built).
It should be quite easy to adapt this to work with other time signatures than 4/4.

Please repost or mail me any improvements.

<pre><code>
----------begin_max5_patcher----------
1171.3oc0Z0zjahCD8rSU4+fJtraxNyDjDelSYyef8xdaSpTXrrMaARdA4Zm
Io1+6KRMLC3.wBFMXmKvzxRnW+zSc2Hlu85WsxYs3dVkC58n+BsZ02paYktM
UKqZaXkSQx8o4IU5N5jJJJXboyMM+njcuT+Cqe.wJxxuaMiuSVUI3eXWQRsc
8.dryYazcUr9uuM7wFOTxppehIxLA+KkrTI.Hpezct2fntpqsWPetcT7iEhi
xblTCK21l2J3xpruxTMhUipcRRjo6y365MAd5Ifnth8802h5NGpGFOoP+vb9
8xrjbmNSeFuc1w5F+uW+J085a277Yy+3n7vQY06Qeh+I9sHbvuH2Wgpdfmx1
fjBTkLoT9tJo3.Zaon.ky1JQ.gf9U2aw9u4NXjt2RaG8VQIhkjtGslkHggUl
sauZb0C6tGAQdFmkJNx0HIbf0N+ys1QB0KXj3nWrEOrd8xKVupEnmhnvqjEu
+LqfUNjnG6X.CrMIEXfAoEhIzBroAGFpWEbWVZ4PBmkOj2GbNuePGhpcHr1g
hA+xs2B85cohbQIzenecuzS0YC+CP9PNHcNNn1k77gML9sWGC0ss1p8TSsyK
fqPlgqfIWRegy92Zf+8aFKXxRQcHBN5C+ywDtrdiDXkbTJzgQQ3NFx58t0Aq
FhS7FgSvmK9EzW4CGX.Q4rNguy4IZYTYAbkDRmetIh0Iz5rQCwNQVicxTZAC
Hm3ljLWDx4Xw5Qhw6NBQPlEQbiIpEbLT8Bby6hTJyXxk2MHI4OI0B44nVZIG
HrTc4d9yMm3KhbI3BHW7axidIkKiyHgKOiPfrUsLRz0zFnQh2hiWt.tgcYGX
Gz4XGzGE4aVpTRuEQGrHF2EmhnWqTzuMHAQV5j1+rQPgKdUMAtWoDzHwgnK3
lrl2vf3+SkHhRWbFpolmKICMZ9cp2EnhmFgSjlVZJ+Y9zxBUkL0e42ZQthEN
AWLgSSZqqPgirLgWcPTN7ARMV5q34xXM21lKRF4OFpWlj3Cx6gIgOSJ9TkG7
XzGp8oepCMVT+vIDek3XYZqi29RZnN.ZCqRlw0m5c2d42uW6y1rgw6cpYEYa
NHpYmp1WDKVuOq4aPD0n05aAmilqGzS84oMtJxXWhZjKoRcMQWh.tjOblUcr
rCroFAa+YBaBtKr0VVA1p2D47vVUNNBOEXG40grC.r2y.zR9OYXG2gXj6DN0
UAZWsC0xRG0KLa.ncmJnaVCHZP2wvN5ciDNpRplmdOrmdOzZv12HX6NWX60C
1dVC1JEK4rvNXpvNHPgy3tfN1pXFe1bSwSEyvlP3K3Bp53nEExmFjwTH2TxV
S3C3jdsEn8OKOO4Xd5ulYMEqwNgpY5HqJNnmEzSVPC0lDAmSJTDSjsTGmRg+
fhslTtxFtssfJbzikWYGXaTHO7jC40V4WHtacfgXaAaWiqCDOCXSf+gDvADf
z6ZgigaMAyiIKqK4OaWJtmKMjE3RZK6TvkQ6IhlW8VzvnmBXpMrSrGOiKRDO
iZ.nv2spoVQOasM1HPSmYksdcHZuElmmYoVdvG8oqkUPcjQ77TA82AMUC029
eJx880B
-----------end_max5_patcher-----------
</code></pre>

Regards,
Resident Emil

LOFA
Posts: 3365
Joined: Mon Jan 10, 2005 7:10 pm

Re: Max for Live Tips & Tricks

Post by LOFA » Sun Dec 20, 2009 11:05 pm

NM. Can't get it to work correctly in mfl.
Last edited by LOFA on Mon Dec 21, 2009 1:15 am, edited 3 times in total.

Machinate
Posts: 11648
Joined: Thu Jun 24, 2004 2:15 pm
Location: Denmark

Re: Max for Live Tips & Tricks

Post by Machinate » Sun Dec 20, 2009 11:12 pm

it's not.
mbp 2.66, osx 10.6.8, 8GB ram.

LOFA
Posts: 3365
Joined: Mon Jan 10, 2005 7:10 pm

Re: Max for Live Tips & Tricks

Post by LOFA » Sun Dec 20, 2009 11:20 pm

edit.

S4racen
Posts: 5987
Joined: Fri Aug 24, 2007 4:08 pm
Location: Dunstable
Contact:

Re: Max for Live Tips & Tricks

Post by S4racen » Mon Dec 21, 2009 12:49 pm

LOFA wrote:Style/Workflow-tip. Make things float by encasing them in a patcher with at least a dummy inlet inside it, so that you can attach a pcontrol-object to it. Then use a toggle/live.button sent to a select with the attributes 0 / 1, connected to the relevant messages "open" and "close," leading into the pcontrol.

Here is an example; a floating "Buffer Shuffler":

<pre><code>

Code: Select all

----------begin_max5_patcher----------
519.3ocmT0zaaCCC8r8uBCc1MH1stMc2ZAZwNrScXmFJBTroSUmrjgjbP5Jx
+8ouriaprWPuPlPJQx2Szu2iiPa36AIJ4aI+NIJ583nHaHSfH++iPM38kTrz
dLDkrCVn3a2RATpK+NrfgafoRy5Z3cJJnrEHyGsU.RfovJBmsV.kJ2PjUrXY
ZxkFSQVuM4Y+kb0Q8VK3NMBMjhTY6OeyqWTz24Vrp7EBa6n5mWjapZlyVzaG
Jy3w5CiKVngnBDqAFdCEFmSCPB6T7Iw6fp0XkRP1zofi+R5IWO6ZnOZGvq6C
2GebOks.TQIMlyrLMPdEzJmJInmOOcwqqQoZGaf293I22xYZzawwhP0piQTR
0ad7G5DM5skoueiloryYvr8Or4AxQzclfoin+fDwKbgZlkwSJ4NhjLS0Z3U8
nI+lfSLlw39c3gtFpUTNa64NVltNGKQIr+XpkbtwlWMIpHrZ9jCJWTAhoto8
02cUWxCwwGcV6g3zyTHoj2zX107eunf818Nz8+5wGe3oje9cs+GO7DJjdglB
fRdmaSsHnNyxyQmwIFTbsSRXrRSMmcbO5NgdyK4dNsB8Y0l7YTat5VSkuwr6
jjealycFpMltWiKgSiII+08AxvlwIhOeg2gVLCnnuDGZvyEWYrqr17rqGAtQ
bzkyvQqbuANo37UCt+KIMIxSdN9P7+vrEqqt
-----------end_max5_patcher-----------
</code></pre>
Hi Ian,

I think i'm lost with this patch, i just have three unconnected items that do little when clicked?

Cheers
D

Post Reply