Dobiwe: Anwendungen
((DobiWe|Startseite))
Inhaltsverzeichnis
mpd - der mplayer-dienst
Ist auch in stesies Feed: :-):
ipkg install mpd
Jetzt muss noch eine /etc/mpd.conf angelegt werden:
##REQUIREDPATHS############# music_directory "/media/ram/mpd/" playlist_directory "/media/ram/playlists" db_file "/media/ram/mpd/.mpd/mpd.db" log_file "/media/ram/mpd.log" error_file "/media/ram/mpd.error" ############################ port "6600"
Ein Startskript als /etc/init.d/mpd abgelegen:
#!/bin/sh mpd=/usr/bin/mpd test -x "$mpd" || exit 0 case "$1" in start) echo -n "Starting mpd: ";start-stop-daemon --start ¬ --quiet --exec $mpd; echo "." ;; stop) echo -n "Stopping mpd: ";start-stop-daemon --stop ¬ --quiet --exec $mpd; echo "." ;; *) echo "Usage: /etc/init.d/mpd {start|stop}"; exit 1 ;; esac exit 0
Dann die Datei noch ausführbar machen:
chmod +x /etc/init.d/mpd
Jetzt noch ein
mkdir /home/root/.mpd mkdir /home/root/.mpd/playlists
hinterher und man kann testen:
root@h3600:~# /etc/init.d/mpd start Starting mpd: .
ncmpc - ncurses-basiertes Frontend
Stefan hat freunlicherweise ein gepatchtes Paket erstellt, dass einen unschönen Darstellungsfehler mit der verwendeten Konsole behebt:
ipkg install ncmpc
Starticon für ncmpc: Hier hinterlegt man sich irgendwo ein schönes Bildchen, dann diese Datei /usr/share/applications/ncmpc.desktop anlegen:
Desktop Entry] Name=ncmpc Comment=ncurses based frontend for mpd Type=PanelApp Icon=/opt/QtPalmtop/pics/mpd.png Categories=Panel;Utility;MB Exec=mb-applet-launcher -o -1 -l /opt/QtPalmtop/pics/mpd.png /usr/bin/ncmpc_start.sh
mpc
mpc ist ein Kommandozeilentool zum Steuern des mpd. Wir brauchen es für die Belegung der Funktionstasten:
root@h3600:~# ipkg install mpc Installing mpc (0.11.2-r0) to root... Configuring mpc
Amixer zum Setzen der Sound-Einstellungen
TODO alsa-utils-amixer in stesies feed!
Das Problem: zu Beginn ist der Bass-Boost des Ipaq aktiviert und die Höhen sind auch aufgedreht. Wir möchten aber (wenn überhaupt!) den Klang am Verstärker regeln, also müssen wir den Frequenzgang beim Booten glätten:
root@h3600:~# ipkg -force-overwrite install alsa-utils-amixer
Jetzt zeigt sich, was man mit amixer alles regeln kann:
root@h3600:~# amixer scontrols Simple mixer control 'Master',0 Simple mixer control 'Bass',0 Simple mixer control 'Treble',0 Simple mixer control 'Line',0 [schnipp]
Uns interessieren natürlich hauptsächlich Master, Bass und Treble: Der Witz ist, dass wenn man jetzt z.B. Bass und Treble auf 0 setzt, der Boost trotzdem drin bleibt! (:redface:) Für dieses Verhalten habe ich noch keine Erklärung gefunden, daher setze ich später im Startscript für den ncmpc den Wert erst auf 1, dann auch 0: ist zwar unschön, funktioniert aber! %)
Im Startscript wird das etwa so aussehen:
# Boombastic-Sound abstellen :) amixer -q -c 0 sset 'Bass' 1 amixer -q -c 0 sset 'Bass' 0 amixer -q -c 0 sset 'Treble' 1 amixer -q -c 0 sset 'Treble' 0 amixer -q -c 0 sset 'Master' 50
Jetzt sollte der "Boombastic-Sound" weg sein ;) Man sollte eine Master-Lautstärke für den Start wählen, die die Boxen nicht sprengt, wenn man versehentlich den Verstärker noch aufgedreht hat 8-).
Startskript für mpd & ncmpc
dieses Skript ausführbar als /usr/bin/ncmpc_start.sh anlegen:
#!/bin/sh # Startskript für den ncmpc, der durch ein Desktop-Icon aufgerufen wird # per irpty werden IR-Codes an den ncmpc weitergereicht # die Konfiguration liegt in /etc/ncmpc.lirc # Manchmal kommt beim Resume das eth0-Interface nicht hoch: ifup eth0 # Boombastic-Sound abstellen :) amixer -q -c 0 sset 'Bass' 1 amixer -q -c 0 sset 'Bass' 0 amixer -q -c 0 sset 'Treble' 1 amixer -q -c 0 sset 'Treble' 0 amixer -q -c 0 sset 'Master' 50 # Prüfen, ob noch einer oder mehrere Mounts von einer ev. schon abgesteckten # Fritzbox-Platte vorhanden ist, falls ja alle unmounten! while mount | grep /media/ram/mpd > /dev/null ; do umount /media/ram/mpd ; done # symlink für playlisten-Verzeichnis erstellen falls noch nicht vorhanden [ -d /media/ram/playlists ] | ln -s /home/root/.mpd/playlists/ /media/ram/ # Verzeichnisstruktur wie im conf-File gefordert herstellen wenn noch nicht vorhanden [ -d /media/ram/mpd/ ] | mkdir /media/ram/mpd/;mkdir /media/ram/mpd/.mpd/;¬ ln -s /home/root/.mpd/mpd.db /media/ram/mpd/.mpd/ # Erst ev. laufenden mpd beenden: ps ax | grep mpd | grep -v grep && /etc/init.d/mpd stop # Mount-Versuch der Fritzbox-Platte, falls sie nicht zur Verfügung steht, # liegt in /media/ram/mpd eine Verzeichnisstruktur, die die mpd.conf erfüllt. # Das erspart das Nutzen zweier Verschiedener conf-Files (tnx stesie for the tip!) mount /media/ram/mpd > /dev/null # mpd-Dienst neu starten und ncmpc in Konsolenfenster öffnen /etc/init.d/mpd start && sleep 5 && rxvt -fn 6x10 -e /usr/bin/ncmpc_irpty.sh
am Ende wird in einer neuen Konsole /usr/bin/ncmpc_irpty.sh aufgerufen und leitet die Kommandos der Fernbedienung via irpty an den ncmpc weiter ;)
Das Skript /usr/bin/ncmpc_irpty.sh anlegen und ausführbar machen:
#!/bin/sh # sleep 1 nötig, sonst erkennt ncmpc die Konsolengröße nicht # und es kommt zu Fehldarstellungen! mpc load last_playlist sleep 1 irpty /etc/ncmpc.lirc -- ncmpc
Stopskript für mpd & ncmpc
Beim Suspend2RAM müssen wir ncmpc und mpd sauber beenden, sonst droht beim Resume ein Einfrieren des X-Servers Ausserdem prüft das Startskript jedesmal das Vorhandensein des ((DobiWeSmbfs|smb-Shares)), den wir im nächsten Kapitel einrichten- d.h. wenn man das Radio leid ist, einfach den smb-Share bereitstellen (in meinem Fall: die Harddisk an die Fritzbox hängen :-)) und schon kann man sein ganz persönliches Wunschkonzert zusammenstellen!
Folgendes als ausführbares /usr/bin/s2ram.sh anlegen:
#!/bin/sh # Skript um den dobiwe in den suspend2ram zu schicken # wiedergabe beenden mpc stop # aktuelle playlist wegsichern mpc rm last_playlist mpc save last_playlist # ncmpc und mpd beenden killall ncmpc /etc/init.d/mpd stop # jetzt erst in den suspend schalten apm -s
Resumeskript für mpd & ncmpc
Beim Wiedereinschalten (resume) muss natürlich alles wieder gestartet werden:
Folgendes als ausführbares /etc/apm/resume.d/40ncmpc_restart anlegen:
#!/bin/sh sh /usr/bin/ncmpc_start.sh
Jetzt sollte man einfach im laufenden Betrieb ausschalten können- beim wiedereinschalten dauert es eine Weile und der ncmpc-Bildschirm erscheint wieder.
Weiter geht es mit dem Anbinden eines smb-Shares- z.B. eine externe USB-Platte an der Fritzbox!