Hilfe für das Programm MinDia

Das Programm MinDia ist dafür gedacht multimediale Diavorträge auf dem Computer durchzuführen. Man kann Bilder überblenden, Texte in die Bilder einblenden und den Vortrag mit Musik unterlegen.

Das Programm bietet weiterhin die Möglichkeit programmierbare Diaprojektoren anzusteuern um somit computergesteuerte Diavorträge durchzuführen. Zur Zeit  werden unterschiedliche Rollei Diaprojektoren unterstützt: Rolleivision 35 twin digital P und Rolleivision twin MSC 3x0 P.

Diese Diaprojektoren lassen sich mit Hilfe einer seriellen Schnittstelle (RS 232) durch einen Computer ansteuern. Daher ist es möglich einen Diavortrag vollautomatisch ablaufen zu lassen. Der Computer setzt für jedes Dia die Überblend- und Standzeit und sorgt auch für den Diawechsel. Zusätzlich kann man den Diavortrag mit einer Musik unterlegen. Dabei übernimmt der Computer das Abspielen einer oder mehrerer Audio-Dateien (zur Zeit werden WAV- und MP3-Dateien unterstützt).

Das Programm möchte den Anwender bei der Erstellung eines Diavortrages unterstützen, indem es ihm die Anordnung der Dias auf bequeme Weise ermöglicht und ihm hilft, die Diawechsel mit der Musik zu synchronisieren, z.B. einen Diawechsel passend zu einem Rythmuswechsel durchzuführen. Ein Diavortrag kann während der Erstellung auch ohne angeschlossenen Diaprojektor in Echtzeit simuliert werden.

Durch die Möglichkeit der Simulation des Diavortrages, kann das Programm auch dazu verwendet werden, den Diavortrag auf einem angeschlossenen Computer-Monitor oder TV-Bildschirm vorzuführen. Somit ist es möglich, das Programm zur Präsentation von vortragsbegleitenden Grafiken  einzusetzen.

Zu dem Diavortrag .


Programmfunktionen

Die wesentlichen Funktionen des Programmes sind:

Diavortrag

Ein Diavortrag besteht im wesentlichen aus: Zur Anordnung der Dias wird die Pult-Ansicht verwendet und zur Synchronisation der Diawechsel mit der Musik wird die Zeitleisten-Ansicht verwendet.

Aufbau des Hauptfensters

Das Hauptfenster des Programms MinDia besteht aus verschiedenen Bereichen: der Menüzeile, der Zubehör-Leiste (Toolbar), einer Statuszeile (am unteren Rand des Fensters), sowie dem Arbeitsbereich, der wiederum aus zwei einzelnen Unterbereichen besteht: der Dia-Pult-Ansicht und der Zeitleisten-Ansicht.

Menüzeile

Über das Menü können alle Funktionen des Programms aufgerufen werden. Zur schnelleren Bedienbarkeit des Programms besitzten praktisch alle Menüpunkte besitzen einen sog. Accelerator-Key, d.h. sie können ohne über das Menü zu gehen direkt über die Eingabe einer Tastenkombination (Beispiel: Ctrl+O zum Öffnen einer Präsentations-Datei) aufgerufen werden.

Das Hauptmenü enthält die folgenden Einträge:

Zubehör-Leiste (Toolbar)

In der Toolbar sind einige häufig benötigte Operationen direkt über Icons aufrufbar.

Statuszeile

In der Statuszeile werden Informationen über den aktuellen Zustand des Programms angezeigt. Es gibt drei Anzeige-Bereiche:

Arbeitsbereich

Dia-Pult-Ansicht:

Zeitleisten-Ansicht:

Hauptmenu

Datei
Neu Einen neuen Diavortrag anlegen, die Daten des aktuellen Diavortrags werden gelöscht.
Öffnen... Einen Diavortrag aus einer Datei einlesen.
Öffnen zum Änderen... Einen Diavortrag aus einer Datei einlesen, ohne jedoch das Skript-Ereignis "Presentation_loaded" auszuführen.
Speichern Speichert den aktuell bearbeiteten Diavortrag.
Speichern als... Speichert den aktuell bearbeiteten Diavortrag unter einem anderen Namen ab.
Erzeuge relative Pfade
Ersetzt alle absoluten Pfade (z.B. c:\dokumente\bilder\bild.jpg) durch relative Pfade (z.B. ..\bilder\bild.jpg), somit können Diashows einfacher auf dem Datenträger verschoben werden.
Importiere XML-Datei... Importiert einen Diavortrag aus einer XML-Datei. 
Exportieren als XML-Datei... Exportiert den aktuellen Diavortrag als XML-Datei.
Importiere dynamische Grafik-Datei...
Importiert eine extern erstellte Datei mit dynamischen Grafik-Objekten.
Exportiere dynamische Grafik-Datei...
Exportiert die aktuellen dynamischen Grafik-Objekte in eine Datei, diese kann mit externen Programmen weiterbearbeitet werden und anschließend wieder importiert werden.
Exportieren... NOCH NICHT IMPLEMENTIERT, verwende ein entsprechendes Skript.
Drucken... NOCH NICHT IMPLEMENTIERT.
Zuletzt geöffnete Dateien Schnellauswahl der zuletzt bearbeiteten Dateien.
Beenden Programm beenden. Es erfolgt eine Nachfrage, falls die aktuellen Daten noch nicht gespeichert wurden.

Bearbeiten
Rückgängig NOCH NICHT IMPLEMENTIERT.
Wiederherstellen NOCH NICHT IMPLEMENTIERT.
Ausschneiden Markierte(s) Dia(s) in die Zwischenablage ablegen und aus den Präsentationsdaten löschen.
Kopieren Markierte(s) Dia(s) in die Zwischenablage ablegen.
Einfügen Im der Zwischenablage abgelege Dias nach der aktuell markierten Position einfügen.
Alles auswählen Alle Dias der Präsentation auswählen (selektieren).
Finde Text... Suche einen Text in den Dia-Informationen (Id, Kommentar oder Bild-Datei-Name).
Finde nächste Finde das nächste Vorkommen des Such-Textes.
Dia anhängen Neues Dia an das Ende der aktuellen Präsentation anfügen.
Dia hinzufügen Neues Dia an die aktuelle Position einfügen
Löschen Markierte(s) Dia(s) löschen.

Abspielen
Starte von Auswahl Starte das Abspielen der aktuellen Diapräsentation ab dem markierten Dia. Vor dem Abspielen wird das das Magazin zur ausgewählten Position transportiert.
Starte mit Auswahl Starte das Abspielen der aktuellen Diapräsentation ab dem markierten Dia. Es erfolgt kein Transport des Magazins zur Position, d.h. das Magazin sollte schon vorher manuell positioniert sein.
Start Starte das Abspielen der aktuellen Diapräsentation.
Pause Pausiere das Abspielen der gerade laufenden Diapräsentation.
Stop Stoppe das Abspielen der gerade laufenden Diapräsentation.
Musik Kommentar hinzufügen Setze einen Kommentar-Makrierung an die aktuelle Abspielposition. Nur während dem Abspielen verfügbar.
Graphik-Operation hinzufügen
Setzt eine Grafik-Operation an die aktuelle Abspielposition. Nur während dem Abspielen verfügbar.
Überblendzeit ändern... Änderung der Test-Überblendzeit durchführen
Fade in Test Führt im Play-Info-Dialog einen Überblend-Test mit den beiden aktuell ausgewählten Dias durch. Als Überblendzeit wird die Test-Überblendzeit verwendet.
Fade out Test Analog zum Fade in Test, jedoch mit umgekehrter Reihenfolge.

Extras
Konfiguration... Anzeige eines modalen Dialoges um Einstellungen für das Programm zu ändern: COM-Port Einstellungen, Simulation- und Skriptmodus).
Player-Einstellungen...
Einstellungen für den mp3-Player vornehmen (nur unter Linux)
Logging... Anzeige eines Dialoges um Protokoll-Ausgaben anzuzeigen, Ausgaben können im Konfigurations-Dialog ausgeschaltet weden.
Projektor kontrollieren... Anzeige eines Dialoges zur manuellen Kontrolle des Diaprojektors.
Präsentationsdaten... Anzeige eines modalen Dialoges zur Eingabe eines Kommentars zur aktuellen Präsentation.
Präsentationsereignisse... Anzeige eines modalen Dialoges zur Eingabe von Skripten zu entsprechenden Ereignissen.
Musik Daten... Anzeige eines modalen Dialoges zur Eingabe der Musik-Stücke und Abspiel-Positionen. Hier können Wav-Dateien eingegeben werden, die während der Präsentation abgespielt werden sollen. Zu jeder Wav-Datei können Start- und Stop-, sowie Ein- und Ausblend-Zeitpunkte angegeben werden.
ACHTUNG: dieser Dialog ist noch nicht ganz ausgereift! --> verwende Drag & Drop stattdessen!
Kommentare zur Musik... Anzeige eines modalen Dialoges in dem die Musik-Kommentare modifiziert werden können.
ACHTUNG: dieser Dialog ist noch nicht ganz ausgereift!
Kommentare zu den Dias... Anzeige eines modalen Dialoges in dem Kommentare zu Dia-Bereichen modifiziert werden können (z.B. Intro, Kapitel 1, Finale, etc.). Diese Kommentare sind als Hilfe bei der Erstellung von 'Drehbüchern' gedacht.
ACHTUNG: dieser Dialog ist noch nicht ganz ausgereift!
Ändere Eintrag... Anzeige eines Dialoges zum modifizieren der Daten des gerade ausgewählten Dias, in diesem Dialog können z.B. Stand- und Überblendzeit, sowie Kommentar-Text des Dias geändert werden.
Abspiel Status... Anzeige eines Dialoges in dem das Bild des gerade aktivierte Dias angezeigt wird. Dieser Dialog ist für die Beurteilung der Präsentation im Simulations-Modus nützlich. 

Plugins (optional)
Modifiziere Python Skripte... Öffnet einen Dialog, in dem Skripte geladen, modifiziert, gespeichert und ausgeführt werden können.
Python Skripte ausführen Schnellstart der im "scripts" Verzeichnis verfügbaren Skripte.

Hilfe
Hilfe Anzeige der Hilfe für das Programm.
Über... Informationen über das Programm anzeigen.


Dialoge

Konfigurations-Dialog (Konfiguration der seriellen Schnittstelle RS232), modal

Logging-Dialog

Projektor Kontrolle-Dialog

Präsentationsdaten-Dialog, modal

Präsentationsereignisse-Dialog, modal

Musik-Daten-Dialog, modal

Musik-Kommentare-Dialog, modal

Dia-Kommentare-Dialog, modal

Dynamische Grafik-Operationen-Dialog, modal

In diesem Dialog können Eigenschaften der dynamischen Texte geändert weden (Farbe, Zeichensatz, Zeichensatzgröße).
Diese Dialog kann über das Kontext-Menü der Zeitleisten-Ansicht geöffnet werden oder durch das anclicken eines dynamischen Textes mit der linken Maustaste bei gleichzeitig gedrückter Shift-Taste.

Modifiziere-Dia-Dialog

Abspiel-Informations-Dialog

Dieser Dialog repräsentiert eine virtuelle Leinwand. In diesem Dialog wird das gerade aktuelle oder selektierte Bild angezeigt, falls ein solches vorhanden ist. Hier können auch die Überblend-Effekte ausgetestet werden (Menüpunkt: "Abspielen / Fade in/out").
Über das Kontext-Menü der Bildanzeige (aktivierbar über die rechte Maustaste) kann der Dialog auf Vollbildschirm Modus umgeschaltet werden. In diesem Modus nimmt der Dialog die gesamte Bildschirmgröße ein, dies ist z.B. für die Präsentation von Diavorträgen mit digitalen Projektoren nützlich. Weiter kann im Kontext-Menü die gerade laufende Überblendung unterbrochen und fortgesetzt werden und das aktuelle Bild gespeichert werden.
Am unteren Ende des Dialoges kann man den Skalierungs-Modus für die Bilder einstellen. Folgende Modi stehen zur Verfügung:

Außerdem kann man durch Tastatur-Eingabe (wenn der Dialog den Eingabefokus besitzt) einige Befehle aus dem Kontext-Menü direkt ausführen:


Suchen-Dialog, modal

Über-Dialog, modal

Hier wird Information über die Anwendung angezeigt. Es gibt mehrere Kategorien:

Hilfe-Dialog, manchmal modal

In diesem Dialog wird die Online-Hilfe für die Anwendung angezeigt. Es besteht die Möglichkeit über die Navigations-Knöpfe am unteren Ende des Dialogs innerhalb der Hilfe zu navigieren.

Modifziere-Scripte-Dialog

Hier können Skripte eingegeben, verändert, importiert, exportiert und getestet werden. Die von der Applikation zur Verfügung gestellten Skript-Befehle sind in dem Abschnitt  Skript-Funktionen zusammengefasst. Im unteren Bereich des Dialoges befindet sich ein Ausgabe-Bereich, hier werden alle Texte angezeigt, die mit der Funktion mindiapy.PrintLn( string ) ausgegeben werden.


Copyright

MinDia (c) by Michael Neuroth, 2001-2004.

Das Programm MinDia wurde von Michael Neuroth geschrieben und steht unter der GPL.

Bei der Erstellung einiger Teile des Programms wurden Quelltexte und Bibliotheken aus anderen Quellen verwendet, siehe dazu den Abschnitt Beiträge.

ACHTUNG:
Die Verwendung des Programms erfolgt auf eigene Gefahr. Der Autor übernimmt keinerlei Gewährleistung für dieses Programm.

WARNUNG:
Das Programm kann über die serielle Schnittstelle (RS232) Dia-Projektoren vom Typ Rolleivision 35 twin digital P und Rolleivision twin MSC 3x0 P ansteuern. Die Nutzung dieser Funktionalität erfolgt auf eigene Gefahr. Bei unsachgemäßer Verwendung dieser Ansteuer-Möglichkeit des Projektors kann der Dia-Projektor beschädigt werden. Der Autor übernimmt übernimmt keine Gewährleistung für die korrekte Funktion dieser Ansteuerung.


Feedback

Die Homepage von MinDia ist unter mindia.sourceforge.net zu finden. Der Autor ist unter mindia@users.sourceforge.net zu erreichen. Die Project-Seite auf Sourceforge sind weitere nützliche Informationen über das Projekt verfügbar. Es gibt auch ein User-Forum und einen Bug-Tracker (für Fehlerberichte) auf Sourceforge.

Da Autoren von Programmen immer gerne über die Nützlichkeit ihrer geschriebenen Programmes für andere User informiert sein möchten, bittet der Autor um Erfahrungsberichte beim Einsatz des Programms (positive wie negative), Fehlermeldungen, Verbesserungsvorschläge und Quellcode (für Plugin-Module, Bugfixes, Ergänzungen, etc.). Jede Rückmeldung ist sehr willkommen.

Der Autor ist auch gerne bereit, bei der Erstellung von weiteren Plugin-Modulen (für weitere Skript-Sprachen) und für die Ansteuerung von anderen Dia-Projektoren, Unterstützung zu leisten.


Weitere Informationen


Technische Dokumentation


Voraussetzungen und Plattformen

MinDia verwendet das Qt-Framework. Es wird mindestens Qt 2.3.0 benötigt. Das Programm kann auch mit Qt 3.x.y übersetzt werden.
Zur Nutzung der (optionalen) Skript-Funktionalität muß die Skript-Sprache Python 2.x installiert sein.

Zur Zeit läuft MinDia auf den folgenden Plattformen:


Kommandozeilen Parameter

Folgende Kommandozeilen Parameter werden von der Applikation ausgewertet:


INI-Datei

In der Ini-Datei (.mindia.ini) können diverse Konfigurations-Parameter gesetzt werden, die dann die Standardwerte überschreiben. Diese Wete können auch mit Hilfe des Konfigurations-Dialoges geändert werden. Das Format der INI-Datei Einträge ist immer von der Form:
    Schlüssel-Text=Werte-Text

ACHTUNG: zwischen dem Zuweisungs-Zeichen (=) und dem Schlüssel-Text und dem Werte-Text darf kein Leerzeichen stehen, ansonsten wird der Schlüssel nicht erkannt.

Die Ini-Datei wird unter Linux im User-Home Verzeichnis (~/.mindia.ini) und unter Windows in dem Verzeichnis, das unter dem Registry-Eintrag "HKEY_CURRENT_USER.Software.mindia.inifile" eingetragen ist, gespeichert. Falls unter Windows das Setup.exe Programm zur Installation verwendet wird, ist dies in der Regel das Verzichnis c:\programme\mindia.

Die folgende Einträge werden zur Zeit unterstützt:
 
Schlüssel Mögliche Werte
com.port_no 1,2,3,4
com.baudrate 110, 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200
com.parity_mode none (keine), even (gerade), odd (ungerade)
com.stopbits 1, 1.5, 2
com.databits 6,7,8
com.flow 0 (keine), 1 (XON/XOFF), 2 (Hardware)
com.logging 0, 1
script_events.enabled 0, 1
config.logging
0, 1
config.projector_id
1=Digital Twin P; 2=MSC 3x0 P
config.scriptEvents
0, 1
config.simulation
0, 1
datafile.? Dateiname


Skripte

Mit Hilfe von Skripten kann die Funktionalität des Programms erheblich erweitert werden. So kann z.B. der Import und Export von Präsentationsdaten implementiert werden. Es können Überprüfungsfunktionen realisiert werden (z.B. um zu überprüfen ob die Standzeiten für Dias die technischen Spezifikationen des Diaprojektors erfüllen, siehe verifyshow.py) und Skalierungsfunktionen (z.B. in _settime.py) angegeben werden.

Neben der Verwendung von Skripten als Makros, können auch Skripte für verschiedene Ereignisse angegeben werden, siehe dazu den Abschnitt Skript-Ereignisse.

Weiter kann zu jedem Dia ein Skript angegeben werden, dieses wird an zwei Stellen während des Abspielens eines Diavortrages aufgerufen. Zum einen zum Beginn des Überblendens (Variable bDissolve besitzt den Wert 1) und zum anderen wenn das Überblenden beendet ist (Variable bDissolve besitzt den Wert 0). Dies kann z.B. zur Anzeige von Texten und Bildunterschriften eingesetzt werden.

Über die Plugin-Schnittstelle können verschieden Skript-Sprachen eingebunden werden. Die Funktionalität des Programms wird dann über verschiedene Funktionen, bzw. Objekt-Methoden zur Verfügung gestellt. Die Anbindung der verschiedenen Skript-Sprachen erfolgt über SWIG.

Zur Zeit unterstützt MinDia die Skript-Sprache Python.
 

Folgende Funktionen stehen in dem Modul mindiapy zur Verfügung:
 

  # Ausgabe eines Strings auf ein Ausgabe-Fenster
  mindiapy.PrintLn( "Ausgabetext" )
  # Anzeige einer modalen Messagebox
  # Rueckgabewerte: -1 == Undefined, 0 == Ok, 1 == Cancel
  iRet = mindiapy.DoMessageBox( "Meldungstext", "Titel-Text" )
  # Zugriff auf das Dia-Praesentations-Objekt
  aDiaPresentation = mindiapy.GetDiaPresentation()
  # Suspendierung des aktuellen Threads fuer einige ms (hier 100 ms)
  mindiapy.SleepMS( 100 )
  # Konvertiert einen RGB Farbwert in einen HSV Farbwert
  aHSV = mindiapy.RgbToHsv( aRGB )
  # Konvertiert einen HSV Farbwert in einen RGB Farbwert
  aRGB = mindiapy.HsvToRgb( aHSV )


Das Objekt-Modell besteht aus den folgenden Klassen:

Die (schematische) Klassendefinition der Klassen sieht wie folgt aus:
##############################################################
class IDiaPresentation:
    bool   IsChanged():
    string GetDocName():
    string GetDescription():
    int   GetDiaCount():
    IDia   GetDia( int iIndex ):
    IDia   AddNewDia():
    int   GetSoundFileCount():
string GetSoundFileNameAt( int iIndex ):
bool SetSoundFileNameAt( int iIndex, string sFileName ): 

    IDiaOutputWindow GetOutputWindow():
    bool   LoadPresentation( string sFileName ):
    bool   SavePresentation():
    bool   SavePresentationAs( string sFileName ):
    bool   GotoPosition( int iPosition ):
    bool   PlayFrom( int iFromDiaNo ):
    bool   Play():
    bool   Stop():
    bool   Pause():
    bool   Continue():
    bool   IsPlayModus():
    bool   IsPauseModus():
    bool   IsEditModus():
    string GetPlayModusStrg():
    bool   IsSimulation():
    void   SetSimulation( bool bSimulation ):
##############################################################
class IDia
    double GetTotalTime():

    double GetShowTime():
    bool   SetShowTime( double dVal ):
    double GetDissolveTime():
    bool   SetDissolveTime( double dVal ):

    string GetId() const:
    bool   SetId( string sId ):
    string GetComment():
    bool   SetComment( string sComment ):
    string GetImageFile():
    bool   SetImageFile( string sFileName ):
    string GetScript():
    bool   SetScript( string sScript ):
    bool GetHorizontalFormat():
    bool   SetHorizontalFormat( bool bHorizontal ):
##############################################################
class IDiaOutputWindow
    bool   IsValid():
    bool   Show():
    bool   Hide():
    bool   Maximize():
    bool   Restore():
    int    GetWidth():
    int    GetHeight():
    bool   SetSize( int iWidth, iHeight ):
    bool   SetPos( int x, int y ):
    int    GetDrawWidth():
    int    GetDrawHeight():
    bool   Clear():
    bool   SetColor( int iRed, int iGreen, int iBlue ):
    bool   SetFont( string sFontName ):
    bool   SetFontSize( int iSizeInPixel, bool bBold, bool bItalic ):
    int    SetTextXY( int x, int y, string sText ):
    int    GetTextCount():
    bool   MoveText( int iTextID, int x, int y ):
    int    GetTextX( int iTextID ):
    int    GetTextY( int iTextID ):
    int    GetTextWidth( int iTextID ):
    int    GetTextHeight( int iTextID ):
    bool   SetTextColor( int iTextID, int iRed, int iGreen, int iBlue ):
    bool   DeleteText( int iTextID ):
##############################################################
class IColor
    int    iRed
    int    iGreen
    int    iBlue
##############################################################
class IHsv
    int    iHue
    int    iSaturation
    int    iValue


Bemerkung:
Zur Erzeugung eines neuen Dia-Objektes nur die Methode AddNewDia an dem IDiaPresentation Objekt verwenden. Niemals den in Python eingebauten new-Operator nutzen!

Beispiel für ein Dia-Skript:

# script example for a slide-script
# the variable bDissolve will be set
# from the MinDia-Application

import mindiapy

aPres = mindiapy.GetDiaPresentation()
aWin = aPres.GetOutputWindow()

def Dissolve():
    aWin.SetFontSize( 30 )
    aWin.SetTextXY( 10, 10, "Fade In" )

def Show():
    aWin.Clear()
    aWin.SetFontSize( 30 )
    aWin.SetTextXY( 30, 50, "Show" )

if bDissolve==1:
    Dissolve()
else:
    Show()

Skript-Ereignisse

In einer Präsentation können für verschieden Ereignisse Skripte hinterlegt werden, die dann ausgeführt werden, wenn diese Ereignisse auftreten. Folgende Ereignisse werden von dem Programm unterstützt.
 
Ereignis Bemerkung
Presentation_Started Die Präsentation soll gestartet werden. Dieses Ereignis wird unmittelbar vor dem Starten des Abspielens erzeugt, d.h. die Präsentation wurde noch nicht gestartet.
Presentation_Stoped Die Präsentation wurde gestoppt. Dieses Ereignis wird unmittelbar nach dem Stoppen des Abspielens erzeugt, d.h. die Präsentation wurde schon gestoppt.
Presentation_Paused Die Präsentation wird unterbrochen.
Presentation_Saved Die Präsentation wurde gespeichert. Dieses Ereigniss wird unmittelbar nach dem Speichern erzeugt, d.h. die Präsenation wurde schon gespeichert.
Presentation_Loaded Eine neue Präsentation wurde eingelesen. Dieses Ereigniss wird unmittelbar nach dem Einlesen erzeugt, d.h. die Präsenation wurde schon eingelesen.


Plugin-Schnittstellen

TODO !


Beiträge zu diesem Projekt

Die grafische Oberfläche des Programms MinDiawurde mit dem Qt-Framework der Firma Trolltech erzeugt.

Aus folgenden Projekten oder Quellen wurden Dateien, bzw. Funktionalität verwendet, oder sie sind nützlich für die Erstellung von Dia-Show's:


Python

Weitere Informationen über die bekannte Programmier-Sprache sind unter www.python.org und www.pythonlabs.com zu finden.


SWIG

Programmpaket zum Einbinden von C/C++ Funktionen in Skript-Sprachen und zum Einfügen von Skript-Sprachen in Applikationen. Von SWIG werden viele unterschiedliche Skript-Sprachen, wie Python, Perl und Tcl, unterstützt.

Zu weiteren Informationen über SWIG siehe www.swig.org.