Hi,
das live plugin stellt das VDR OSD im Browser dar.
Wenn der Anwender eine Zeile (z.B. einen Kanal in der Liste der Kanäle) im OSD anclickt, "wählt" VDR diesen Kanal aus.
Das funktioniert so: Das Plugin zählt die Zeilen im OSD zwischen dem derzeit gewählten Kanal und dem angeclickten Kanal. Und schickt dann an den VDR die entsprechende Zahl von KeyUp bzw. KeyDown Tastendrücken.
Das funktioniert im Prinzip. Aber: Live weiß nicht, welche OSD Zeilen "selectable" sind. Diese Information gibt VDR mit
nicht weiter, hier wird nur item->Text() übergeben, aber nicht item->Selectable().
Live schickt also auch für Zeilen, die nicht selectable sind (Namen der Kanalgruppen) die KeyUp bzw. KeyDown Tastendrücke, VDR überspringt aber diese Zeilen.
Außerdem: Wenn ich sehr viele Zeilen überspringe (z.B. von Kanal 2 auf Kanal 1000), wird nicht weit genug navigiert, z.B. auf Kanal 600. Warum genau, ist mir unklar.
cStatus::MsgOsdItem(item->Text(), ni++) gibt mir ja die Zeilennummer mit. Ich denke, es wäre optimal, wenn ich VDR sagen könnte: Bitte wähle Zeile 253 (z.B.). Ohne den Umweg über simulierte Tastendrücke. Geht das?
~ Markus