Blinkenlights Markup Language English
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 pixel (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-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>