OSDServer provides VDR OSD access to external programs and scripts through a TCP/IP socket connection, just like an X server does. The connection protocol is designed for easy interpretation by script languages and shell scripts.

OSDServer allows scripts to show messages, menus, and configuration dialogs, with lots of user interaction.

The examples folder contains a hello world sample in perl and an identical one in shell script using netcat. This is the initial OSD of the sample:

This is the console output, where ">" is the communication from the script to OSDServer, and "<" is the reply of OSDServer:

$ ./helloworld.pl
< 201 Welcome to OSDServer version 0.0.2, VDR version 1.5.5.
> Version 0.1
< 200 Ready.
> menu=New Menu 'Hello world'
< 200 Ready.
> menu.SetColorKeyText -blue 'Help'
< 200 Ready.
> menu.SetColumns 15
< 200 Ready.
> menu.EnableEvent keyBlue close
< 200 Ready.
> menu.AddNew OsdItem -unselectable '--- What do you think? --------------------'
< 200 Ready.
> opt1=menu.AddNew OsdItem 'This is awesome!'
< 200 Ready.
> opt1.SetCurrent
< 200 Ready.
> opt1.EnableEvent keyOk
< 200 Ready.
> opt2=menu.AddNew OsdItem 'You ain\'t seen nothing yet'
< 200 Ready.
> opt2.EnableEvent keyOk
< 200 Ready.
> opt3=menu.AddNew OsdItem 'All your OSD are belong to us'
< 200 Ready.
> opt3.EnableEvent keyOk
< 200 Ready.
> opt4=menu.AddNew OsdItem 'User comment: OSDServer is cool'
< 200 Ready.
> opt4.EnableEvent keyOk keyRed focus blur
< 200 Ready.
> menu.Show
< 200 Ready.
> menu.SleepEvent

The example script reacts on selection of the last menu item by setting the red button to "Edit", allowing to open a sub-menu where this menu item can be edited. By pressing OK, one item gets selected, and the script reacts by showing a matching message.

Fix for VDR 1.7.20+
Updates for Makefiles, warnings, etc.
Fix for VDR 1.5.11+, string edit didn't work
New: experimental OSDServer perl module bindings
Fix for VDR 1.5.15+, previously available as patch
Fix stupid bug with menu.GetCurrent
Local variable contexts
_Focus pseudo variable referring to current menu
osdserverhosts.conf and configurable port number
Input dialogs for text, numers and lists
sub-menus, columns and color keys
More complex event system
Milestone 1 - very basic menus and messages
EMail Mail: (GPG)