Girder

Aus Sceneo Wiki

Wechseln zu: Navigation, Suche

Girder beschreibt ein sehr leistungsstarkes Tool, welches Signale jeglicher Art und Quelle umsetzen kann, auf Systembefehle, Tastaturkommandos und vieles, vieles mehr. Ein zentrales Beispiel wäre der Druck der Kanal+-Taste auf einer Infrarot-Fernbedienung, was eine Umsetzung in das TVcentral-Kommando CHUP bewirken könnte. Girder bringt von Haus aus schon sehr viel Funktionalität mit sich, welche bei Bedarf durch Plugins erweitert werden kann. So können z.B. weitere Signaltypen-/quellen eingebunden werden.

Inhaltsverzeichnis


Allgemeines

Welche Aufgabe übernimmt Girder im Zusammenspiel mit anderer Software?

Die zentrale Aufgabe ist das Erfassen von Infrarot/Funk-Kommandos, welche der Anwender über das Bedienen seiner spezifischen Eingabegeräte (z.B. Fernbedienung) absendet, und das nachgelagerte Auslösen von Ereignissen (z.B. Absenden eines Systembefehles, Emulieren einer Tastatureingabe), welche den erfassten Kommandos zugeordnet sind.

Verwendung von Girder mit TVcentral

Wie genau treten Girder und TVcentral in Kontakt?

Girder besitzt eine Unmenge an Möglichkeiten, laufende Anwendungen anhand von Merkmalen zu identifizieren. Anwendungen lassen sich in aller Regeln anhand von Dingen, wie dem Anwendungstitel, dem Namen des Prozesses, in Welchem sie laufen, oder z.B. anhand von Handles (eindeutige IDs) auffinden. Der zentrale Punkt, um Girder und TVcentral nahtlos zu verbinden ist demnach, Girder mitzuteilen, wie TVcentral ausschaut. Natürlich muss diese Mitteilung auch so gestaltet sein, dass kleinere Detailänderungen nicht gleich zum Verlust der eindeutigen Identifizierbarkeit führen. Im Zuge dessen stellt TVcentral ein Plugin bereit, welches dafür sorgt, dass TVcentral systemweit eindeutig identifizierbar ist und bleibt, auch wenn sich z.B. der Titel der Anwendung ändert. Wo dies genau zu finden ist und wie dies dann im Detail funktioniert, soll der folgende Abschnitte klären. Die zentrale Aufgabe ist das Erfassen von Infrarot/Funk-Kommandos, welche der Anwender über das Bedienen seiner spezifischen Eingabegeräte (z.B. Fernbedienung) absendet, und das nachgelagerte Auslösen von Ereignissen (z.B. Absenden eines Systembefehles, Emulieren einer Tastatureingabe), welche den erfassten Kommandos zugeordnet sind.

Verbindung herstellen zwischen Girder und TVcentral

Wie gerade beschrieben, besitzt TVcentral - von Haus aus - ein Plugin, welches dafür Sorge trägt, dass TVcentral systemweit identifizierbar ist. Zu finden ist dieses kleine, unscheinbare Plugin über das Konfigurationsprogramm "Vconfig" unter dem Reiter "Full-Time-Plugins", wo es den Titel "Befehle über Nachrichtendienst" trägt. Im Detail besitzt das Plugin nur eine Einstellungsmöglichkeit - den "Klassenname des Zielfensters"; und genau der hier vermerkte Wert, welcher im Übrigen beliebig änderbar ist, ist es, welcher TVcentral seine Identifizierbarkeit verleiht.

Bild:Girdertut1.jpg

Der Wert des Klassennamens lässt sich auffassen als die Adresse auf einem Briefumschlag. Girder wird später nach Erhalt eines Signals oder Ereignisses - z.B. eines Infrarot-Signals - Nachrichten generieren, diese in einen Briefumschlag stecken, den Umschlag mit jener Adresse versehen und absenden. Damit ist sichergestellt, dass die versendeten Nachrichten ausschließlich bei TVcentral eintreffen und verarbeitet werden.

Wichtig ist an diesem Punkt, dass das beschriebene Plugin aktiviert ist und die Klassennamen-Einstellung einen Wert besitzt, welchen wir uns merken oder notieren.

TVcentral abschließend für Girder vorbereiten

Nachdem das Plugin "Befehle über Nachrichtendienst" korrekt konfiguriert ist, ergibt sich der nächste Schritt durch eine abschließende Vorbereitungsmaßnahme, so dass der Betrieb zwischen Girder und TVcentral einwandfrei gewährleistet werden kann und keinen äußeren Störeinflüßen unterliegt. Wie dem vorangegangenen Abschnitt zu entnehmen war, werden Eingaben vom Benutzer in Nachrichten umgesetzt, welche dann an TVcentral versendet werden. TVcentral nimmt diese Nachrichten entgegen und verarbeitet Diese entsprechend den Eingabe-Einstellungen, welche im Anwendungsprogramm "Vconfig" unter dem Reiter "Eingabe" zu finden sind. Im Zuge Dessen werden keine speziellen Eingabeplugins mehr benötigt. Wichtig ist an dieser Stelle deshalb, aktivierte Eingabeplugins zu deaktivieren. Wird dieser Punkt vernachlässigt, so kann dies zu ungewollten Doppeleingaben führen, da TVcentral zum einen von Girder und zum anderen von einem entsprechenden Eingabeplugin informiert wird.

Bild:Girdertut3.jpg

Es sei also zu kontrollieren, dass unter dem Reiter "Eingabe-Plugins" in dein Eingabe-Einstellungen kein Eingabeplugin aktiviert ist.

Girder installieren und vorkonfigurieren

Die Installation und Vorkonfiguration (Aktivierung von Plugins..) sei anteilig dem bereits bestehenden Tutorial bezüglich Girder zu entnehmen, welches dfhome verfasst hat. Hier soll es lediglich um das Zusammenspiel zwischen Girder und TVcentral gehen, nicht aber um girderspezifische Dinge, welche die Einbindung von möglichen Signalquellen etc. betreffen.

Girder TVcentral beibringen

An diesem Punkt sei ein kurzer Rückblick auf die Dinge angebracht, welche bisher unternommen wurden, um Girder & TVcentral zu vereinen. In einem ersten Schritt stellten wir die eindeutige Identifizierbarkeit von TVcentral über das Plugin "Befehle über Nachrichtendienst" sicher, bevor wir TVcentral dann auf den Einsatz von Girder vorbereiteten, indem wir etwaige Eingabe-Plugins deaktivierten. Sodenn installierten und vorkonfigurierten wir Girder, so dass es unsere Eingabegeräte (nachfolgend Fernbedienung) kennt und versteht.

Nun ist der Punkt gekommen, an welchem die Umsetzung von Eingabekommandos (bspw. Betätigungen von Knöpfen auf einer Infrarot-Fernbedienung) auf TVcentral-spezifische Kommandos (z.B. "Gehe nach Rechts" oder "Schalte einen Kanal rauf") zu erfolgen hat. Da TVcentral ein sehr ausgewachsenes System mit vielen Kommandos darstellt, wird im Folgenden auch ein wenig auf Strukturierungsmöglichkeiten eingegangen, welche Girder zur Sicherung der Übersichtlichkeit bereitstellt. Es sei dringend angeraten, den minimalen Strukturansätzen zu folgen - es wird sich lohnen.

Schaffung einer Strukturierung

Im ersten Schritt wird eine Gruppe "TVcentral" erzeugt, welche alle zu erstellenden Untergruppen, Befehle usw. aufnimmt. Das Girderfenster lässt sich dabei in zwei wesentliche Teile unterteilen. Während links die Strukturierung des aktiven Eingabeprofiles sichtbar ist, zeigen sich auf der rechten Seite die Einstellungsmöglichkeiten, welche sich grundsätzlich auf das Element beziehen, welches links in der Strukturierung selektiert ist.

Es sei zunächst zu überprüfen, dass die Strukturierung noch keine Elemente enthält. Ist dem nicht so, so kann über die Tastenkombination STRG+N ein neues Profil erstellt werden, welches folglich eine leere Strukturierung aufweist.

Bild:Girdertut4.jpg

Nun sei ein Rechtsklick auf die leere Strukturierung links vorzunehmen und im erscheinenden Kontextmenü der Punkt "Gruppe hinzufügen" zu selektieren. Der daraufhin erscheindende Menüpunkt "Neu" kann durch einen Rechtsklick (auf eben jenen Menüpunkt) über den Punkt "Umbenennen" des Kontenxtmenüs umbenannt werden (Bezeichnung hier: "TVcentral").

Bild:Girdertut5.jpg

Durch einen erneuten Rechtsklick auf den nun benannten Menüpunkt "TVcentral" ist - nach selbiger Prozedur - eine weitere Gruppe hinzuzufügen (Bezeichnung hier: "Steuerung"), welche sich der Gruppe TVcentral unterordnet.

Die Untergruppe "Steuerung" soll nachfolgend alle Befehle aufnehmen, welche die Steuerung von TVcentral betreffen, wie UP, DOWN, LEFT, RIGHT, SELECT usw..

Erstellung von Befehlen in der Struktur

Nach der Schaffung einer anfänglichen Strukturierung soll der Untergruppe Steuerung nun der erste, richtge Befehl untergeordnet werden. Dazu wird äquivalent der Erstellung von Untergruppen verfahren, aber mit der Ausnahme, dass nun nicht der Punkt "Gruppe hinzufügen" aus dem Kontextmenü gewählt wird, sondern "Befehl hinzufügen":

Bild:Girdertut7.jpg

Auch der Befehl kann durch einen Rechtsklick auf ihn umbenannt werden. Der erste Befehl soll später das TVcentral-Kommando UP wiederspiegeln, weshalb wir diesen Befehl zum eindeutigen Verständnis "UP" nennen wollen.

Bild:Girdertut9.jpg

An dieser Stelle sei nochmals kurz die Bedeutung eines solchen Befehls erläutert. Ein Befehl stellt die Beziehung zwischen einem Signal/Ereignis (z.B. Infrarotsignal) und einer Aktion (Versenden einer Nachricht - wie erinnern uns an den Briefumschlag oder Emulieren einer Tastatureingabe) dar. Folglich sind in unserem neuen Befehl "UP" (und somit auch allen anderen Befehlen, welche erstellt werden) zwei wesentliche Dinge zu konfigurieren:

  • Signal/Ereignis (z.B. Anlernen eines Infrarotsignals)
  • Aktion (z.B. Generieren einer Nachricht)

Stellt die Aktion eine Nachricht dar, so ist neben dem Inhalt der Nachricht noch der Empfänger der Nachricht (das Ziel) festzulegen. Nun aber Schritt für Schritt:

Signal/Ereignis festlegen

In diesem Beispiel geht es zentral um die Konfiguration einer Fernbedienung bezüglich TVcentral. In diesem Sinne stellt das Ereignis, welches eine bestimmte Aktion auslösen wird, immer ein Signal dar, welches der Benutzer durch das Drücken einer Taste auf seiner Fernbedienung abgeschickt hat. Um dem Befehl "UP" im ersten Schritt das Signal der HOCH/UP-Taste der Fernbedienung beizubringen, selektieren wir in der Strukturierung links unseren erstellen UP-Befehl und klicken rechts oben auf "Ereignis lernen:

Bild:Girdertut14.jpg

Haben wir den Button betätigt, so ist Girder im Lernmodus und erlaubt uns nun, den entsprechenden Fernbedienungsknopf zu drücken, woraufhin Girder das Ereignis in Form eines Ereignisstrings anlernt und dem Befehl unterordnet.

Aktion festlegen

Nachdem das Anlernen einer Fernbedienungstaste vorgenommen wurde, ist nun die Aktion festzulegen, welche Girder später auslöst, sollte der Benutzer die entsprechende Fernbedienungstaste gedrückt haben. Wie soeben erwähnt, soll die auszulösende Aktion den Versand einer Nachricht an TVcentral auslösen. Entsprechend sind die zwei Dinge Nachrichteninhalt und Empfänger festzulegen:

Nachrichteninhalt festlegen
Zur Generierung und dem Versand einer spezifischen Nachricht an TVcentral bezüglich unseres UP-Befehls, selektieren wir den UP-Befehl in der Strukturierung links (sehr wichtig - es ist der Befehl zu selektieren und nicht der untergeordnete Ereignisstring -- Anmerkung: auf den nachfolgenden Abbildungen ist der Ereignisstring nicht sichtbar - wird gegebenenfalls noch nachgebessert...). Auf der rechten Seite wird unten der Reiter "Befehl" ausgewählt:

Bild:Girdertut9.jpg

Aus der Auswahlliste ist "Befehl" auszuwählen. Der eigentliche Inhalt der Nachricht setzt sich nun aus zwei Parametern zusammen, dem WParameter und dem LParameter (zwei Zahlenwerte). Während der LParameter auf "0" gesetzt werden kann (der LParameter einer Nachricht beinhaltet normalerweise einen Zeiger - Typ long - auf ein Objekt, welches den Nachrichteninhalt beschreibt), stellt der WParameter DEN Inhalt unserer Nachricht dar. Wo nun der Wert des WParameters aufzufinden ist, soll folgende Abbildung aufzeigen:

Bild:Girdertut2.jpg

Markiert wurden die Ziffern, welche sich in den Eingabe-Einstellungen von TVcentral vor den Kommandos befinden. Gerne möge man bisher geglaubt haben, dass es sich um eine Durchnummerierung handelt; dem ist definitiv nicht so (was übrigens allerspätestens dann auffällt, wenn ein eigenes Kommando hinzugefügt wird und das Kommando eine scheinbar falsche Nummerierung jenseits der 500 erhält). Es handelt sich bei diesen Werten eben um den Inhalt, welche eine Nachricht, die an TVcentral versendet wird, enthalten muss (im WParameter), um das dahinterstehende Kommando auszulösen. Folglich wird der WParameter für den UP-Befehl auf "1" gesetzt.

Bild:Girdertut8.jpg

Der Inhalt der Nachricht wird jetzt durch einen Druck auf "Übernehmen" abgespeichert, bevor es an den Punkt geht, die Nachricht zu adressieren.

Bild:Girdertut10.jpg

Nachrichtenempfänger festlegen
Nachdem der Inhalt der Nachricht festgelegt wurde, ist es nun Zeit, den Empfänger der Nachricht - den TVcentral-Hauptprozess - festzulegen. Dazu betätigen wir den Button "Ziel", welcher sich rechts von der Eingabemaske befindet, in welcher zuvor der Nachrichteninhalt festlegegt wurde:

Bild:Girdertut11.jpg

Im sich öffnenden Fenster muss sodenn TVcentral als Empfänger festgelegt werden. Hier erinnern wir uns an den ersten wesentlichen Schritt, welchen wir tätigten, um Girder und TVcentral miteinander zu verbinden. Dort notierten wir uns den Klassennamen des TVcentral-Hauptprozesses im Plugin "Befehle über Nachrichtendienst", welcher nun Verwendung findet. Zunächst wird der Punkt "Zum aktiven Fenster senden" deselektiert und im gleichen Zuge der Punkt "In versteckten Tasks suchen" selektiert.

Bild:Girdertut12.jpg

Dann wird die Checkbox vor dem Textfeld "Klassen-Name" selektiert und im Textfeld der notierte Klassenname eingetragen:

Bild:Girdertut13.jpg

Nachdem die Ziel-Einstellungen gespeichert und der Ziel-Dialog geschlossen wurde/n, müssen die Einstellungen abschließend auch nochmal im Befehl selbst abgespeichert werden (Übernehmen).

Bild:Girdertut10.jpg

Damit ist der erste Befehl (TVcentral -> Steuerung -> UP) konfiguriert. Die Erstellung aller anderen Befehle verläuft absolut identisch, so dass sich abschließend ein Bild, ähnlich dem Folgenden, ergeben könnte:

Bild:Girdertut15.jpg

Hinweise

Alle Erläuterungen wurden an Girder 3.29 durchgeführt, da es sich bei dieser Version um die letzte Version von Girder handelte, welche noch als Freeware vertrieben wurde. Leider kann diese Girder-Version nicht zum aktiv Download angeboten werden.

Zudem sei noch angemerkt, dass Girder ein sehr mächtiges "Tool" ist. Es wurde nicht auf die Möglichkeit eingegangen, bestimmte Untergruppen zeitweise zu deaktivieren, Tasten doppelt zu belegen etc..

Sonstiges

Bezugsquelle: Promixis (Herstellerseite)
Lizenztyp: Shareware ($49,99)

Persönliche Werkzeuge