Value | Meaning |
---|---|
LV2_STATE_IS_POD1 | Plain Old Data. Values with this flag contain no pointers or references to other areas of memory. It is safe to copy POD values with a simple memcpy and store them for the duration of the process. A POD value is not necessarily safe to transmit between processes or machines (e.g. filenames are POD), see LV2_STATE_IS_PORTABLE for details. Implementations MUST NOT attempt to copy or serialise a non-POD value if they do not understand its type (and thus know how to correctly do so). |
LV2_STATE_IS_PORTABLE1 << 1 | Portable (architecture independent) data. Values with this flag are in a format that is usable on any architecture. A portable value saved on one machine can be restored on another machine regardless of architecture. The format of portable values MUST NOT depend on architecture-specific properties like endianness or alignment. Portable values MUST NOT contain filenames. |
LV2_STATE_IS_NATIVE1 << 2 | Native data. This flag is used by the host to indicate that the saved data is only going to be used locally in the currently running process (e.g. for instance duplication or snapshots), so the plugin should use the most efficient representation possible and not worry about serialisation and portability. |