Re: having trouble with gegl_node_to_xml

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 28 August 2011 13:36, Joerg Beyer <j.beyer@xxxxxx> wrote:
> 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?

I don't think you read the documentation I linked you ;)
"To export a gegl graph, connect the internal output node to an output
proxy (see gegl_node_get_output_proxy.) and use the proxy node as the
basis for the serialization."

>    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
>>>
>>
>>
>
>



-- 
Jon Nordby - www.jonnor.com
_______________________________________________
Gegl-developer mailing list
Gegl-developer@xxxxxxxxxxxxxxxxxxxxxx
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gegl-developer



[Index of Archives]     [Yosemite News]     [Yosemite Photos]     [gtk]     [GIMP Users]     [KDE]     [Gimp's Home]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux