neues Plugin wirbelscan

  • Da w_scan und w_pvrscan von der Sache her ein wenig umständlich sind habe ich das ganze mal in ein neues Plugin namens "wirbelscan" gegossen


    http://www.vdr-wiki.de/wiki/index.php/Wirbelscan-plugin


    Entsprechend der Revision 0.0.1 und meinen mageren Programmierkenntnissen erwarte ich noch diverse kleine und große Macken drin, alo nicht gleich rummotzen :motz2 wenn was nicht auf Anhieb läuft..


    Können soll das Plugin in späteren Revisionen:


    - DVB-T scan
    - DVB-C scan
    - DVB-S scan
    - scan mit analogen ivtv Karten PVR150/250/350/500 ab ivtv 0.8
    (z.B. linvdr mit aktuellem DrSeltsam Kernel)


    Jede dieser Arten kann parallel gescannt werden, bei nem Mischsystem DVB-C und DVB-T beispielsweise erspart das doch einiges an Zeit. Außerdem dürfte das Prinzip Probleme mit unpassenden channels.conf vermeiden.


    Zum aktuellen Stand:


    * DVB-T geht super mit ner CinergyT2, was andre Karten tun - mal sehn.


    * DVB-C geht mit ner DVB-FF Karte +QAM64 recht gut, QAm256 muss man sehen


    * DVB-S -> kann ich nicht testen. Integriert ist es.


    * PVR Karte: läuft bei mir recht fein mit PVR350+PVR500.


    Ich bräuchte halt mal ein paar Tester. Wichtig: nicht scannen, wenn gerade irgendwo ein Timer laufen könnte, die Aufnahme ist sonst hin und es gibt Streit mit der Angetrauten. Auch nicht wundern, wenn ich nicht gleich antworten kann, bin ab morgen erst mal nicht online für 2 Wochen.



    gruss Wirbel

  • Mit den Standard DVB Includes von Debian lässt es sich auf jeden fall aml nicht kompilieren:


    Wohl doch zu alt ...

  • Zitat

    Original von wilderigel
    Mit den Standard DVB Includes von Debian lässt es sich auf jeden fall aml nicht kompilieren:


    Wohl doch zu alt ...


    Ich hatte das gleiche Problem. Nach entfernen von
    #include <linux/videodev2.h>
    in common.c konnte ich es kompilieren.


    Gruß
    e9hack

  • Hallo,
    unter Suse 10 konnte ich das Plugin auch nicht kompilieren.


    Code
    ...
    g++ -O2 -Wall -Woverloaded-virtual -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"wirbelscan"' -I/usr/local/src/VDR/include common.c
    /usr/include/linux/videodev2.h:127: error: ‘__s32’ does not name a type
    /usr/include/linux/videodev2.h:128: error: ‘__s32’ does not name a type
    /usr/include/linux/videodev2.h:129: error: ‘__s32’ does not name a type
    /usr/include/linux/videodev2.h:130: error: ‘__s32’ does not name a type
    /usr/include/linux/videodev2.h:134: error: ‘__u32’ does not name a type
    /usr/include/linux/videodev2.h:135: error: ‘__u32’ does not name a type
    /usr/include/linux/videodev2.h:143: error: ‘__u8’ does not name a type
    ...

    TEST FOXCONN 560A "Cool`n`Quiet"
    Software: Gen2VDR V2 + vdr-1.6-ext59 + Nvram-Wakeup + KDE
    Hardware: AMD Athlon 64 X2 Dual Core 4800+, 4GB DDR2RAM, SAMSUNG SATA HD501LJ 500 GB, SAMSUNG SP2514N 250 GB, HD SV1604N 160GB, HL-DT-STDVD-RAM GSA-H58N, Cablestar2, TTDVB-C + Scart-out + ASUS-SPDIF


    Activy 300
    Software: Gen2VDR V2 + vdr-1.4.7-ext40 + STR + FreeVo (Browser, Games, ... )
    Hardware: 256MB SDRAM, HD SV1604N 160GB, DVD SD-M1612, FSDVB-C + Scart-out, Technisat Cablestar2, leise

  • in common.c hat #include <videodev2.h> nichts zu suchen. Das wär schon mal der erste Fehler.

  • Bis es soweit ist, braucht die Sache noch einige Iterationen..

  • Hi wirbel,
    das klingt doch nach einem netten Plugin!
    unter gen2vdr erhalte ich auch nach dem löschen von #include <videodev2.h> in common.c :


    Gruss Ulf


    Ps ein scan abbrechen button währe auch nicht schlecht oder?

    Samsung UE43RU7479U, Antec Fusion Black, Prime A320m-k, Ryzen3 3200G, 2* DVB-T2,
    Yavdr-ansible auf Ubuntu Server 22.04

    4 Mal editiert, zuletzt von Ulf ()

  • Ps ein scan abbrechen button währe auch nicht schlecht oder?


    Möglich - aber wozu? *g*


    Das andre macht mir noch etwas Sorgen - ja.. Ist nicht nur einfach so ne Warnung.

  • Zitat

    Original von wirbel
    Bis es soweit ist, braucht die Sache noch einige Iterationen..


    ...ich weiß, aber das :portal1 wird dich gewiss unterstützen, damit die notwendigen Iterationen erfolgreich durchlaufen können.


    Ich werde das Plugin spätestens Morgen bei mir installieren und mit zwei verschiedenen DVB-T Karten testen. :] :]


    Gruß
    Wicky

  • Super !


    werden die gescannten Kanäle in die aktuelle Channel.conf gespeichert ?
    oder in eine Zwischendatei ?



    wäre auch schön wenn mann auch nur ein Transponder scannen könnte

  • Hi,


    speichert das Plugin auch die Kanäle? Ich starte mit einer channels.conf, wo nur ARD drin steht. Nach dem Scan sind 88 oder 101 Kanäle da (245..265 ist Soll). Nach dem Aus/Ein-Schalten kennt der VDR nur die Kanäle, die auf dem ARD-Transponder mit drauf sind.


    Gruß
    e9hack


  • Einzelner Transponder - zu aufwändig. Das speichern erledigt VDR - aber eben erst nach ner ganzen Weile. Bis dahin existieren die neuen Kanäle nur in VDRs Speicher, damit hat das Plugin nix zu tun.


    e9hack: Du kannst auch mit einer komplett leeren channels.conf anfangen. Hauptsache es existiert eine Datei. Erst nach ner ganzen Weile speichert dann VDR und du hast ne gefüllte channels.conf. Steht ja auch so in der README. Ein Stündchen solltest du VDR schon Zeit geben..

  • Zitat

    Original von wirbel
    ...Ein Stündchen solltest du VDR schon Zeit geben..


    Oder halt einen Sender editieren? wenn ich mich nicht irre speichert er dann auch alle anderen.


    Gruss Ulf

    Samsung UE43RU7479U, Antec Fusion Black, Prime A320m-k, Ryzen3 3200G, 2* DVB-T2,
    Yavdr-ansible auf Ubuntu Server 22.04


  • Ändre mal in den betreffenden Zeilen


    CountryPropertiesDVBS[]
    CountryPropertiesDVBC[]
    CountryPropertiesDVBT[]
    SatProperties[]


    jeweils die letzte Zeile so ab, dass der letzte Eintrag als FREQLIST_$NAME nicht mehr NULL hat, sondern 0 und schreib ob du noch den Fehler hast.

  • Zitat

    Original von wilderigel
    Könnte man das Menü offen halten während er scannt?


    Ja. Macht das Sinn?




    Müsste sich ändern lassen in


    cMenuSetupWirbelscan::ProcessKey(eKeys Key), je nachdem was state nach case kGreen zurückgibt.


    In diese Tiefen der OSD Programmierung wollte ich nicht absteigen..

  • Zitat

    Original von wirbel
    Das speichern erledigt VDR - aber eben erst nach ner ganzen Weile. .


    Oder einfach einen Kanal verschieben und bei Bedarf wieder zurück,
    dann speichert VDR auch sofort ;)


    Plugin läuft hier soweit mit DVB-s.

    1.VDR mac mini 2009 4GBRam/ freevdr2.0a / TeVii S650 (oder TerraTec_Cinergy_S_USB oder TerraTec_S7>noch ohne HD/CI>) / Harmony 785
    2.VDR - Fanless: ATC620BX1/ AOpeni855GMEm-LFS/ CPU-M1,7GHz/ SST-NT01/ 512MB/ EFN-300/ 3*DVB-S-FFRev1.3/ avBoard/ IREinRev.4 / CF
    3.VDR - Fanless: Rebach-DT-HIFI-01/ ViaEpia5000/ 256MB/ DVB-S-FFRev1.5/ 120GBHD-SV1203N / GLCD/ IREinAus / opt. SPDIF
    4.VDR Samsung-SMT7020s

  • Läuft mit Sat, das ist ja schon mal was..


    Aber das Plugin macht dem VDR die neuen Transponder bekannt, so dass VDR selbst danach eh noch ein bissel braucht um die durchzusuchen. Vorteil: alle neuen Kanäle sind zwangsläufig mit vdr konform.

  • Ah Danke,


      frequencies.c:1487:
      in { 0 , 0 } /* EOF */ /*NULL */
      frequencies.c:1928:
      in { 0 , 0 } /* EOF */ /*NULL
      frequencies.c:2247:
      { 0 , 0 } /* EOF */ /*NULL */

      satfrequencies.c:332:
      { 0 , 0 , "0" } /* EOF


    so geändert kommt kein Fehler

    Code
    make clean
    make all
    g++ -O2 -Wall -Woverloaded-virtual -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"wirbelscan"' -I/usr/local/src/VDR/include wirbelscan.c
    g++ -O2 -Wall -Woverloaded-virtual -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"wirbelscan"' -I/usr/local/src/VDR/include menusetup.c
    g++ -O2 -Wall -Woverloaded-virtual -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"wirbelscan"' -I/usr/local/src/VDR/include i18n.c
    g++ -O2 -Wall -Woverloaded-virtual -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"wirbelscan"' -I/usr/local/src/VDR/include frequencies.c
    g++ -O2 -Wall -Woverloaded-virtual -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"wirbelscan"' -I/usr/local/src/VDR/include common.c
    g++ -O2 -Wall -Woverloaded-virtual -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"wirbelscan"' -I/usr/local/src/VDR/include scanner.c
    g++ -O2 -Wall -Woverloaded-virtual -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"wirbelscan"' -I/usr/local/src/VDR/include satfrequencies.c
    g++ -O2 -Wall -Woverloaded-virtual -shared wirbelscan.o menusetup.o i18n.o frequencies.o common.o scanner.o satfrequencies.o -o libvdr-wirbelscan.so


    Gruss Ulf


    so mal testen Danke :applaus

    Samsung UE43RU7479U, Antec Fusion Black, Prime A320m-k, Ryzen3 3200G, 2* DVB-T2,
    Yavdr-ansible auf Ubuntu Server 22.04

    Einmal editiert, zuletzt von Ulf ()

Jetzt mitmachen!

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