Blinkenlights Markup Language
Die Blinkenlights Markup Language (BML) ist ein XML-basiertes Format zur Darstellung von Blinkenlights-Animationen. Das blm-Tag umschließt die gesamte Beschreibung der Animation, die aus einem optionalen Header besteht und beliebig vielen Frames besteht. Die Frames setzen sich wiederum aus Row-Tags zusammen, die jeweils eine Pixelzeile beschreiben.
Tag: | Attribut: | Beschreibung: |
blm | width | // Breite der Animation in Pixel |
height | // Höhe der Animation in Pixel | |
bits | // Anzahl der Bits pro Kanal (Standard: 1) | |
channels | // Anzahl der Farbkanäle (1 = Helligkeitswerte, 3 = RGB) (Standard: 1) | |
header | title | // Titel der Animation, muss bei vorhandenem Header eingetragen werden |
description | // kurze Beschreibung der Animation (optional) | |
creator | // Die Software, die zur Erstellung verwendet wurde (optional) | |
author | // Name des Autors (optional) | |
// Emailadresse des Autors (optional) | ||
url | // Homepage (optional) | |
loop | // Animation wiederholen (optional) |
frame | // Ein Frame enthält die vom height-Attribut angegebene Anzahl von row-Tags. Das einzige Attribut dieses Tags ist duration und gibt die Zeit, die das Bild sichtbar ist in Millisekunden an. |
row | // Im row-Tag wird jeweils eine Pixelzeile beschrieben. Der Farbwert eines Pixels wird bei 1 bis 4 bpp mit einstelligen und bei 5 bis 8 bpp mit zweistelligen hexadezimalen Werten beschrieben. Bei mehr als einem Kanal werden mehrere Werte direkt hintereinander gesetzt. |
Zum Beispiel:
<?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>