Inhaltsverzeichnis

Audacious

Audacious ist ein Musikplayer, welcher über Lirc und Irexec fernbedient werden kann.
Hier eine grobe Anleitung dazu.

Es wird vorausgesetzt, dass man die Fernbedienung, wie hier beschrieben bereits angelernt hat und diese somit funktioniert.
Die Benennung der Tasten kann von denen in der Irexec-Konfigurationsdatei (~/.lirc/audacious) abweichen. Dann müssen diese aber in dieser Datei auch angepasst werden.
Es müssen nicht alle Zifferntasten mit Playlists/URLs belegt sein.

Vorbereitungen

Alle notwendigen Programme installieren

apt-get install audacious audacious-plugins lirc

Irexec

Irexec wird normalerweise immer von „root“ ausgeführt.
Möchte man das Programm mit einem User starten, damit man z.B. nicht immer sudo o.ä. benutzen muss, trägt man folgendes in die .profile ein.

vi ~/.profile

Inhalt unten einfügen:

# Start irexec
/usr/bin/irexec -d

Nun wird noch die dazugehörige Konfiguration (.lircrc) benötigt, welche irexec, wenn es als jemand anders als „root“ gestartet wird, im Home-Verzeichnis sucht.

vi ~/.lircrc

Inhalt

include /home/linux/.lirc/audacious

Am besten sammelt man seine Irexec-Scripte wie in der Include-Zeile beschrieben im .lirc Ordner.
Somit legt man sich diese Datei an.

vi ~/.lirc/audacious

Inhalt:

##audacious
 
begin
     prog = irexec
     button = KEY_POWER
     config = audaciouslirc.sh power
     #config = shutdown
     repeat = 0
end
 
begin
     prog = irexec
     button = KEY_1
     config = audaciouslirc.sh 1
     repeat = 0
end
 
begin
     prog = irexec
     button = KEY_2
     config = audaciouslirc.sh 2
     repeat = 0
end
 
begin
     prog = irexec
     button = KEY_3
     config = audaciouslirc.sh 3
     repeat = 0
end
 
begin
     prog = irexec
     button = KEY_4
     config = audaciouslirc.sh 4
     repeat = 0
end
 
begin
     prog = irexec
     #prog = audtool
     button = KEY_5
     config = audaciouslirc.sh 5
     #config = "playlist-addurl-to-new-playlist http://81.92.237.123:8080/"
     repeat = 0
end
 
begin
     prog = irexec
     button = KEY_6
     config = audaciouslirc.sh 6
     repeat = 0
end
 
begin
     prog = irexec
     button = KEY_7
     config = audaciouslirc.sh 7
     repeat = 0
end
 
begin
     prog = irexec
     button = KEY_8
     config = audaciouslirc.sh 8
     repeat = 0
end
 
begin
     prog = irexec
     button = KEY_9
     config = audaciouslirc.sh 9
     repeat = 0
end
 
begin
     prog = irexec
     button = KEY_YELLOW
     config = audaciouslirc.sh playback-play
     config = audaciouslirc.sh playback-pause
     repeat = 0
end
 
begin
     prog = irexec
     button = KEY_GREEN
     config = audaciouslirc.sh playback-stop
     repeat = 0
end
 
begin
     prog = irexec
     button = KEY_RADIO
     config = audaciouslirc.sh playlist-show on
     config = audaciouslirc.sh playlist-show off
     repeat = 0
end
 
begin
     prog = irexec
     button = KEY_BLUE
     config = audaciouslirc.sh playlist-advance
     repeat = 0
end
 
begin
     prog = irexec
     button = KEY_RED
     config = audaciouslirc.sh playlist-reverse
     repeat = 0
end
 
begin
     prog = irexec
     button = KEY_VOLUMEUP
     config = audaciouslirc.sh vol 2
     repeat = 1
end
 
begin
     prog = irexec
     button = KEY_VOLUMEDOWN
     config = audaciouslirc.sh vol -2
     repeat = 1
end
 
begin
     prog =  irexec
     button = KEY_MUTE
     config = audaciouslirc.sh vol -100
     repeat = 1
end

Steuerscript

Nun weiß Irexec dass es bei einem Knopfdruck an der Fernbedienung das Script „audaciouslirc.sh“ mit einem Parameter ausführen soll.
Diese Script hat folgenden Inhalt.

vi ~/.lirc/audaciouslirc.sh

Inhalt:

#!/bin/bash
#
## Copyright Krage / Stiller
#
#
#
#Dieses Script prueft nach ob das Programm
#Audacious2 laeuft, und startet bzw. beendet dieses ggf.
#Desweiteren werden steuerbefehle irexec angenommen und
#an das Programm audtool uebergeben.
 
# Check: Ist der Parameter numerisch?
LENGTH=`expr length $1`
NUMBER=`expr match "$1" '[1-9]*'`
 
SERVICE="audacious"
PROG="/usr/bin/audacious"
PRT="/usr/bin/audtool"
VOL="5"
NEWPLS="playlist-addurl-to-new-playlist"
RADIO1="<URL_ZU_INTERNET_RADIO_SENDER_PLAYLIST>"
RADIO2="<URL_ZU_INTERNET_RADIO_SENDER_PLAYLIST>"
RADIO3="<URL_ZU_INTERNET_RADIO_SENDER_PLAYLIST>"
RADIO4="<URL_ZU_INTERNET_RADIO_SENDER_PLAYLIST>"
RADIO5="<URL_ZU_INTERNET_RADIO_SENDER_PLAYLIST>"
RADIO6="<URL_ZU_INTERNET_RADIO_SENDER_PLAYLIST>"
RADIO7="<URL_ZU_INTERNET_RADIO_SENDER_PLAYLIST>"
RADIO8="/<PFAD>/<PLAYLIST_NAME>.m3u"
RADIO9="/<PFAD>/<PLAYLIST_NAME>.m3u"
 
 
if [ $1 == "power" ]; then
        if [ `pgrep -x ${SERVICE}` ]; then
                $PRT shutdown
                sleep 5
                if [ `pgrep -x ${SERVICE}` ]; then
                        killall -9 $SERVICE
                fi
        else
                $PROG  &
                sleep 3
                $PRT $NEWPLS $RADIO6
        fi
        elif [ $1 == "vol" ]; then
                VOLNOW=`$PRT get-volume`
                VOLCHANGE=`echo "$VOLNOW + $2" | bc` ##$VOLNOW+$2|bc
                $PRT set-volume $VOLCHANGE
        elif [ $LENGTH = $NUMBER ]; then   #[ $1 == [1-9] ]
                $PRT playback-stop
                $PRT playlist-clear
                case $1 in
                        1)  $PRT $NEWPLS $RADIO1 ;;
                        2)  $PRT $NEWPLS $RADIO2 ;;
                        3)  $PRT $NEWPLS $RADIO3 ;;
                        4)  $PRT $NEWPLS $RADIO4 ;;
                        5)  $PRT $NEWPLS $RADIO5 ;;
                        6)  $PRT $NEWPLS $RADIO6 ;;
                        7)  $PRT $NEWPLS $RADIO7 ;;
                        8)  $PRT $NEWPLS $RADIO8 ;;
                        9)  $PRT $NEWPLS $RADIO9 ;;
                esac
                $PRT playback-play
        else
                $PRT $1 $2
 
fi