[erster Erfolg] Plugin mit Namen starten

  • Hi Leute,


    ich suche ein einfaches Beispiel wie ich ein Plugin mit Namen aus einen anderen Plugin starten kann.


    so in etwar wie im enigma_main Standartplugin "Erweiterungen" wo man plugins auswählen und starten kann.


    wäre euch sehr dankbar.


    Emanuel :winking_face:

    rosig

    2 Mal editiert, zuletzt von emanuel ()

  • Hi, sollte wie folgt funktionieren:


    #!/bin/sh
    /bin/sh /var/tuxbox/plugins/plugin2.sh



    Wobei "plugin2.sh" eben der Name des aufgerufenen Plugins ist. Pfade gegebenfalls anpassen und Rechte bei beiden auf 755.



    Gruss

    Fragen gehören NICHT in mein Postfach, sondern sollten im Forum gestellt werden! Dann hat jeder was davon.
    ----------------
    Man tut, was man kann und stellt sich blöd an...


    Dreambox 7000
    Dreambox 500
    Kathrein UFS 910

    Einmal editiert, zuletzt von ZZMajor ()

  • Hi ZZMajor,


    sorry aber so geht es nicht.


    run_p.sh nr1

    Bash
    #!/bin/sh
    /bin/sh /var/tuxbox/plugins/jukebox.so


    Code
    root@dreambox:~> /var/tuxbox/plugins/run_p.sh
    /var/tuxbox/plugins/jukebox.so: 1: Syntax error: "(" unexpected
    root@dreambox:~>


    run_p.sh nr2

    Bash
    #!/bin/sh
    /bin/sh /var/tuxbox/plugins/jukebox.cfg


    Code
    root@dreambox:~> /var/tuxbox/plugins/run_p.sh
    root@dreambox:~> killall -9 jukebox.so
    killall: jukebox.so: no process killed
    root@dreambox:~>


    CU Emanuel

    rosig

  • Komisch, bei mir läuft es so mit einem Plugin.
    Rechte hast Du alle ausreichend gesetzt?
    Jukebox startet bei manuellem Aufruf?


    Wobei ich gerade sehe. Bei mir wird vom Plugin aus ein *.sh, also ein weiteres Shell-Script aufgerufen. Bei Deinem Test mit Jukebox handelt es sich ja um eine ausführbare Datei. Da muss ich grad leider passen, da fehlt mir die nötige Erfahrung, um da den richtigen Aufruf zu setzen. Evtl. bringt ja der Aufruf mit exec anstatt /bin/sh/ den gewünschten Erfolg.


    Gruss

    Fragen gehören NICHT in mein Postfach, sondern sollten im Forum gestellt werden! Dann hat jeder was davon.
    ----------------
    Man tut, was man kann und stellt sich blöd an...


    Dreambox 7000
    Dreambox 500
    Kathrein UFS 910

    Einmal editiert, zuletzt von ZZMajor ()

  • es wird eher so sein:


    Code
    eZapPlugins plugins(2);
    	if (plugins.execPluginByName("jukebox.cfg") != "OK")...


    Frage ist blos was pasiert mit dem laufenden bzw. mit dem startenden Plugin. Ich will nicht daß es knallt.


    Cu Emanuel

    rosig

    Einmal editiert, zuletzt von emanuel ()

  • Hi Leute,


    kann mir bitte wer helfen? Was muß ich z.B in der Funktion MyMainWindow::execplug() (Zeile 29) ändern?



    Ich wäre dankbar für Hilfe


    CU Emanuel :winking_face:

    rosig

    2 Mal editiert, zuletzt von emanuel ()

  • Hi Leute,


    Reine Enigma plugins kann ich schon starten,


    aber kein tuxcom.so, tuxtxt.so, ...


    Vielleicht weiß ja wer was...


    Emanuel :smiling_face:

    rosig

    Einmal editiert, zuletzt von emanuel ()

  • was geschieht denn, wenn du ein anderes plugin ausführen willst als jukebox?


    übrigens:


    ich würde zuerst den boxtyp auslesen, dann kannst du nur die verzeichnisse durchsuchen, die es auch gibt.


    in den merlin-sourcen hab ich das z.b. in der swapmanager.cpp drin.

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource

  • Hi dre,


    Erst mal Danke für die Antwort,


    klar das mit Boxtype ist dann schöner. Aber im Moment kämpfe ich mit dem Hauptproblem. Alle *.so sauber auszuführen. für *.sh ist ja dann ein Bsp. im cvs.



    Also: wenn in der cfg steht:


    1.

    Code
    pluginversion=1
    name=Dreambox Links Web Browser
    desc=Internet-Browser
    type=2
    needfb=1
    needrc=1
    needoffsets=1


    =nix tut sich [ohne this->hide() Totalabsturz]


    2.

    Code
    name=TuxBox Commander
    desc=file manager
    type=2
    needfb=1
    needrc=1
    needoffsets=1


    = enigma skinkiller


    3.

    Code
    name=Dreambox Newsreader
    desc=Plugin
    depend=
    type=2
    needfb=0
    needrc=0
    needlcd=0
    enigmaplugin=1


    = OK


    4.

    Code
    needfb=0
    needrc=0
    needlcd=0


    praktisch alle mit den Einträgen gehen *.so.


    Die #include <dlfcn.h> geht ja nur auf die objects *.so los


    ich glaube wenn ich das Plugin so ausführe wird die *.cfg nicht überprüft.


    Bin immer noch ratlos. :face_with_rolling_eyes:


    CU Emanuel

    rosig

    2 Mal editiert, zuletzt von emanuel ()