OLGA und CAB als perfektes Paar

Mit MagiC 5.x führte Application Systems Heidelberg das OLGA-Protokoll ein. Vielen Anwendern ist dessen Handhabung allerdings ein Buch mit sieben Siegeln. Joachim Fornallaz erklärt die praktische Anwendung am Beispiel des Webbrowsers CAB.

Als einziger Browser in der TOS-Welt unterstützt CAB das OLGA-Protokoll (Object Linking for GEM Applications). Diese Technologie regelt die Interaktion zwischen einzelnen Programmen und läuft sinnvollerweise nur unter Multitasking-Systemen wie MagiC oder N.AES. Als einfaches Beispiel für "Object Linking" kann man sich folgendes Szenario vorstellen: Sie schreiben mit einem Textverarbeitungsprogramm einen Text und fügen als kleine Illustration ein Bild in Ihr Dokument ein. Dann stellen Sie fest, dass das Bild nicht ganz Ihren Vorstellungen entspricht und ändern dieses mit einem Grafikprogramm ein wenig ab. Schön wäre jetzt, wenn das Bild, das Sie im Text eingefügt haben, automatisch aktualisiert würde. Und genau das ermöglicht das OLGA-Protokoll. Ferner kann mit "Inplace Drawing for OLGA" - kurz ID4 OLGA - ein Programm dazu benutzt werden um in einem anderen Programm ein bestimmtes Objekt zu zeichnen. Auch hier ein Beispiel: Nehmen wir an, unsere Textverarbeitung ist selbst nicht imstande, Bilder anzuzeigen. Mit dem InplaceDrawing-Verfahren kann aber das Grafikprogramm dazu benutzt werden, die Darstellung des Bildes im Fenster der Textverarbeitung zu übernehmen.

CAB

Wenden wir uns nun dem eigentlichen Thema dieses Artikels zu. Der Webbrowser CAB unterstützt das "normale" OLGA-Protokoll, aber auch InplaceDrawing. Unter den Anwendungsbereichen für das normale Protokoll steht in erster Linie das Erstellen von HTML-Dokumenten im Vordergrund. Mit CAB und einem geeignetem ASCII-Editor können auf ziemlich komfortabler Weise Webseiten erzeugt werden. Sie laden einerseits den Quelltext (also die HTML-Datei) in den Editor und andererseits in CAB ein - als visuelle Kontrolle sozusagen. Bei jedem Abspeichern der HTML-Datei im Editor wird CAB mit Hilfe des OLGA-Managers benachrichtigt, dass die Datei geändert wurde und lädt sie neu ein. Als Editoren kommen QED und Joe in Frage. Joe eignet sich besonders gut, da es speziell für das Erstellen von HTML-Dokumenten konzipiert ist.

Damit alles so funktioniert, wie wir es eben beschrieben haben, muss der OLGA-Manager installiert sein. Es ist aber keine spezielle Konfiguration nötig. Der OLGA-Manager OLGA.APP kann unter MagiC im Start-Ordner installiert werden. Es ist aber auch möglich, ihn als Accessory zu benutzen oder den Pfad von OLGA.APP in eine Environment-Variable zu schreiben. Wie das im Detail funktioniert, entnehmen Sie bitte der sehr gut verständlichen OLGA-Dokumentation.

CAB und eingebettete Objekte

CAB ist in der Lage, alle möglichen Dateiformate, die von ID4-fähigen Applikation unterstützt werden, anzuzeigen. Die momentan einzigen Dateitypen, die sowohl im Internet häufig in HTML-Dokumente eingebunden werden als auch von Atari-Programmen unterstützt werden, sind QuickTime-Movies. Wie werden Ihnen erstens beschreiben, wie man das System so konfiguriert, dass CAB eingebettete Objekte wie Movies und ähnliches darstellen kann, und zweitens, wie man selbst HTML-Dokumente erstellt, die QuickTime-Movies beinhalten.

OLGA.INF

Die Schlüsseldatei, von der sozusagen alles abhängt, ist die Konfigurationsdatei des OLGA-Managers. In ihr werden alle Programme und die dazugehörigen Dateien eingetragen, die für alle OLGA-fähigen Applikationen zur Verfügung stehen sollen. Im ersten Abschnitt namens [Extensions] werden alle Dateiendungen den zugehörigen Programmen zugeordnet. Nehmen wir als Beispiel QuickTime-Movies und ordnen diesen Typ dem Programm Aniplayer zu. Die Anweisung lautet:

.MOV=$ANIPLAY

Dann folgt der Block [Objects], der das InplaceDrawing erlaubt. Hier tragen wir alle Dateitypen ein, die von ID4-fähigen Programmen anderen Applikationen angeboten werden dürfen:

.MOV=QuickTime Movie

Im Abschnitt [Types] werden die Programm-Arten definiert. In der OLGA-Dokumentation sind alle bisher definierten Codes aufgelistet. Für Aniplayer benutzen wir die Kennung "MV", die für Movie/Video steht:

MV=$ANIPLAY

Und schließlich tragen wir im letzten Abschnitt namens [Applications] die Pfade aller benutzten Programme ein:

$ANIPLAY=D:\Multimedia \Aniplayer\Aniplay.prg

So weit, so gut. Als Kontrolle können wir die Konfigurationsdatei vom Programm OLGATOOL, das zum OLGA-Archiv gehört, überprüfen lassen. Hier werden Sie auf fehlerhafte Einträge hingewiesen, wie z.B. falsche Programmpfade usw.

Bei der Installation von Aniplayer mittels GEMSetup wird auf Wunsch die Anpassung der OLGA-Konfiguration vollautomatisch vorgenommen.

Falls der OLGA-Manager nicht schon lief, können wir ihn von Hand nachstarten. Sonst müssen wir das Programm zunächst beenden und erneut starten bzw. einen Neustart des Betriebssystems auslösen.

Um schnell erste Tests machen zu können empfehlen wir Ihnen die Tabellenkalkulations-Applikation "Texel" zu benutzen. Hier können auf sehr einfacher Weise beliebige ID4-Objekte in ein Rechenblatt eingefügt werden. Sie legen zunächst ein neues Dokument an und wählen im Fenstermenü den Eintrag "Einfügen" und dann "Objekt..." aus. Es erscheint eine Liste aller verfügbaren Dateitypen, die wir vorhin in OLGA.INF definiert haben. Dann wählen Sie eine Datei aus, und falls alles geklappt hat, sollte im Rechenblatt das Objekt erscheinen.

Als Kontrolle können wir die Konfigurationsdatei vom Programm OLGATOOL, das zum OLGA-Archiv gehört, überprüfen lassen. Hier werden Sie auf fehlerhafte Eintrage wie z.B. falsche Programmpfade usw. hingewiesen.

Das EMBED-Tag

Wie fügen wir nun solche Objekte in HTML-Dokumente ein? Wir werden Ihnen in diesem Abschnitt einige Grundlagen erklären. Eingebettete Objekte werden mit dem HTML-Tag "EMBED" eingefügt. Dieses Tag gehört zwar nicht zum offiziellen HTML-Standard, doch es wird von allen gängigen Browsern auf verschiedensten Plattformen unterstützt. Korrekterweise müsste das ab HTML4 eingeführte Tag "OBJECT" benutzt werden, doch CAB versteht diesen Befehl nicht.

Analog zum "IMG"-Tag müssen bzw. können im "EMBED"-Tag Quelldatei, Höhe, Breite, Randgröße und Ausrichtung angegeben werden. Hier ein Beispiel:

<EMBED SRC="movie.mov" width="400" height="300" border="1">

Diese Angaben genügen im Allgemeinen um ein Objekt in ein HTML-Dokument einzubetten. Für Animationen wie QuickTime-oder AVI-Movies können zusätzliche Attribute angegeben werden (siehe Infobox).

Fazit

Mit der OLGA-Technologie lässt sich CAB quasi unbeschränkt erweitern, was die Darstellung verschiedenster Objekttypen angeht. Doch die Auswahl von Plug-ins bzw. ID4-Server-applikationen ist auf der TOS-Plattform noch ziemlich dünn, es fehlt z.B. die Unterstützung des sehr stark verbreiteten Flash-Formats. Hinzu kommt, dass Aniplayer nicht in der Lage ist, Movies im QuickTime-3-/4-Format anzuzeigen. Auch dieses Format findet auf dem Internet heutzutage immer mehr Verbreitung, insbesondere auch deshalb, weil mit relativ geringen Datenmengen eine beachtliche Bild- und Tonqualität erzielt werden kann. Doch dafür braucht es enorme Prozessorleistung, die wohl kein Classic-Atari-System derzeit erbringen könnte. Glücklicherweise gibt es neben normalen Movies auch sogenannte QuickTime-VR-Szenen im WWW, die CAB mit Hilfe von Aniplayer einwandfrei darstellen kann.

Attribute des EMBED-Tags - eine Auswahl

width=[Breite] bzw. height=[Höhe]

Breite bzw. Höhe des Objekts in Pixel oder in Prozent. Im Zusammenspiel mit CAB und Aniplayer empfehlen wir Ihnen aber nur Pixelwerte zu benutzen, da sonst Darstellungsprobleme auftreten können.

src=[URL]

Die URL des Objekts. Ohne Breite, Höhe und URL kann CAB keine eingebetteten Objekte darstellen.

autoplay=[boolean]

Hiermit wird angegeben, ob das Movie automatisch abgespielt werden soll. Mögliche Werte für [boolean] sind "true" (wahr) oder "false" (falsch).

loop=[boolean]

Wir können hier festlegen, ob sich das Movie (endlos) wiederholt werden soll.

controller=[boolean]

Auf Wunsch können unterhalb der Animation auch Kontrollelemente dargestellt werden. Damit können Sie dann direkt im Browser-Fenster die Animation starten oder stoppen, die Lautstärke einstellen oder die Abspielposition frei setzen. Setzen Sie den Wert auf "true", so muss die Höhe des Objekts um 16 Pixel erhöht werden, da sonst sie Kontrollelemente gar nicht dargestellt werden.

Hinweis: Setzt man die Attribute Controller und autoplay auf "false", so wird die Animation gar nie abgespielt!

Bezugsquellen:

CAB: Application Systems Heidelberg, application-systems.de
OLGA: Thomas Much, snailshell.de/OLGA
Aniplayer: Didier Mequignon, perso.wanadoo.fr/didierm
qed: Christian Felsch, tu-harburg.de/~alumnifc
Joe: Pierre Tonthat, http://ptonthat.perso.neuf.fr/


Joachim Fornallaz
Aus: ST-Computer 01 / 2001, Seite 30

Links

Copyright-Bestimmungen: siehe Über diese Seite