Hallo Leute,
genau so hatte ich mir das auch vorgestellt, mit dem winzigen (unerheblichen) Unterschied, dass ich das ganze für Audio-CDs machen will. Ich möchte mir nämlich keinen separaten CD-Player mehr ins Regal stellen. Und da meine Frau nicht jedes Mal den Fernseher anschalten will um durchs OSD zu navigieren, wenn sie nur eine Audio-CD hören will, bin ich schon seit längerem auf der Suche nach einer Möglichkeit, wie beim Einlegen einer solchen automatisch XBMC gestartet werden kann und unmittelbar die Wiedergabe startet. Bei dieser Gelegenheit habe ich auch gleich noch das Problem mitgelöst, dass mein Bluray Player bei der Wiedergabe einer Audio-Disk für die ersten Sekunden wie eine Düsenturbine aufdreht. Die Fallbehandlung, ob XBMC schon läuft habe ich eingebaut, indem ich schaue, ob eine PID für XBMC existiert - ob das robust genug ist weiss ich auch noch nicht, ggf. hat hierzu auch noch jemand eine bessere Idee?
Was ich gemacht habe:
in /etc/udisks-glue/config Einträge für "audio-disk" ergänzt:
filter audio-disk {
optical = true
optical_disc_has_audio_tracks = true
}
match audio-disk {
post_insertion_command = "eject -x 1 /dev/sr0 && /usr/local/bin/stop_vdr-frontend_start_xbmc.sh"
}
filter disks {
optical = false
partition_table = false
usage = filesystem
}
match disks {
automount = true
# automount_options = sync
post_mount_command = "mount-notify mounted Þvice_file %mount_point"
post_mount_command = "/usr/bin/vdr-mounter --mount \"%mount_point\""
post_unmount_command = "mount-notify unmounted Þvice_file %mount_point"
post_unmount_command = "/usr/bin/vdr-mounter --unmount \"%mount_point\""
}
Alles anzeigen
Des weiteren habe ich mir unter /usr/local/bin ein Shellscript namens stop_vdr-frontend_start_xbmc.sh mit folgendem Inhalt angelegt:
#!/bin/bash
if [ "$(pidof xbmc.bin)" ]
then
logger "XBMC is already running...doing nothing"
else
logger "XBMC is not running...starting XBMC"
sudo /sbin/initctl stop vdr-frontend && sudo /sbin/initctl emit --no-wait xbmc-start path=/dev/sr0
fi
Zu guter letzt habe ich noch ein Custom Template unter /etc/yavdr/templates_custom/etc/init/xbmc.conf/10_header erstellt, damit der XBMC beim erzeugten Upstart-Signal startet - dieses sieht so aus:
description "XBMC Daemon"
author "Steffen Barszus <steffenbpunkt@gmail.com>"
start on xbmc-start
env DISPLAY=:1
export DISPLAY
env HOME=/var/lib/vdr
export HOME
setuid vdr
setgid vdr
<?cs if:(vdr.frontend == "xbmc") ?>
start on started vdr or stopped openbox-tools or started sound-device \
or vdr-frontend-restart
stop on stopping openbox
nice -10
<?cs /if ?>
Alles anzeigen
Hiernach das process-template für die /etc/init/xbmc.conf bitte nicht vergessen!
Und das wars...jedesmal, wenn ich nun eine Audio-CD einlege, wird mein Bluray-Laufwerk auf 1-fache Geschwindigkeit gedrosselt, XBMC startet und das VDR-Frontend wird abgehängt.
Ein Problem, was ich bisher noch habe ist, dass, obwohl ich XBMC den Pfad ja hardcoded übergeben habe, dies nicht honoriert wird, denn die CD-Wiedergabe startet nicht automatisch. Ich muss allerdings auch sagen, dass ich seither auch keine Zeit mehr hatte, der Sache nachzugehen.
Ich hoffe, jemand kann die Scripte gebrauchen (oder löst vielleicht sogar noch das eine Problem).
PS: ...aber denkt dran, wenn ihr euren VDR durch Experimente mit meinen Scripten hier zerschiesst, dann kommt nicht heulend zu mir. Das macht ihr ganz allein auf euer Risiko.
...und Vielen Dank nochmal an seahawk1986.
Gruß supergonzo74