Pattrstorage still asking to save in parameter mode (5.17)

benj3737's icon

Hello:
In the release notes of 5.17 it says

pattrstorage: no longer prompts for file saving when in parameter mode

Yet when I load the attached file in a live set, set a couple presets, save the set, and exit, it still asks to save a json file for the pattrstorage. I thought that data would now be included in the live set.

Am I misunderstanding the nature of this change?

Thanks!
Ben

1489.pattrstoragetest.amxd
amxd
Ben Bracken's icon

It appears as if you have to have initial enable on to avoid the file saving entirely. I'll check to see if this is a bug or intentional.

-Ben

benj3737's icon

Thanks for the info Ben.
I hope it's a bug and can get fixed soon. Having to save different files for each instance of a device in a set is a dealbreaker for me.
If the pattrstorage info can get stored with a set, it will open all sorts of possibilities!

Ben Bracken's icon

in the meantime, just set the pattrstorage's 'initial enable' attribute to '1'.

-Ben

benj3737's icon

But then it won't save whatever new presets I create when I save my live set!

Ben Bracken's icon

Actually, you will want to have 'initial enable' attribute set to 1 as well as 'auto-update initial value' set to 1, for it to work at all.

-Ben

benj3737's icon

Thanks again for all your help Ben.

If I set both of those attributes to 1, as you say, the pattrstorage successfully recalls the last state that the multislider object was in when I save the live set, but doesn't recall any other presets.

1490.pattrstoragetest2.amxd
amxd
Ben Bracken's icon

Sorry, apparently this doesn't work if the device is frozen. Can you confirm that it works for you when the device is unfrozen?

Regardless, we will take another look.

-Ben

benj3737's icon

Doesn't work when unfrozen, sorry. I just freeze the device as a habit when I send it to people. Does it work for you when unfrozen?

Ben Bracken's icon

try giving your pattr a name. Does it work then?

-Ben

benj3737's icon

Long name, short name, and scripting name are all 'slider'. Still doesn't work. Sorry!

1492.pattrstoragetest3.amxd
amxd
Ben Bracken's icon

i'm sorry, I mean the pattr scripting name. In the pattr box, you should give it a name, like [pattr slider]. The scripting name was a default scripting name in the device you sent along.

-Ben

benj3737's icon

It works! Thanks so much! I hope I helped in getting to the bottom of any issues.
Ben

Jeremy's icon

My thinking about this was:
1. If you want to save an initial value with the patcher, you should use Initial Enable. Otherwise @savemode works as normal (@savemode 0 -> don't save a JSON file). Initial Enable overrides the @savemode setting.
2. Likewise, if Initial Enable is turned on @autorestore doesn't do anything.

It seemed like overkill to disable file services for objects not using the Initial Value feature in parameter mode, especially since there are native pattrstorage attributes to control those behaviors. However, it seems like this is confusing to everyone except for, well, me. We could disable file services entirely for parameter-enabled pattrstorage objects, but probably someone else would complain. Can I see a show of hands?

The issue with the scripting name is a general behavior of pattr objects: if you leave a pattr object unnamed, it will be automatically renamed every time the patcher is loaded. An unnamed pattr object is not appropriate for use with pattrstorage, since presets can't be properly restored to the object the next go around.

Hope this helps,
Jeremy

julienrobert's icon

humm. I tried everything and it still asks me to save it when I close the live set.
I don't know what to do anymore.

somebody can explain something about it please?

Thanks

1708.testpattr.amxd
amxd
benj3737's icon

@julienrobert
I checked 'initial enable' and 'auto-update initial value' in the pattrstorage inspector. Now it saves the state of the grid with the live set. No additional save window pops up. Can you reproduce?

1709.1708.testpattr.amxd
amxd
julienrobert's icon

thanks a lot, it works now! finally!

JuanSOLO's icon

So do the names of the pattr objects need to be unique?

For example if I have 24 devices in Live, thats 192 parameters, I am trying to store and recall, does each pattr object for eace parameter need it's own name?

julienrobert's icon

I think pattrstorage doesn't see the pattr objects from other devices...

JuanSOLO's icon

What I mean is, I have 1 M4L device that stores and recalls parameters for 24 Live FX Racks, using live.object's on 192 of these parameters.

So I have 192 pattr objects hooked up to 192 live.numbox's

Is it best for each of the pattr objects to have a unique name, or can they all share the same name such as 'pattr drumsParams'

It seems as if they all have the same name, they get assigned a [#]. This stays consistent yes? As opposed to no naming and they get a random name such as u2834954034.

I am asking because it's easier if they do not need unique names, but all share the same name. Makes copy paste easier if I need to edit some parts of the patching.

julienrobert's icon

If I well understood, you're pattr objects doesn't have, in fact, the same name since when you duplicate them, Max assign a number next to their names. So, yes, you need different names but Max takes care of doing it for you.

JuanSOLO's icon

Cool. So after Max takes care of it, that stays consistent in my Live set right? I should have no worries about saving presets within my set after closing and opening files?

Seems to be working so far.

Thanks for the help.