storing presets

stefanprins's icon

Hello,
I'm using MAX/MSP intensively for over 5 years now, but only recently upgraded to MAX5.
MAX5 crashes whenever I try to simply store presets into a file, using the "write"-message. It even happens when I try to do this in the helpfile preset.maxhelp and hit the "write"-message.

My crash-report says:

Version: 5.0.8 (40079) (5.0.

PID: 343
Thread: 0

Exception: EXC_BAD_ACCESS (0x0001)
Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x000000ac

Thread 0 Crashed:
0 com.cycling74.MaxMSP     0x00020384 pathdialog_adjustextension(NavCBRec*, _pathdialog_clientdata*, short) + 80

What happened? How can I solve this problem?
Thanks in advance!
yours,
Stefan

Gregory Taylor's icon

Go with pattr, and use the nice new attribute to the preset object to associate the thing with your pattrstorage. That's what I did, and the headaches stopped.

lut lei's icon

Thanks for mentioning. How "new" is this feature?

stefanprins's icon

Dear Gregory,
Thanks a lot!
I found some kind of solution using pattrstorage and autopattr. It's a bit more coding, but it works perfect, and you can even do an interpolation between presets! (see attachment)
BUT: I think you were talking about another, simpler solution, one in which you connect the preset object to a pattr somehow. I didn't manage to do so (the pattr-object doesn't support the preset). Could you show me in the attached patch what you meant?
Thanks a lot in advance!
Yours,
Stefan

Emmanuel Jourdan's icon

preset can be the UI remote of a pattrstorage object since Max 5.

Gregory Taylor's icon

You've got a pattrstorage object in your patch and it's got a name, right?

Add a preset object to the patch and open its Inspector. There's an attribute at the very bottom called "pattrstorage." Enter the name of the pattrstorage object in your patch and you're good to go.

seejayjames's icon

[pattr] is great, no doubt, but it's too bad to hear about the preset problems. I've never had that issue.

One advantage of preset over pattr, though, is that if you add or take away a referenced/connected object, the rest of the values stay. You can simply "re-store" all the saved presets (even automatically with an [uzi]) and you're good to go with the new object list. If you add or take away an object from pattrstorage, all your stored slots vanish and can't be reloaded from the xml file! So be sure you have exactly as many objects as you want before you start storing slots. (If I'm missing something here, please let me know... it was a bit frustrating to discover this.)

The other issue is that you have to have the xml file with the patch, whereas the preset saves with the patcher and doesn't need a separate file, unless you want to save multiple banks, which is nice for autosave upon [closebang], and auto-restore upon [loadbang].

All that said, [pattr] is usually the best overall solution for complex settings, and of course the interpolation is awesome.