M4l patch question

I’m curious if it would be possible to make an m4l patch that could record button presses and loop them?

Ideally it would be like the button press recording feature in pages and could be used in conjunction with all the other m4l patches.

So if I had a few midi tracks with different m4l patches I could loop button press patterns on each of them, and add and subtract patterns on each of them.

Maybe it would resemble the ‘note’ and ‘time’ patches. A little utility patch.

Thanks @Boob,

@rajaTheResidentAlien @elquinto…I’m adopting you guys as my tutors. Tell me you’re to busy if it’s annoying.:grinning:

I want to port this to m4l: To start I should:?..…add a ‘bpatcher serialosc object’…a ‘route /looper/grid/key’…a matrixctrl….make the argument ‘looper’….trying…

yep, all that and also the “/looper/grid/led/set $1 $2 $3” message for LEDs coming out of the matrixctrl if/when you want to go that way too…
still a bit busy this week, and
@elquinto is more knowledgable for M4L specific stuff than me, but i’ll keep checkin in to see how goes it since it’s always inspiring/fun to see what other’s are experimenting/working with so feel free to ask away and keep at it. Cheers! :beers:

1 Like

I have no direction on this one…::confused:

that doesn’t look like a monome app, is it? what you’re trying to do i don’t think will work…

one thing that helped me a lot in max is the object help/reference. u can right click on any object, open the object’s help and/or reference and get a really good explanation of how the object works, what messages it’ll accept, and even example patches. also there’s the print object, which let’s u print any object’s output to the max window. this can be really helpful.

Gotcha,
Not sure if it has ever been used with a monome. It was something @Rodrigo made and posted in this https://github.com/monome/mesh.

Thanks for the info info.:smile:

Mesh does exactly what it is you want, but if you want to build something from scrap, that example code I posted is more or less a functional version of that. A couple of things though.

First you need to turn everything into a string since seq~ only takes one item, so a [tosymbol] coming out of your /oscstream, then a [fromsymbol] afterwards.

And you’d plug directly into the [p pattern] subpatch.

Here’s a clearer example doing what it is you want.


----------begin_max5_patcher----------
4662.3oc6ck0iiajj94p9UvQv.6LdJKy7lbea28A+z.L.6C6LvsQAJIVpnaJ
RYRp9vFS+aehLSdjjR7PpHoXunMfUwN4UDeYDQFQjAy7Od7gUah+je5Jq+Sq
e15gG9iGe3AUSxFdH+e+vpCdeZanWp5xVsM9vA+nrUOoOWl+mxTseLz6y+oh
V2bZylPeY6n7VdINJKM320sQVam27wD+T3o4kEDG8bh+1LMoPQ30B1SVDJEt
TK67er9k7aK5zgfnP+rTyWAzX7orhVKeCdYaeMHZesmNM+oKIDKpq5WymevN
EOEu4W+Al8JCVHx6fhEV8ekD3EVmcSC1oNG1.Z90SoYAuDrUwflDaZ1m0.zp
UxF9WO9n7mmdicB9Q6t5tf2FVR33gikTmuhvxOFreO7XmW3joj24t8ikb1sh
kSCb8ZPlEvGwIysDHFwj3DwQAWtJaEXVKBfzqEzHSJncJ0CdWVAQV+MuOY4s
2KHZ0XBJLgRqDgDJToM0RzpIkK2FG8A+jLqMdaeuUVrUTbxAuPq3zsVoYI9d
Gr9qvAmd4kh6LLHBjjNEkYJ11xPEnbkEAZBFo.oepLj6ZvFGhnPS4uWBFItS
MLdvO0BHbKuTKOq2AulDfbe2pUiIuR0ZP47ZahLDmokWqXNKPzIE5xsheQKj
rFjexB15ak8pu0ucJNC.EuDPZYmUPVmRPuQUJWtBQ3ZYAlcmxB74QkBzl7rz
P0SVow.B7e.hHQ9fzQPl+gQS1.qMqRzPfMpSYC5pYXfYn6O.53eIyOIebGfj
k3wd+L+nDuLeqcdYdiD+C9ipripUJncy+3ok+CiieepUXv60XvHMfg.Yz05f
6jAsmVFzyBNywP+OkKYa8wfrWs7BCAI7jrzRKAiDmS0F73ZQbadWrNdjr6AV
xS816eFq+iofQ9LIE9i9go9VLvPLLdF1BQwaV08HgDBS4JN0kz+Pg3KBSnNb
zO+oyD4xFNp+faAmJs+oe5Ye9nu94rZU40+1fvH+OBuoyPvWRhOj94CahCuB
wit3aspOCqbnR6OUqbMax451DbdWqhN111JompwBZySJcvGDW5DJ9j6dQehO
zulARGjxFBEOE.oiF+DrA.in6lVXV7XpCpELy89f41IKe+jbFjs62Vmuvz+K
jSmFiPnIGIdILFH8qnOF2WebtGVZmqaiybamwdxZ0Fun8UL3QuDHJevIwm8i
7xSGgcYN.f3PUud97KX7cnQTtHG734dxzoQgoWAoM+59IevssD+e7u6kAcHQ
4tsC9uq7u6CdIAprgHyjrJUAoG882Y4AA1sKPxqfU10cFfmLoNu3ss0bNohh
YTx5IkKCBjny7jvQmjfVRf7H4xXKVZCi81IE7rPijsVWUthnNJaL4N601vz1
Strj+uuya6WtBsD6dYsbW4nk+dQqmSbxbzx9V+fkzEBHllrfCxHcjB6oYdxn
bJCp8cQ9QxqLMK9nQy5qUdug9Q6yd8cQREG35j+I05XtRlzeXqM96ChhTOK4
So7gczK7yxG01SII.UVbSuKZanuWxYWl7M5m3k5mVckZkzenoVKDiV4kr6Th
xEI3pJO7OGDYAb7oL+z+hwEasAhqyO4hZ4hwYxe3XopqqVvlqiq2tkv8Pyjt
Kabzc4TwZJ3lJlBVkrc6WAlcu7ObzsZAi4wFHSuH7KBZJ3.bMRgUyAkFlyR0
5nY39cYhrPcYpEwiiE1CF0X3oDkzAq6XlrwWm7g4qErbo40blE.rfP+7LXaP
jOrx63Qilev3VjHzuFmXXwSKtnaBU1Th+GBJte6xV8R.lOC3bvQKE88Imhf.
kOlXvcqnSApmjtQnu5whGX0.kZqh4tjqMR5vMx0MzutOLd6682Y95WEezGFk
wLr3Zmdm+KdmBydt17.hWewyW3G2EO4Em4tGVsOIXWbjjHpg0xlKdcxzbn3J
lIynthHuiW3lAYB.WZ4jvP0YmR23kH6JxUUvEmLKNNr9oJuuP+WxxO8QXf4F
nHLla6mLIX+qcbuahgSdnqms5LoOeJRe1mAcwrmS89PczNyKLLW4r9i+Sdfg
KuLevgkbepKOo1bwqoaShCCqwu5y7gKblcfT7V+OFrK60Z1BkmAt7fiEBQqJ
6k2ErGBjndaYd6Sq2xYZnPSm1jqk9bl+AvgkrFWPshgwTkzzLVs16zau51zx
iNLUNGEo9+l40bIqas6US6V4Tt2JrwqQtTliTC9rIp3LW3cMIjFFyenvfdtg
hI.Ux7duu0qfLMzkZc7Uuz3DHRvvS9JmM25Et8jZpbj9MFC9LJaM+xN.VCBN
FFT5t34tLRFcPVG6.yguVfXbhnbl.gQjaGj42WPNGv.AucIAevuo32khkdDg
Lsq1LD.YDN2EbYgyaN2osl.36Dh88Va9rNRlUSDdPIxBmR3fv.dH5UMEeewC
i4a90ee7gDcRsINfmYHGBEAVwb6ERru2hHofVSztzIPBQqePIqwBGWP9fzGX
TFn5cBLRyhS7sfKuLB+wGUz0CG1Ehzi3RwtRWSs6EXtyldajqycRMnsdGktm
qGKqHsI+C3cYAxSYRWj7SxqLp0yncZlpvVD1qcfHKsIkytTW1oQ2Y6ReKMZC
HMZslJsQT3Q.1tccccDNx430oz6nKkgslBQ2YaW.StOV1u.ApCwkN9FtvPLt
D.bjt9HbYqERfBvIWVeVutyFuBhfyVgLZWx0lnl.XhP3UvDqzJDhy6CllAmE
qknpFgvXsw5ka.NvcCGHWzZmb3vzYQBpY5qZBGhZJTmkEKU19dRkkRYp79k6
I188Vn0sBc3VgNTOPmnRRhJDqotBBRdrZV65D5ncBcKAHKyx1xd7E2vNBCLC
UZjhP6UbC2IlEHMtn+y8F3TC5Zsw7rWJUim8oJTkhxwCuETwZFfwB9SpRutv
bGSzGdyXMYfKmNzK1anffyx4+8yv46Te3XV1kEU0HBwbhdTDpacH975i3LHl
NHKnZReAfh1E3H5lvQROAFnKjMSHTzODRFDDlacPS72Yj7kwejHLuZPbNiul
xXHhqLJ19FIhY+UvHQaTZv4Ag0PGd5rr1i3p7iGEIG8BWWl00tOYVp6avxZg
DcweKPk++mPso6UloioegZpXwKTeV8ieMRl8YM.hvovZfvFULMMmWT4mga7N
wsExHP4R7vXPkk0w0.dzdBOz1tTpyTsVkZgdfO10LVTAarL7Z86+xjGhDGgJ
yWCqW28InNAyzf8Qfkx6cXk1S.lgEXCLytLDo9s6gW918jU3P5qwYeYBvMP9
p.2Xb9ZHlGjKuXZ.6D2PKdb6O8iSt9o47h0e1ePK+TX78Vb6oFyJm7LcQZ2I
hQV7HVBPU94SZgke97FolVAK8bLnmtfdm7MmVwVmqXzWR0bD4.twHSiApGKf
jtyIobr1V++6rgQ+e6KieL0lxpBJasKgZiQ5k6idPxgAj2WPSWwIeYZ0wY.L
gyKoj98aYo31hBDZEXruUfwTA0XNbI5JqnqYH2191Btvn0hIQp2IMZDwQMgN
9SCUMMS2Ju7FBRhVcUPUyYd7BnSUMpJm.2VJNQEWHO+kgsz3SIaK5NKlfHq5
rwN+zrfnxR18mqlNjFW3qA614G0DGODr6HvIY4Dn7KTrbxD3r0br.BuP9IKx
plSqx1qSHAp0DGcUqNHwkah6QCk6QCf6mAZlNvdLz.6v1FGpKn7eFBUhYC9i
CC9TsD5fZHkOCbH9J3Pz0xgJ9pFa1jCaJA6VkpFFDqGC7+VfkivXeg1uGXEZ
pjFtZrhfpRxMylVhUlZ6UsOyXkb1xFl1N9lAq1zZZfSxZ+vNeJ+nbH9jx7Gv
MrJVz98.mFh9mLWjWKNgtNbRNGn43D2kr1Me56wTibVU19biSC0R7zKOwg3F
H4yu4xSdhNP8toWdBBPnDm3t3Vjmv2I4Ix.kmjSH3zJOwHDYhLkhUENrIWVn
JgH5cxgMEDgWDhRLW0WO7xTJBsX7dhoqXc427wkcbhembFvdnNYRlF+na5ko
o5E3sjad4AffXiPL822aasSHXUFNIn5dZU09LCtxYOegLxHEiVyyKAfE2HiJ
bZYXNiB1qJvoEmMMENMDaZXzjKOAdjVTRILFYsiiCBSZXTqr84FmDCTuSNKj
Wuw+q1nVciQrJkOp6Z2hEsfVZmQbLlV0poasp8kJ3NUiXLCrHefrHYpMGYZ1
QHK7XNEKpO5VYyyMHM3viEitwnYh6VFCIQfgkcNanmkxPRRbhLDUk4wOaha0
3ObavjZ92Hh43RUseO.qkSLIDB+BAfrPBLQN83Vrg36ryaSAz.w5Brb3NJPw
V5.M.PEAZTahcJa+d.VzgjxD1.AqYhlGhkCFcYQyCYTAFYYQyCJsitKKZlOT
eKPStxuqisJpPlTg2wcMhCi0Jy9fqQceW198P4ePNhsvT9ESnG1CO1Lav0IZ
92osfBi7wE11zF9XW19b22hF4HQlARdngGZiVLzLVbMS4vxn.HvCVz.80GMi
E2XY1X55pbRtJRKkC5BsOyJyH5XWjQKtLmfFr1+Wurn8PmxDhyhw.2UYq3qK
Rdv45tijxxXr0HaNkxZlA6h1uJgrpRTTUwisTihUeIkm1ED++pV3Le9u4Gcp
p3HKVhOuLjsY+KAggkJHOb1U7vphpVMWM5IiSUSwB6RQHGoNEAAw5yUGAGvX
MF5H+9PE2HkQUgDCGwwBI9AG4fILRss3CiaEW8NsUezKvaxFbvlpO5h9i+vJ
un84KlnBayuPV4VNR7w3jxUVUve7Z22or38Id6Bxqvzxtqp9qpE7U8R8qrvS
uPgptRs5JZ9LtjTdYm56SCC14m7+IW6YGZG5EchsJSNSJ8pKc8+6vS9l0Ed2
zq21svKulfDAI3TgrqjWJY3JaBMiLQR7GidSbQEsy.c.YUx.b1LyE+Oe16sw
D1XWFUoeIDDBV0o3fQHDY9XheJw2+MxEpdAh7+jGg3Nb0LfLSLv+zOLL9iCm
CL+V9+Y0WyOy01t9bzcAtzAyPpNHgCxAoLcxfdO1rvnmNrwO4mhC28l5njpG
1JwMlKFwTbCxzb9jxDIZysRt3Fr1BZ7TNm3lqhHDZkEnCvkbtOla1O2Ld9yn
3ArRt3Tu6Y8Bw8ydYYIAajK3cMWp0upEL58gwa7ByWNnKw0tV8nqVhoerZ.0
QZGBpb8766PiyFBTsMH.8BNq.00xduiycaeyR+oKNVbdwNAgqspP85bWQvg7
00VjUNqMjM7AGzWYaRVFac8uwcZP4hWVkD.oSwdJ99I1mEebb3X4WRE1fi6b
agyEc23X0Wp7Hokq2m3J3XQmpBh6FGK+JsGo9XjX8P6hc32MFV+EpORJx5cs
kbVlx5jkm9cxHIOB9cjU900u50fnZdUntj3ndhqM+ZOk5uYuwEiF3dXmRv23
08A+j5413IieLeg0dapzKpReQ0ulWbK6ro5kPqhsvU4pYlitDJV6RcDDSl6L
hC00XfkBPldAb9WS+J4Ri7d0l8dOBOHG9ZlCgPUN.gTKPK1csyNivcuGI0b0
.ZkhJzYEiWsENUya47D2JbjoHRkqHgMSVZi0f5NF7Mzeu21OKAmyfwZMpxEQ
QP7MOn19R39nX.jBC19dyG12zLdqZFTrP60AB7QS3xUyc9jngPGIMDJ1MmhE
lTbGpHLz2zP9lFxspgvfvVD1TrJjT4NdBxl55LUZIjQRKgHDWoVB08aZIeSK
4l0RfXYJ0RjA5OoZI3QRKg6luW5NLUDN+apH0UQT2U8k3EsFSy4QNWu47ZMo
V0t01jGyMqMlym33ymp2yzfGJ8n1FM6mfpS0K.BhNeHDc.zSSp9bBp425t5S
3lp2l5HXT4+p5EMZbvfX.570COH5Y9TAFD4flMxwc.jy70Y4hlBoepfp7VSJ
wqxHZkB.lMAZ.NNShNLiW9AQRw7ZZx7IQS1QLE7gb84aN6L3ShHEVkb4YiIX
SASTipmAlfLIhS5MchYiIFhEpFb5TZwbHBFyG0PwShbpCR02NW8wCQNsgM9o
DTw1CATcmOOpFB7ftQxQGxi2wiPXqE6i8JJY0AueUGqkZaJDjQhLhG678891
2y6ate2qpnjFUopFQ5o5TaTZM+wisUQpE0hxkqD0aoJTuwJP8Fq9zKW4osW0
osTwoEEGySO1d0+TuxeLEO6npRubGw.pjz2LsbdEidYZ4VqRzwh.MqFzASgC
pBPGIJzrROGLANnp6bjHvZUw4vovdpbyQh3pWglWl55opLuwJx7sy.mU4kCF
bGTQG9lIvyppxds1L3Jo7lphxqigf64e83+VLqxf3
-----------end_max5_patcher-----------

Guess I’ll focus on mesh. Mesh looked like it would be more difficult to port because of the volume of code. This looked so simple I thought I might succeed but I don’t have enough skills at this point.

Any advice? Trying to port mesh to m4l.

So, Mesh records presses and play them back, right ?
Copy/paste “should” work…doesn’t it ?

@chapelierfou,
Have you used with m4l patches in ableton? I think it needs to be ported for that to be an option.