Textdatei im OSD anzeigen

  • Hi,


    meine letzten Gehversuche mit Plugins sind inzwischen einige Jahre her, und nun wo ich ne Kleinigkeit an meinem Plugin ändern will stehe ich schon auf dem Schlauch.


    Ich möchte per "svdrpsend 'PLUG SHOW filename'" meinem Plugin eine Nachricht schicken und dafür sorgen das die übergebene Textdatei im OSD angezeigt wird. Das hatte ich soweit auch noch hin bekommen, nur leider beende ich diese Anzeige wohl leider nicht korrekt. Jedenfalls kommt der VDR anschließend irgendwie durcheinander und will mir das normale Menü nicht mehr zeigen.
    Kann mir jemand nen einfaches Plugin nennen das so etwas macht, bzw. noch lieber ein paar Kodeschnipsel posten aus denen ich ersehe wie ich so ne Nachricht richtig anzeige und wieder beende?


    Besten Dank im Voraus.


    Claus

    MLD 5.5 mit vdr 2.6 - lirc yaUSBir - Octopus NET S2 - SCR - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - WD Green 12TB HDD - SanDisk 64GB SSD - Lian Li PC-C37B - Samsung LE40A559
    MLD 5.5 mit vdr 2.4 - Raspberry Pi 3 - rpihddevice
    MLD 5.5 mit Squeeze Play - Raspberry Pi 2 - 32GB SD - 7" Touch TFT

  • Ja, da hab ich auch zuerst rein geschaut, nur hat mir das nicht weiter geholfen. Ich bekomme das OSD ja auch angezeigt, nur weiß ich nicht wie ich das beenden muss wenn es nicht über das Menü aufgerufen wurde.


    Ich werde heute Abend mal nen Kodeausschnitt posten, damit Ihr sehen könnt wie ich's momentan mache.


    Claus

    MLD 5.5 mit vdr 2.6 - lirc yaUSBir - Octopus NET S2 - SCR - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - WD Green 12TB HDD - SanDisk 64GB SSD - Lian Li PC-C37B - Samsung LE40A559
    MLD 5.5 mit vdr 2.4 - Raspberry Pi 3 - rpihddevice
    MLD 5.5 mit Squeeze Play - Raspberry Pi 2 - 32GB SD - 7" Touch TFT

    Edited once, last by clausmuus ().

  • So, hier nun der Auszug aus meinem Code. Nach genauerer Analyse scheint der angezeigte Text keine Tastatureingaben mitzubekommen und das OSD zu blockieren.


    Aufrufen tue ich das, nach einer svdrpsend Aktion an das Plugin, mit:

    Code
    (new cMenuReadme ())->Display ();


    Und cMenuReadme Klasse siet dann so aus:

    MLD 5.5 mit vdr 2.6 - lirc yaUSBir - Octopus NET S2 - SCR - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - WD Green 12TB HDD - SanDisk 64GB SSD - Lian Li PC-C37B - Samsung LE40A559
    MLD 5.5 mit vdr 2.4 - Raspberry Pi 3 - rpihddevice
    MLD 5.5 mit Squeeze Play - Raspberry Pi 2 - 32GB SD - 7" Touch TFT

  • uetzguer,


    das hilft mir leider nicht weiter, da das genau das selbe macht wie ich es bereits tue.


    Der Harken an der Sache ist halt, das ich das OSD per "svdrpsend PLUG" Aktion aufrufe, also nicht über das Menü oder als Tastenaktion.
    Das muss irgendwie anders gehen.


    Claus

    MLD 5.5 mit vdr 2.6 - lirc yaUSBir - Octopus NET S2 - SCR - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - WD Green 12TB HDD - SanDisk 64GB SSD - Lian Li PC-C37B - Samsung LE40A559
    MLD 5.5 mit vdr 2.4 - Raspberry Pi 3 - rpihddevice
    MLD 5.5 mit Squeeze Play - Raspberry Pi 2 - 32GB SD - 7" Touch TFT

  • schmirl,


    das hilft mir leider auch nicht weiter, da das Plugin ja bereits nen Main Menü hat, und das soll nicht die Readme anzeigen und hat auch keine Option um die Readme zu zeigen.
    Die Readme soll nur per sverpsend aufrufbar sein.


    Claus

    MLD 5.5 mit vdr 2.6 - lirc yaUSBir - Octopus NET S2 - SCR - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - WD Green 12TB HDD - SanDisk 64GB SSD - Lian Li PC-C37B - Samsung LE40A559
    MLD 5.5 mit vdr 2.4 - Raspberry Pi 3 - rpihddevice
    MLD 5.5 mit Squeeze Play - Raspberry Pi 2 - 32GB SD - 7" Touch TFT

    Edited once, last by clausmuus ().

  • Dann folgender Vorschlag: bleib bei Deinem ursprünglichen SVDRP-Befehl (PLUG show filename). Lege In der SVDRP-Routine des Plugins den filename in einer Variablen ab und rufe das Hauptmenü auf (cRemote::CallPlugin(plugin->Name()). In MainMenuAction fragst Du dann ab ob der filename gesetzt ist. Falls ja öffnest Du das Menü zur Dateianzeige und löscht die Variable, andernfalls öffnest Du das normale OSD.

  • Hey, cool :)
    Manchmal fehlen einem halt einfach nur die guten Ideen :)


    Claus

    MLD 5.5 mit vdr 2.6 - lirc yaUSBir - Octopus NET S2 - SCR - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - WD Green 12TB HDD - SanDisk 64GB SSD - Lian Li PC-C37B - Samsung LE40A559
    MLD 5.5 mit vdr 2.4 - Raspberry Pi 3 - rpihddevice
    MLD 5.5 mit Squeeze Play - Raspberry Pi 2 - 32GB SD - 7" Touch TFT

  • so, hab's nun eingebaut und es Funktioniert :)
    Es musste nur cRemote::CallPlugin(Name()) lauten, also ohne "plugin->"


    Claus

    MLD 5.5 mit vdr 2.6 - lirc yaUSBir - Octopus NET S2 - SCR - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - WD Green 12TB HDD - SanDisk 64GB SSD - Lian Li PC-C37B - Samsung LE40A559
    MLD 5.5 mit vdr 2.4 - Raspberry Pi 3 - rpihddevice
    MLD 5.5 mit Squeeze Play - Raspberry Pi 2 - 32GB SD - 7" Touch TFT

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!