RSS/Atom feed Twitter
Site is read-only, email is disabled

Further XCF2, XML catalog musings.

This discussion is connected to the gimp-developer-list.gnome.org mailing list which is provided by the GIMP developers and not related to gimpusers.com.

This is a read-only list on gimpusers.com so this discussion thread is read-only, too.

1 of 1 message available
Toggle history

Please log in to manage your subscriptions.

Further XCF2, XML catalog musings. Øyvind Kolås 10 Feb 17:26
Øyvind Kolås
2004-02-10 17:26:39 UTC (about 20 years ago)

Further XCF2, XML catalog musings.

Half a year ago I submitted a proposal for an XML based catalog, for usage within an archive or directory of some sort. Here is an update on my musings, I will reiterate some of the ideas from back then, and try to include some of the clarifications that was made afterwards.

The catalog is meant to describe how the resources are meant to be interpreted, and processed in relation with each other, the resources themselves are represented as files that are designed for each kind of resource. The XCF2 format would thus be a more of a project file when working with a IDE, than what is usually considered a file. Depending on how advanced the user is, this is something that can be totally ignored,. or be really nifty.

Examples of things that will be in seperate binary files (within the archive/directory):

image data in various formats (png, jpg, raw,. ) ICC profiles
fonts (sure would be nice to check off 'include' font, when sending off a file that someone else will adjust) SVG vector graphics
ChangeLog (why not?)

The main reason I'm writing a new proposal is that development on my video editor, based upon a GEGL philosophy is getting a richer feature set, and that have provided me with some insight on what could be a good approach to scale that format down, whilst keeping the structure open for future extension.

The document http://schweden.mine.nu/bauxite/src/libgggl/Terminology.html could be read as an introduction to gegl terminology if you know the ideas it uses, but are unsure about which specific set of terms are used.


blank
640
480


png_load
layer1.png


svg_load
layer2.svg



text
joke.pango


noise
2.0
2.0
0.4




Background Layer
nop


Untitled layer
over
50.0%
50.0%
69.0%





Untitled layer
over
85.0%
5.0%





Untitled layer
over
0.0%
0.0%



image


OEyvind Kolaas
pippin@users.sf.net

This is the graph definition subset of the XML structure I'm currently using in my implementation. It feels flexible,. and there are many extensions that are easy out of the box, but doesn't neccesarily apply to gimp's usage of gegl.

The decision to use value instead of is to keep the syntax as
consistent as possible,. the value of a property might be the actual Pango markup,. inlined SVG,. or other applicable values. Currently I'm using it for animation in my system. Allowing , is possible without conflicting, but it makes the DTD larger.


.

For an example of a edited video project including an EDL from my application, take a look at:

http://schweden.mine.nu/bauxite/userdir/new.xml

I think this catalog format is capable of expressing most (ALL?) things needed,. it is kept minimal but allows easily extending within the framework.

Since this format is wide open, a baseline format should also be defined, the way to define the baseline would be to define a standard set of filters that need to be supported by an application to load baseline files,. this set of filters would probably map to the core gegl filters for compositing, blurring, basic color adjustments and affine transformations. In addition to some data Sources like, png, svg and pango text.

/Øyvind K/pippin