Blinkenlights Markup Language

From BlinkenArea Wiki
(Redirected from BML)
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.

Aufbau

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.

Bits

Bit-Wert Maximale Anzahl
von Graustufen
(oder Farben) je Kanal
Maximaler HEX-Wert im BML
1 2 1
2 4 3
3 8 7
4 16 F
5 32 1F
6 64 3F
7 128 7F
8 255 FF

Beispiel-Graustufen

<?xml version="1.0" encoding="UTF-8"?>
<blm width="5" height="5" bits="7" channels="1">
	<header>
		<creator>Blimp (version 1.3.8 date 2009-11-21)</creator>
                <title>Beispiel Graustufen</title>
	</header>

	<frame duration="100">
		<row>2A2A2A2A2A</row>
		<row>5555555555</row>
		<row>2A2A2A2A2A</row>
		<row>5555555555</row>
		<row>0000000000</row>
	</frame>
</blm>

Beispiel-RGB

<?xml version="1.0" encoding="UTF-8"?>
<blm width="5" height="5" bits="8" channels="3">
	<header>
		<creator>Blimp (version 1.3.8 date 2009-11-21)</creator>
                <title>Beispiel RGB</title>
	</header>

	<frame duration="100">
		<row>FF0000FF0000FF0000FF0000FF0000</row>
		<row>FFFF00FFFF00FFFF00FFFF00FFFF00</row>
		<row>00FF0000FF0000FF0000FF0000FF00</row>
		<row>00FFFF00FFFF00FFFF00FFFF00FFFF</row>
		<row>000000000000000000000000000000</row>
	</frame>
</blm>

Links