Blinkenlights Markup Language English

From BlinkenArea Wiki
Revision as of 20:40, 19 February 2009 by StefanSchuermans (talk | contribs) (bugfix bits comment)
Jump to: navigation, search
Zur deutschsprachigen Version dieser Seite

back to summary

The BlinkenlightsMarkupLanguage (BML) is a XML-based format for description of Blinkenlights animations. The blm-tag encloses the whole description of the animation that consists of a optional header and arbitrary many frames. Frames are constructed with row-tags, that describe one line of pixels.

tag: attribut: description:
blm width // width of the animation in pixels
height // height of the animation in pixels
bits // number of bits per channel (default: 1)
channels // number of color-channels (1 = only brightness, 3 = RGB) (default: 1)
header title // title of the animation, necessary if header is present
description // short description of the animation (optional)
creator // software which was used to make this animation (optional)
author // name of the author(optional)
email // email-address of the author (optional)
url // homepage (optional)
loop // loop this animation (optional)
frame // A frame has as many row-tags as the attribute of the blm-tag says. This tag has only one attribute duration, that sets the time in miliseconds how long the picture will be displayed.
row // The row-tag describes one line of pixels with color values. One of this color values is a hexadecimal value of length one (for 1 to 4 bpp) or two (for 5 to 8 bpp). If there is more than one channel, there must be a value for each channel.

For example:

<?xml version="1.0" encoding="UTF-8"?>
<blm width="18" height="8" bits="4" channels="1">
<header>
<title>bbo-bbm</title>
<description>Auto-Generated Vertical Color Test</description>
<creator>Perlscript</creator>
<author>CAVAC</author>
<email>cavac@grumpfzotz.org</email>
<loop>no</loop>
</header>
<frame duration="50">
<row>89ABCDEFEDCBA98765</row>
<row>789ABCDEFEDCBA9876</row>
<row>6789ABCDEFEDCBA987</row>
<row>56789ABCDEFEDCBA98</row>
<row>456789ABCDEFEDCBA9</row>
<row>3456789ABCDEFEDCBA</row>
<row>23456789ABCDEFEDCB</row>
<row>123456789ABCDEFEDC</row>
</frame>
...
...
...
</blm>