Erste Gehversuche mit neuem Kern

Die ersten Entwicklertests von VCR.NET 3.0 mit Benutzung der DVB.NET 3.0 Geräteprofile sind durch. Auch wenn ich einige Punkte wie etwa den Übergang in den und aus dem Schlafzustand noch nicht verifizieren konnte, so sieht es aus, als wäre die Kernfunktionalität des VCR.NET nach der großen Umstellung wieder hergestellt. Aufzeichnungen, EPG Sammlungen und Sendersuchlauf tun es und alles kann an eines von optional mehreren für den VCR.NET freigegebenen Profilen gebunden werden.

Der erste Zipfel vom nächsten Schritt ist auch getan: der Aufbau einer Entwicklungsumgebung für den ASP.NET 2.0 basierten Thin-Client. Ich kann nun in der Gesamtlösung den VCR.NET Dienst als normale Anwendung starten und den Web Server darin über den Browser bei voller Debug Funktionalität ansprechen. Hört sich trivial an, hatte aber einige kleine Fallstricke.

Da ich den VCR.NET Recording Manager nicht mehr weiter ausbauen will, werde ich neue Funktionalitäten nun erst einmal in den Thin-Client einbauen. Das beginnt mit der Möglichkeit, die Administration über den Browser durchzuführen – der alte Menüpunkt VCR.NET konfigurieren. Danach kommen Aufzeichung mit zusätzlicher Auswahl des DVB.NET Geräteprofils. Der VCR.NET Recording Manager wird, so lange es ihn denn noch gibt, immer nur das erste freigegebene Profil ansprechen können. Für alle Anwender mit nur einer DVB Karte ist das völlig ausreichend – und das dürfte die Mehrzahl der Anwender sein.


adminroles.jpg

DVB.NET 3.0 RC1

Ich würde gerne noch dieses Jahr VCR.NET 3.0 fertig machen und habe mich daher entschlossen, DVB.NET 3.0 erst einmal zu zu machen. Das heißt, es wird wohl keine neuen Features mehr geben (etwa Nutzung des Favoriten Managers im Quick Record Standard) und Updates bis zum Final werden nur noch Dinge enthalten, die VCR.NET 3.0 braucht (und eine aktualisierte Dokumentation, da graut es mir schon vor – kostet bestimmt wieder einen vollen Tag – so spartanisch die DVB.NET Homepage auch ist).

Der Download erfolgt über das Forum, da stehen auch die Zugangsdaten. Da es mit VCR.NET etwas Probleme bei der Installation unter Vista gab (ganz ehrlich: man kann es nun installieren, aber es läuft nicht), werde ich ab jetzt nicht mehr nur die MSI, sondern ein ZIP mit MSI und zugehöriger Setup.EXE bereitstellen.

Nachdem ich gestern drei Stunden durch einen Blue Screen und ein CheckDisk verloren habe (370 GB dauert halt, aber immerhin habe ich mein GB private Daten inklusive VCR.NET / DVB.NET Sourcen wieder – war ein ganz schöner Schreck in der Abendstunde, vor allem, da mein letztes Backup eine (Sourcen) respektive drei (Mails et al) Wochen alt war), versuche ich nun die mir zur Verfügung stehende Zeit konsequent für VCR.NET zu nutzen (DVB.NET Profile, Thin Client, viele kleine Features und einige Fixes). Mal sehen…

Verzwickte Zusammenhänge

DVB.NET Geräteprofile erlauben es, dass mehrere gleichartige Geräte (etwa DVB-S Karten) sich eine Kanaldatei teilen. Die Kanaldatei wird einem Profil zugeordnet, nur auf diesem kann auch ein Sendersuchlauf durchgeführt werden.

Wie bildet sich dieses Konzept auf VCR.NET ab? Bei der folgenden Darstellung verzichte ich einfach mal auf den Fall kaskadierender Abhängigkeiten (Profil A verwendet laut Konfiguration die Kanaldatei von B, das aber wiederrum die von C verwendet), was das Ganze zwar etwas komplizierter macht, aber keine wirklich neue Komplexität mit sich bringt.

Fall A: Ein Geräteprofil in VCR.NET hat eine eigene Kanaldatei. Auf diesem Profil kann VCR.NET einen Sendersuchlauf durchführen und es werden auch EPG Sammlung durchgeführt sowie die EPG Daten bereitgestellt.

Fall B: Ein Geräteprofil in VCR.NET verwendet die Kanaldatei eines anderen Geräteprofils, dass auch in VCR.NET angeboten wird. Auf dem Profil werden keinerlei Suchläufe angeboten, sondern vielmehr die Daten des Geräteprofils mit der Kanaldatei verwendet.

Fall C: Wie B, allerdings ist das Geräteprofil mit der Kanaldatei nicht in VCR.NET aktiviert. In diesem Fall führt VCR.NET keinen Sendersuchlauf durch – das würde die Spielregeln von DVB.NET Geräteprofilen verletzen. Im Gegensatz dazu wird eine EPG Sammlung durchgeführt.

Von den anderen lustigen Fällen einer mal durchgespielt: VCR.NET unterstützt Profile A und B. A hat einen Kanaldatei und wird von C referenziert, wobei VCR.NET Profil C nicht anbietet. B wiederum referenziert C und damit indirekt A. Was passiert nun in VCR.NET?
Geräteprofil A: Sendersuchlauf und EPG Sammlung werden durchgeführt.
Geräteprofil B: Verwendet die Ergebnisse von A, als gäbe es C nicht. Es werden für B keine eigenen Daten verwaltet.

Operation am offenen Herzen :-)

Ich habe begonnen, VCR.NET auf die Nutzung von DVB.NET Geräteprofilen umzustellen. Da hierbei eine ganze Menge verändert werden muss, bereite ich den Kern dabei gleichzeitig auf die Nutzung mehrere Profile gleichzeitig vor – kurz: man kann mit mehreren Karten gleichzeitig aufzeichnen. Spielereien wie eine automatische Verteilung dabei erst einmal aussen vor, zumindest für die 3.0.

Im Moment habe ich gerade mal den Punkt erreicht, an dem das Projekt wieder übersetzt. An einen realen Test ist noch nicht zu denken – erst mal wird es ein paar Entwicklertests im Trockendock geben müssen. Daneben beschäftigen mich die Fragen, wie denn mit EPG und Sendersuchlauf umzugehen ist. Vermutlich wird es wie bei DVB.NET sein, hier am Beispiel der Suchläufe: nur auf Karten mit einer Kanaldatei werden Suchläufe ausgeführt, ’schmarotzende‘ Karten nutzen einfach nur das Ergebnis. Es wird auch nur eine Konfiguration der Zeitpunkte zum Suchlauf geben, i.e. im Idealfall werden alle Läufe auf allen Karten parallel durchgeführt – evt. verzögert durch Aufzeichnungen et al.