Christian Wieninger wrote:
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
Basically I don't mind doing this.
However, originally I was trying to get a first release candidate for version 1.4 ready this weekend, but with every new patch that people want to get in, things are, of course, going to be delayed.
Well, since a few unexpected things came up for this weekend, anyway, I guess I'll have to abandon that deadline altogether. Which means that I might as well take a few more weeks and get some more patches in...
Klaus