parameter values are not correctly restored upon save

jml's icon

I am finding that when I have a plugin with a live.numbox (or any other live.* object), I typically run into the following scenario:

1. edit multiple instances of the plugin in live, changing the values of live.* objects.
2. save
3. open live session again, all values are retained properly.
4. edit device (original amxd)
5. device/amxd opens in max and value that was previously in plugin instance is now in live.* object - great
6. make a change to amxd file (moving an object one pixel back and forth in patch mode; nothing major here)
7. save, close
8. all instances of my plugin now have the wrong values, typically the lowest value in the range.

Is there any way to avoid this? It's absolutely killing productivity on a big project.
It really appears that the M4L sys is unstable, but I could certainly be missing something vital here.

Please let me know if there is something I can do to solve this! For instance, is there some magical parameter setting combination that can help avoid this issue? If so, could this possibly be the default?

Thank you so much...
jml

jml's icon

BTW:

Live 9.1.2 32-bit

{
    "version" : "Version 6.1.7 (6dce307)",
    "platform" : "mac",
    "arch" : "x86",
    "osversion" : "Mac OS X Version 10.9.3 x86_64",
    "samplerate" : 44100,
    "iovs" : 512,
    "sigvs" : 512,
    "scheduler_in_audio_interrupt" : "off",
    "audio_drivername" : "Core Audio",
    "audio_driver_subname" : "",
    "eventinterval" : 2,
    "overdrive" : "on",
    "mixerparallel" : "on",
    "mixercrossfade" : 0,
    "mixerlatency" : 10.0,
    "mixerramptime" : 10.0,
}

Evan's icon

My guess is that once you edit something in the patch, and save it, that it is loading the device in all instances in it's initial state. All live.* parameter storage objects are loaded with there initialization value (the lowest value available if you don't set an initialization value in the object inspector). Definitely not a bug, or strange behavior. You might be able set something up with a pattr system if you wanted to restore your values after editing the device.