Extension Board Plugin - AllCardsRecording

  • Hallo allerseits,


    ich hatte in meinem Serial Plugin ne Funktion, die ermöglichte die Record LED blinken zu lassen, wenn alle Karte unterschiedliche Transponder aufnehmen. Dann kann man naemlich nicht mehr alle Programme schauen.


    Natuerlich wolle ich jetzt nach dem Update auf Extension Board inkl. Plugin nicht verzichten.


    Hier ein kleiner Patch. Ein Problem habe ich nicht lösen können. Evtl. können andere da helfen. Und zwar schaffe ich es nicht im Plugin an geeigneter Stelle zu ermitteln wieviele Karten sich im VDR Rechner befinden. Deshalb habe ich das in extboardio.c hart verdrahtet.


    Wer das nutzen möchte muss dort eintragen wieviele Karten er im System hat.

    Code
    m_nNumDevices = 2;


    Evtl. kann das ja jemand allgemeingueltiger lösen ;).


    Es wird ne zusätzliche Option für die Konfiguration der LEDs implementiert. Sie heisst AllCardsRecording.


    Ich hab sie zB blinkend auf LED1 gelegt zusaetzlich zum leuchten bei einer Aufnahme. Blinken hat Prioritaet. Ergo leuchtet die Led bei beliebig vielen Aufnahmen. Sind alle Karten durch Aufnahmen belegt, dann blinkt sie.


    Vielleicht kanns noch jemand anderes gebrauchen.

  • Hi Rak,


    Sweet, eine sehr nette Idee...


    Die Sache mit cDevice::NumDevices() == 0; im Konstruktor dürfe normal sein,
    zu diesen Zeitpunkt der Programmausführung dürfen noch nicht alle Geräte gelistet sein.


    Das halb mein Vorschlag, als angepasst Lösung
    extboardio.c Zeile 95

    Code
    case cExtbSetup::eIOModes_AllCardsRecording: {
        int n = cDevice::NumDevices();
        for(;n>0;--n) {
          if(0 == m_nCardIsRecording[n-1]) {
            return false;
          }
        }
        return true;
      }


    Wenn Du nichts dagehen hast nehme ich deine Patch in die nächste Release des extb-Plugins auf.


    Cu,
    Andreas

  • Klaro, das kannst du gerne einbauen, dann muss ichs nicht patchen ;).


    Hab auch noch andere Ideen. Und zwar ein Ereignis, dass eintritt, wenn nur noch n Stunden frei sind auf dem Video-Laufwerk, oder evtl. n% noch frei sind.


    Eins musst du noch abfangen. Und zwar wenn keine Karten (Streaming Client) im VDR sind, dann trifft das Ereignis immer ein (0 Karten und 0 Aufnahmen)!.


    Ich werds mal ausprobieren ob das dann an der Stelle schon initialisieret ist.

  • Hi,


    das ganze sieht jetzt so aus, sollte mit streamdev-client und dxr3 klarkommen.



    Zitat

    Original von RaK
    Hab auch noch andere Ideen. Und zwar ein Ereignis, dass eintritt, wenn nur noch n Stunden frei sind auf dem Video-Laufwerk, oder evtl. n% noch frei sind.


    Die Idee existiert hier auch schon eine Weile, aber bisher wollte mir keine geeignete Lösung dazu einfallen.
    Erstens müsste ein seperater Thread verwendet werden, der zyklisch den Füllstand prüft,
    allerdings ist mir noch keine Lösung untergekommen, bei der geparkte Festplatten dabei nicht aus dem Standby geweckt werden.


    Also Ideen dazu sind willkommen...
    Andreas

  • Zitat

    Original von Hulk
    das ganze sieht jetzt so aus, sollte mit streamdev-client und dxr3 klarkommen.


    Das sieht gut aus!


    Zitat

    Original von Hulk
    Die Idee existiert hier auch schon eine Weile, aber bisher wollte mir keine geeignete Lösung dazu einfallen.
    Erstens müsste ein seperater Thread verwendet werden, der zyklisch den Füllstand prüft,
    allerdings ist mir noch keine Lösung untergekommen, bei der geparkte Festplatten dabei nicht aus dem Standby geweckt werden.


    Also Ideen dazu sind willkommen...
    Andreas


    Wieso brauchts nen zyklischen Thread? Der Füllstand ändert sich doch nur während eines Recordings (OK, der User kann manuell die Platte vollpumpen, aber das kann man evtl. vernachlässigen).


    IMHO würde es ausreicchen den Status am Ende eines jeden Recordings zu überprüfen und notfalls umzusetzen. Wär zumindest mal ein erster Schritt mit gewissen Einschränkungen.

Jetzt mitmachen!

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