DA'S MOVIE-COMPILER Version 1.0 vom 24.10.93

Im folgenden soll der Ausbau eines Filmskripts fr den MOVIE-COMPILER
kurz beschrieben werden. Der Compiler wertet nur Zeilen aus, die mit
einem '#' oder einem '$' beginnen. Die Datei kann also beliebigen
Text enthalten (z. B. einen Entwurf Ihres Filmskripts).

Es gibt drei Arten von Befehlen:

Die globalen Kommandos fr den Header bestehen aus einem '#', gefolgt
von einem Grobuchstaben, sowie den zugehrigen Parametern. Um die Sache
fr den Anwender mglichst einfach zu machen, wird mittels eines
'INCLUDE-Kommandos' (#I) eine bereits vorhandene MOV-Steuerdatei 
ausgewertet. Dies sollte die MOV-Datei der ersten Animationssequenz sein,
die also unbedingt vorhanden sein mu. Aus dieser Datei bezieht der 
Compiler alle ntigen Informationen ber Bildgre, Farbauflsung usw.
Ein INCLUDE-Kommando mu vorhanden sein, sonst bricht der Compiler
mit einer Fehlermeldung ab.

Die restlichen Header-Kommandos (#T, #F, #K) sind optional, da sie bereits
durch das INCLUDE-Kommando vorbelegt werden, aber vom Anwender nachtrglich
gendert werden knnen.

Der zweite Kommandotyp sind die eigentlichen 'Ereignisse' im Ablauf der
Animation: Einzelbilder und/oder Animationen anzeigen, Sound abspielen
und ein Pausen-Kommando fr definierte Verzgerungen zwischen Bild- oder
Tonsequenzen.

Der dritte Kommandotyp besteht aus Variablenzuweisungen. ber diese 
Variablen ($a - $z) knnen Zeitangaben global modifiziert werden.

Globale Kommandos fr den Header:

#I NAME          ; NAME.MOV = Quelle der Steuerinforationen
                              MOV-Datei der ersten Animation
						      MUSS VORHANDEN SEIN!

				 ; Die folgenden Kommandos sind durch das
				   Include-Kommando vorbelegt, drfen aber vom
				   Anwender umdefiniert werden; damit kann das
				   Timing eines Ablaufs nachrglich gendert werden.

#T TICKS         ; TICKS = Basis-Zeiteinheit dr den Timer


#F FRAMES		 ; FRAMES = Anzahl Bilder pro Sekunde


#K TYP           ; TYP = Soundausgabe kompatibel zu Computertypen
                         laut folgender Liste:
						 0 = Alle Computer, kein Sound
						 1 = 8-Bit Mono/Stereo STE/TT/FALCON 030
						 2 = nur FALCON 030
						 3 = nur FALCON 030 DIGITAL EXTERN
						 4 = nur FALCON 030 mit DSP
						 5 ... : reserviert
						 Zur Zeit nur 0,1 und 2 mglich!
						 DEFAULT-Einstellung ist 2!

						; Nun die eigentlichen EVENT-Kommandos:

#b NAME n        ; Zeige BILD mit Namen NAME.MPC fr die Dauer von
				   n Frames an.
						  
#a NAME n        ; starte ANIMATION mit Namen NAME.MAM und zeige
				   sie n Frames lang an.
				   WICHTIG: n mu gleich oder grer der Anzahl
						  	Frames in der Animation sein; eine
						    zu kleine Zahl sorgt garantiert fr
						    Timing-Probleme; ist n grer als
						  	die Anzahl Frames in der Ainmation,
						  	werden die restlichen Frames als Pause
						    hinten dran gehngt!
						  		   
#t NAME n        ; Starte TONSPUR mit Namen NAME.AVR und spiele diese
				   Tonspur n Frames lang ab.
				   WICHTIG: n gibt die Abspielzeit des Sounds
				            in 'Frames' an; sie sollte gleich oder
						  	grer als die reale Dauer des 
						  	Soundsampels sein; eine
						  	zu kleine Zahl sorgt garantiert fr
						  	Timing-Probleme; ist n grer als
						  	die 'Anzahl Frames' des Soundtracks,
						  	werden die restlichen Frames als Pause
						  	hinten dran gehngt!

#p TYP n         ; PAUSE fr n Frames in der
				   Bildspur, wenn TYP = b
				   Tonspur,  wenn TYP = t


                 ; Variablen
						
				 ; An Stelle von 'n' knnen die folgenden Variablen
				   verwendet werden: $a ... $z
				   Einer Variablen kann (abweichend vom Handbuch!)
				   ein Wert folgendermaen zugewiesen werden:
$a n			 ; Der Variablen '$a' wird der Wert n zugewiesen.
				   Bei mehrfacher Definition der gleichen Variablen
				   gilt die letzte Zuweisung global!

Zum Abschlu einige Beispiele:

1) Einfache Slideshow:

#I Start          ; Lade START.MOV als Vorlage

#b Bild1 50	      ; Zeige BILD1.MPC fr eine Zeit von 50 Frames an
                    = 2 Sekunden bei einer Bildfrequenz von 25 Hz.
#b Bild2 80       ; zeige BILD2.MPC 80 Frames lang an

#b Bild3 50       ; zeige BILD3.MPC 50 Frames lang an

2) Animation aus drei Sequenzen OHNE Zwischenbilder; die bergnge
   zwischen den drei Sequenzen mssen also 'passen' (identische Bilder).
   
#I Start          ; Lade START.MOV als Vorlage

#b start 1        ; zeige START.MPC fr einen Frame an

#a start 200      ; spiele Animationsequenz START.MAM 200 Frames lang ab

#a mitte 400      ; spiele Animationsequenz MITTE.MAM 400 Frames lang ab

#a ende 200       ; spiele Animationsequenz ENDE.MAM 200 Frames lang ab

3) Film aus drei Sequenzen OHNE nahtlosen bergang (also mit Startbild
   fr jede Sequenz) mit einer Tonspur unterlegt

#I Start          ; Lade START.MOV als Vorlage

#b start 1        ; zeige START.MPC fr einen Frame an

#t musik 803      ; starte Tonspur MUSIK.AVR - Abspielzeit 803 Frames

#a start 200      ; spiele Animationsequenz START.MAM 200 Frames lang ab

#b mitte 1        ; zeige MITTE.MPC fr einen Frame an

#a mitte 400      ; spiele Animationsequenz MITTE.MAM 400 Frames lang ab

#b ende 1         ; zeige ENDE.MPC fr einen Frame an

#a ende 200       ; spiele Animationsequenz ENDE.MAM 200 Frames lang ab

4) Film aus einer Animationsequenz mit mehreren Soundteilen, zwischen denen
   Pausen liegen (z. B. Gerusche an den passenden Stellen)
   
#I Film           ; Lade FILM.MOV als Vorlage

#K 2              ; FALCON 030 Soundsystem (16 Bit Stereo mglich)

#b Film 1         ; Zeige FILM.MPC einen Frame lang an

#a Film 800       ; spiele Animation FIM.MAM fr 800 Frames

#p t 100		  ; Das erste Gerusch soll nach 100 Frames erklingen

#t SOUND1 10      ; Spiele SOUND1.AVR fr die dauer von 10 Frames

#p t 200          ; 200 Frames Pause bis zum nchsten Gerusch)
                    (Zeitpunkt ermittelt sich aus 100+10+200=nach 310 Frames)
#t SOUND2 20      ; Spiele SOUND2.AVR fr die dauer von 20 Frames

#t SOUND3 100     ; Spiele (gleich anschlieend) SOUND3.AVR fr 100 Frames

WICHTIG: Abweichend vom Handbuch knnen die einzelnen Sounds in unterschiedlichen
         Formaten vorliegen. Es knnen also unterschiedliche Sample-Freuqenzen
         und unterschiedliche Auflsungen (8/16Bit, Mono/Stereo) innerhalb
         einer Animation verwendet werden.

5) Eine einfache Slideshow mit Einsatz von Variablen

#I Bild1          ; Lade BILD1.MOV als Vorlage

$a 100            ; Variable $a bekommt den Wert 100 (Frames)

#b bild1 $a       ; Zeige BILD1.MPC fr $a Frames an

#b bild2 $a       ; Zeige BILD2.MPC fr $a Frames an

#b bild3 $a       ; Zeige BILD3.MPC fr $a Frames an

#b bild4 $a       ; Zeige BILD4.MPC fr $a Frames an

#b bild5 $a       ; Zeige BILD5.MPC fr $a Frames an

Durch Variation von $a kann das Timing der Diashow ganz leicht verndert
werden!
