Bei der Überlegung, ob ich das Vodcacher-, Podcatcher- und Menuorg-Plugin auf projects.vdr-developer.org einstellen sollte, bin ich zu dem Schluss gekommen dass ich nicht wirklich sonderlich motiviert bin, diese Plug-ins weiterzuentwickeln. Einer der Gründe dafür ist, dass C/C++ im Vergleich zu C#, Ruby, Python oder <HIER deine Lieblingssprache einfügen> einfach nicht so viel Spaß macht.
Kurzerhand habe ich deshalb mal ein altes Projekt aus der Schublade gezogen, welches ich da schon seit Jahren rumliegen habe:
Ein VDR-Plugin das es ermöglicht, Plugins in einer dynamischen Skriptsprache zu schreiben.
Der Hintergedanke dabei ist, das Vodcatcher, Podcatcher und Menuorg-Plugin vollständing in einer Skriptsprache neu zu implementieren.
Das Scripting-Plugin soll als Host für Script-Plugins fungieren, die Zugriff auf die meisten Funktionen haben sollen, wie ein gewöhnliches in C++ geschriebenes Plugin auch. Inwieweit das realisierbar ist und wo ich dabei an Grenzen stoße, ist mir dabei allerdings noch nicht ganz klar.
Den Anfang habe ich erstmal mit einem proof-of-concept-Release für Ruby gemacht. Bis auf weiteres wird es auch bei Ruby bleiben. Eventuell wird es später aber auch eine Python-Alternative geben. Möglich wäre es jedenfalls, beides unter einen Hut zu bringen, da ein Großteil der Schnittstelle zwischen VDR und Script-Sprache von SWIG bereitgestellt wird. Der Teufel steckt halt im Detail - Memorymanagement, die Client-API u.s.w.
Wer das ganze mal testen möchte:
http://projects.vdr-developer.…/list_files/plg-scripting
Viel kann das Plugin allerdings noch nicht. Es werden lediglich einfache OSD-Menus unterstützt. Als Beispiel-Skripte liegen das obligatorische "Hello World" und ein simpler RSS-Feed-Leser bei.
Ein paar Bugs sind besteimmt auch drin, aber für einen ersten Eindruck sollte es reichen. Anregungen, Vorschläge, Wünsche oder konkrete Hilfe sind jederzeit willkommen! (Am besten gleich in den Bugtracker eintragen!)
[Blockierte Grafik: http://projects.vdr-developer.org/attachments/download/61]