VCR.NET 4.3: weitere Optionen bei der Suche über die Programmzeitschrift

Ist keine Quelle vorgewählt, so kann die Suche nun auf reine Radio- oder reine Fernsehsendungen beschränkt werden. Zudem ist es möglich, verschlüsselte oder unverschlüsselte Quellen von der Suche auszuschließen.

Filter auf Quellen

Diese Einstellungen werden auch in den gespeicherten Suchen (aka Favoriten) berücksichtigt. Wie man hier sieht, wurde die Anzeige der Liste auch leicht überarbeitet. Besonders praktisch für mich ist die Option nur solche Favoriten anzuzeigen, zu deren Suchbedingung es aktuell tatsächlich Eintragungen in der Programmzeitschrift gibt:

Favoritenseite

Viel Spaß

Jochen

VCR.NET 4.3: gespeicherte Suchen / Favoriten

Die Anzeige der gespeicherten Suchen aka Favoriten der Programmzeitschrift des VCR.NET Recording Service ist ab der Version 4.3 nicht mehr in die Programmzeitschrift eingebettet, sondern wird über die Menüleiste als separate Seite aufgerufen.

Favoriten in der Menüleiste

Das spart vor allem in der Programmzeitschrift eine Menge Platz, macht aber auch die Anzeige der Favoriten selbst übersichtlicher.

Eigene Seite der Favoriten

Nach der Auswahl eines Favoriten zeigt sich die Programmzeitschrift wie gehabt mit der entsprechend vorbelegten Suchbedingung.

Gespeicherte Suche

Viel Spaß beim Testen

Jochen

Das Ende des Regenbogens …

… oder man muss auch ehrlich sein: wie einige VCR.NET Benutzer ja sicher schon bemerkt haben, tut sich hier seit langer nicht mehr wirklich viel in der Weiterentwicklung. Ich möchte jetzt nicht sagen, dass VCR.NET (und vor allem DVB.NET) fertig sind – sicher nicht! Aber für meinen privaten Bedarf und für das primäre Ziel an sich hat der aktuelle Stand seinen endgültigen Zweck erreicht.

Neben dem konkreten Nutzen ging es mir hauptsächlich darum, in diesem privaten Projekt Dinge zu lernen, die ich beruflich brauche, wo mir aber im Job die Zeit fehlt, mich wirklich einzuarbeiten – nein, Lesen halte ich nicht für eine echte Einarbeitung, ich bin der Learning-By-Doing Typ. Dinge wie Web Anwendungen, Entity Framework, Mobile Apps und so weiter passen in VCR.NET nicht hinein. Einige sehr künstliche Versuche der letzten Monate sind kläglich gescheitert, da kein wirklicher Bedarf bestand. Das erzeugt mehr Frust als Freude, daher ist damit jetzt Schluss!

Ich gehe daher davon aus, dass ich das Projektpaket DVB.NET / VCR.NET in den ersten Monaten von 2015 für mich mit der Version 4.3 abschließen werden – über Behebung von Fehlern kann man immer noch mal reden, aber Erweiterungen wird es nicht mehr geben. Ja, ich habe einmal eine lange Liste von Fehlern und Wünschen erstellt, aber nichts davon ist für mich persönlich wichtig genug, um hier noch zu investieren. Ok, eine Ausnahme gibt es: die Favoriten sind ein Last-Minute Feature von 4.2 und kaum nutzbar. Da ich für mich als zukünftige berufliche Themen HTML und JavaScript als wichtige Eckpunkte sehe, werde ich hier noch ein wenig herumexperimentieren und versuchen, eine besser bedienbare Lösung zu finden.

Sorry für die echten Fans, aber ich hoffe, dass die aktuelle Version reicht, bis 4K, 3D et al zu einer echten Herausforderung werden.

Jochen

Windows Installer und die Tabellen ServiceInstall und ServiceControl

Das Installationsprogramm von VCR.NET ist mit dem WiX Toolset 3.8 entwickelt, das letztlich Windows Installer Tabellen erstellt – auf einer insgesamt sehr eingängigen Philosophie. Zum Feintuning des Windows Dienstes VCR.NET Recording Service habe ich bisher Custom Actions verwendet und mir aber nun zum Ziel gesetzt, möglichst viel Standardfunktionalitäten des Windows Installers zu nutzen. Das hat zwar hier funktioniert, aber nur mit Haken und Ösen und nicht übertragbar auf größere Projekte. Trotzdem ein kleiner Erfahrungsbericht.

Die Installation des Dienstes erfolgt über die ServiceInstall Tabelle des Windows Installers – mit Hilfe des WiX Elementes ServiceInstall. An sich sehr einfach, einsichtig und elegant bis zu der Tatsache, dass die StartType Spalte eine Zahl ist und nicht dynamisch durch Properties des Installationsvorgangs berechnet werden kann. Ich möchte aber gerne dem Anwender die Möglichkeit geben, den Dienst auch mit manuellem Start (Vorgabe ist automatischer Start) zu installieren – etwa, wenn man sich nur den Quellcode anschauen möchte und nicht plötzlich nach dem nächsten Booten irgend einen Windows Dienst laufen haben will. Die scheinbar offizielle Lösung ist, für beide Varianten eigene Installer Komponenten mit unterschiedlichen Bedingungen zu hinterlegen. Zwar meckert dann die MSI Validierung (ICE30), was aber hier eine kontrollierte Warnung ist. Viel lästiger ist natürlich, dass man in der Tat eine doppelte Konfiguration hinterlegen muss – schade und fehleranfällig.

Auch wenn man das erst einmal als notwendiges Übel akzeptiert kommt direkt der nächste Rückschlag: auch in der ServiceControl Tabelle ist die Spalte Event wieder eine Konstante und nicht dynamisch während der Installation berechenbar ist. Ich möchte aber in der VCR.NET Installation auch erlauben, dass der Windows Dienst nach der Installation nicht automatisch gestartet wird. Natürlich kann man auch hier wieder den Weg mit den bedingten Komponenten gehen, dann sind es aber schon vier Kopien von quasi identischem Code.

Ich bin daher hier einen etwas anderen Weg gegangen: in der Installationssequenz wird die StartServices Aktion nur ausgeführt, wenn der Anwender dies auch tatsächlich wünscht. So kann in den Komponenten zum Dienst immer ein Startwunsch geäußert werden, der dann aber eventuell einfach nicht umgesetzt wird. Würde die Installation mehrere Dienste beinhalten und würde man grundsätzlich nur entscheiden, ob alle Dienste entweder gestartet werden oder halt nicht, so ist diese Lösung sicher tragbar.

Allerdings ist das auch der Knackpunkt. Eine Installation mit mehreren Diensten und individuellen Auswahlmöglichkeiten beider Optionen erzeugt eine ganze Menge Copy & Paste in der Installationsbeschreibung – egal, ob mit WiX erstellt oder anderweitig. Das wäre für mich dann schon der Punkt, an dem man über eine Custom Action nachdenken sollte. Im Nachhinein frage ich mich nur, nach welchen Kriterien wirklich entschieden wurde, ob eine Spalte einer Windows Installer Tabelle statisch oder dynamisch ist. Oft ist klar, dass potentiell mehrsprachige Spalten wie Anzeigename oder Beschreibung berechenbar sind. Die ganze Infrastruktur des Windows Installers wäre aber vermutlich viel mächtiger und vielseitiger, wenn alle Spalten dynamisch verfügbar wären. Aber da ist wohl nicht mehr dran zu rütteln…

So long

Jochen

VCR.NET 4.3: Aufgaben im Aufzeichnungsplan

Manchmal sind es einfach die kleinen Dinge, die nerven. So gab es im Aufzeichnungsplan zwei Schalter, um die Aufgaben für die Aktualisierung von Programmzeitschrift und Quellen (aka Sendersuchlauf) in den Plan einzublenden. Gerade die Beschriftung “Programmzeitschrift” führte selbst bei mir dazu, dass ich diesen Schalter betätigt habe, wenn ich eigentlich eine neue Aufzeichnung anlegen wollte. In VCR.NET 4.3 gibt es nun einen Schalter für beide Arten von periodischen Hintergrundaufgaben, der zudem deutlich anders beschriftet ist. Ich hoffe, das hilft zumindest mir 🙂

Aufgaben im Aufzeichnungsplan

Wie immer viel Spaß

Jochen