### vordefinierte Variablen

Die Verwendung externer Programme in Mpeg2Schnitt wird durch Scripte gesteuert. zur Parameterübergabe zwischen Mpeg2Schnitt und dem Script werden Variablen verwendet. Diese Variablen sollen hier erklärt werden. Externe Programme können zum Demuxen, Encoden, Nachbearbeitung und bei den Effekten verwendet werden. Für jeden dieser Anwendungsfälle existieren unterschiedliche Variablen.

Auch die Art nach der Dateinamen automatisch hochgezählt werden, die Vorbelegung von Verzeichnissen und Dateinamen und einiges mehr wird mit Variablen und Parametern festgelegt

Variablen werden immer von den Zeichen "$" und "#" eingeschlossen. Ein Variablenname besteht nur aus Buchstaben. Groß- und Kleinschreibung spielt keine Rolle. Zahlen am Ende des Variablennamens sind nur für Variablenauflistungen (z.B. `$AudioFile1#, $Chapter1#`) zulässig.

Muß vor oder (und) nach einer Variable noch etwas stehen, das gelöscht werden soll wenn die Variable nicht verwendet wird, sind die Zeichen "§" vor der Variable und "&" nach der Variable zu verwenden. An Beispielen wird es am besten deutlich.

Es sollen alle Audiodateien (aber maximal 3) durch Komma getrennt hintereinander geschrieben werden. Die Variablen würden dann so aussehen: `$AudioFile1#, $AudioFile2#§, $AudioFile3#` Sind nur 2 Audiodateien vorhanden sieht das Ergebnis so aus: `ersteAudiodatei.mp2, zweiteAudiodatei.ac3` Die dritte Variable wurde komplett, inclusive dem § und dem Komma, gelöscht.

Variablen die nicht durch Werte ersetzt wurden werden gelöscht. Gänsefüßchen die direkt vor und nach der Variable stehen (z.B. `"$Variable#"`) werden mitgelöscht. Stehen Gänsefüßchen außerhalb der Zeichen "§" und "&" werden sie nicht gelöscht! Auch hier wieder einige Beispiele.

`... , "%Dir%$AudioFile3#"` - Das letzte Gänsefüßchen wird nicht gelöscht da direkt vor der Variablen (vor dem $) kein Gänsefüßchen steht. `... , "%Dir%$AudioFile3#"&` - In diesem Beispiel wird auch das letzte Gänsefüßchen gelöscht. `... §, "%Dir%$AudioFile3#"&` - Hier wird nun auch alles vor der Variable (inclusive dem §) gelöscht.

Sollen aus irgend einem Grund die Zeichen "§", "$", "#", "" oder "&" in den Parametern vorkommen, müssen sie maskiert werden. Das geschieht indem das Zeichen doppelt geschrieben wird. (für $ also $$) Die Maskierungen werden nach dem die Variablen bearbeitet wurden gelöscht.

## Encoder-, Effektscripte:

$DateiName# | Name der Quelldatei (ohne Pfad und Endung).
$Directory# | Verzeichnis in dem die Quelldatei zu finden ist (ohne "\" an Ende).
$TempDirectory# | Das im Eingabefeld Zwischenverzeichnis im Dialog Optionen Verzeichnisse eingegebene Verzeichnis ohne "\" am Ende.
$ProgramDirectory# | Verzeichnis des Programms Mpeg2Schnitt (ohne "\" an Ende).
$PartFile# | Name der Teildatei für die weitere Berechnung (wird vom Programm automatisch gebildet) (Pfad + Dateiname)
$NewFile# | Name der neu berechneten Teildatei (der Name wird vom Programm gebildet, die Datei muß vom externen Programm erzeugt werden) (Pfad + Dateiname)
$OverallLength# | Länge des zu berechnenden Teils in ms (z.B. Effektlänge)
$BeginIndex# | Begin der Teildatei in der Quelldatei (Bilder oder Frames)
$EndIndex# | Ende der Teildatei in der Quelldatei (Bilder oder Frames)
$BeginAdr# | Begin der Teildatei in der Quelldatei (Byte)
$EndAdr# | Ende der Teildatei in der Quelldatei (Byte)
$CutType# | Schnitttyp (In oder Out)
$DeleteTempFiles# | "DeleteTempFiles=0" verhindert ein löschen der tempoären Dateien

## Videoscripte:

$PartFiled2v# | Name der D2V-Projektdatei für das Teilstück (wird vom Programm automatisch gebildet) (Pfad + Dateiname + ".d2v").
$Encoder# | In den Einstellungen festgelegtes Encoderscript (wichtig für Effektscripte) (Pfad + Dateiname).
$Bitrateberechnen# | "Bitrateberechnen=0" unterdrückt die Neuberechnung der Bitrate der im Script neu erstellten Dateien.
$DGIndexProject# | "DGIndexProject=0" verhindert das erstellen der D2V-Projektdatei.

## Videoeigenschaften:

$FrameWidth# | Bildbreite in Pixel
$FrameHight# | Bildhöhe in Pixel
$Aspectratio# | Seitenverhältnis Breite/Höhe bei der Anzeige. (mögliche Werte: "1:1", "4:3", "16:9", "2.21:1")
$Framerate# | Anzahl der Bilder die pro Sekunde dargestellt werden. (mögliche Werte: "23.976", "24", "25", "29.97", "30", "50", "59.97", "60")
$Bitrate# | Bitrate in Byte pro Sekunde die in dem ersten Sequenzheader der Datei eingetragen ist. (bps)
$VBVPuffer# | Wert des VBV-Puffer der in dem ersten Sequenzheader der Datei eingetragen ist.
$ProfilLevel# | Profil und Level aus dem ersten Sequenzheader der Videodatei (Bytewert aus dem Header).
$Progressive# | Progressive-Flag aus dem ersten Sequenzheader der Videodatei (1 bedeutet progressive Sequenz).
$ChromaFormat# | Farbformat aus dem ersten Sequenzheader der Videodatei (mögliche Werte: "4:2:0", "4:2:2", "4:4:4")
$LowDelay# | Low-Delay Flag aus dem ersten Sequenzheader der Videodatei ("0" oder "1").
$VBVDelay# | VBV-Delay Wert aus dem ersten Bildheader der Videodatei.
$DCPrezision# | Wert der DC-Prezision aus dem ersten Bildheader der Videodatei (mögliche Werte: "8", "9", "10")
$Fieldstructur# | Teilbildstruktur aus dem ersten Bildheader der Videodatei (mögliche Werte: "Top", "Bottom", "Frame")
$Fieldfirst# | TopFieldfirst-Flag aus dem ersten Bildheader der Videodatei (mögliche Werte: "TFF", "BFF")

## Audioeigenschaften:

$FileLength# | Länge der an das Effektprogramm übergebenen Datei in Millisekunden (wird erst beim kopieren der Teildatei ermittelt).
$Samplerate# | Die Samplerate der Quelldatei in Sample/Sekunde (z.B. 48000).
$Bitrate# | Die Bitrate der Quelldatei in kBit/Sek.
$Protection# | Ist in der Quelldatei das Protection-Bit gesetzt wird hier ein "e" ausgegeben.
$Privat# | Ist in der Quelldatei das Privat-Bit gesetzt wird hier ein "o" ausgegeben.
$Copyright# | Ist in der Quelldatei das Copyright-Bit gesetzt wird hier ein "c" ausgegeben.
$Mode# | Gibt den Modus der Quelldatei wieder. (MP2: s, j, d, m; AC3: 1+1, 1/0, 2/0, 3/0, 2/1, 3/1, 2/2, 3/2)
$NofChannels# | Ist die Anzahl der verwendeten Kanäle in der Quelldatei.

## Nachbearbeitung:

$VideoName# | Ist der Name des geschnittenen Videos ohne Verzeichnis und Dateiendung.
$VideoDirectory# | Verzeichnis der geschnittenen Videodatei ohne "\" am Ende.
$ProjectName# | Ist der Name des Projektes ohne Verzeichnis und Dateiendung. Hat das Projekt noch keinen Name da es noch nicht gespeichert wurde wird der Videoname benutzt.
$ProjectDirectory# | Das Verzeichnis in dem das Projekt gespeichert ist (ohne "\" am Ende). Ist das Projekt noch nicht gespeichert wird das Videoverzeichnis benutzt.
$ProgramDirectory# | Verzeichnis des Programms Mpeg2Schnitt (ohne "\" an Ende).
$TempDirectory# | Das im Eingabefeld Zwischenverzeichnis im Dialog Optionenfenster/Verzeichnisse eingegebene Verzeichnis ohne "\" am Ende.
$FramesPerSec# | Anzahl der Bilder pro Sekunde des Projektes.
$VideoFile# | Die fertig geschnittene Videodatei mit Pfad und Dateiendung.
$AudioFile1# | Die erste fertig geschnittenen Audiodatei mit Pfad und Dateiendung.
$AudioFile2# | Die zweite fertig geschnittenen Audiodatei mit Pfad und Dateiendung.
$AudioFile..n# | Es sind weitere Audiodateien möglich. Die Variablen werden einfach durchnummeriert (AudioFile3, AudioFile4 ...).
$Chapter1# | Ist das erste Kapitel der fertigen Videodatei.
$Chapter2# | Ist das zweite Kapitel der fertigen Videodatei.
$Chapter..n# | Es sind weitere Kapitel möglich. Die Variablen werden einfach durchnummeriert (Chapter3, Chapter4 ...).
$ChapterList# | Schreibt eine Kapitelliste (des fertigen Videos) in der definierten Form. Dazu sind Parameter möglich die durch ";" getrennt an den Variablennamen angehängt werden (vor dem "#"). Leerzeichen zur besseren Lesbarkeit sind zulässig.
`ohne Parameter` | Die Kapitel werden ohne Trennzeichen im Format Bilder hintereinander geschrieben.
`Format` | Hier kann ein Zeitformat angegeben werden (z.B. Format=hh:mm:ss.mss). Soll das Zeichen ";" im Format verwendet werden muß es maskiert (doppelt schreiben ";;") werden. Auch die Zeichen "$", "#", "" und "&" müssen maskiert werden.
`Delimiter` | Ist das Trennzeichen zwischen den Kapiteln. Auch hier müssen die Zeichen ";", "$", "#", "" und "&" maskiert werden.
`Offset` | Die Kapitel werden mit diesem Offset geschrieben. Auch bei negativem Offset wird ein Kapitel niemals kleiner Null.
`ListZero` | Ist ListZero=1 steht am Anfang der eingefügten Liste immer ein Kapitel 0 auch wenn in der Kapitelliste kein Kapitel 0 am Anfang vorhanden ist.

## Verzeichnisse:

$Videodirectory# | Das Verzeichnis der ersten in der Schnittliste verwendeten Videodatei. Ist keine Videodatei vorhanden wird das Verzeichnis der Audiodatei verwendet.
$Videoname# | Der Name der ersten in der Schnittliste verwendeten Videodatei. Ist keine Videodatei vorhanden wird der Name der Audiodatei verwendet.
$Projectdirectory# | Das Verzeichnis des Projektes. Wurde das Projekt noch nicht gespeichert wird das Verzeichnis des Programms verwendet.
$Projectname# | Der Name des Projektes. Wurde das Projekt noch nicht gespeichert wird der `Videoname` verwendet. Ist auch dieser nicht verfügbar wird der Name "Project1" benutzt.

## Dateinamen:

$Videoname# | Der Name der ersten in der Schnittliste verwendeten Videodatei. Ist keine Videodatei vorhanden wird der Name der Audiodatei verwendet.
$Projectname# | Der Name des Projektes. Wurde das Projekt noch nicht gespeichert wird der `Videoname` verwendet. Ist auch dieser nicht verfügbar wird der Name "Project1" benutzt.

## Dateinamen nummerieren:

$FileName# | Ist der Name der Datei.
$Number# | Steht für die Zahl die hochgezählt werden soll. Zu dieser Variable sind Parameter möglich die durch ";" getrennt an den Variablennamen angehängt werden (vor dem "#"). Leerzeichen zur besseren Lesbarkeit sind zulässig.
`ohne Parameter` | Die Zahl hat das Format NNN. Eine mindestens dreistellige Zahl (z.B. 005). Es wird mit der Zahl Eins angefangen zu zählen.
`Format` | Hier kann das Format der Zahl festgelegt werden. Siehe auch Zeitformate. Als Formatzeichen ist nur das N sinnvoll. Ohne Formatangabe wird das Format NNN benutzt.
`No` | Die Zahl mit der begonnen wird zu zählen. Ohne Angabe wird mit Eins begonnen.

Verweise:

- Dialog Optionen Verzeichnisse
- Dialog Optionen Dateinamen/Endungen
- Dialog Optionen Externe Programme
- Dialog Optionen Effekte
- Scripte
- Zahlen- und Zeitformate
- Inhaltsverzeichnis