Das neue Kaffeine 1.2.1 steht seit einigen Tagen bei Packman zur Installation bereit. Bei dieser Version können TV-Aufnahmen programmiert werden per qdbus. Das ist sehr nützlich, wenn man von TV-Browser aus die Aufnahmewünsche übergeben will. Das geht dann ganz einfach: rechte Maustaste auf die Sendung -> Aufnahmen -> OK -> OK Fertig
Jetzt die Zeile für Qdbus:
ergibt am konkreten Beispiel:
Beim Parameter wieoft steht die 0 (Null) für einmalige Aufnahme!
Jetzt ein Script für den TV-Browser, das man z.B. im eigenen bin-Ordner speichert und ausführbar macht:
Das muss vom TV-Browser mit folgenden Parametern aufgerufen werden:
Für Löschen einer programmierten Sendung irgendwas eingeben, das ist noch nicht fertig. Vielleicht demnächst hier mehr.
Hartmut
Jetzt die Zeile für Qdbus:
qdbus org.kde.kaffeine /Television ScheduleProgram Name Kanal Zeitpunkt Dauer wieoft
ergibt am konkreten Beispiel:
qdbus org.kde.kaffeine /Television ScheduleProgram Hallo NDR 2011-04-11T19:30:00Z 00:30:00 0
Beim Parameter wieoft steht die 0 (Null) für einmalige Aufnahme!
Jetzt ein Script für den TV-Browser, das man z.B. im eigenen bin-Ordner speichert und ausführbar macht:
Code:
#!/bin/bash
#
# Dieses Script überträgt Aufnahmedaten vom
# TV-Browser zu Kaffeine
# Changes by Hartmut Krummrei April/2011
# Konfiguration
kaffeine
lArgumente=8
# Wenn zu wenig Parameter angegeben werden abbrechen
if (( $# < $lArgumente )) ; then
echo "Nicht genügend Parameter übergeben."
exit 3
fi
# Wenn genau 8 Parameter übergeben werden ist der 9. der Name
if (( $# == $lArgumente )) ; then
strJahr=$1
strMonat=$2
strTag=$3
strStunde=$4
strMinute=$5
strLaenge=$6
strKanal=$7
strTitle=$8
fi
# Wenn mehr als 8 Parameter, gehören die Überschüssigen zum Namen
if (( $# > $lArgumente )) ; then
strJahr=$1
shift
strMonat=$1
shift
strTag=$1
shift
strStunde=$1
shift
strMinute=$1
shift
strLaenge=$1
shift
strKanal=$1
shift
while [ ! -z "$1" ]
do
strTitle=$strTitle"_"$1
shift
done
fi
# Monatszahl nur einstellig?
if (( ${#strMonat} < 2 )) ; then
strMonat="0"$strMonat
fi
# Tagzahl nur einstellig?
if (( ${#strTag} < 2 )) ; then
strTag="0"$strTag
fi
# StartStunde nur einstellig?
if (( ${#strStunde} < 2 )) ; then
strStunde="0"$strStunde
fi
# Startminute nur einstellig?
if (( ${#strMinute} < 2 )) ; then
strMinute="0"$strMinute
fi
# Teile für Befehl bauen
strName=$strJahr"-"$strMonat"-"$strTag"_"$strStunde"-"$strMinute"_"$strTitle
strZeitpunkt=$strJahr"-"$strMonat"-"$strTag"T"$strStunde":"$strMinute":00"
strDauerStunden=$(($strLaenge/60))
if (( ${#strDauerStunden} < 2 )) ; then
strDauerStunden="0"$strDauerStunden
fi
strDauerMinuten=$(($strLaenge%60))
if (( ${#strDauerMinuten} < 2 )) ; then
strDauerMinuten="0"$strDauerMinuten
fi
strDauer=$strDauerStunden":"$strDauerMinuten":00"
# Aufruf des Kaffeine-Interface
# alt für dcop und Kaffeine 0.8.x
#dcop kaffeine KaffeineIface dvbNewTimer "$strName" "$strKanal" "$strZeitpunkt" "$strDauer"
# neu für qdbus und Kaffeine >= 1.2.1
qdbus org.kde.kaffeine /Television ScheduleProgram "$strName" "$strKanal" "$strZeitpunkt" "$strDauer" 0
# die Null am Ende der vorhergehenden Zeile steht für "einmalig"
# Rückgabe an den TV-Browser
echo "Name:"$strName";Kanal:"$strKanal";Zeit:"$strZeitpunkt";Dauer:"$strDauer
Das muss vom TV-Browser mit folgenden Parametern aufgerufen werden:
{start_year} {start_month} {start_day} {start_hour} {start_minute} {length_minutes} {isset(channel_name_external_quiet,channel_name)} {title}
Für Löschen einer programmierten Sendung irgendwas eingeben, das ist noch nicht fertig. Vielleicht demnächst hier mehr.
Hartmut