Blinkenlights Markup Language

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

zurück zur Übersicht

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)
email // 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>