Vdr-opticaldrive
Aus VDR Wiki
(Unterschied zwischen Versionen)
Hulk (Diskussion | Beiträge) |
|||
(3 dazwischenliegende Versionen von einem Benutzer werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | + | 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). | ||
− | 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. | + | '''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|ripit Plugin]] diese Schnittstelle | Momentan nutzt nur das [[Ripit-plugin|ripit Plugin]] diese Schnittstelle | ||
+ | Folgendes Skript ist als Minimalversion zu betrachten. | ||
{{Box Datei|[[Struktur|$PATH]]/vdr-opticaldrive| | {{Box Datei|[[Struktur|$PATH]]/vdr-opticaldrive| | ||
<pre> | <pre> | ||
#!/bin/sh | #!/bin/sh | ||
− | + | DEV="/dev/dvd" | |
+ | OPENTIME=10 | ||
mode="$1" | mode="$1" | ||
Zeile 17: | Zeile 18: | ||
case "$mode" in | case "$mode" in | ||
toggle) | toggle) | ||
− | eject -T "$ | + | eject -T "$DEV" |
;; | ;; | ||
open) | open) | ||
− | eject "$ | + | eject "$DEV" |
;; | ;; | ||
close) | close) | ||
− | eject -t "$ | + | eject -t "$DEV" |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
;; | ;; | ||
startburn) | startburn) | ||
− | eject -t "$ | + | eject -t "$DEV" |
+ | eject -i on "$DEV" > /dev/null | ||
;; | ;; | ||
stopburn) | stopburn) | ||
− | eject "$ | + | eject -i off "$DEV" > /dev/null |
+ | eject "$DEV" | ||
;; | ;; | ||
getopentime) | getopentime) | ||
− | printf " | + | printf "%s\n" "$OPENTIME" |
;; | ;; | ||
getdev) | getdev) | ||
− | printf "$ | + | printf "%s\n" "$DEV" |
+ | ;; | ||
+ | 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 | + | printf "Usage: $(basename "$0") {toggle|open|close|startburn|stopburn|getopentime|getdev|present}\n" >&2 |
;; | ;; | ||
esac | esac | ||
Zeile 51: | Zeile 57: | ||
</pre> | </pre> | ||
}} | }} | ||
+ | |||
+ | [[Kategorie:Skripte]] |
Aktuelle Version vom 29. August 2013, 18:18 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
Folgendes Skript ist als Minimalversion zu betrachten.
$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" > /dev/null ;; stopburn) eject -i off "$DEV" > /dev/null eject "$DEV" ;; getopentime) printf "%s\n" "$OPENTIME" ;; getdev) printf "%s\n" "$DEV" ;; 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