TV-Browser 'fernsteuern' und 'auslesen'

Neue Plugins usw. Also alles was kein Problem/Verbesserungsvorschlag ist ;).
ScanMan
Junior Member
Beiträge: 23
Registriert: 20 Feb 2010, 19:45

TV-Browser 'fernsteuern' und 'auslesen'

Beitrag von ScanMan »

Ich habe da mal ein etwas 'anderes Prob' .....

Wichtiges Vorwort zum Verständnis meiner Frage(n):
Ich benutze auf verschiedenen HTPCs marke Eigenbau (mit XP, Win7) mit der Soft 'DVBDream', für welche ich diverse Tools/Plugins geschrieben habem sowie meine eigene kleine App, die sich immer weiter vergrößert.
Dazu habe ich mir auch eine nette kleine App geschrieben, mit der ich mittels einem IR-Empfänger div. beliebige Fernbedienungen (z.b. die meines TVs) zum steuern benutzen kann. D.h., Ich bediene von Sofa aus DVBDream, meine TV-Soft und auch VLC ganz hervorragend.
Ich bediene mich dazu Plugins für die jeweiligen App's, kann diese aber auch je nach aktiivem Fenster per Keyboar-Simulation bedienen.

Funzt bisher prima per meinen FB_Tool auch mit TV-Browser ! Starten, bättern, auswählen, Details ansehen.
Das funktioniert alles bisher über eine Simulation FB-Taste -> KeyBoard-Taste mit entsprechender 'Übersetzung'.
Leider nur in eine Richtung ....

Jetzt kommen die eigentlichen Probleme .... und Fragen:
- Wie kann ich in TV-B eine bestimmten Sender setzen, der z.B. im TV-Prog grade aktiv ist ? (wenn ich das TV-B-Fenster wieder hervorhole oder neu starte)
- Wie kann ich einen bei TV-B gewählten Sender (Spalte) auslesen und den in meinen TV-Prog setzen ? Spalten mitzählen in der FB-Soft ist da ne Krücke ....
- Wie komme ich an die Daten einer gewählten, zuküntigen Sendung für eine geplante Aufnahme ? (Sender, Zeit)

Ich bin eingefleischter Delphi-Progger, ein wenig C geht auch - aber von Java hab ich gar keinen Plan. Leider ....
Gibt es vielleicht schon ein Plugin ala einer API in DLL in der Form unter Windoof allgemein, wo ich solche Sachen an-/avfragen kann ?
Oder eine Möglichkeit, über Windows-Messages an die gewünschten Daten zu kommen ?
Oder irgendeine andere Form, gewünschtes über von TV-B abgelegte Daten auszulesen ? Datenformat müsste dann bekannt sein....

Ich würde mich sehr freuen, wenn ihr mir hier auf irgendeine Art und Weise helfen könnt !
v6ph1
Site Admin
Beiträge: 1276
Registriert: 13 Jan 2008, 05:07
Wohnort: Radebeul

Re: TV-Browser 'fernsteuern' und 'auslesen'

Beitrag von v6ph1 »

ScanMan hat geschrieben:Jetzt kommen die eigentlichen Probleme .... und Fragen:
- Wie kann ich in TV-B eine bestimmten Sender setzen, der z.B. im TV-Prog grade aktiv ist ? (wenn ich das TV-B-Fenster wieder hervorhole oder neu starte)
- Wie kann ich einen bei TV-B gewählten Sender (Spalte) auslesen und den in meinen TV-Prog setzen ? Spalten mitzählen in der FB-Soft ist da ne Krücke ....
- Wie komme ich an die Daten einer gewählten, zuküntigen Sendung für eine geplante Aufnahme ? (Sender, Zeit)
1. Geht aktuell nicht direkt - aber über Tastatur/Maus-Makros
Via Menu -> Gehe Zu -> Sender -> ... machbar.
(Dazu Entsprechende Klickreihenfolge als Makro aufzeichnen)
2. Unterstützt das Switch-Plugin:
Die Senderzuordnung kann man frei wählen, ebenso Anwendung + Parameter
3. Dazu gibt es die Aufnahmesteuerung
Einstellung ebenso universell machbar.

viele Grüße und Frohe Weihnachten.
v6ph1
ScanMan
Junior Member
Beiträge: 23
Registriert: 20 Feb 2010, 19:45

Re: TV-Browser 'fernsteuern' und 'auslesen'

Beitrag von ScanMan »

.... ja richtig - da war doch was: Das SWitch Plugin !
Völlig vergessen nach all den Jahren und div. neuen Rechnern ....

Nach einigen kleinen Komplikationen und Konifugrationen funktioniert das hier nun mit DVBDream (DD) in der aktuellen Version 2.2b sehr schön.
Übrigens gibt das da einige elementare Fehler im Wiki der Beschreibung zu Verwendung mit DD !
Ich hatte vor 2 Jahren extra dafür eine WIN-betreffende neue 'DreamStart_2.EXE mit zugehörigem DD-Modul kreiert.
Werde ich mal Kontakt mit dem Rene aufnehmen ....

Allerdings mal mit meinem FB-Tool in WIN 7 mal ins Detail eingetaucht, gibt da noch erhebliche Probleme mit der 'Tastatursteuerung'.
So einiges klappt da seitens TV-Browser noch nicht wirklich, was man auch so mit dem Keyboard nachvollziehen kann:
(Befehle entnommen hier: http://wiki.tvbrowser.org/index.php/Tas ... ng#Befehle)

Scrollen über kurze oder weite Entfernungen scheint sao weit OK.

Mit markiertem Scrollen - das was ich für die FB nutzen würde wollte - hab ich so mein Problem.
Zum einen, das es keinen definierten 'Startpunkt' gibt.
Mit Strg-Pfeil R oder L wird immer eine Sendung > 20:00 angesprungen.
Zum andern funktioniert Strg-Pfeil rauf nicht !
..... man muss immer einmal ganz nach unten und 'morgens' wieder anfangen.
Ich denke eine Problem, was nicht gewollt und lösbar ist ?!

Die Tasten L, D, M, O öffnen jeweils Fenster, welche sich mit ESC schließen lassen - gut so .....
Auch steht der Fokus passend, das man darin sacrollen kann. Prima.

R öffnet auch das Kontext-Menü - aber wie bekommt man das wieder zu, wenn man es nicht will ?
Mit 'herumtippen' habe ich festgestellt, das man mit ALT oder ALT-GR das Kontextmenü schließen kann.
Ist das so gewollt ?
Dazu fällt noch auf, das der erste Eintrag (oder ein anderer ggf. beabsichtigter -> z.B. 'Umschalten' mit Switch) nicht vorgabemäßig beleht ist.
Man muss erst einen Cursor betätigen.

Das Umschalten mit Strg-N oder P funktioniert auch soweit.
Leider wird ein markierter Sender / Programm nicht 'mitgenommen'

Grundsätzlich fehlt bei der Cursorsteuerung die / eine Markierung wie bei der Maus (bei mir in organge-gelb / markiert ist dann grün).


Als erstes 'Schmankerl' fehlt mir in der Kombination TV-B und (hier) DD die Möglichkeit, TV-B wie nun auch immer 'von aussen' auf den 'richtigen' (in DD eingestellten) Sender automatisch zu 'fokussieren & markieren'. Die Sendung zur aktuellen Zeit wäre völlig OK & logisch.

Da sich TV-B ja auch mehrfach starten ließe und die Idee mit der Kommandozeile damit hinfällig wäre, würde ich mal vorschlagen, ein Programm ala DVBDreamstart zu kreieren, was einmal gestartet im Hintergrund unsichtbar läuft, nicht noch mal gestartet werden kann und bei jedem Aufruf via Kommandozeile 'alles Mögliche' je nach Parameter an die jeweiligen Plugins weitergeben kann.
(.... oder so etwas wie eine Send-/PostMessage/CopyData-Schnittstelle, worüber man wie unter Windows 'normal' vielfälltigst kommunizieren kann.)

Nennen wir es doch einfach mal 'TV-Browser_Control.EXE' und geben diesem Programm eine Commandozeile mit auf den Weg ....
.... z.B. '/[Plugin], [Function], Value=xxxx
So als Idee ....
ds10
Site Admin
Beiträge: 19117
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: TV-Browser 'fernsteuern' und 'auslesen'

Beitrag von ds10 »

Also zur Tastaturbedienung, Strg+Hoch geht wohl erst seit den Tabs nicht mehr, ist mir beim Testen nicht aufgefallen. Wenn nur die Programmtabelle angezeigt wird und die Tableiste ausgeblendet ist funktioniert auch Strg+Hoch wieder. Das Kontextmenü lässt sich tatsächlich nicht ohne Maus schließen, da fehlt einfach die Reaktion auf ESC oder R/Kontextmenütaste.

Einen definierten Startpunkt gibt es schon, es wird immer die erste laufende Sendung auf dem ersten Sender ausgewählt.

Eine EXE die TV-Browser steuert wäre wenig sinnvoll, da man problemlos ein Plugin schreiben könnte, was bestimmte Befehle als Server entgegen nimmt, den kann man dann mit beliebiger Software ansteuern, theoretisch sogar über Internet.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
ds10
Site Admin
Beiträge: 19117
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: TV-Browser 'fernsteuern' und 'auslesen'

Beitrag von ds10 »

Ich habe die Tastaturbedienung jetzt soweit korrigiert wie das vernünftig ist. D.h. Strg+Hoch funktioniert jetzt auch mit Tabs, das Kontextemenü lässt sich mit ESC, R und Kontextemenütaste wieder schließen und die Auswahl wird beim Wechseln des Tages übernommen. Vorausgewählter erster Eintrag im Kontextmenü wäre falsch, das gibt es bei keinem Kontextmenü, das dafür nicht extra ein Hack eingebaut hat. Angezeigt wird die Tastaturauswahl einer Sendung in grün, gelb ist für Maus, aber du kannst die Farbe auch ändern unter Grafische Einstellungen->Sendungsanzeige, Markierung bei Auswahl der Sendung.

Übrigens:
ScanMan hat geschrieben:Werde ich mal Kontakt mit dem Rene aufnehmen
Nicht nötig, ich lese hier ja schon mit. Wenn es allerdings um Artikel im Wiki geht, die ändere ich nicht mehr, das ist mir zu viel Arbeit, zumal das ruhig auch mal Benutzer machen könnten.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
ScanMan
Junior Member
Beiträge: 23
Registriert: 20 Feb 2010, 19:45

Re: TV-Browser 'fernsteuern' und 'auslesen'

Beitrag von ScanMan »

Das mit Strg-Pfeil rauf geht tatsächlich, wenn ich nur die Programmtabelle als TAB habe.
Könnte ich auch so mit leben.
F11 zum Fullscreen und zurück geht logo auch (kopfschüttel, ich vergas) - aber dann geht Strg-Pfeil rauf auch nicht mehr.

Wö wäre denn die editierte Version ladbar ? Hab eben noch mal aus der DL-Abteilung gezogen - da waren die Änderungen noch nicht drin.

Ja richtig, der Startpunkt für mit Cursor markierte Auswahl steht immer auf dem linken Programm.
Da ich (logo) die Sender in meiner FB-Liste in DD mit dem TV-Browser manuell 'synchron' halte, wäre die Möglichkeit, so oft mal Strg-Pfeil rechts per Soft vorzugeben, wie das laufende Programm an Platznummer hat.
Nicht besonders elegant, aber halbwegs funktionell. Werde ich mal zeitnah versuchen.

Betreff einer bidirektionalen Kommunikation (hier unter Windool) zwischen TV-Browser und einer DVB-App oder z.B. meinem FB-Tool wäre lögö ein Plugin am gescheitesten.
Geht denn da überhaupt so etwas wie wie eine Send-/PostMessage/CopyData-Schnittstelle, worüber man wie unter Windows 'normal' vielfälltigst kommunizieren kann ?
Bzw. bietet der Kernel von TV-B überhaupt Möglichkeiten, so eine minimalistische Schnittstelle anzubieten ?
Ich bin da leider nicht im Thema ..... auch was Plugins unter Java angeht. Davon hab ich gar keinen Plan.
ds10
Site Admin
Beiträge: 19117
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: TV-Browser 'fernsteuern' und 'auslesen'

Beitrag von ds10 »

ScanMan hat geschrieben:Wö wäre denn die editierte Version ladbar ? Hab eben noch mal aus der DL-Abteilung gezogen - da waren die Änderungen noch nicht drin.
http://tvbrowser.org:8080/hudson/job/tv ... -unstable/
ScanMan hat geschrieben:Geht denn da überhaupt so etwas wie wie eine Send-/PostMessage/CopyData-Schnittstelle, worüber man wie unter Windows 'normal' vielfälltigst kommunizieren kann ?
Theoretisch geht alles, da man über JNI auch C-Code benutzen kann, nur wäre das wieder plattformspezifisch. Ein Plugin was als Webserver arbeitet wäre da viel eleganter, das könnte dann die externe Kommunikation anbieten. Dann wäre es völlig egal ob auf der anderen Seite ein Linux, Windows oder was auch immer ist. Auch die Programmiersprache wäre dann für die Clientapplikation frei wählbar.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
ds10
Site Admin
Beiträge: 19117
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: TV-Browser 'fernsteuern' und 'auslesen'

Beitrag von ds10 »

Ich habe jetzt mal ein kleines Server-Plugin geschrieben:
http://www.tvbrowser.org/downloads/test ... ontrol.jar

Das empfängt 16 Byte große Daten mit String-Werten (in wie weit die mit anderen Programmiersprachen übereinstimmen weiß ich nicht).
Man kann beispielsweise channel_2 senden um zum zweiten Sender in der Programmtabelle zu scrollen, mit running_14 wird die laufende Sendung auf dem 14. Sender in der Programmtabelle ausgewählt um von dort aus mit der Tastatur weiter zu machen.

Mehr als channel_NUMMER und running_NUMMER sind zur Zeit nicht implementiert.

Das ganze läuft über UDP, der verwendete Port steht in den Einstellungen des Plugins.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
ScanMan
Junior Member
Beiträge: 23
Registriert: 20 Feb 2010, 19:45

Re: TV-Browser 'fernsteuern' und 'auslesen'

Beitrag von ScanMan »

WOW !
Funktioniert - Ich bin begeistert !
'running_x' macht genaus das was es soll, bei 'channel_x' kratze ich mir noch am Kopf. channel_x ist auch OK.
.... nun noch mal eben schnell alle Tastaturbefehle implementiert :mrgreen: und man/ich kann mir den Zirkus mit Keybord-simulation schenken. 8)
Zu einer Umstellung als TCP-Server sollte man sich auch mal Gedanken machen. Aber logo mit Verstand, was die Kommunikation betrifft.

Hab hier ein kleines Progrämmchen, mit dem man UDP und TCP testen kann. Relativ intuitiv. Interesse ?
ds10
Site Admin
Beiträge: 19117
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: TV-Browser 'fernsteuern' und 'auslesen'

Beitrag von ds10 »

TCP fände ich für die Anwendungsfälle unnötig, hier geht es ja nicht um eine gesicherte Verbindung, sondern es werden einfach nur Befehle abgesetzt.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
ScanMan
Junior Member
Beiträge: 23
Registriert: 20 Feb 2010, 19:45

Re: TV-Browser 'fernsteuern' und 'auslesen'

Beitrag von ScanMan »

Ist mir ehrlich gesagt auch wurscht - die Wahrscheinlichkeit, das mehrere UDP-Kommandos von verschiedenen Programmen auf dem gleichen Port austoben, ist wirklich eher sehr gering.
Wird wohl kaum jemand passend "dazwischen-Chatten". :mrgreen:

Müsste nur noch eine nette Struktur mit möglichen Befehlen und Daten her. Ich hatte da noch was per PN geschickt.
Meine Ideenen sind da sehr vielfältig - nur die Frage, wie einfach (und schnell :wink: ) man das hinbekommt.
ScanMan
Junior Member
Beiträge: 23
Registriert: 20 Feb 2010, 19:45

Re: TV-Browser 'fernsteuern' und 'auslesen'

Beitrag von ScanMan »

Ergänzung zum "Switch-Plugin":
Das funktioniert ja wie gesagt mit (m)einem Windows-Programm recht gut, welches aber wieder "Mehrstart-Sicher" sein muss.

Wesentlich eleganter wäre aber auch hier, die mitgegebene Kommandozeile via UDP senden zu können.
Das macht auch dieses Plugin unabhängiger vom verwendeten System.
Der Rest kann durchaus so bleiben.

Ein netter Gimmick wäre hier noch:
"Switch" sollte vielleicht auf Anfrage einen String mit den definierten Sendern und deren definierten Pendants in der DVB zum Abgleich / zur Auswertung schicken.
(siehe SwitchPlugin.prop, Zeile "channels=")
ds10
Site Admin
Beiträge: 19117
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: TV-Browser 'fernsteuern' und 'auslesen'

Beitrag von ds10 »

Ich habe gerade eine neue Version des Plugins hochgeladen (gleicher Link wie letztes Mal). Folgende zusätzliche Befehle sind implementiert:

up, down, left, right, pageup, pagedown, pageleft, pageright, programup, programdown, programright, programleft, clearselection, tab, shifttab, now, previousday, nextday, enter, programcontext, singlelclick, singlemclick, doublelclick, doublemclick, space, esc

Das Fenster wird bei den Befehlen die es benötigen automatisch in den Vordergrund geholt und dann werden die entsprechenden Tastaturkombinationen an das aktive Fenster gesendet. Ist also nicht TV-Browser aktiv landen die auch woanders, aber das sollte nicht vorkommen, da zuvor das Fenster in den Vordergrund gesetzt wird.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
ScanMan
Junior Member
Beiträge: 23
Registriert: 20 Feb 2010, 19:45

Re: TV-Browser 'fernsteuern' und 'auslesen'

Beitrag von ScanMan »

THUMBs UP !
Das wird ja immer besser !
Es geht hier zwar noch nicht alles wie gewünscht, weil mir mein Test-Programm (ich steuere noch nicht via FB) immer den Fokus klaut. Beim Context sehr unpraktisch ....
Aber das wird schon.
Anmerkung:
Sollte das TV-B-Fenster 'nur im Hintergrund' sein, kommt es auch artig nach vorne und Befehle werden angenommen.
Ist das TV-B-Fenster jedoch minimiert, passiert nix. In Windows müsste ich dann sagen 'RestoreWindow' und anschließen (ggf) 'SetForeground' oder so ....
ds10
Site Admin
Beiträge: 19117
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: TV-Browser 'fernsteuern' und 'auslesen'

Beitrag von ds10 »

Das Problem ist, dass das Plugin nicht wissen kann, welchen State das TV-Browser Fenster vor dem Minimieren hatte. Ein Restore-Befehl gibt es unter Java nicht, man muss immer explizit setzen was man will. D.h. ich könnte das Fenster auf Normal setzen, wenn es vorher allerdings maximiert war, dann wäre es es danach nicht mehr.

Es wäre natürlich möglich das Fenster auf den State zu überwachen, aber eben erst nachdem TV-Browser mitgeteilt hat, dass der Start abgeschlossen ist. Wird der State vor dieser Mitteilung aber auf minimiert gesetzt, dann wüsste das Plugin nicht ob nun normal oder maximiert der richtige State ist.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
Antworten