[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);
    case osChannels:
        p = CallFirstService("channels");
        AddSubMenu(p?(cOsdMenu *)p->MainMenuAction():new cMenuChannels);
    case osTimers:
        p = CallFirstService("timers");
        AddSubMenu(p?(cOsdMenu *)p->MainMenuAction():new cMenuTimers);
    case osRecordings:
        p = CallFirstService("recordings");
        AddSubMenu(p?(cOsdMenu *)p->MainMenuAction():new 
cMenuRecordings(NULL, 0, true));

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.


More information about the vdr mailing list