Fernsteuer-Software

Wichtiges Element der Jukebox ist die Fernsteuerbarkeit der Funktionen. Im Abschnitt Grundgerät ist die Fernsteuer-Hardware beschrieben. Zwischen dieser Hardware und der Jukebox-Software sind jetzt noch Tools notwendig, die die Signale der Fernbedienung in Kommandos für die Jukebox-Software umwandeln. Im folgenden werden die beiden benötigten Tools und deren Konfiguration beschrieben. Am Ende kommt dann das Bedienungskonzept für die Steuerung der RealJukebox mit der Fernbedienung.

WinLIRC:

WinLIRC ist sozusagen die Treiber-Software für die gewählte Fernbedienungs-Hardware. Sie lernt und erkennt Fernbedienungs-Codes und stellt die erkannten Codes der eigentlichen Fernsteuer-Software als String zur Verfügung. Die gewählte Hardware bedingt den Einsatz von WinLIRC, da diese Software auch die Spannung am COM-Port der Hardware entsprechend einstellt. Weitere Infos gibt es auf der WinLIRC-Seite , dort kann man die Software auch downloaden, deutsche Version der Seite hier.

Die Software ist bzgl. Konfiguration sehr spartanisch und nicht sehr komfortabel (Bild 1). Nach bestandener Konfiguration spielt dies aber keine Rolle mehr. Eine richtige Installation findet nicht statt, man kopiert einfach winlirc.exe, *.iBild 1co und sample.cf in ein Verzeichnis und startet winlirc.exe. Bei Windows95 muss man evtl. noch Systemdateien einspielen, siehe dazu die Website von WinLIRC. Eine evtl. erste Fehlermeldung ignoriert man. Dann wählt man eine Konfig-Datei oder legt eine neue an. Die Datei in diesem Dialog ist die jeweils aktive Konfiguration, hier werden die gerlernten Codes geschrieben und für die Erkennung gelesen. Pro Fernbedienung sollte man eine extra Konfig-Datei anlegen. Wenn jetzt der COM-Port richtig eingestellt ist und ok gedrück wird, sollte im Systray das WinLIRC-Icon weiß sein.

Nun kann man mit dem Lernen beginnen. Vorher ein paar Worte zur Fernbedienung. Sie sollte etwas mehr haben als nur Zahlen, wichtig sind Tasten wie für eine Videorecorder-Steuerung (Play, Stopp usw.) und eine Art Cursor-Tasten. Ich habe meine Videorecorder-Fernbedienung von Sony verwendet (siehe Bild unten). Weiterhin kommt WinLIRC nicht mit allen Fernbedienungen klar. Die Signale müssen eine bestimmte Struktur haben, damit WinLIRC damit was anfangen kann. Hier hilft probieren, WinLIRC sagt beim Lernen, wenn es Probleme mit der Signalerkennung hat. Informativ ist dafür ein Blick in die Datenbank unterstützter Fernbedienungen. Sie sagt, mit welchen Fernbedienungen WinLIRC klarkommt. Und wer seine Fernbedienung dort findet, kann das Lernen sparen, da man sich das Konfig-File runterladen kann. Meine Fernbedienung RMT-V166 von Sony ist dort auch zu finden . Wer Pech hat und seine Bedienung anlernen muss, klickt den Button “Learn” im Konfig-Dialog. Einige Tipps zur Wahl der Fernbedienung findet man auf der Seite von Zapway, dort wo man auch das von mir vorgeschlagene IR-Modul kaufen kann.

Vorher sollte man erstmal prüfen, ob überhaupt Signale empfangen werden. Dazu öffnet der Button “Raw Codes” ein Fenster, das die empfangenen Signale darstellt. Wird hier beim Drücken einer Taste nichts angezeigt, kommt auch nichts an und man braucht nicht weiterzumachen, sondern muss zuerst den Fehler finden.

Der Lern-Dialog von WinLIRC ist sehr spartanisch. Der Start löscht erstmal alle Einträge des angegebenen Konfig-Files. Man kann also mit WinLIRC keine nachträglichen Änderungen an der Konfiguration vornehmen. Nun muss man den ganzen Lern-Zyklus in einem Ruck durchziehen. Gibt es Probleme mit einzelnen Codes, zeigt WinLIRC dies an. Die Namen für die Codes, die man vergibt,  muss man sich merken, sie werden später gebraucht. Am besten, man druckt sich das Konfigfile nach dem Lernen aus. Nach dem Lernen kann man die Codes mit “Analyze” optimieren. Dies bringt eine schnellere Erkennung der Codes. Mit Ok schliesst sich der Konfig-Dialog, WinLIRC kann nun in den Hintergund geschickt werden. Die Aktivität von WinLIRC ist durch das Icon im Systray erkennbar. Wird ein gelernter Code erkannt, leuchtet das Icon kurz grün, sonst ist es weiss. Bei Problemen helfen die Troubleshooting-Guides in deutsch und ein neuerer in englisch. Kauft man das IR-Modul bei Zapway, bekommt man in gedruckter Form sehr hilfreiche Hinweise zur Installation, Konfiguration und Troubleshooting von WinLIRC.

Zum Schluß noch etwas zur Sicherheit: WinLIRC agiert als Server und erlaubt bis zu 16 Clients, sich über Port 8765 zu verbinden. Einer dieser Clients wird die unten beschriebene Fernsteuer-Software sein. Leider kann WinLIRC nicht zwischen Clients auf der Jukebox selbst (localhost) und Clients auf anderen Rechnern unterscheiden. Ist die Jukebox also ungeschützt am Internet angebunden, kann sich jeder im Internet mit dem WinLIRC-Server verbinden. Ist zwar nicht sinnvoll für denjenigen, er kann aber über DoS-Attacken die Jukebox lahm legen. Schutz bietet da eine Personal Firewall oder aber, die Jukebox einfach nicht direkt ins Internet zu hängen, sondern nur über einen Router (siehe Abschnitt Peripherie). Die Entwickler von WinLIRC haben diese Schwachstelle aber bereits erkannt und werden dies in Zukunft hoffentlich lösen.

uICE:

Nun zur eigentlichen Software, die die RealJukbebox steuert. WinLIRC detektiert die Fernbedienungs-Codes und sendet die Strings, die zu dem Code passen, an die Fernsteuer-Software. Diese wiederum führt daraufhin die Aktionen aus, die konfiguriert sind (Tastatur-Kommandos, Mausclicks, Mausbewegungen, Programme starten, Focus setzen, Windows-Sysmessages usw). Ich hatte mehrere Tools getestet und mich dann ganz klar für uICE entschieden. Es bietet die notwendige Aktions-Vielfalt, funktioniert sicher auch nach dem STR-Mode und kann mit WinLIRC umgehen. Die Software lässt sich 30 Tage testen, dann kostet sie 20$, das Geld ist gut angelegt, Download hier.

Zur Konfiguration von uICE empfiehlt es sich, die Auflösung auf 800x600 zu setzen, die Konfigfenster von uICE sind in der Größe nich skalierbar. Zuerst zur “General Config”: Unter “Device Selection” muss WinLIRC eingestellt werden. Bei “General Options” ist die Aktivierung von “Leave Window Focus after Keystroke” wichtig, die anderen Punkte nach Bedarf.

Unter “Hardware Setup” wird die WinLIRC-Konfig verfeinert. Die Einstellungen können voreingestellt bleiben. Der aktivierte Autostart sorgt dafür, dass beim Starten von uICE (z.B. Boot) WinLIRC mitgestartet wird.

Aufwändig ist die Konfiguration der Aktionen unter “Actions”, insbesondere ist es oft schwierig Wege zu finden, eine bestimmte Funktion der RealJukebox zu aktivieren. Da uICE jedoch sehr gute Unterstützung bietet, war es mir dann gelungen, alle relevanten Funktionen der Jukebox-Software aus der Fernsteuerung heraus zu erreichen. Zuerst muss eine FernbedBild 1ienung (Remote) mit dem gleichen Namen wie unter WinLIRC konfiguriert angelegt werden. Darunter werden dann dann Commands angelegt, die vom Namen her genau den Namen entsprechen müssen, wie unter WinLIRC konfiguriert. Commands lassen sich direkt unter der Remote oder unterhalb einer Applikation anlegen. Im ersten Fall gelten die Commands generell, im zweiten Fall gelten sie nur, wenn die entsprechende Applikation geladen und aktiv ist. Bild 2 zeigt einen Ausschnitt aus dem Action-Dialog, Links ist die Liste der Commands zu sehen, rechts die aktuelle Action-Konfiguration für “Play”.

Ich erspare mir jetzt hier die genaue Erklärung, wie ich die Steuerung der RealJukebox mit welchen Actions erreicht habe. Ich kann nur empfehlen, es nicht selbst zu versuchen, sondern sich an meine Konfiguration zu halten, die man hier laden kann (rechte Maustaste auf Link setzen und “Verknüpfung speichern unter...” wählen). Diese Konfiguration kann man in uICE importieren. Das einzige, was jetzt noch getan werden muss, ist den Fernbedienungs-Namen und die Commands an die Namen anzupassen, die man selbst in WinLIRC vergeben hat und die zur eigenen Fernbedienung passen. Ich habe die Namen so vergeben, dass sie zur Beschriftung der Tasten auf meiner Fernbedienung passen. Wer es doch nicht lassen kann und sich selbst versuchen möchte, findet im Programm eine gute kontextsensitive Hilfe.

Im folgenden und letzten Abschnitt wird beschrieben, was man mit den einzelnen Commands in der RealJukebox erreicht und wie generell das Bedienungs-Konzept aussieht.

Bedienkonzept:

Grundprinzip ist, dass alle Einstellungen nur im Full-Mode geschehen können. Ist einmal in den Skin-Mode gewechselt, wird dort nur noch die aktuelle Liste abgespielt. Einzige Bedienmöglichkeiten im Skin-Mode sind Play, Stop, Next/Prev Track und Rückkehr zum Full-Mode. Dies ist ein pragmatischer, aber sicherer und ausreichender Ansatz. Voraussetzung für die richtige Funktion ist, dass man die RealJukebox so konfiguriert, wie im entsprechenden Abschnitt angegeben.

Weiteres Grundprinzip ist, dass die Jukebox mit einer bestimmten Taste (Application Start Command: TV/VTR) gestartet wird und dann die Tasten der Fernbedienung Aktionen in der Jukebox auslösen können. Voraussetzung für die applikationsbezogenen Aktionen, die mit Keystrokes arbeiten ist, dass die RealJukebox im Focus, d.h. das gerade aktive Programm unter Windows ist. Verliert die RealJukebox den Focus, weil ein anderes Programm läuft oder gestartet wurde, muss man durch Drücken der Taste TV/VTR den Focus wieder auf die RealJukebox legen. Manchmal sieht es so aus, als wäre die Jukebox das aktive Programm und trotzdem funktionieren die Tasten nicht. Dann hilft ebenfalls ein Drücken von TV/VTR.

Auf folgende blöde Probleme mit der RealJukebox sei noch hingewiesen:

  • Ist die Jukebox minimized und wird mit TV/VTR wieder auf den Desktop gebracht, kann man in der aktuellen List nicht mit dem Cursor arbeiten, da die Markierung fehlt. Da hilft dann nur, mit einer der Zahlen-Commands in eine andere Liste gehen und dann zurückspringen.
  • Wird die Jukebox geschlossen und später wieder geöffnet (z.B. Reboot), dann wird nach dem Starten die gleiche Liste wie vor dem Schließen angezeigt. Soweit ist es gut. Schlecht ist, dass man sich in dieser Liste nicht mit den Cursor-Tasten bewegen kann, auch nicht, wenn man in eine andere Liste und dann zurückspringt. Man müßte in diesem Zustand einen Maus-Click in die Liste machen, das würde helfen. Dies über die Fernbedienung zu veranlassen ist problematisch, da sich ja Fenstergröße und Auflösung auch ändern. Hier kann man sich nur damit helfen, indem man vor dem Schließen der Jukebox eine Liste einstellt, die einen nie interessiert, z.B. CD. Dann kann beim Starten dann von dieser Liste zu einer anderen springen. Aber eigentlich muss man die Jukebox ja nicht schließen, da es ja zum Glück den STR-Mode gibt.

Im folgenden wird in Form einer Tabelle dargestellt, welche Aktion mit welchem Command erreicht wird. Auf dem Photo neben der Tabelle kann man gleich die Namen den realen Tasten zuordnen. Da die Tabelle lang ist, ist die Fernbedienung mehrmals untereinander abgebildet, also nicht wundern. So bekommt man einen Eindruck, wie ich mir eine gute Tastenbelegung vorstelle. Die Namen der Commands entsprechen denen in meinem uICE-Konfig-File, dass man oben laden kann.

Globale Commands: Diese Commands gelten generell und wirken auf alle Programme. Die Bereitstellung von Funktionen wie Escape, Enter, Cursor-Up und -Down ermöglicht, mit der Fernbedienung auf unerwartete Warnungen, Meldungen usw. zu reagieren.

Command

Funktion

Aktionen

Beschreibung

on-off

Standby

System-Action

Aktiviert den Standby-Mode von Windows, in unserem Fall STR, schaltet also aus

eject

Escape

Keystroke

Wirkt wie eine Escape-Taste im aktuellen Fenster

execute

Enter

Keystroke

Wirkt wie Enter im aktuellen Fenster.

cursor-up

Cursor up

Keystroke

Wirkt wie Cursor up im aktuellen Fenster

cursor-down

Cursor down

Keystroke

Wirkt wie Cursor down im aktuellen Fenster

vol+

Volume +

Audio Control

Erhöht die Lautstärke des WAV-Kanals im Mischer

vol-

Volume -

Audio Control

Verringert die Lautstärke des WAV-Kanals im Mischer

Application Commands: Diese Commands sind unterhalb der Application Realjukebox konfiguriert. Das heisst, sie wirken nur, wenn die Realjukebox gestartet und im Focus ist. Funktionell zusammengehörige Commands sind farblich markiert.

Command

Funktion

Aktionen

Beschreibung

tv/vtr

Startet die Realjukebox bzw. setzt Focus

Application Start Command

tv/vtr ist Command für Starten bzw. Aktivieren der RealJukebox. Es wird in uICE in der Application-Konfig für RealJukebox konfiguriert.

play

Play Track

Keystroke

Spielt die aktuell ausgewählte Liste mit markiertem Song (Track) zuerst. play wirkt als Pause, wenn es während des Abspielens nochmal gedrückt wird

stop

Stop Track

Keystroke

Stoppt Abspielen der aktuellen Liste

rew

Last Track

Keystroke

Springt zu vorigem Song in der Liste

ff

Next Track

Keystroke

Springt zu vorigem Song in der Liste

0

Zeige Liste “All Tracks”

Win-Message

Zeigt die Liste “All Tracks”

1

Zeige Liste “Recent”

Win-Message

Zeigt die Liste “Recent”

2

Zeige  Liste “Playlists”

Win-Message

Zeigt die manuell erstellten Playlists an, mit den Cursor-Tasten kann eine Liste ausgewählt und mit Enter in diese gesprungen werden

3

Zeige Liste “Artist”

Win-Message

Zeigt das Verzeichnis aller Artists an, mit den Cursor-Tasten kann ein Artist ausgewählt und mit Enter in die Liste seiner Songs gesprungen werden

4

Zeige Liste “Album”

Win-Message

Zeigt das Verzeichnis aller Alben an, mit den Cursor-Tasten kann ein Album ausgewählt und mit Enter in die Liste der Songs gesprungen werden

5

Zeigt CD-Inhalt an

Win-Message

Zeigt den Inhalt einer eingelegten CD an

input-select

Wechselt Visualisierung

Win-Message

Mit jeder Action wird eine Visualisierung weiter gesprungen

display

Wechselt zwischen Full- und Skin-Mode

Win-Message

Wechselt zwischen Full- und Skin-Mode. Aktuell ausgewählter Skin und aktuelle Visualisierung werden verwendet

rec

Wechselt in den Skin JukeboxTV

Win-Message

Wechselt vom Full- in den Skin-Mode mit dem Skin JukeboxTV. Wechsel zurück in den Full-Mode geht nur mit “display”

pause

Wechselt in den Skin Visualization

Win-Message

Wechselt vom Full- in den Skin-Mode mit dem Skin Visualization. Wechsel zurück in den Full-Mode geht nur mit “display”

cursor-left

Zurück in Browser

Keystroke

Wechselt zur letzten Anzeige wie im Browser

cursor-right

Vorwärts in Browser

Keystroke

Geht eine Anzeige vorwärts wie im Browser

cursor-up

In Liste eine Zeile nach oben

Keystroke

Bewegt die Markierung in einer Liste eine Zeile nach oben (Command ist repeat-fähig)

cursor- down

In Liste eine Zeile nach unten

Keystroke

Bewegt die Markierung in einer Liste eine Zeile nach unten (Command ist repeat-fähig)

prog+

In Liste eine Seite nach oben

Keystroke

Bewegt die Markierung in einer Liste eine ganze Seite nach oben (Command ist repeat-fähig)

prog-

In Liste eine Seite nach unten

Keystroke

Bewegt die Markierung in einer Liste eine ganze Seite nach oben (Command ist repeat-fähig)

execute

Wechseln in Verzeichnis  / Abspielen Song

Keystroke

Spielt markierten Song bzw. wechselt in markierte Liste, im Unterschied zu Play wird der aktuell gespielte Song unterbrochen und der markierte begonnen

slow-

Schaltet Shuffle an/aus

Win-Message

Aktiviert / Deaktiviert den Shuffle-Mode, der dann auf die aktuelle Liste wirkt

slow+

Schaltet Continous an/aus

Win-Message

Aktiviert / Deaktiviert den Shuffle-Mode, der dann auf die aktuelle Liste wirkt

index-search -back

Verschiebt Song nach oben

Win-Message

Verschiebt den in einer Liste markierten Song eine Position nach oben, geht nur in manuell erstellten Listen

index-search -fwd

Verschiebt Song nach unten

Win-Message

Verschiebt den in einer Liste markierten Song eine Position nach unten, geht nur in manuell erstellten Listen

timer-clear

Löscht Song von der Liste

Keystroke

Löscht den markierten Song aus der Liste, sinnvoll nur in manuell erstellten Listen. In den automatisch erstellten Listen führt das Command zu einer Warnmeldung.

frame

Fügt Song einer Playlist hinzu

Sequenz

Über eine Sequenz verschiedener Aktionen wird der markierte Song einer anderen Playlist hinzugefügt, Auswahl der Playlist im Dialog mit Cursor-up und -down, fertig mit Enter

Hinweise:

  • Die Commands 0-5 senden eine Windows-Message auf das Menü der RealJukebox. Weitere Einsprungstellen wie “Genre” oder “Artist/Album” können einfach hinzugefügt und auf die noch freien Zahlen 6-9 gelegt werden.
  • Zum Umschalten der Visualisierung mit “Input Select” ist Voraussetzung, dass im Full-Mode das Visu-Fenster rechts angezeigt wird.