M4L Tutorial - Saving multiple presets with a Live Set

Bjorn Vayner's icon

Hi All,

I want to share a M4L tutorial I wrote about how you can save multiple presets of data like the contents of a multislider with a Live Set.

Its aimed at newcomers and I hope it makes sense to them but I also hope its not too boring for Max veterans who seek the same information. Its my first M4L tutorial so any feedback is greatly appreciated.

pid's icon

hi hoffman.

this is a really clear, really well laid out and well written tutorial. much better and more succinct than i could ever explain it! congratulations. cycling74 should put this one in their manual for all the noobs or give you a job.

just a thought - if it really is aimed at beginners, perhaps a line or two on presentation mode would not go amiss?

best.

Bjorn Vayner's icon

Thanks for the feedback. You're right. Since I explained other things in detail, I shouldn't have skimmed over the presentation bit.
This has now been updated.
It wasn't my intention to write this much, but somehow couldn't bring myself to write something only a handful of people would understand. I hope this is accessible for newcomers.

Thanks for the comments.

- Bjorn

Ed Majcher's icon

have you found any inconsistencies with how data is operated on how data is stored with the pattr or pattrstorage when used within m4l? i spend a considerable amount of time over the weekend trying to get the persistence of a track id, device id and paramter id in a live set stored and retrieved.

some examples of craziness
1. a pattr object will update the selected index of a umenu if you rebuild it and it was mapped via the bindto attribute but not if it was using connections.
2. a pattr would sometimes restore data as float when a live set is restored vs. a int
3. a pattr would not have it's data restored in a timely fashion for patch initialization when sent a bang from a loadbang unless it came after a deferlow.
4. funny enough, the patch always worked consistently as designed when running standalone in max (the presets get populated correctly) but in m4l it never works upon load (if i open it in max from live it actually shows the restored values correctly).

broc's icon

Some problems may be due to different initialization/load order in M4L vs. Max standalone.
It has been discussed recently here.

Mark's icon

the OP's link to the tutorial is broken.
is there any chance i can find it somewhere (7 years later, hehe)

Dlmth's icon

If anyone else is looking for this, here it is in a pdf format. I found a snapshot of it thanks to archive.org. Also attached are the devices referenced in the tutorial.

M4L Tutorial - Saving multiple presets with a Live Set | Articles.pdf
application/pdf 253.39 KB

Snapshot Morpher - MIDI 0.9.amxd.zip
application/zip 21.83 KB


Multislider Pattrstorage Example.amxd.zip
application/zip 2.70 KB

Mark's icon

thanks for that!
unfortunately it didn't have any information that was of any use to me, as i was trying to implement a multiple preset-object storage system (ie: preset-banks), and not just a simple preset storage system (something which this tutorial is good at explaining for a beginner).
was just misleaded by the "multiple" word of the thread-title.
never mind though as i have already achieved what i wanted to do.
i am attaching the link to my solution here in case anyone else stumbles in the same situation:
https://cycling74.com/forums/master-slave-preset-bank-help