Auto-saving data for all Animation nodes (Queue, S+H, FrameDelay, etc)

There are a set of nodes that are commonly used for storing patch state, e.g.:

  • Queue
  • S+H

(these 2 being the primary examples, but there are others). The issue is that when you close the patch, you loose all your data. This is a consistent issue for new users and for experienced users.

The current workarounds for this are:

  • Use a database (sqlite, mysql)
  • Use a table buffer (but this isn’t very commonly adopted, and is quite heavy for lots of data)
  • Hack around with dumping data into IOBoxes

I propose that we look into implementing generic Queue and S+H nodes which take both ISerializable and ICloneable types (and native data types like double, string).

The intention would be to have official support for saving and loading within Queue and S+H nodes. (e.g. (‘Save’, ‘Load’ or ‘Autosave’) and ‘Filename’ pins).

Alternatively, this could be achieved with addonpack modules, but i think it’d be much better if these common nodes had this utility from the start.

I think the ‘native’ approach to this would be to add a config toggle pin called ‘Save state with patch’ or similar.

Thoughts?
Elliot