+//! Marks the start of the valuenodes in the module's inventory
+#define BEGIN_VALUENODES { synfig::LinkableValueNode::Book &book(synfig::LinkableValueNode::book());
+
+#define VALUENODE(class,name,local,version) \
+ book[name].factory=reinterpret_cast<synfig::LinkableValueNode::Factory>(&class::create); \
+ book[name].check_type=&class::check_type; \
+ book[name].local_name=local; \
+ book[name].release_version=version;
+
+//! Marks the end of the valuenodes in the module's inventory
+#define END_VALUENODES }
+