VNSI unter Windows kompilieren, entwickeln, hilft noch jemand mit?

  • Hallo,


    [..]


    Will denn da jemand versuchen, beim Debuggen mit zu helfen? Ich denke es würden viele VDR + XBMC Fans das auch unter Windows mal eben so nutzen können wollen. Wer nicht entwickeln, aber ausprobieren will, kann das schon, siehe diesen Thread .


    Wer sich traut in den Code zu schnuppern, sollte nach genauer Anleitung aus dem XBMC Wiki entweder von meinem Fork oder mittlerweile vom Opdenkamp Fork sich die Sourcen holen und mit den Anleitungen aus dem Wiki weiter machen. Alex Pipelka scheint auch weiter gemacht zu haben, vermutlich wird er bald auch wieder von Lars Op den Kamp synchronisieren, dann wird sein Zweig was VNSI betrifft, der aktuellste sein, bloß ist Lars zur Zeit scheinbar nicht zu bremsen, was generelle PVR Entwicklungen betrifft :-).
    Zum erfolgreichem Starten aus dem Debugger heraus, sollte noch SDL.dll, pcre.dll, pcrecpp.dll und python26.dll in das Verzeichnis mit dem Executable kopiert werden, und vorher am besten auch noch mit "Batch build" alle Projekte für die Konfiguration "Debug (DirectX)" bauen. Danach das Projekt pvrclient_vnsi als "startup Project" wählen, und in dessen Properties bei Debugging als Environment

    Code
    XBMC_HOME=$(SolutionDir)..\..

    und als Command

    Code
    $(SolutionDir)\XBMC\$(Configuration) (DirectX)\XBMC.exe

    eintragen, dann kann man nämlich XBMC starten und trotzdem VNSI debuggen.
    Man sollte versuchen, XBMC in windowed Modus zu starten, sonst kann man kaum noch mit der Maus da heraus:
    [Blocked Image: http://www.muresan.de/screenshot003_large.PNG]


    Viel Spaß!

  • Quote

    Ich denke es würden viele VDR + XBMC Fans das auch unter Windows mal eben so nutzen können wollen.

    hier ist schon mal ein Fan der sich das wünscht, aber leider Null-Ahnung vom Programmieren hat.

    VDR: Debian squeeze, vdr 1.7.17 e-tobi, Hauppauge WinTV Nova HD S2

  • Was ist an Deinem Fork anders, als an dem git von Opdemkamp ?

    Nun, weil Lars selber Tvheadend benutzt, aber vielmehr unter Linux entwickelt und sich derzeit scheinbar generell um die Gesamtarchitektur des PVR-Subsystems und dessen clients befasst, meinte er zu mir ich soll doch von ihm forken dann kann ich ihm meine Änderungen als "Pull requests" anbieten und er zieht sich dann in seinem branch was er für gut befindet. So oder ähnlich macht er es auch mit Alex Pipelka.
    Und um nun Deine Frage zu beantworten, momentan ist in meinem Fork anders, dass ich ein bisschen Socket-code der bei tvheadend zum Verbindungsaufbau benutzt wird in eine lokale Bibliothek ausgelagert habe, um den gleichen Code auch im VNSI Client zu nutzen. Nur so gelang es mir überhaupt, den VNSI Client unter Windows zum erfolgreichen Verbinden zu überreden.
    Hin und wieder synchronisiere ich mit dem opdenkamp git. Tja, und obendrauf (also auf die Änderung mit dem Socket-Code) kann man den Patch aus dem ersten Beitrag den ich noch nicht eingecheckt habe probieren. Möglicherweise (und hoffentlich) wird sich noch Einiges an der Architektur der PVR-Clients ändern, denn da herrscht echt ein Chaos, Lars will versuchen das zu ändern, jeder hat da anders entwickelt, es wurde leider nicht von einem Template-Client ausgegangen, weil es den leider nicht gab, somit sind die Implementierungen zum Teil redundant, zum Teil unterschiedlich (im Sinne von, jeder Client hat eigenen Code um die TCP-Verbindung aufzubauen, oder der eine ist auch für den Windows-build fit gemacht worden, von anfang an, der andere wieder nicht), und all das muss nicht sein.

  • Also irgend etwas scheine ich wohl falsch zu machen?


  • Also irgend etwas scheine ich wohl falsch zu machen?

    Nein, machst Du nicht, da ist etwas schief gelaufen beim Einspielen neuerer Patches die Lars bei sich wohl richtig eingespielt hat, aber bei mir dann nicht mehr geklappt haben. Ich melde mich wieder wenn ich es zurecht gebogen habe, da sind wir nämlich mitten in riesigen Umkrempeleien geraten, sowohl im Windows-, als auch im Linux-code, wie z.B. internes Python komplett 'rausgeflogen, und Lars ist gerade 'raus zum grillen, wie er auf #xbmc-pvr vor paar Minuten meinte :) ...

  • Habe den ersten Beitrag editiert, die Sourcen sind nun angepasst, habe Lars Op den Kamp schon einen Pull Request geschickt, da findet sich auch der Hinweis zum anderen Thread mit dem Download eines fertigen, Windows Build mit VNSI zum Testen.

  • Der angeführte Commit enthält einen Precompiler Befehl in Zeile 37 von tools.cpp welcher nicht existiert sollte dies nicht so aussehen?

    Code
    #define BYTE_ORDER LITTLE_ENDIAN

    Doch, doch, vielen Dank! Lokal auf dem Windows-Rechner hatte ich es auch genau so, bloss am Linux Rechner wo ich auch VDR und XBMC habe, und von wo ich auch auf GitHub commite hatte ich es im letzten Moment gestern abend falsch eingetippt. Ist nun im Git korrigiert und frisch gesynct von opdenkamp.


    Gruß,
    Lucian

  • Hi,
    Ich habe mir die Version auch mal installiert. Früher konnte ich zwar vnsi aktivieren aber nicht konfigurieren.
    Jetzt geht es, aber mit folgendem Fehler in meinem yavdr3.0 log:

    Code
    Apr 14 23:53:15 vdr2 vdr: [2295] VNSI-Error: cxSocket::read: read() error at 0/4
    Apr 14 23:53:17 vdr2 vdr: [1553] VNSI: Client with ID 6 seems to be disconnected, removing from client list
    Apr 14 23:53:17 vdr2 vdr: [1553] VNSI: cConnection::~cConnection()
    Apr 14 23:53:17 vdr2 vdr: [1553] VNSI: stopping cConnection thread ...
    Apr 14 23:53:17 vdr2 vdr: [1553] VNSI: done
    Apr 14 23:53:23 vdr2 vdr: [1553] loading /var/lib/vdr/plugins/vnsiserver/allowed_hosts.conf
    Apr 14 23:53:23 vdr2 vdr: [1553] VNSI: Client with ID 7 connected: 192.168.178.45:2023
    Apr 14 23:53:23 vdr2 vdr: [2296] VNSI: Welcome client 'XBMC Media Center' with protocol version '2'


    und der Meldung in xbm:

    Code
    23:55:50 T:5916 M:177324032  NOTICE: AddOnLog: VDR VNSI Client: Logged in at '1302818003+7200' to 'VDR-Network-Streaming-Interface (VNSI) Server' Version: '0.0.1' with protocol version '2'
    23:55:50 T:5916 M:176922624   ERROR: CThread::staticThread : Access violation at 0x006a141e: Reading location 0x00000000
    23:55:50 T:4412 M:171143168   ERROR: CRemoteControl::Connect - failed to connect


    Gruß
    Carlos

    VDR1: AMD Athlon 64 3200+ - Hauppauge Nexus-S, Debian Lenny - Kernel 2.6.28.2 VDR 1.7.21(Tobi)
    VDR2: POV ION 330 -2GB RAM - Tevii S470 MS-Tech 1200 Gehäuse, Debian YaVDR 0.4
    VDR4: Seagate Goflex net - Debian Wheezy - Linux 3.9.5-dockstar-goflex-shyd VDR 2.0.3
    VDR5: SMT-7020S zen2vdr auf Festplatte
    VDR5: SMT-7020S zen2mms 1.3b auf CF-Karte
    TV: Samsung LE46ES8090

  • Hi,


    gestern abend hat Lars Op den Kamp mein PVR Addons refactoring (unter anderem zum Übersetzten von VNSI unter Windows) übernommen, vermutlich wird Alex Pipelka bald nach ziehen, also ist es ab jetzt egal, aus welchem repository die Sourcen zum Übersetzen in VS2010 Express heran gezogen werden. Das habe ich auch im ersten Beitrag nach editiert.


    Cheers,
    Lucian

Participate now!

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