Ich habe den Patch vdr-2.7.3-status-osditem_3.diff.txt angewendet und das Beispielplugin "status" so geändert:
--- PLUGINS/src/status/status.c 2018/04/10 13:01:03 5.0
+++ PLUGINS/src/status/status.c 2025/01/16 10:23:12 5.1
@@ -29,7 +29,7 @@
virtual void OsdTitle(const char *Title);
virtual void OsdStatusMessage(const char *Message);
virtual void OsdHelpKeys(const char *Red, const char *Green, const char *Yellow, const char *Blue);
- virtual void OsdItem(const char *Text, int Index);
+ virtual void OsdItem2(const char *Text, int Index, bool Selectable);
virtual void OsdCurrentItem(const char *Text);
virtual void OsdTextItem(const char *Text, bool Scroll);
virtual void OsdChannel(const char *Text);
@@ -96,9 +96,9 @@
dsyslog("status: cStatusTest::OsdHelpKeys %s - %s - %s - %s", Red, Green, Yellow, Blue);
}
-void cStatusTest::OsdItem(const char *Text, int Index)
+void cStatusTest::OsdItem2(const char *Text, int Index, bool Selected)
{
- //dsyslog("status: cStatusTest::OsdItem %s %d", Text, Index);
+ //dsyslog("status: cStatusTest::OsdItem2 %s %d %d", Text, Index, Selected);
}
void cStatusTest::OsdCurrentItem(const char *Text)
Display More
Wenn ich damit die Menü-Taste drücke erscheint im Log:
OsdHelpKeys Record - Audio - Pause - Resume
OsdClear
OsdTitle 'VDR'
OsdHelpKeys Record - Audio - Pause - Resume
OsdItem2 1 Schedule 0 1
OsdItem2 2 Channels 1 1
OsdItem2 3 Timers 2 1
OsdItem2 4 Recordings 3 1
OsdItem2 5 Osd Demo 4 1
OsdItem2 6 Pictures 5 1
OsdItem2 7 Setup 6 1
OsdItem2 8 Commands 7 1
OsdCurrentItem 1 Schedule
Display More
Mal abgesehen davon, dass OsdHelpKeys zweimal kommt (dem werde ich nachgehen), kommt OsdCurrentItem erst nach allen OsdItem2.
Drücke ich jetzt '7' kommt
OsdClear
OsdTitle 'VDR'
OsdHelpKeys Record - Audio - Pause - Resume
OsdItem2 1 Schedule 0 1
OsdItem2 2 Channels 1 1
OsdItem2 3 Timers 2 1
OsdItem2 4 Recordings 3 1
OsdItem2 5 Osd Demo 4 1
OsdItem2 6 Pictures 5 1
OsdItem2 7 Setup 6 1
OsdItem2 8 Commands 7 1
OsdCurrentItem 7 Setup
OsdCurrentItem 7 Setup
OsdClear
OsdTitle 'Setup - VDR 2.7.3'
OsdHelpKeys (null) - (null) - (null) - (null)
OsdItem2 1 OSD 0 1
OsdItem2 2 EPG 1 1
OsdItem2 3 DVB 2 1
OsdItem2 4 LNB 3 1
OsdItem2 5 CAM 4 1
OsdItem2 6 Recording 5 1
OsdItem2 7 Replay 6 1
OsdItem2 8 Miscellaneous 7 1
OsdItem2 9 Plugins 8 1
OsdItem2 Restart 9 1
OsdCurrentItem 1 OSD
Display More
was etwas verwundert, da erst das Hauptmenu nochmal kommt (dem werde ich auch nachgehen), aber danach kommen auch wieder alle OsdItem2 vor dem OsdCurrentItem.
Wähle ich dann '1' sehe ich
OsdCurrentItem 1 OSD
OsdCurrentItem Language:#0110
OsdCurrentItem Language:#011English
OsdCurrentItem Skin:#0110
OsdCurrentItem Skin:#011LCARS
OsdCurrentItem Theme:#0110
OsdCurrentItem Theme:#011Default
OsdCurrentItem Left (%):#0112
OsdCurrentItem Top (%):#0112
OsdCurrentItem Width (%):#01196
OsdCurrentItem Height (%):#01196
...
OsdCurrentItem Color key 3:#0113
OsdCurrentItem Color key 3:#011Blue
OsdClear
OsdTitle 'Setup - OSD'
OsdHelpKeys (null) - (null) - (null) - (null)
OsdItem2 Language:#011English 0 1
OsdItem2 Skin:#011LCARS 1 1
OsdItem2 Theme:#011Default 2 1
OsdItem2 Left (%):#0112 3 1
OsdItem2 Top (%):#0112 4 1
OsdItem2 Width (%):#01196 5 1
OsdItem2 Height (%):#01196 6 1
...
OsdItem2 Color key 3:#011Blue 32 1
OsdCurrentItem Language:#011English
OsdClear
OsdTitle 'Setup - OSD'
OsdHelpKeys (null) - (null) - (null) - (null)
OsdItem2 Language:#011English 0 1
OsdItem2 Skin:#011LCARS 1 1
OsdItem2 Theme:#011Default 2 1
OsdItem2 Left (%):#0112 3 1
OsdItem2 Top (%):#0112 4 1
OsdItem2 Width (%):#01196 5 1
OsdItem2 Height (%):#01196 6 1
...
OsdItem2 Color key 3:#011Blue 32 1
OsdCurrentItem Language:#011English
Display More
Auch hier wird das Menü zweimal gelistet (wie oben), und ich denke mal, es sind die Zeilen
OsdCurrentItem Language:#0110
OsdCurrentItem Language:#011English
...
am Anfang, die die Probleme machen, oder?