PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Amarok mit Fernbedienung steuern



Koto
30.12.10, 07:32
Hallo!

Ich möchte Amarok 2.3.2 mit einer Fernbedienung über lirc steuern.

Einiges gelingt schon mit qdbus-Aufrufen. Ich finde aber nichts, um beispielsweise in der Tackliste mit den Cursortasten auf- und abzuwandern (abzuspielen, löschen etc) oder die Fenster zu wechseln (Album oder Titel der Trackliste hinzufügen etc.).

Der Aufruf:


qdbus org.mpris.amarok /Player org.freedesktop.MediaPlayer.Next

spielt den nächsten Titel, was aber hier nicht gewollt ist.

Hat jemand einen Tipp, wie sich das in der lircrc lösen läst?

Für mythtv gibt es ein einfaches


BEGIN
PROG = mythtv
BUTTON = DOWN
CONFIG = DOWN
END

Das sollte doch bei Amarok auch möglich sein?!
Danke schonmal und Grüße

Ede
06.01.11, 12:39
Die Steuerung geht über dcop.
Schau dir das an:
http://amarok.kde.org/wiki/RemoteControl
IRman und uird braucht dich nicht zu interessieren.

Koto
07.01.11, 14:20
Hallo und danke ersteinmal!

Ja, für dcop findet sich einiges im Netz. Aber...

Soweit ich es verstehe, benutzt SuSE 11.3 bzw. KDE4 kein dcop mehr, und ich bekomme auch eine Fehlermeldung, wenn ich es versuche.

Die Steuerung über dbus ist minimalistisch und beschränkt sich auf eine allgemeine Steuerung, wie schneller Vorlauf etc. Zumindest was Amarok selbst betrifft. Ansonsten sind die ansprechbaren "Schnittstellen" (z.B. org.mpris.amarok) des dbus für mich unüberschaubar.

Ein ähnliches Problem habe ich beim Shutdown. Irgendwo fand ich


CONFIG = qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.logout 1 -1 -1


Damit starte ich zwar das Standardfenster zum Herunterfahren von KDE, kann aber das Menü nicht steuern (Cursor 'rauf und 'runter, OK-Klick).

Vielleicht gibt es noch Möglichkeiten mit irxevent, aber irgendwie halte ich es nicht für eine schöne Lösung.

Frohes neues Jahr kann man noch wünschen und
Grüsse

Ede
08.01.11, 00:59
Soweit ich es verstehe, benutzt SuSE 11.3 bzw. KDE4 kein dcop mehr
Ach so. Darüber weiß ich nichts.

Kennst du irkick? Habe ich mal benutzt, um KDE-TV zu steuern. Sehr gutes Programm. Es setzt auf LIRC auf und dient zur Steuerung von einigen KDE-Programmen (Amarok, KDE-TV, ...). Dafür brauchst du nicht ~/.lircrc bzw. irexec, sondern nur /etc/lircd.conf, die von irkick automatisch eingelesen wird. Die Konfiguration (Zuordnung von Tasten zu Programm-Funktionen) erfolgt in irkick drin. Da hast du alle Funktionen von Amarok aufgelistet und kannst rumklicken. Probier das mal.


Ansonsten sind die ansprechbaren "Schnittstellen" (z.B. org.mpris.amarok) des dbus für mich unüberschaubar.

Ein ähnliches Problem habe ich beim Shutdown. Irgendwo fand ich
Zitat:

CONFIG = qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.logout 1 -1 -1
Ja, das kann man wirklich unüberschaubar nennen. Da lobe ich mir die ~/.lircrc und irkick. Wenn ich mich recht erinnere, hatte irkick auch Funktionen von KDE-Drin, KDE beenden usw. Ist schon 5 Jahre her oder so.

Koto
08.01.11, 14:05
Hallo!

Ja, irkick habe ich bei Packman -glaube ich- gefunden, aber noch nicht ausprobiert. Die dem Gehäuse von MS-Tech beiliegende Fernbedienung hat nämlich auch 'ne Macke. Für Windows gibt es da wohl ein "Mediacenter"; unter irrecord erhalte ich aber einen fast immer gleichen Code, was mir nichts bringt, mit input-layer Standard lirc.conf (im Netz gefunden) bekomme ich für Sondertasten über irw einen doppelten Tastencode, den ich lircrc includiere...

Naja, ich sitzte schon ein paar Wochen am Nachmittag da, pobiere und fluche, aber für (s)mplayer und anderen Programmen klappt es schon ganz gut. Amarok kann halt auch sehr viel, alles werde nicht auf die Fernbedienung legen können. Die Wiedergabeliste sollte aber schon manipulierbar sein.

Tschüss

Koto
19.01.11, 15:48
Hallo!

Ich zeige dann 'mal meine (vorläufige?) lircrc für Amarok 2.3.2.

Da meine Fernbedienung des Gehäuses von MS-Tech (MC 300) wohl etwas exotisch ist, liefert sie mit dem "linux-input-layer" als lirc.conf zweizeiligen Tastencode, den ich jeweils in einzelne Dateien fügte und hier inkludieren muß. Die INCLUDE-Anweisungen sind also durch entsprechende BUTTON-Befehle zu ersetzen.

Die dbus-Zeilen funktionieren wie erwartet. Unter dem Abschnitt "Navigation" findet sich eine Lösung über irxevent zu steuern. Leider läst sich das Fenster "Sammlung" oder "Wiedergabeliste nicht direkt ansteuern. Man irrt mit Tab und Shift-Tab umher. Die OK-Taste fügt den Titel der Sammlung nicht nur an die Wiedergabeliste, sondern sorgt auch dafür, dass er sofort abgespielt wird, was aber nicht immer Absicht ist. Kurzum wirklich steuern läst sich Amarok so nicht.



#
# Player
#

# Fullscreen toggeln
BEGIN
PROG = irexec
#BUTTON
INCLUDE ~/.lirc/btn_zoom
CONFIG = qdbus org.mpris.amarok /amarok/MainWindow com.trolltech.Qt.QWidget.showFullScreen
CONFIG = qdbus org.mpris.amarok /amarok/MainWindow com.trolltech.Qt.QWidget.showNormal
END

BEGIN
PROG = irexec
#BUTTON
INCLUDE ~/.lirc/btn_play
CONFIG = qdbus org.kde.amarok /Player org.freedesktop.MediaPlayer.Play
FLAGS = QUIT
END

BEGIN
PROG = irexec
#BUTTON
INCLUDE ~/.lirc/btn_stop
CONFIG = qdbus org.kde.amarok /Player org.freedesktop.MediaPlayer.Stop
FLAGS = QUIT
END

BEGIN
PROG = irexec
#BUTTON
INCLUDE ~/.lirc/btn_pause
CONFIG = qdbus org.kde.amarok /Player org.freedesktop.MediaPlayer.Pause
FLAGS = QUIT
END

#Springe 5s
BEGIN
PROG = irexec
#BUTTON
INCLUDE ~/.lirc/btn_forward
repeat = 3
CONFIG = qdbus org.kde.amarok /Player PositionSet $(($(qdbus org.kde.amarok /Player PositionGet) + 5000))
FLAGS = QUIT
END

BEGIN
PROG = irexec
#BUTTON
INCLUDE ~/.lirc/btn_rewind
repeat = 3
CONFIG = qdbus org.kde.amarok /Player PositionSet $(($(qdbus org.kde.amarok /Player PositionGet) - 5000))
FLAGS = QUIT
END

#Springe 20s
BEGIN
PROG = irexec
#BUTTON
INCLUDE ~/.lirc/btn_fastforward
repeat = 3
CONFIG = qdbus org.kde.amarok /Player PositionSet $(($(qdbus org.kde.amarok /Player PositionGet) + 20000))
FLAGS = QUIT
END

BEGIN
PROG = irexec
#BUTTON
INCLUDE ~/.lirc/btn_fastrewind
repeat = 3
CONFIG = qdbus org.kde.amarok /Player PositionSet $(($(qdbus org.kde.amarok /Player PositionGet) - 20000))
FLAGS = QUIT
END

#Stück wiederholen toggeln
BEGIN
PROG = irexec
#BUTTON
INCLUDE ~/.lirc/btn_radio
CONFIG = qdbus org.kde.amarok /Player org.freedesktop.MediaPlayer.Repeat true
CONFIG = qdbus org.kde.amarok /Player org.freedesktop.MediaPlayer.Repeat false
FLAGS = QUIT
END

BEGIN
PROG = irexec
#BUTTON
INCLUDE ~/.lirc/btn_point
CONFIG = qdbus org.kde.amarok /Player org.freedesktop.MediaPlayer.ShowOSD
FLAGS = QUIT
END

#
# TrackList
#

BEGIN
PROG = irexec
BUTTON = PAGEUP
CONFIG = qdbus org.kde.amarok /Player org.freedesktop.MediaPlayer.Prev
END

BEGIN
PROG = irexec
BUTTON = PAGEDOWN
CONFIG = qdbus org.kde.amarok /Player org.freedesktop.MediaPlayer.Next
FLAGS = QUIT
END

#Playlist lehren
BEGIN
PROG = irexec
#BUTTON
INCLUDE ~/.lirc/btn_blue
CONFIG = qdbus org.kde.amarok /TrackList org.freedesktop.MediaPlayer.DelTrack $(qdbus org.kde.amarok /TrackList org.freedesktop.MediaPlayer.GetCurrentTrack)
FLAGS = QUIT
END

#
# Navigation
#
BEGIN
PROG = irxevent
BUTTON = COMPOSE
CONFIG = Key Tab amarok
FLAGS = QUIT
END

BEGIN
PROG = irxevent
BUTTON = BACKSPACE
CONFIG = Key Shift-Tab amarok
FLAGS = QUIT
END

BEGIN
PROG = irxevent
BUTTON = DOWN
CONFIG = Key Down amarok
FLAGS = QUIT
END

BEGIN
PROG = irxevent
BUTTON = UP
CONFIG = Key Up amarok
FLAGS = QUIT
END

#Sammlung: Aufklappen
BEGIN
PROG = irxevent
BUTTON = RIGHT
CONFIG = Key Alt-Right amarok
FLAGS = QUIT
END

#Sammlung: Zuklappen
BEGIN
PROG = irxevent
BUTTON = LEFT
CONFIG = Key Alt-Left amarok
FLAGS = QUIT
END

BEGIN
PROG = irxevent
BUTTON = ENTER
CONFIG = Key Return amarok
FLAGS = QUIT
END

#
#Amarok GANZ beenden
#
BEGIN
PROG = irexec
BUTTON = DELETE
CONFIG = qdbus org.mpris.amarok / org.freedesktop.MediaPlayer.Quit
END


Vielleicht hilft der Code ja trotzdem jemandem oder es hat doch noch jemand eine Idee, es etwas komfortabler zu machen.