Am 28.08.2011 12:40, schrieb Jon Nordby: > On 28 August 2011 10:34, Joerg Beyer <j.beyer@xxxxxx> wrote: >> hello, >> >> I am having trouble to save gegl operations to repeat them later. I >> think, that gegl_node_to_xml is the operation I am looking for, but this >> can be wrong. >> >> I wrote this small program: >> >> #include <stdio.h> >> #include <gegl.h> >> >> gint >> main (gint argc, >> gchar **argv) >> { >> GeglNode *gegl, *gn_load, *gn_save, *gn_op; >> gchar* xmltext; >> >> g_thread_init (NULL); >> gegl_init (&argc, &argv); >> >> >> gegl = gegl_node_new (); >> gn_load = gegl_node_new_child(gegl, "operation", "gegl:load", >> "path", "bsp-900x600.jpg", NULL); >> gn_save = gegl_node_new_child(gegl, "operation", "gegl:jpg-save", >> "path", "out.jpg", NULL); >> gn_op = gegl_node_new_child(gegl, "operation", >> "gegl:unsharp-mask", "std-dev", 1.2, "scale", 8.0, NULL); >> gegl_node_link_many (gn_load, gn_op, gn_save, NULL); >> gegl_node_process (gn_save); >> >> gegl_node_to_xml(gegl, xmltext); >> printf("xmltext: %s\n", xmltext); > You probably want to do xmltext = gegl_node_to_xml(gegl, pwd); or > similar. Where pwd is the current working directory. See the > documentation at http://gegl.org/api.html#gegl_node_to_xml when I change it this way: xmltext = gegl_node_to_xml(gegl, "/home/joerg/src/geglex"); printf("xmltext: %s\n", xmltext); then I get only an empty node as output: xmltext: <?xml version='1.0' encoding='UTF-8'?> <gegl> </gegl> is this the expected output? I thought, that the node named "gegl" would contain the other nodes (gn_load, gn_op and gn_save) but I am new to gegl and may be wrong. I tried to print the complete transformation to xml. What would give the entire tree of the operations? Joerg > >> g_object_unref (gegl); >> >> gegl_exit (); >> return 0; >> } >> >> These are the library version ldd told me: >> >> linux-gate.so.1 => (0xb78a1000) >> libgegl-0.1.so.0 => /usr/lib/libgegl-0.1.so.0 (0xb782c000) >> libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb76cb000) >> libgobject-2.0.so.0 => /usr/lib/i386-linux-gnu/libgobject-2.0.so.0 >> (0xb7683000) >> libgthread-2.0.so.0 => /usr/lib/i386-linux-gnu/libgthread-2.0.so.0 >> (0xb767e000) >> libgio-2.0.so.0 => /usr/lib/i386-linux-gnu/libgio-2.0.so.0 (0xb757b000) >> libgmodule-2.0.so.0 => /usr/lib/i386-linux-gnu/libgmodule-2.0.so.0 >> (0xb7577000) >> librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xb756e000) >> libglib-2.0.so.0 => /lib/i386-linux-gnu/libglib-2.0.so.0 (0xb7496000) >> libbabl-0.1.so.0 => /usr/local/lib/libbabl-0.1.so.0 (0xb7448000) >> libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb7422000) >> libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb7409000) >> /lib/ld-linux.so.2 (0xb78a2000) >> libresolv.so.2 => /lib/i386-linux-gnu/libresolv.so.2 (0xb73f4000) >> libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xb73de000) >> libselinux.so.1 => /lib/i386-linux-gnu/libselinux.so.1 (0xb73c3000) >> libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb73bf000) >> libpcre.so.3 => /lib/i386-linux-gnu/libpcre.so.3 (0xb7380000) >> >> >> And I hoped, that xmltext would be string, containing a xml tree for >> this little gegl operation. unfortunally all I got where a handful of >> binary bytes - not the xml text (somthing like "<gegl>....</gegl>") I >> hoped for. >> >> Any hints for me? >> >> thanks in advance >> Joerg >> >> _______________________________________________ >> Gegl-developer mailing list >> Gegl-developer@xxxxxxxxxxxxxxxxxxxxxx >> https://lists.XCF.Berkeley.EDU/mailman/listinfo/gegl-developer >> > > _______________________________________________ Gegl-developer mailing list Gegl-developer@xxxxxxxxxxxxxxxxxxxxxx https://lists.XCF.Berkeley.EDU/mailman/listinfo/gegl-developer