Ideen für ein generic OSD-Plugin!?

  • Hallo Leute,


    erstmal ein großes Lob an Euch alle! Ich bin seit drei Monaten eifriger Leser des Portals und nun endlich TV-technisch glücklicher Windows-Umsteiger :D
    Nachdem ich mich durch sämtliche How-To's und Beiträge gearbeitet habe läuft mein VDR mit einigen Plugins einwandfrei und ich bin super zufrieden!!!


    Jetzt zu meiner Idee:
    für die Coder unter Euch ist es doch bestimmt möglich ein - ich nenne es mal - "generic OSD-plugin" zu schreiben, was dem OSDTeletxt-plugin ähnelt.
    Der Grundgedanke bezieht sich auf die Ausgabe von individuellen Nachrichten (kommen per shell, Telnet oder cronjob) auf das OSD.
    Für kleine Geschichten mache ich das schon mit "svdrpsend.pl", aber die Darstellung (nur eine Zeile) reicht oft nicht aus.


    Wenn man mit Übergabeparametern die Größe, Farbe, Layout bestimmen könnte und dann dazu noch auf einen FB-Code warten kann, der wiederum events auslöst.
    Das wäre der Hammer! (Ähnlich Girder OSD)...


    Die Einsatzmöglichkeiten wären dann unbegrenzt, ich stelle mir z.B. eine OSD-Seite vor, die mir folgendes übersichtlich anzeigt, was von Cronjobs gesteuert und mit Daten gefüttert wird:


    -----------------------------------------
    VDR-Nachrichtenzentrale
    -----------------------------------------
    Sie haben xx neue eMails (1) lesen -> emailPlugin


    Es befinden sich xx neue
    Nachrichten in Ihrer Vbox (2) -> VboxPlugin


    Erinnerung: Paul hat heute Geburtstag!


    RSS-newsfeed: text text text text


    -----------------------------------------


    Was letztendlich angezeigt wird, könnte man ja z.B über .Conf dateien selbst bestimmen. Damit könnte man sämtliche "externe" Informationen nach eigenem Belieben zusammenstellen und formatiert darstellen.
    Von Kalendereinträgen, Terminen, Nachrichten, eMails, Wetter bis hin zu XML-Webinhalten...


    Pro gewünschtem OSD eine .conf Datei, die Größe, Farbe und toDisplay-parameter enthält und wie das OSDTeletext-plugin darstellt.
    Bin zwar kein Linux / c++ Programmierer aber von dem Gedanken her könnte ich mir das so vorstellen:
    ##generic-osd-conf
    Size: 100 x 80
    headline: "Nachrichtenzentrale", bkg: blue, font:white
    Line(1): "neue eMails" $1
    Line(2): "neue VBoxnachrichten" $2
    Line(3): "Newsfeed", "/tmp/feed.txt"
    usw...


    Vielleicht könnt Ihr meine Gedanken entwirren und mir sagen, was ihr davon haltet :]


    burgiman

  • Hallo Burgiman,


    wenn ich das richtig verstanden habe, möchtest Du Deine vordefinierten OSD-Seiten mithilfe von Shell-Skripten befüllen?


    Wenn Du das tun möchtest, brauchst Du nicht unbedingt das von Dir angeregte Plugin. Du kannst dazu entweder die eingebauten VDR-Features nutzen, also die Definition von Kommandos über commands.conf oder reccmds.conf (ich hoffe, die Dateien heissen genau so, kann momentan nicht nachschauen ;)), oder Du benutzt das Console Plugin.


    Im ersten Fall hast Du den Nachteil, dass Du nur einfache Textausgaben bekommst, die Du nicht mit besonderen Gestaltungsmöglichkeiten versehen kannst (also z.B. Farben). Im zweiten Fall kannst Du jedoch fast alles darstellen, was 'ne Textkonsole auch kann. Das sollte den größten Teil Deiner Anforderungen erschlagen.


    Grüße
    Peter

    #1: Fujitsu Siemens Multitainer (leise), Celeron 733MHz, 256 MB, 80 + 120 GB HDD, Siemens DVB-S 1.3, µC-Wakeup, , AVBoard, c't-VDR5 mit image, mlcd, muggle, pilot, streamdev-server, vdradmin, vdrconvert, noad
    #2: Streaming-Client Dell optiplex GXi, Pentium-133, DXR3, c't-VDR3

  • Hallo Peter,


    danke für die schnelle Antwort ;)
    Mit dem Console-plugin habe ich auch schon Tests gemacht, es hat aber für mich den Nachteil, dass ich wieder interagieren muss (Console aufrufen).

    Über die commands.conf habe ich mir noch keine Gedanken gemacht, da ich davon ausgegangen bin, dass ich die dortigen Befehle auch wieder mit der FB / Tastatur anstossen muss.


    Ich möchte eine Lösung schaffen, die z.B. alle 10 Minuten in externe POP-accounts schaut, die Vbox überwacht und mir per HTML-grab die User eines Chatraums anzeigt -> sobald sich dort etwas am Status (neue Mails, Anrufe oder User) ändert möchte ich das per OSD-Nachricht auf dem Screen angezeigt bekommen...


    Damit wäre man absolut flexibel was man vorher an Daten abfragt, danach in das gewünschte Format bringt und dann ans OSD schickt.


    Gruß
    Burgi

  • Hallo,


    da gibt es diese Newsticker Plugin (auf der downloadseite), welches RSS-Feeds anzeigt. Du bräuchtest also nur noch per cron die lokale rss-xml-Dateien für Deine Mails, Chat-Users etc. zu erstellen und das plugin so zu modifizieren, dass es nur dann Änderungen anzeigt, wenn die Dateien sich geändert haben.
    Wenn man man per svdrpsend plugins durchstarten kann, kann der cron - job ja auch das plugin starten, wenn sich an den rss-xml-dateien was geändert hat.


    Sicherlich kannst Du das Plugin auch so anpassen, das es nicht unten durchläuft sondern eine Seite darstellt.

  • Hi Thoralf,


    siehste, soweit hatte ich noch gar nicht gedacht :)
    Ist eine gute Idee, alles gewünschte lokal in rss-xml zu wandeln und dann mit dem Newsticker anzuzeigen. Das bekomm ich auch (wahrscheinlich) hin...


    Jetzt müsste der Ticker nur noch die Seite komplett darstellen und nicht scrollen -> nur reicht es da leider nicht mit meinen c-Kenntnissen für diesen Quelltext :(


    Mal sehen was noch so kommt :rolleyes:


    Danke
    burgi

  • Hhmmmm...


    habe mir das newsticker-plugin mal angeschaut.
    Vom Quelltext her ist es sicherlich nicht schwierig den Screen aufzuziehen, oder ?
    wäre doch:
    lineHeight = 300;
    lineWidth = 700;


    jetzt brauche ich nur noch jemanden der mir vielleicht doch zur Hand geht, denn ich habe absolut keinen Plan wie ich das Scrollen durch statischen Text ersetze (hier fehlen mir einfach die Programmierkenntnisse).


    Vielleicht hat ja jemand erbarmen meine Idee / Anregungen zu überdenken und geht mir zur Hilfe ;D


    Danke schon mal
    burgi

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!