// when loading a version 0.1 canvas, modify constant angle
// waypoints to that they are within 180 degrees of the previous
// waypoint's value
- if (type == ValueBase::TYPE_ANGLE)
+ if (type == ValueBase::TYPE_ANGLE)
{
if (canvas->get_version() == "0.1")
{
value_node->link_name(i) == "loop")
continue;
+ // 'loop' was added while canvas version 0.6 was in use; the 'random' node was added back when 0.1 was in use
+ if ((version == "0.1" || version == "0.2" || version == "0.3" || version == "0.4" || version == "0.5" || version == "0.6") &&
+ element->get_name() == "random" &&
+ value_node->link_name(i) == "loop")
+ continue;
+
error(element, strprintf(_("<%s> is missing link %d (%s)"),
element->get_name().c_str(),
i,
canvas->signal_file_name_changed().connect(sigc::bind(sigc::ptr_fun(_canvas_file_name_changed),canvas.get()));
}
+#ifdef _DEBUG
+void
+CanvasParser::show_canvas_map(String file, int line, String text)
+{
+ return;
+ printf(" .-----\n | %s:%d %s\n", file.c_str(), line, text.c_str());
+ std::map<synfig::String, etl::loose_handle<Canvas> > canvas_map(synfig::get_open_canvas_map());
+ std::map<synfig::String, etl::loose_handle<Canvas> >::iterator iter;
+ for (iter = canvas_map.begin(); iter != canvas_map.end(); iter++)
+ {
+ synfig::String first(iter->first);
+ etl::loose_handle<Canvas> second(iter->second);
+ printf(" | %40s : %lx (%d)\n", first.c_str(), ulong(&*second), second->count());
+ }
+ printf(" `-----\n\n");
+}
+#endif // _DEBUG
+
Canvas::Handle
CanvasParser::parse_from_file_as(const String &file_,const String &as_,String &errors)
{