File format

From Ella
Jump to: navigation, search

Each ella files are zipped. It contains a text file named 'descriptor.lst' and, if necessary, multimedia files like bitmaps.

Here is an example :

File dezipped.png

The file, named 'circuit_sonorise.ella' is seen under Gnome's File Roller : you can see the 'descriptor.lst' text file, a bitmap ressource (B1.PNG) and a MP3 ressource (MatraV12.mp3)


The 'descriptor.lst' file syntax


All animations from timeline, all drawings and bitmaps are described in this file. The 'descriptor.lst' file stands on 3 parts

1. description of movie's main characteristics (duration, background color, size, frequency) 2. description of layers and drawings on layers 2.1 layer's description 2.2 items (drawings ...) description for the current item. 3. trailer.

When the file is created, all the layers are saved sequentially, and, for EACH layers, all the items characteristics are saved. The items aren't referenced for a layer. When they are saved, the software must assume that the current layer ID is for the current item. For example, if Ella saves currently the layer #3, all subsequent items arre associed to layer #3, until the next item declaration.

The 'descriptor.lst' tokens.


All tokens have 6+2 chars length, and can have only ONE operand.


1. description of movie's main characteristics

token operand operand value


[VERSIO] number of Ella version numeric (integer)

[PGEWID] width of the movie's screen numeric (integer)

[PGEHEI] height of the movie's screen numeric (integer)

[MOVFRQ] movie frequency numeric (integer)

[PGEBGR] page background red component numeric (16 bits integer)

[PGEBGG] page background green component numeric (16 bits integer)

[PGEBGB] page background blue component numeric (16 bits integer)


2. description of layers and drawings on layers

2.1 basic variables

[LYRNEW] no operand -> starting of a new drawing layer

[LYRSND] no operand -> starting of a new sound layer

[LYRNME] name of the current layer text (no escape chars allowed)

[LYRVIS] flag of layer's visibility numeric (only 0 or 1 allowed)

[LYRMXF] total of frames used for this layer, i.e. stands for the layer duration numeric (integer)


2.2 items (drawings ...) description for the current item.

[KEYUSD] frame containing a keyframe and items ; an item can't be used outside a keyframe numeric (integer)

[KEYBLK] frame contains a blank (i.e. empty) keyframe

[KEYNME] define the current keyframe name (KEYframe NaME) ; an escaped string follows, or an empty string if the name isn't defined

[KEYSND] frame containing a keyframe and a sound, specific to sound layers ; an item can't be used outside a keyframe numeric (integer)

[ITMSND] name of the current sound object ; text (escaped format) representing the true sounf file name.

[ITMNEW] name of the current object (item) ; only used internaly text (no escape chars allowed)

[ITMCLI] file name of a movie clip (swf only) associated to a 'clip" object ; text (escaped format)

[ITMXPS] left X upper position of the item numeric (floating point)

[ITMYPS] left Y upper position of the item numeric (floating point)

[ITMWID] width of the bounding box of the item numeric (floating point)

[ITMHEI] height of the bounding box of the item numeric (floating point)

[ITMFCR] red component of the filling color of the item numeric (16 bits integer)

[ITMFCG] green component of the filling color of the item numeric (16 bits integer)

[ITMFCB] blue component of the filling color of the item numeric (16 bits integer)

[ITMFAL] percentage of transparency of the filli color(alpha channel) integer (values between 0 and 100)

[ITMSCR] red component of the stroking color of the item numeric (16 bits integer)

[ITMSCG] green component of the stroking color of the item numeric (16 bits integer)

[ITMSCB] blue component of the stroking color of the item numeric (16 bits integer)

[ITMSAL] percentage of transparency of the stroke color (alpha channel) integer (values between 0 and 100)

[ITMLIW] line width used for this item, if applies numeric (floating point)

[ITMROT] item's rotation numeric (floating point)

[ITMEND] end of item's description ; if that token isn't used, Ella will hang ! no operand


2.3 animation instructions

[KEYMVT] a keyframe containing an animation instruction numeric (integer)

[KEYBLK] frame contains a blank (i.e. empty) keyframe ; used, for example, to remove an item

[MOTIOF] flag for a motion interpolation numeric (boolean)

[ZOOMIF] flag for a zooming interpolation numeric (boolean)

[LUMINF] flag for a luminance interpolation numeric (boolean) [not yet used]

[ROTATF] flag for a rotation interpolation numeric (boolean)

[ALPHAF] flag for a transparency interpolation numeric (boolean)

[MORPHF] flag for a morphing effect numeric (boolean)


2.4 scripts instructions

Those instructions belongs to keyframes only ; other scripts instructions are embedded in buttons objects.

[KEYASC] keyframe ACtionScripts instructions are contained in the string which follows this instruction.

[KEYJSC] same thing for JavaScript instructions


2.5 trailer

[FILEND] no operand