Am 28.08.2011 12:40, schrieb Jon Nordby:
> On 28 August 2011 10:34, Joerg Beyer <[email protected]> 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
>> [email protected]
>> https://lists.XCF.Berkeley.EDU/mailman/listinfo/gegl-developer
>>
>
>
_______________________________________________
Gegl-developer mailing list
[email protected]
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gegl-developer