Seite 1 von 1

Shellskript -> eigenes Plugin

Verfasst: Sa 28 Jan 2006, 13:16
von Dirk80
Hallo,

ich habe mir das Shellskript des Bundesliga-Plugins angesehen und möchte nun selbst so ein Plugin schreiben.
Mein Ziel ist es immer die aktuelle Tischtennistabelle meiner Liga auf der Dbox sehen zu können.
Ein Shellskript habe ich mir inzwischen schon grösstenteils geschrieben, welches mir zuerst mittels wget die HTML-Seite, welche die Tabelle enthält in einer Datei abspeichert.
Anschliessend habe ich mit sed mir die wichtigen Informationen rausgeholt und so abgespeichert, dass ich sie mit dem msgbox plugin anzeigen kann. Abgesehen von wenigen Kleinigkeiten funktioniert das schon ganz gut.

Was mir noch fehlt ist nun, dass ich mir daraus ein Plugin bastle, d.h. die Dateien .cfg und .so erstelle.

Leider habe ich keine Ahnung wie ich hierfür vorgehen muss.
Es wäre super, wenn ihr mir kurz erklären könntet, wie ich vorgehen muss oder mir gute Links dazu geben könntet.

Wäre echt cool, wenn ich bald mein erstes dbox plugin auf meiner dbox geniessen könnte.

Vielen Dank für eure Hilfe

Dirk

Verfasst: Sa 28 Jan 2006, 13:54
von Pedant
Hallo Dirk,

eventuell reicht es Dir Dein Skript über das Dbox-Menü als Skript aufzurufen, dann bräuchtest Du kein Plugin daraus zu machen.

Falls Du das Skript in die Plugin-Liste Deine DBox aufnehmen möchtest, dann geht das auch.
http://www.jackthegrabber.de/viewtopic.php?t=8172
In diesem Beitrag wurde mir erklärt, wie man ein Skript, wie ein Plugin starten kann.

Wie Du ein "echtes" Plugin daraus machen kannst.

Gruß Frank

Verfasst: Sa 28 Jan 2006, 13:58
von DrStoned
Lies Dir mal diesen Beitrag durch. Du benötigst einen Hexeditor.
Die *.cfg-Datei kann Du zum Beispiel aus dem Buli-Plugin nehmen. Wenn Du es nicht hinbekommenen solltest, poste mir den Namen Deines Skripts und ich patche Dir das kurz zusammen.

Übrigens würden wir uns freuen, wenn Du Dein Plugin hier veröffentlichen würdest. :) :) :)

Verfasst: So 29 Jan 2006, 3:40
von DrStoned
Hier ist noch eine Anleitung um die Shellstarter (*.so) umzubauen.

Verfasst: So 29 Jan 2006, 10:16
von Dirk80
Hallo,

vielen Dank für eure Hilfe. Ich habe die tabelle.so Datei genommen und in einem Hexeditor die notwendigen Ersetzungen gemacht. Jetzt funktioniert es.
Jetzt muss ich nur noch mein Shellskript abschliessen. Ich möchte sed effektiv nutzen und habe mir deshalb ein Buch zu sed bestellt, welches wohl erst am Montag oder Dienstag ankommt. Dann werde ich mein Skript überarbeiten und es hier veröffentlichen.
Ich freu mich ja, wenn ich das Plugin hier veröffentlichen kann. Es wird wahrscheinlich nicht so viele interessieren, da es nur die Tabelle einer Tischtennisliga in Württemberg anzeigt. Aber wie schon gesagt, ich werde es gerne veröffentlichen.

Nun noch ein paar Fragen:
1.) Wie kann ich mir den Inhalt der .so Datei vorstellen?
Ich denke, dass dort eine Zeile C Code drin steht, welche das Shellskript aufruft. Dieses C-Progrämmchen ist dann für die DBox kompiliert worden.
Ist das so richtig?

2.) Wie könnte ich selbst eine .so Datei erstellen?

3.) Ich habe mir die .cfg Datei angesehen. Dort gibt es verschiedene Parameter.

z.B.
type=2
name=Buli-Tabelle
desc=Buli-Tabelle
needfb=0
needrc=0
needvtxtpid=0
needoffsets=0

Klar, der Name wird in der Pluginliste dargestellt. Wo kann man aber die hier eingetragene Beschreibung zu einem Plugin auf der Dbox sehen?
Was bedeuten die anderen hier aufgeführten Parameter?
Gibt es noch mehr Parameter?

Vielen Dank schon mal im Voraus

Dirk

Verfasst: So 29 Jan 2006, 10:26
von Dirk80
Und noch eine kurze Frage:
Wie kann ich die Reihenfolge der Plugins im Features Dialog beeinflussen?

Verfasst: So 29 Jan 2006, 10:45
von jmittelst
zu 1) Etwas mehr als eine Zeile C-Code wirds wohl schon sein. Aber im Prinzip ist der Zweck richtig erkannt.

zu 2) Schau Dich mal im CVS um, da sind ja z.B. die Standard-Plugins drin. http://cvs.tuxbox.org

zu 3) Im Features-Menü gibt es den Namen zu sehen. Bei Spielen gibt es im Spiele-Menü auch die Beschreibung (Desc) zu sehen. Die restlichen Parameter sind doch eigentlich selbst erklärend, z.B. needrc - Need Remote Control - Fernbedienung wird benötigt - Alle Kommandos gehen dann an das Plugin, statt an Neutrino.

Reichenfolge: Eine Durchnummerierung mit vorgestelltem Zahlen ist möglich.

Beispiel:
01_tuxtxt.cfg
02_shellexec.cfg
03_tuxwetter.cfg

Natürlich muss die Benennung der .so identisch zu den .cfg sein.
Um die Plugins aus /lib mit sortieren zu können, mußt Du diese erst verstecken, dann eine nummerierte .cfg und einen entsprechenden Symlink auf die .so machen.

cu
Jens

Verfasst: So 29 Jan 2006, 11:09
von robspr1
jmittelst hat geschrieben:zu 1) Etwas mehr als eine Zeile C-Code wirds wohl schon sein. Aber im Prinzip ist der Zweck richtig erkannt.
4 Zeilen brauchst du ;)

Code: Alles auswählen

#include <plugin.h>
#include <stdio.h>
#include <stdlib.h>
extern "C" int plugin_exec( PluginParam *par ) { return system("/var/bin/script.sh"); }
In diesem Thread findest du mehr dazu.

Verfasst: So 29 Jan 2006, 11:22
von jmittelst
Hmm - und daraus werden über 9kb? Schon merkwürdig manchmal.

cu
Jens

Verfasst: Mi 01 Feb 2006, 20:01
von Dirk80
Hier führe ich nun noch die Parameter einer cfg Datei auf, die sich für mich leider nicht von selbst erklären.

type=2
Was für types gibt es? Was für einen type stellt man hier ein?

needfb=0
Was heisst fb?

needvtxtpid=0
Wenn dieser Wert auf 1 wäre, dann bräuchte man den Videotextprozess, oder?

needoffsets=0
Was für ein Offset wird hier beschrieben?

Vielen Dank schonmal

Dirk

Verfasst: Fr 03 Feb 2006, 1:10
von DrStoned
type=2
Was für types gibt es? Was für einen type stellt man hier ein?

needfb=0
Was heisst fb?
Diese 2 Fragen, kann ich Dir beantworten.

zu 1.: http://www.jackthegrabber.de/viewtopic. ... 7442#57442

zu 2.: Framebuffer