Vdr-opticaldrive

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
Zeile 1: Zeile 1:
{{In Arbeit|[[Benutzer:Keine Ahnung|Keine Ahnung]] ([[Benutzer Diskussion:Keine Ahnung|Diskussion]]) 00:18, 23. Sep. 2012 (CEST)}}
+
Viele VDR Addons und Plugins nutzen das optische Laufwerk und müssen (jedes für sich) aufs System konfiguriert werden.
Viele VDR Addons und Plugins nutzen das optische Laufwerk und müssen jedes für sich aufs System konfiguriert werden.
+
 
Ferner unterscheidet sich jedes System bezüglich der Fähigkeiten (einige können z.B. das Medium nicht selber einziehen) und Anforderungen (z.B. das Looking in Verbindung mit Automountern).
 
Ferner unterscheidet sich jedes System bezüglich der Fähigkeiten (einige können z.B. das Medium nicht selber einziehen) und Anforderungen (z.B. das Looking in Verbindung mit Automountern).
  
Zeile 11: Zeile 10:
 
#!/bin/sh
 
#!/bin/sh
  
dvd_dev="/dev/dvd"
+
DEV="/dev/dvd"
 +
OPENTIME=10
  
 
mode="$1"
 
mode="$1"
Zeile 17: Zeile 17:
 
case "$mode" in
 
case "$mode" in
 
toggle)
 
toggle)
eject -T "$dvd_dev"
+
eject -T "$DEV"
 
;;
 
;;
 
open)
 
open)
eject "$dvd_dev"
+
eject "$DEV"
 
;;
 
;;
 
close)
 
close)
eject -t "$dvd_dev"
+
eject -t "$DEV"
;;
+
lock)
+
eject -i on "$dvd_dev"
+
;;
+
unlock)
+
eject -i off "$dvd_dev"
+
 
;;
 
;;
 
startburn)
 
startburn)
eject -t "$dvd_dev"
+
eject -t "$DEV"
 +
eject -i on "$DEV"
 
;;
 
;;
 
stopburn)
 
stopburn)
eject "$dvd_dev"
+
eject -i off "$DEV"
 +
eject "$DEV"
 
;;
 
;;
 
getopentime)
 
getopentime)
printf "10"
+
printf "%s\n" "$OPENTIME"
 
;;
 
;;
 
getdev)
 
getdev)
printf "$dvd_dev"
+
printf "$DEV\n"
 +
;;
 +
present)
 +
if [ -n "$(realpath "$DEV" 2> /dev/null)" ]; then
 +
printf "\"%s\" present\n" "$DEV"
 +
exit 0
 +
else
 +
printf "\"%s\" absent\n" "$DEV"
 +
exit 1
 +
fi
 
;;
 
;;
 
*)
 
*)
printf "Usage: $(basename "$0") {toggle|open|close|startburn|stopburn|getdvddev|getopentime}\n" >&2
+
printf "Usage: $(basename "$0") {toggle|open|close|startburn|stopburn|getopentime|getdev|present}\n" >&2
 
;;
 
;;
 
esac
 
esac

Version vom 26. Dezember 2012, 19:37 Uhr

Viele VDR Addons und Plugins nutzen das optische Laufwerk und müssen (jedes für sich) aufs System konfiguriert werden. Ferner unterscheidet sich jedes System bezüglich der Fähigkeiten (einige können z.B. das Medium nicht selber einziehen) und Anforderungen (z.B. das Looking in Verbindung mit Automountern).

vdr-opticaldrive versucht hier eine gemeinsame Schnittstelle zu bieten. Die Idee ist das der Nutzer (oder die Distribution) diese eine Datei ans System anpasst und alle Plugins/Addons diese als Schnittstelle zum Laufwerk nutzen.

Momentan nutzt nur das ripit Plugin diese Schnittstelle

Datei
$PATH/vdr-opticaldrive
#!/bin/sh

DEV="/dev/dvd"
OPENTIME=10

mode="$1"

case "$mode" in
	toggle)
		eject -T "$DEV"
	;;
	open)
		eject "$DEV"
	;;
	close)
		eject -t "$DEV"
	;;
	startburn)
		eject -t "$DEV"
		eject -i on "$DEV"
	;;
	stopburn)
		eject -i off "$DEV"
		eject "$DEV"
	;;
	getopentime)
		printf "%s\n" "$OPENTIME"
	;;
	getdev)
		printf "$DEV\n"
	;;
	present)
		if [ -n "$(realpath "$DEV" 2> /dev/null)" ]; then
			printf "\"%s\" present\n" "$DEV"
			exit 0
		else
			printf "\"%s\" absent\n" "$DEV"
			exit 1
		fi
	;;
	*)
		printf "Usage: $(basename "$0") {toggle|open|close|startburn|stopburn|getopentime|getdev|present}\n" >&2
	;;
esac

exit 0