Hi Klaus,
meanwhile there are many plugins, that could be used as a replacement
for some of VDR's main menu entries, like "schedule" or "channels".
Please don't get me wrong, you've done a great job, but some plugin
authors too ;-) And if the user likes to use a plugin instead of the
builtin function, why not?
A real replacement currently can only be done when patching VDR, so what
do you think about the following change of the MenuMain constructor in
menu.c? :
...
cPlugin *p = NULL;
switch (State) {
case osSchedule:
p = CallFirstService("schedule");
AddSubMenu(p?(cOsdMenu *)p->MainMenuAction():new cMenuSchedule);
break;
case osChannels:
p = CallFirstService("channels");
AddSubMenu(p?(cOsdMenu *)p->MainMenuAction():new cMenuChannels);
break;
case osTimers:
p = CallFirstService("timers");
AddSubMenu(p?(cOsdMenu *)p->MainMenuAction():new cMenuTimers);
break;
case osRecordings:
p = CallFirstService("recordings");
AddSubMenu(p?(cOsdMenu *)p->MainMenuAction():new
cMenuRecordings(NULL, 0, true));
break;
...
a plugin could implement a service like "schedule" that only signals
that it offers this functionality. If so, VDR would call this plugin
instead of the builtin menus.
Christian