Hallo Ezak
ich benutze eine andere API, kann ich Dir sehr erkären wenn Du neugierig bist
und zwar die Plugins hier sind REELLE "shared object" die DYNAMISCH alle Funktionen von neutrino nutzen Zeile für Zeile Funktion für Funktion.
Die Disktussion für die Entscheidung ist bei tuxbox forum, seife hat sich für den statischen weg über die skript Sprache LUA entschieden und hatte mich für den dynamischen shared objects entschieden,
was ist das?
- Programmier Sprache C++
- alle neutrino Funktionen Zeile für Zeile, Funktion für Funktion stehen dynamisch zur verfügung die man einfach in seinem Plugin aufrufen kann ob man einen eigenen Menü unter neutrino schreiben würde.
zum mehr Information sehe in dem Plugins Repo da hatte ich für die Entwickler einen test Sample Plugins der zeigt wie man die Funktionen von neutrino nutzt und zwar alle der umfasst wirklich das ganze neutrino.
Dazu habe ich noch versucht das neutrino aufzuräumen in einem Modularen Konzept dass man auch die Funktionen ohne grossen Aufwand nutzt und dabei nicht viel an die neutrino API (nicht die Plugins API) zu ändern.
wenn man in der Datei gui/plugins.h schaut sieht das jeder Plugin stellt 3 libs Symbole zu Verfügung die von neutrino gelesen werden:
Code: Alles auswählen
typedef void (*PluginExec)(void);
typedef void (*PluginInit)(void);
typedef void (*PluginDel)(void);
Code: Alles auswählen
extern "C" void plugin_exec(void);
extern "C" void plugin_init(void);
extern "C" void plugin_del(void);
- plugin_exec symbol: führt das pluigns
- plugin_init wird beim einlesen gestartet bzwweise wenn neutrino hoch geht und die plugins lädet kann hier da runter das symbol ausgeführt also wie einen Thread der in einem Plugins geschrieben ist
-plugin_del : wird ausgeführt beim beenden
das core Plugin da kann man alles was man braucht schreiben und vom neutrino Funktionen nehmen ohne Ausnahme dennoch formel habe ich das ausliegen der Plugins geändert
unter tuxbox/plugins wird jeder Plugin in eigenen Ordner installiert und nicht alle zusammen gestreut.
Du kannst Dir den Thread
compiling neutrinohd2 for pc (x86) und auf dem PC testen, es läuft auch alles auch wenn man keinen DVB Device hat, oder man kann das webtv oder Sat <> IP nutzen
hoffe könnte helfen bzw deinen Interesse aufwecken
