[vdr] [RFC] plugins replacing main menu entries 1-4

Christian Wieninger cwieninger at gmx.de
Fri Mar 3 09:44:12 CET 2006


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



More information about the vdr mailing list