PDA

View Full Version : Multimedia-Box Navigation=?iso-8859-15?q?=FCber_Squeezebox-Remot?= =?iso-8859-15?q?e?=



te_gonzales
2006-03-04, 16:07
Hallo !

Ich habe für ein Multimedia-Projekt zu Hause folgendes vor:

Mein Slimserver-PC, und meine Multimedia-Box mit MythTV (beide
Linux-basiert) sollen reduziert werden auf einen einzigen Rechner.
MythTV und SlimServer auf dem gleichen System laufen zu lassen ist kein
Problem, allerdings will ich die Squeezebox-Fernbedienung verwenden, um
in MythTV zu navigieren.

Die IR-Kommandos sollten dabei als virtuelle Tastendrücke in X11
übernommen werden.

So wie es aussieht müsste mindestens ein Slimserver-Plugin notwendig
sein, das einfach die Tastendrücke entgegennimmt und sonst keine
weiteren Aktionen in der Slimserver-Software ausführt.
Denkbar wäre auch ein zweiter Dienst als Ergänzung zu Slimserver, der
nur Fernbedienungs-Kommandos entgegennehmen soll; es können aber die
Server-Ports nicht von einem Zweiten Dienst doppelt verwendet werden.

Hat schon jemand etwas ähnliches gemacht, oder auch Ideen, wie man es
sinnvoll realisieren könnte ?



Beste Grüße,


Thomas

--

------------------------
Thomas Eller

knurpser (AT) gmx (DOT) net
------------------------

mherger
2006-03-04, 22:38
> So wie es aussieht müsste mindestens ein Slimserver-Plugin notwendig
> sein, das einfach die Tastendrücke entgegennimmt und sonst keine
> weiteren Aktionen in der Slimserver-Software ausführt.

Da musst du erst mal ein paar sinnvolle Tastendrücke finden, die im
Slimserver noch keine Verwendung finden - wird schwierig sein ;-)

Oder aber dein Plugin fängt in seinem eigenen Modus alle Tastendrücke ab
und setzt entsprechende Befehle über die Shell ab. Das sollte nicht so
schwierig sein.

Im Slimserver ist Doku zur Plugin-Schnittstelle drin (Hilfe/Technische
Doku o.ä.). Schau dir das mal an, insbesondere den Abschnitt zum
%functions Hash, welcher die unterschiedlichen Tastndrücke auswertet. Un
an die Codes für die Tasten zu kommen startest du am besten den Slimserver
von der Shell mit dem -d_ir parameter: das spuckt dir Informationen für
jede Taste aus, die du drückst.

--

Michael

-----------------------------------------------------------
Help translate SlimServer by using the
StringEditor Plugin (http://www.herger.net/slim/)

te_gonzales
2006-03-05, 10:36
Hallo, Michael.

Danke für den Tipp. Ich hab zwar noch nie etwas in Perl programmier,
aber dennoch über "Try and Error" ein Plugin hinbekommen, das vom
Slimserver akzeptiert wird und mit dem ich weiterarbeiten kann.
Es ist zwar noch einiges zu tun sein, aber zumindest ist's ein Anfang. ;-)

Das Log --d_ir wirft folgende Meldungen aus:

2006-03-05 18:24:40.6961 irCode: down, 00:04:20:06:18:8a
2006-03-05 18:24:40.6964 irCode not defined: down
2006-03-05 18:24:40.6966 trying to execute button: down
2006-03-05 18:24:40.6973 executing button: down

Die entsprechende Zurodnung von Button auf eine auszuführende Funktion
wird hier gemacht (Beispiel: Rescan.pm)

my %functions = (

.
.
.
'down' => sub { <---------
my $client = shift; <---------
$client->bumpDown(); <---------
},

.
.
.


Ist das wirklich so einfach ???

Gruß,
Thomas

--

------------------------
Thomas Eller

knurpser (AT) gmx (DOT) net
------------------------

mherger
2006-03-06, 01:09
> Es ist zwar noch einiges zu tun sein, aber zumindest ist's ein Anfang.
> ;-)

Würde ich auch sagen! :-)

> Die entsprechende Zurodnung von Button auf eine auszuführende Funktion
> wird hier gemacht (Beispiel: Rescan.pm)
>
> my %functions = (
> 'down' => sub { <---------
> my $client = shift; <---------
> $client->bumpDown(); <---------
> },
> Ist das wirklich so einfach ???

Ja. Allerdings gilt diese Zuordnungstabelle nur, wenn du in deinem Plugin
drin bist.

--

Michael

-----------------------------------------------------------
Help translate SlimServer by using the
SlimString Translation Helper (http://www.herger.net/slim/)

te_gonzales
2006-03-06, 07:09
MythTV unterstützt lirc.
Lirc besitzt einen UDP-Treiber, über den man per Netzwerk IR-Codes einspeisen kann.

Die Kodierung der IR-Kommandos ist etwas kompliziert, ich werde eine entsprechende Konfig-Datei für die SlimDevices-Remote erstellen und die Daten aus dem Plugin über UDP nach lirc übertragen.

Sobald's funktioniert, poste ich hier für Interessenten einen Link mit Anleitung.

Gruß, Thomas