DvbViewerSkinner

An application for graphical editing of OSD skins for the TV software DVBViewer. With preview and realtime data binding for easier layouting.

Archived content: This application is currently inactive and may be outdated or no longer maintained or functional.

DvbViewerSkinner-Logo

Mit diesem Programm lassen sich OSD-Skins komfortabel bearbeiten. Als ich mich in die OSD-Skin-Materie eingearbeitet habe, habe ich dafür den vorhandenen SkinEditor verwendet und bin ständig über Probleme in der Benutzerführung, Verarbeitungsfehler oder uneinheitliche Benennungen gestolpert. Da ich keine Möglichkeit sah, das vorhandene Programm zu verbessern, und aufgrund der erkennbaren Entwicklungsgeschwindigkeit in naher Zukunft keine substantiellen Veränderungen zu erwarten wären, habe ich mir selbst eins geschrieben. (Ja, so bin ich…) Dadurch konnte ich auch einen guten Einblick in die Struktur von OSD-Skins erhalten (und habe wieder mal einiges zu diversen .NET-Technologien gelernt). Ich habe mit dem Programm bereits an einem eigenen OSD-Skin gebastelt und es hat auch ein paar andere beliebte Skins vollständig gelesen und angezeigt, weshalb ich davon ausgehe, dass keine wesentlichen Teile mehr fehlen sollten. Bei der Benutzeroberfläche habe ich mich ein bisschen von Visual Studio inspirieren lassen, weshalb sich zumindest VS-Entwickler da einigermaßen zurecht finden müssten. Für manche Funktionen wird eine funktionsfähige DVBViewer-Installation benötigt. Die Dokumentation setzt stillschweigend einen PDF-Betrachter voraus.

Im Übrigen kann es sicherlich nicht schaden, einmal über die vierseitige Doku drüberzuschauen. Dort werden die unterstützten Funktionen aufgelistet, nützliche Hotkeys beschrieben und ich habe ein paar einleitende Worte zur OSD-Skin-Erstellung allgemein sowie zur Arbeitsweise des Programms verloren. Anfänger sollten dadurch verstehen, worum es geht, und Fortgeeilte mögen mich bitte korrigieren, falls notwendig.

Weitere Informationen zum Programm sind in der Dokumentation (siehe Downloads) beschrieben. Die ursprüngliche Ankündigung befindet sich im DVBViewer-Forum.

Compatibility: .NET Version 2.0 or newer Windows 10 Windows 8 Windows 7 Windows XP 64 bit

Funktionsumfang

  • Bearbeiten von DVBViewer-OSD-Skins
  • Anzeigen und Bearbeiten von Skin-Eigenschaften wie Autor oder Abmessungen
  • Auflistung aller Seiten, wenn bekannt mit „freundlichem Namen“ und Klassifizierung
  • Realistische Darstellung einer OSD-Seite (WYSIWYG)
  • Anzeigen und Bearbeiten von Seiten-Eigenschaften wie Hintergrund oder Standard-Objekt
  • Auflistung aller OSD-Objekte (Steuerelemente) einer Seite in einer Liste
    • Sortierung nach Z-Reihenfolge, Objekttyp, Control-ID und Objektbeschreibung
    • Ausblenden einzelner Objekte für die Seitenansicht
  • Interaktive Bearbeitung der Objekte mit Maus und Tastatur
    • Auswählen einzelner oder mehrerer Objekte
    • Verschieben der ausgewählten Objekte
    • Vergrößern und Verkleinern der ausgewählten Objekte
    • Ausrichten an anderen Objekten während dem Verschieben oder Vergrößern/Verkleinern mit Darstellung von Linienmarkierungen
  • Anzeigen und Bearbeiten aller Eigenschaften der ausgewählten Objekte
    • Auswahldialog für Farben, Schriftarten und Bilddateien
  • Hinzufügen und Entfernen von Objekten
  • Duplizieren von Objekten mit automatischer Positions- und Größenanpassung
  • Verschieben von Objekten in der Z-Reihenfolge (per Menü/Hotkey/Drag&Drop)
  • Diverse Ansichtsoptionen
    • Zoom der Seitenansicht, 4:3-zu-16:9-Simulation
    • Auswahl der Helligkeit des Seitenhintergrunds
    • Hervorhebung von Control-IDs in der Seitenansicht
    • Hervorhebung von Navigationsverknüpfungen in der Seitenansicht
    • Optionale Rahmen um Objekte
  • Anzeigen und Bearbeiten der Vorlagenseite (references.xml)
  • Einfacher Start von DVBViewer aus dem Programm heraus
  • Variablenauflösung und Textübersetzung in Labels, Images und anderen Objekttypen (erfordert DVBViewer)
  • DVBViewer-Variablenauflistung (erfordert DVBViewer)

Bilder

Die folgenden Screenshots sind relativ groß und können erst ab Bildschirmauflösungen von 1280×1024 oder größer vollständig angezeigt werden. Bitte das Browser-Fenster entsprechend vergrößern.

Image
Kanalliste mit Variablenauflösung
Image
Mini-EPG-Seite skaliert
Image
Einstellungsseite

Download

DvbViewerSkinner-1.0.4-Setup.exe830 KiBInstallationsprogramm, Version 1.0.4

DvbViewerSkinner-1.0.4.7z269 KiBKomprimierte Programmdateien, Version 1.0.4

Dokumentation.pdf91 KiBProgrammdokumentation

Vorherige Versionen

Offene Punkte

Die folgenden Erweiterungen und Korrekturen sind für zukünftige Programmversionen geplant. Die Auflistung erfolgt einigermaßen absteigend nach Dringlichkeit sortiert.

  • Wenn DVBViewer durch den DvbViewerSkinner gestartet wurde, um Variablen aufzulösen oder anzuzeigen, kann sich der DVBViewer-Prozess beim Beenden von DvbViewerSkinner aufhängen. Die Ursache dafür ist unklar. In diesem Fall muss der Prozess dvbviewer.exe mit dem Task-Manager beendet werden.
  • Das Verhalten von DvbViewerSkinner beim Aktivieren einer DVBViewer-COM-Funktion, wenn DVBViewer nicht verfügbar ist, ist undefiniert.
  • Manche Objekteigenschaften werden in der Eigenschaftenliste angezeigt, obwohl sie von DVBViewer nicht verwendet werden. Dazu zählen v. a. Größenangaben von einzelnen Unterobjekttypen. Eine Angabe eines Werts hat in diesem Fall keinen Effekt auf die Darstellung in DVBViewer.
  • Einige Objekteigenschaften sind noch nicht übersetzt oder beschrieben.
  • Rückgängig- und Wiederherstellen-Funktion
  • Zwischenablage
  • Ebenenverwaltung für Controls auf einer Seite
  • Ausrichten in Objekten
  • Verteilen mehrerer Objekte (gleicher Abstand)
  • Abstand (Margin) für alle Controls speichern (in eigenen XML-Elementen) und zum Snappen verwenden (andere Linien zeichnen)
  • Zustand von Controls einstellen und speichern (Focused, Toggled, ...)
  • Bearbeitung des XML-Quelltext
  • Einfügen von Variablen in Eigenschaften vereinfachen
  • Resize Keep Aspect Ratio (mit gedrückter Ctrl-Taste)
  • Center-Symmetric Resize (mit gedrückter Shift-Taste)
  • 16:9-Simulation erweitern: auf bestimmtes Seitenverhältnis zoomen (5:4, 4:3, 16:10, 16:9, ~1:2,35)
  • Ungenutzte Bilddateien im Images-Verzeichnis auflisten
  • Weitere Control-Typen erforschen
    • TV-Liste (type=tvlistcontrol)
    • EditField (type=edit)
  • Dokumentation der Variablen mit einer Übersicht
  • Hilfestellung zur Verwendung von Control-IDs auf den einzelnen Seiten

Änderungen

2010May9
Version 1.0.4
  • Darstellungsfehler in der Objektliste behoben.
  • Fehler bei Schriftarten, die nicht alle Schnitte unterstützen, werden abgefangen.
  • Updateprüfung hinzugefügt.
2010Apr13
Version 1.0.3
  • Fehlerbehandlung beim Laden von Skins verbessert. Doppelte Schriftdefinitionen werden erkannt.
2010Apr8
Version 1.0.2
  • Menübefehl Beenden implementiert.
  • Menübefehle Löschen und Duplizieren im Kontextmenü verbunden.
  • Menübefehle zur Zwischenablage permanent deaktiviert (Funktion ist noch nicht implementiert).
2010Apr7
Version 1.0.1
  • NullReference-Fehler auf Systemen ohne installierten DVBViewer behoben.
  • Erkennung des DVBViewer-Pfads auf 64-bit-Systemen hinzugefügt.
  • Fehlende Interop-DLL zum Installer hinzugefügt. (Update)
2010Apr6
Version 1.0
  • Erste Version

Licence and terms of use

This software is “freeware”. This means that it is free of charge for private and commercial use. Further distribution is prohibited without my permission. The source code is not available. There is no warranty, not even or merchantability for fitness for a particular purpose. I am not liable for any damage caused through appropriate or inappropriate use.

Statistic data

  • Created on 2010-03-09, updated on 2010-05-09.
  • Ca. 14 150 lines of code, estimated development costs: 14 000 - 57 000 €