#include "valuenode_switch.h"
#include "valuenode_timeloop.h"
#include "valuenode_reciprocal.h"
+#include "valuenode_duplicate.h"
+#include "valuenode_integer.h"
#include "layer.h"
ADD_VALUENODE(ValueNode_Switch, "switch", _("Switch") );
ADD_VALUENODE(ValueNode_TimeLoop, "timeloop", _("Time Loop") );
ADD_VALUENODE(ValueNode_Reciprocal, "reciprocal", _("Reciprocal") );
+ ADD_VALUENODE(ValueNode_Duplicate, "duplicate", _("Duplicate") );
+ ADD_VALUENODE(ValueNode_Integer, "fromint", _("From Integer") );
#undef ADD_VALUENODE
#undef ADD_VALUENODE2
for(iter=global_value_node_map.begin();iter!=global_value_node_map.end();++iter)
{
if(!iter->second->is_exported())
- synfig::info("%s: count:%d name:%s type:%s",
+ synfig::info(_("%s: count:%d name:%s type:%s"),
iter->first.get_string().c_str(),
iter->second->count(),
iter->second->get_name().c_str(),
- ValueBase::type_name(iter->second->get_type()).c_str()
+ ValueBase::type_local_name(iter->second->get_type()).c_str()
);
else
- synfig::info("%s: id:%s count:%d name:%s type:%s",
+ synfig::info(_("%s: id:%s count:%d name:%s type:%s"),
iter->first.get_string().c_str(),
iter->second->get_id().c_str(),
iter->second->count(),
iter->second->get_name().c_str(),
- ValueBase::type_name(iter->second->get_type()).c_str()
+ ValueBase::type_local_name(iter->second->get_type()).c_str()
);
}
}
{
if(!book().count(name))
return 0;
+
+ if (!check_type(name, x.get_type()))
+ {
+ error(_("Bad type: ValueNode '%s' doesn't accept type '%s'"), book()[name].local_name.c_str(), ValueBase::type_local_name(x.get_type()).c_str());
+ return 0;
+ }
+
return book()[name].factory(x);
}
value_node_count--;
begin_delete();
-
- //DEBUGPOINT();
}
void