Plugin Interface Referenz

aus dem DMXControl-Wiki

Wechseln zu: Navigation, Suche

Plugin Interface Referenzen

Alle hier genannten Methoden gehören zur Klasse DMXCPlugin_Helper. Daher sind die folgenden Schnittstellen als Methode eines Objektes dieser Klasse aufzurufen.

Die Interfaces sind in in zwei Modulen definiert, diese müssen im Interface-Modul mit importiert werden

Implements IDMXCPlugin
Implements IDMXCModule

Die benötigten Typdefinitionen befinden sich in DMXCTypeLib.dll. Daher muss dieser Modul sowohl im Programmverzeichnis von DMXControl als auch in Ihrer VB6-Umgebung bekannt gemacht werden. Dazu müssen Sie in VB6 unter dem Projektmenü den Punkt "References" aufrufen und die Verknüpfung zu DMXCTypeLib.dll herstellen. Man kann sich z.B. eine lokale Kopie im VB6-Arbeitsverzeichnis erstellen.

Public mHelper

Folgende Interfaces müssen in einem Plugin implementiert werden:

Methode Aufgerufen von Beschreibung Parameter/Variable/Returnwert
Private Function IDMXCPlugin_Configure() As Boolean Plugin-Konfiguration (Button "Konfigurieren") Ruft die GUI für ggfs. erforderliche Plugin-Konfiguration IDMXCPlugin_Configure (Boolean) teilt mit, ob ein Konfigurationsmemü existiert
Private Function IDMXCPlugin_Enable() As Boolean Plugin-Konfiguration/Starten aus dem Menü "Fenster" Kann Funktionsrufe für das Aktivieren des Plugins enthalten (Aktivieren = Haken in Plugin-Liste setzen) IDMXCPlugin_Enable (Boolean) teilt mit, ob die Operationen beim Aktivieren erfolgreich waren
Private Function IDMXCPlugin_Disable() As Boolean DMXControl Kann Funktionsrufe für das Deaktivieren des Plugins enthalten (Deaktivieren = Haken in Plugin-Liste entfernen) IDMXCPlugin_Disable (Boolean) teilt mit, ob die Operationen beim Deaktivieren erfolgreich waren
Private Function IDMXCPlugin_Init(CallingAppTitle As String, MyFilename As String, DMXCPluginHelper As DMXCTypeLib.IPluginHelper) As Boolean DMXControl (Laden beim Programmstart) Kann Funktionsrufe für das Initialisieren des Plugins enthalten (Initialisieren = Laden beim Programmstart)
Private Function IDMXCPlugin_Term() As Boolean DMXControl (Schließen des Plugins) Kann Funktionsrufe für das Terminieren des Plugins enthalten (Terminieren = Schließen des Plugins)
Private Property Get IDMXCPlugin_PluginName() As String Plugin-Konfiguration übergibt der Plugin-Konfiguration den Namen des Plugins IDMXCPlugin_PluginName (String)
Private Property Get IDMXCModule_ModuleInfo() As DMXCTypeLib.Type_Module_Info DMXControl beim Laden des Programms übergibt diverse Informationen über das Plugin (siehe Tabelle unten)


In der Methode IDMXCModule_ModuleInfo sind folgende Datenfelder anzupassen:

Attribut Beschreibung Kommentar/Beispiel
GUID eindeutige ID für das Plugin "{b61b4c42-17ed-11da-94c3-00e08161165f}" (GUID-Generator)
Name Bezeichnung des Plugins in Konfigurationsliste, Menübaum und Kanalübersicht (Mixerkanäle) "Lauflicht Demo Plugin"
Description zusätzliche Beschreibung, z.Z. ungenutzt "Simple GUI für Lauflichter"
Author Name des Programmierers, z.Z. ungenutzt "Max Mustermann"
Experimental zeigt experimentellen Status im Menübaum an, falls noch nicht ausführlich getestet True/False
ProvidesToolWindow gibt an, ob separates GUI-Fenster für Plugin existiert True/False
Category gibt an, in welche der Kategorien des Menübaums das Plugin einsortiert wird CAT_Control
FormName übergibt VB-Name des Plugin-Formulars (Oberfläche) "frmTutorMain"
Frm übergibt eine Referenz auf das Plugin-Formular Set .Frm = frmTutorMain
ProvidesCommand gibt an, ob Befehl für die Plugin-Funktionalität definiert wird, z.Z. noch nicht unterstützt False
ProvidesSceneType gibt an, ob Plugin neuen Szenentype definiert, z.Z. noch nicht unterstützt False
UsesProvidedOutput gibt an, ob Plugin Signale an den Mixer senden möchte True
UsesMessaging gibt an, ob Plugin DMXControl-Messages empfangen möchte True/False
Messages Collection, zu der alle zu empfangenden Messages hinzugefügt werden Messages.Add MSG_Channel_Set

Aus der Plugin-Anwendung können folgende Funktionen gerufen werden:

Methode Beispiel Beschreibung
Public Function SetChannel(Channel As Long, Value As Long, IgnoreChange As Boolean) Call mHelper.MyStream.SetChannel(mDimmerAddr, dmxv, True) Ausgeben eines DMX Wertes auf dem angegebenen Kanal. Der dritte Parameter gibt an, ob diese Wertänderung in der Szenenverwaltung ignoriert werden soll.
Public Function DMXC_Channel_IsDimmer(Channel As Long) As Boolean . Abfrage, ob der Kanal für die Helligkeit eines Gerätes zuständig ist
Public Property Get DMXC_CHANNEL_MAXCHANNELS() As Long Gibt die Nummer des höchsten verwendbaren Kanals zurück
Public Function DMXC_Channel_GetValue(Channel As Long) As Long dmxValue = mHelper.ChannelGetValue(currentChannel) Hiermit kann das Plugin den aktuellen Wert abfragen. Wird z.B. bei der Plugin-Initialisierung benötigt.

Die Interfaces werden laufend erweitert. Bitte diskutiert hier (oder schreibt uns), welche Funktionen ihr für Eure Plugins benötigt.

Persönliche Werkzeuge
Buch erstellen
Andere Sprachen