diff options
Diffstat (limited to 'plugins')
336 files changed, 53612 insertions, 0 deletions
diff --git a/plugins/admin/admin/admin.conf b/plugins/admin/admin/admin.conf new file mode 100644 index 0000000..8060555 --- /dev/null +++ b/plugins/admin/admin/admin.conf @@ -0,0 +1,204 @@ +# This file contains the tasks for the admin plugin +# Syntax: +# <script>:<name>:<value>:<type>:<length|default>:<choices>:<description>: +:V D R +/VAR:noad:0:B:0:Nein,Ja:Schnittmarken erkennen (NOAD): +/VAR:vdradmin:0:B:0:Nein,Ja:VDRADMIN automatisch starten: +/:WATCHDOG:0:I:60:0,999:Watchdog Timeout in Sekunden: +/:XV_DISPLAY:0:I:0:0,9:XV Display: +---- Verzeichnisse --- +/DIR:VIDEODIR:/var/lib/vdrmedia/video:A:999:abcdefghijklmnopqrstuvwxyz0123456789-._/:Video: +/DIR:MUSICDIR:/var/lib/vdrmedia/mp3:A:999:abcdefghijklmnopqrstuvwxyz0123456789-._/:Musik: +/DIR:DVDISODIR:/var/lib/vdrmedia/isos:A:999:abcdefghijklmnopqrstuvwxyz0123456789-._/:DVD-Isos: +/DIR:PICTUREDIR:/var/lib/vdrmedia/fotos:A:999:abcdefghijklmnopqrstuvwxyz0123456789-._/:Bilder und Fotos: +/DIR:DIVXDIR:/var/lib/vdrmedia/divx:A:999:abcdefghijklmnopqrstuvwxyz0123456789-._/:DivX und Co: +/DIR:DVDBURNER:/dev/dvd:A:999:abcdefghijklmnopqrstuvwxyz0123456789-._/:DVD Brenner: +:Plugins +/PLG:admin:0:B:0:Aus,An:admin: +/PLG:adzap:0:B:0:Aus,An:adzap: +/PLG:alcd:0:B:0:Aus,An:alcd: +/PLG:analogradio:0:B:0:Aus,An:analogradio: +/PLG:arghdirector:0:B:0:Aus,An:arghdirector: +/PLG:atmo:0:B:0:Aus,An:atmo: +/PLG:audiorecorder:0:B:0:Aus,An:audiorecorder: +/PLG:autosort:0:B:0:Aus,An:autosort: +/PLG:autotimeredit:0:B:0:Aus,An:autotimeredit: +/PLG:avards:0:B:0:Aus,An:avards: +/PLG:avolctl:0:B:0:Aus,An:avolctl: +/PLG:beep:0:B:0:Aus,An:beep: +/PLG:bitstreamout:0:B:0:Aus,An:bitstreamout: +/PLG:burn:0:B:0:Aus,An:burn: +/PLG:calc:0:B:0:Aus,An:calc: +/PLG:cdda:0:B:0:Aus,An:cdda: +/PLG:chanorg:0:B:0:Aus,An:chanorg: +/PLG:cinebars:0:B:0:Aus,An:cinebars: +/PLG:channelswitcher:0:B:0:Aus,An:channelswitcher: +/PLG:clock:0:B:0:Aus,An:clock: +/PLG:console:0:B:0:Aus,An:console: +/PLG:control:0:B:0:Aus,An:control: +/PLG:csf:0:B:0:Aus,An:csf: +/PLG:cutalot:0:B:0:Aus,An:cutalot: +/PLG:decruft:0:B:0:Aus,An:decruft: +/PLG:default_plugins:0:B:0:Aus,An:default_plugins: +/PLG:digicam:0:B:0:Aus,An:digicam: +/PLG:director:0:B:0:Aus,An:director: +/PLG:dummydevice:0:B:0:Aus,An:dummydevice: +/PLG:dvd:0:B:0:Aus,An:dvd: +/PLG:dvdconvert:0:B:0:Aus,An:dvdconvert: +/PLG:dvdselect:0:B:0:Aus,An:dvdselect: +/PLG:dvdswitch:0:B:0:Aus,An:dvdswitch: +/PLG:dxr3:0:B:0:Aus,An:dxr3: +/PLG:epgsearch:0:B:0:Aus,An:epgsearch: +/PLG:epgsearchonly:0:B:0:Aus,An:epgsearchonly: +/PLG:conflictcheckonly:0:B:0:Aus,An:conflictcheckonly: +/PLG:quickepgsearch:0:B:0:Aus,An:quickepgsearch: +/PLG:epgsync:0:B:0:Aus,An:epgsync: +/PLG:extb:0:B:0:Aus,An:extb: +/PLG:extrecmenu:0:B:0:Aus,An:extrecmenu: +/PLG:femon:0:B:0:Aus,An:femon: +/PLG:ffnetdev:0:B:0:Aus,An:ffnetdev: +/PLG:filebrowser:0:B:0:Aus,An:filebrowser: +/PLG:freecell:0:B:0:Aus,An:freecell: +/PLG:fritzbox:0:B:0:Aus,An:fritzbox: +/PLG:sport:0:B:0:Aus,An:sport: +/PLG:games:0:B:0:Aus,An:games: +/PLG:graphlcd:0:B:0:Aus,An:graphlcd: +/PLG:graphtft:0:B:0:Aus,An:graphtft: +/PLG:image:0:B:0:Aus,An:image: +/PLG:ipod:0:B:0:Aus,An:ipod: +/PLG:launcher:0:B:0:Aus,An:launcher: +/PLG:lcdproc:0:B:0:Aus,An:lcdproc: +/PLG:lcr:0:B:0:Aus,An:lcr: +/PLG:live:0:B:0:Aus,An:live: +/PLG:loadepg:0:B:0:Aus,An:loadepg: +/PLG:mailbox:0:B:0:Aus,An:mailbox: +/PLG:mediamvp:0:B:0:Aus,An:mediamvp: +/PLG:menuorg:0:B:0:Aus,An:menuorg: +/PLG:mlcd:0:B:0:Aus,An:mlcd: +/PLG:mlist:0:B:0:Aus,An:mlist: +/PLG:mousemate:0:B:0:Aus,An:mousemate: +/PLG:mp3:0:B:0:Aus,An:mp3: +/PLG:mplayer:0:B:0:Aus,An:mplayer: +/PLG:muggle:0:B:0:Aus,An:muggle: +/PLG:music:0:B:0:Aus,An:music: +/PLG:coverviewer:0:B:0:Aus,An:coverviewer: +/PLG:netconfig:0:B:0:Aus,An:netconfig: +/PLG:newsticker:0:B:0:Aus,An:newsticker: +/PLG:nordlichtsepg:0:B:0:Aus,An:nordlichtsepg: +/PLG:osdout:0:B:0:Aus,An:osdout: +/PLG:osdpip:0:B:0:Aus,An:osdpip: +/PLG:osdserver:0:B:0:Aus,An:osdserver: +/PLG:osdteletext:0:B:0:Aus,An:osdteletext: +/PLG:picselshow:0:B:0:Aus,An:picselshow: +/PLG:pilot:0:B:0:Aus,An:pilot: +/PLG:pilotskin:0:B:0:Aus,An:pilotskin: +/PLG:pim:0:B:0:Aus,An:pim: +/PLG:pin:0:B:0:Aus,An:pin: +/PLG:playlist:0:B:0:Aus,An:playlist: +/PLG:podcatcher:0:B:0:Aus,An:podcatcher: +/PLG:powermate:0:B:0:Aus,An:powermate: +/PLG:prefermenu:0:B:0:Aus,An:prefermenu: +/PLG:premiereepg:0:B:0:Aus,An:premiereepg: +/PLG:pvrinput:0:B:0:Aus,An:pvrinput: +/PLG:radio:0:B:0:Aus,An:radio: +/PLG:recstatus:0:B:0:Aus,An:recstatus: +/PLG:reelchannelscan:0:B:0:Aus,An:reelchannelscan: +/PLG:remote:0:B:0:Aus,An:remote: +/PLG:remoteosd:0:B:0:Aus,An:remoteosd: +/PLG:remotetimers:0:B:0:Aus,An:remotetimers: +/PLG:ripit:0:B:0:Aus,An:ripit: +/PLG:rotor:0:B:0:Aus,An:rotor: +/PLG:rssreader:0:B:0:Aus,An:rssreader: +/PLG:screenshot:0:B:0:Aus,An:screenshot: +/PLG:setup:0:B:0:Aus,An:setup: +/PLG:skinelchi:0:B:0:Aus,An:skinelchi: +/PLG:skinenigmang:0:B:0:Aus,An:skinenigmang: +/PLG:skinreel:0:B:0:Aus,An:skinreel: +/PLG:skinsoppalusikka:0:B:0:Aus,An:skinsoppalusikka: +/PLG:sleeptimer:0:B:0:Aus,An:sleeptimer: +/PLG:softdevice:0:B:0:Aus,An:softdevice: +/PLG:solitaire:0:B:0:Aus,An:solitaire: +/PLG:span:0:B:0:Aus,An:span: +/PLG:streamdev_client:0:B:0:Aus,An:streamdev-client: +/PLG:streamdev_server:0:B:0:Aus,An:streamdev-server: +/PLG:streamplayer:0:B:0:Aus,An:streamplayer: +/PLG:submenu:0:B:0:Aus,An:submenu: +/PLG:subtitles:0:B:0:Aus,An:subtitles: +/PLG:sudoku:0:B:0:Aus,An:sudoku: +/PLG:svdrpext:0:B:0:Aus,An:svdrpext: +/PLG:svdrpservice:0:B:0:Aus,An:svdrpservice: +/PLG:sysinfo:0:B:0:Aus,An:sysinfo: +/PLG:taste:0:B:0:Aus,An:taste: +/PLG:text2skin:0:B:0:Aus,An:text2skin: +/PLG:timeline:0:B:0:Aus,An:timeline: +/PLG:touchtft:0:B:0:Aus,An:touchtft: +/PLG:ttxtsubs:0:B:0:Aus,An:ttxtsubs: +/PLG:tvonscreen:0:B:0:Aus,An:tvonscreen: +/PLG:tvtv:0:B:0:Aus,An:tvtv: +/PLG:undelete:0:B:0:Aus,An:undelete: +/PLG:vcd:0:B:0:Aus,An:vcd: +/PLG:vdrcd:0:B:0:Aus,An:vdrcd: +/PLG:vdrrip:0:B:0:Aus,An:vdrrip: +/PLG:vdrtvtime:0:B:0:Aus,An:vdrtvtime: +/PLG:vompserver:0:B:0:Aus,An:vompserver: +/PLG:wapd:0:B:0:Aus,An:wapd: +/PLG:weatherng:0:B:0:Aus,An:weatherng +/PLG:wirbelscan:0:B:0:Aus,An:wirbelscan: +/PLG:xine:0:B:0:Aus,An:xine: +/PLG:xineliboutput:0:B:0:Aus,An:xineliboutput: +/PLG:xxvautotimer:0:B:0:Aus,An:xxvautotimer: +/PLG:yaepg:0:B:0:Aus,An:yaepg: +/PLG:zaphistory:0:B:0:Aus,An:zaphistory: +:Plugin Optionen +/ARG:audiorecorder_args:-r /var/lib/vdrmedia/mp3:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:audiorecorder: +/ARG:avards_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:avards: +/ARG:burn_args:-t /tmp -d /var/lib/vdrmedia/video -D /dev/dvd -i /var/lib/vdrmedia/isos:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:burn: +/ARG:cdda_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:cdda: +/ARG:console_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:console: +/ARG:control_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:control: +/ARG:dvd_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:dvd: +/ARG:dvdswitch_args:-w /usr/lib/vdr/scripts/vdrwritedvd -r /usr/lib/vdr/scripts/vdrreaddvd --imagedir /var/lib/vdrmedia/isos:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:dvdswitch: +/ARG:epgsearch_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:epgsearch: +/ARG:ffnetdev_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:ffnetdev: +/ARG:graphlcd_args:-c /etc/graphlcd.conf -d sed1330:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:graphlcd: +/ARG:graphtft_args:-d vdr/1:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:graphtft: +/ARG:image_args:-C /usr/lib/vdr/scripts/imageplugin.sh -m /usr/lib/vdr/scripts/vdrmount:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:image: +/ARG:lcdproc_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:lcdproc: +/ARG:live_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:live: +/ARG:loadepg_args:-c /var/lib/vdr/plugins:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:loadepg: +/ARG:playlist_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:playlist: +/ARG:mediamvp_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:mediamvp: +/ARG:menuorg_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:menuorg: +/ARG:mp3_args:-m /usr/lib/vdr/scripts/vdrmount -B /var/lib/cddb:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:mp3: +/ARG:mplayer_args:-m /usr/lib/vdr/scripts/vdrmount -M /usr/lib/vdr/scripts/mplayer.sh:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:mplayer: +/ARG:muggle_args:-t/var/lib/vdrmedia/mp3:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:muggle: +/ARG:music_args:-m /usr/lib/vdr/scripts/vdrmount -B /var/lib/cddb:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:music: +/ARG:coverviewer_args: --config /var/lib/vdr/plugins/music:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:coverviewer: +/ARG:osdteletext_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:osdteletext: +/ARG:picselshow_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:picselshow: +/ARG:podcatcher_args:-c /var/cache/podcatcher:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:podcatcher: +/ARG:radio_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:radio: +/ARG:remote_args:-i /dev/input/event2:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:remote: +/ARG:rotor_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:rotor: +/ARG:skinelchi_args:-l /var/lib/vdr/logos:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:skinelchi: +/ARG:skinenigmang_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:skinenigmang: +/ARG:skinsoppalusikka_args:-l /var/lib/vdr/logos:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:skinsoppalusikka: +/ARG:sleeptimer_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:sleeptimer: +/ARG:softdevice_args:-vo fb;:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:softdevice: +/ARG:sport_args:-D /var/lib/vdr/plugins/sport -S /usr/lib/vdr/scripts/sport:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:sport: +/ARG:streamdev_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:streamdev: +/ARG:touchtft_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:touchtft: +/ARG:tvonscreen_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:tvonscreen: +/ARG:undelete_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:undelete: +/ARG:vcd_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:vcd: +/ARG:vdrcd_args:-m /usr/lib/vdr/scripts/vdrmount -c /media/cdfs -c /media/cdrom0:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:vdrcd: +/ARG:vdrrip_args:-p /usr/bin/mplayer -e /usr/bin/mencoder:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:vdrrip: +/ARG:vdrtvtime_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:vdrtvtime: +/ARG:vompserver_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:vompserver: +/ARG:weatherng_args:-S /usr/lib/vdr/scripts:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:weatherng: +/ARG:xine_args:-r:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:xine: +/ARG:xineliboutput_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:xineliboutput: +:System +/VAR:em8300:0:B:0:Nein,Ja:DXR3 Module laden: +/VAR:graphlcd_base:0:B:0:Nein,Ja:GraphLCD Module laden: +/VAR:LCDproc:0:B:0:Nein,Ja:LCD Module laden: diff --git a/plugins/admin/admin/admin.sh b/plugins/admin/admin/admin.sh new file mode 100644 index 0000000..bca13c0 --- /dev/null +++ b/plugins/admin/admin/admin.sh @@ -0,0 +1,15 @@ +#!/bin/bash +source /etc/default/vdr + +if [ "$1" = "-init" ]; then + # write settings from /etc/default/vdr to admin.conf + at -f $VDRCONFDIR/plugins/admin/setadm.sh now +elif [ "$1" = "-start" ]; then + echo "Starting admin plugin" +elif [ "$1" = "-save" ]; then + # write settings from admin.conf to /etc/default/vdr + # this could only be by root + sudo $VDRSCRIPTDIR/vdr2root admin +else + echo "Illegal Parameter <$1>" +fi diff --git a/plugins/admin/admin/setadm.sh b/plugins/admin/admin/setadm.sh new file mode 100644 index 0000000..5d1c18a --- /dev/null +++ b/plugins/admin/admin/setadm.sh @@ -0,0 +1,26 @@ +#!/bin/sh +VDR_CONF="/etc/default/vdr" +source $VDR_CONF +ADMIN_CFG_FILE="$VDRCONFDIR/plugins/admin/admin.conf" + +# read VARS from $ADMIN_CFG_FILE +ALL_VARS=$(grep "^/" $ADMIN_CFG_FILE | cut -f 2 -d ":") + +for VAR in $ALL_VARS; do + VAL=$(grep -m 1 "^$VAR=" $VDR_CONF | cut -f 2 -d '=') + VAL=$(eval echo $VAL) + case "$VAL" in + on) + $VDRCONFDIR/plugins/admin/setadmval.sh $VAR 1 + ;; + off) + $VDRCONFDIR/plugins/admin/setadmval.sh $VAR 0 + ;; + *) + $VDRCONFDIR/plugins/admin/setadmval.sh $VAR "$VAL" + ;; + esac +done + + + diff --git a/plugins/admin/admin/setadmval.sh b/plugins/admin/admin/setadmval.sh new file mode 100644 index 0000000..68a0f19 --- /dev/null +++ b/plugins/admin/admin/setadmval.sh @@ -0,0 +1,119 @@ +#!/bin/sh +source /etc/default/vdr +ADMIN_CFG_FILE="$VDRCONFDIR/plugins/admin/admin.conf" + +NAME=$1 +VAL=$2 +DO_RESET=$3 + +NLINE=$(grep -m 1 ":$NAME:" $ADMIN_CFG_FILE) + +if [ "$NLINE" = "" ] ; then + logger -s "AdmVar: <$NAME> not found" + exit 1 +fi + +GROUP=$(echo $NLINE | cut -f 1 -d ":") +TYPE=$(echo $NLINE | cut -f 4 -d ":") +OLDVAL=$(echo $NLINE | cut -f 3 -d ":") +DEFVAL=$(echo $NLINE | cut -f 5 -d ":") +NEWVAL="" + +case "$TYPE" in + L) + ALL_VAL=$(echo $NLINE | cut -f 6 -d ":") + for IDX in $(seq 1 99) ; do + VALC=$(echo "$ALL_VAL" | cut -f $IDX -d ",") + if [ "$VALC" = "" ] ; then + break + fi + if [ "${VAL}" = "${VALC}" ] ; then + NEWVAL=$(($IDX - 1)) + break + fi + done + if [ "$NEWVAL" = "" ] ; then + logger -s "Value <$VAL> is not valid for $NAME" + if [ $OLDVAL -ge 0 ] && [ $OLDVAL -lt $IDX ] ; then + NEWVAL=$(printf "%d" $OLDVAL) + else + logger -s "Old Value <$OLDVAL> is not valid for $NAME" + if [ $DEFVAL -ge 0 ] && [ $DEFVAL -lt $IDX ] ; then + NEWVAL=$(printf "%d" $DEFVAL) + else + logger -s "Def Value <$DEFVAL> is not valid for $NAME - setting to 0" + NEWVAL=0 + fi + fi + VAL=$(echo "$ALL_VAL" | cut -f $(($NEWVAL + 1)) -d ",") + fi + ;; + A) + NEWVAL=$(echo "$VAL" | sed -e 's/:/;/g') +# NEWVAL=$VAL + ;; + B) + if [ "$VAL" = "0" ] || [ "$VAL" = "1" ] ; then + NEWVAL=$VAL + else + logger -s "Value <$VAL> is not valid for $NAME" + if [ "$OLDVAL" = "0" ] || [ "$OLDVAL" = "1" ] ; then + NEWVAL=$OLDVAL + else + logger -s "Old value <$VAL> is not valid for $NAME" + if [ "$DEFVAL" = "0" ] || [ "$DEFVAL" = "1" ] ; then + NEWVAL=$VAL + else + logger -s "Def value <$VAL> is not valid for $NAME - setting to 0" + NEWVAL=0 + fi + fi + fi + VAL=$NEWVAL + ;; + I) + MINVAL=$(echo $NLINE | cut -f 6 -d ":" |cut -f 1 -d ",") + MAXVAL=$(echo $NLINE | cut -f 6 -d ":" |cut -f 2 -d ",") + if [ $VAL -ge $MINVAL ] && [ $VAL -le $MAXVAL ] ; then + NEWVAL=$(printf "%d" $VAL) + else + logger -s "Value <$VAL> is not valid for $NAME" + if [ $OLDVAL -ge $MINVAL ] && [ $OLDVAL -le $MAXVAL ] ; then + NEWVAL=$(printf "%d" $OLDVAL) + else + logger -s "Old Value <$OLDVAL> is not valid for $NAME" + if [ $DEFVAL -ge $MINVAL ] && [ $DEFVAL -le $MAXVAL ] ; then + NEWVAL=$(printf "%d" $DEFVAL) + else + logger -s "Def Value <$DEFVAL> is not valid for $NAME - setting to $MINVAL" + NEWVAL=$(printf "%d" $MINVAL) + fi + fi + fi + VAL=$NEWVAL + ;; + *) + logger -s "Illegal line in $ADMIN_CFG_FILE :" + logger -s "$NLINE" + exit 1 + ;; +esac + +if [ "$NEWVAL" = "" ] ; then +# logger -s "Value <$VAL> is not valid for $NAME" +# exit 1 + NEWVAL=" " +fi + +if [ "$NEWVAL" != "$OLDVAL" ] ; then + logger -s "Changing $NAME to <$NEWVAL> from <$OLDVAL> in $ADMIN_CFG_FILE" + if [ "$GROUP" = "/DIR" ] || [ "$GROUP" = "/ARG" ]; then + sed -i $ADMIN_CFG_FILE -e "s?\:$NAME\:$OLDVAL\:?\:$NAME\:$NEWVAL\:?" + else + sed -i $ADMIN_CFG_FILE -e "s/\:$NAME\:$OLDVAL\:/\:$NAME\:$NEWVAL\:/" + fi +#else +# echo "${NAME} is already set to ${NEWVAL} in $ADMIN_CFG_FILE" +fi + + diff --git a/plugins/admin/admin/setvdr.sh b/plugins/admin/admin/setvdr.sh new file mode 100644 index 0000000..84a61ed --- /dev/null +++ b/plugins/admin/admin/setvdr.sh @@ -0,0 +1,109 @@ +#!/bin/sh +VDR_CONF="/etc/default/vdr" +source $VDR_CONF +ADMIN_CFG_FILE="$VDRCONFDIR/plugins/admin/admin.conf" + +ORIG_IFS=$IFS # save IFS + +cat $ADMIN_CFG_FILE | while read new_line; do + IFS=":" # set IFS + ARRAY=($new_line) + GROUP=${ARRAY[0]} + NAME=${ARRAY[1]} + VAL=${ARRAY[2]} + if [ "$(echo $GROUP | grep '^/')" ]; then + NEW_VAL=$(echo $VAL | sed -e 's/;/:/g' -e 's/^ //g' -e 's/ $//g') + VAR=$(grep -m 1 "^$NAME=" $VDR_CONF) + OLD_VAL=$(echo $VAR | cut -f 2 -d '=') + OLD_VAL=$(echo $OLD_VAL) + if [ "$VAR" ] && [ "$OLD_VAL" != "$NEW_VAL" ]; then + case $GROUP in + /ARG) + sed -i $VDR_CONF -e "s?$VAR?$NAME=\"$NEW_VAL\"?g" + ;; + /DIR) + if [ ! -d "$NEW_VAL" ] && [ "$NAME" != "DVDBURNER" ]; then + mkdir -p "$NEW_VAL" + chown -R $VDRUSER.$VDRGROUP "$NEW_VAL" + fi + sed -i $VDR_CONF -e "s?$VAR?$NAME=\"$NEW_VAL\"?g" + + if [ "$NAME" = "DIVXDIR" ]; then + PATH_EXISTS=$(grep "^$OLD_VAL;" "$VDRCONFDIR/plugins/mplayersources.conf") + if [ "$PATH_EXISTS" ]; then + sed -i "$VDRCONFDIR/plugins/mplayersources.conf" -e "s?$OLD_VAL?$NEW_VAL?g" + else + echo "$NEW_VAL;More Movies;0;*.avi" >> "$VDRCONFDIR/plugins/mplayersources.conf" + fi + fi + + if [ "$NAME" = "ISODIR" ]; then + PATH_EXISTS=$(grep "^$OLD_VAL;" "$VDRCONFDIR/plugins/mplayersources.conf") + if [ "$PATH_EXISTS" ]; then + sed -i "$VDRCONFDIR/plugins/mplayersources.conf" -e "s?$OLD_VAL?$NEW_VAL?g" + else + echo "$NEW_VAL;More DVDs;0;*.iso" >> "$VDRCONFDIR/plugins/mplayersources.conf" + fi + fi + + if [ "$NAME" = "MUSICDIR" ]; then + PATH_EXISTS=$(grep "^$OLD_VAL;" "$VDRCONFDIR/plugins/mp3ng/mp3sources.conf") + if [ "$PATH_EXISTS" ]; then + sed -i "$VDRCONFDIR/plugins/mp3ng/mp3sources.conf" -e "s?$OLD_VAL?$NEW_VAL?g" + else + echo "$NEW_VAL;More Music;0;*.mp3/*.ogg/*.wav" >> "$VDRCONFDIR/plugins/mp3ng/mp3sources.conf" + fi + PATH_EXISTS=$(grep "^$OLD_VAL;" "$VDRCONFDIR/plugins/mp3sources.conf") + if [ "$PATH_EXISTS" ]; then + sed -i "$VDRCONFDIR/plugins/mp3sources.conf" -e "s?$OLD_VAL?$NEW_VAL?g" + else + echo "$NEW_VAL;More Music;0;*.mp3/*.ogg/*.wav" >> "$VDRCONFDIR/plugins/mp3sources.conf" + fi + fi + + if [ "$NAME" = "PICTUREDIR" ]; then + PATH_EXISTS=$(grep "^$OLD_VAL;" "$VDRCONFDIR/plugins/imagesources.conf") + if [ "$PATH_EXISTS" ]; then + sed -i "$VDRCONFDIR/plugins/imagesources.conf" -e "s?$OLD_VAL?$NEW_VAL?g" + else + echo "$NEW_VAL;More Pictures;0;*.jpg *.JPG" >> "$VDRCONFDIR/plugins/imagesources.conf" + fi + fi + + if [ "$NAME" = "VIDEODIR" ]; then + PATH_EXISTS=$(grep "^$OLD_VAL;" "$VDRCONFDIR/plugins/mplayersources.conf") + if [ "$PATH_EXISTS" ]; then + sed -i "$VDRCONFDIR/plugins/mplayersources.conf" -e "s?$OLD_VAL?$NEW_VAL?g" + else + echo "$NEW_VAL;More Recordings;0;*0*.vdr" >> "$VDRCONFDIR/plugins/mplayersources.conf" + fi + fi + ;; + /PLG) + PLUGIN_NAME="$NAME" + [ "$NAME" = "streamdev_client" ] && PLUGIN_NAME="streamdev-client" + [ "$NAME" = "streamdev_server" ] && PLUGIN_NAME="streamdev-server" + if [ "$NEW_VAL" = "1" ] && [ -f $VDRLIBDIR/libvdr-$PLUGIN_NAME.so* ]; then + sed -i $VDR_CONF -e "s/$VAR/$NAME=\"on\"/g" + else + sed -i $VDR_CONF -e "s/$VAR/$NAME=\"off\"/g" + fi + ;; + /VAR) + if [ "$NEW_VAL" = "1" ]; then + sed -i $VDR_CONF -e "s/$VAR/$NAME=\"on\"/g" + else + sed -i $VDR_CONF -e "s/$VAR/$NAME=\"off\"/g" + fi + ;; + /*) + sed -i $VDR_CONF -e "s/$VAR/$NAME=\"$NEW_VAL\"/g" + ;; + esac + fi + fi +done + +IFS=$ORIG_IFS # reset IFS + +exit 0 diff --git a/plugins/admin/plugin.sh b/plugins/admin/plugin.sh new file mode 100644 index 0000000..af0204b --- /dev/null +++ b/plugins/admin/plugin.sh @@ -0,0 +1,54 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 29.04.2007 +# +# vdr-admin + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://www.htpc-forum.de/download/vdr-admin-0.6.2.tgz" +VERSION="admin-0.6.2" +LINK="admin" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + rm -rf $VDRCONFDIR/plugins/admin + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + cp -rf $DIR/admin $VDRCONFDIR/plugins + chown -R $VDRUSER:$VDRGROUP $VDRCONFDIR/plugins/admin + chmod 0744 $VDRCONFDIR/plugins/admin/*.sh + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/adzap/plugin.sh b/plugins/adzap/plugin.sh new file mode 100644 index 0000000..807b22e --- /dev/null +++ b/plugins/adzap/plugin.sh @@ -0,0 +1,54 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 05.05.2008 +# +# vdr-adzap + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://vdr-wiki.de/vdr/vdr-adzap/vdr-adzap-0.0.2.tgz" +VERSION="adzap-0.0.2" +LINK="adzap" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + cp -f $SOURCEDIR/VDR/PLUGINS/src/$LINK/examples/adzapcheck.sh $VDRSCRIPTDIR + chmod 0744 $VDRSCRIPTDIR/adzapcheck.sh + chown $VDRUSER.$VDRGROUP $VDRSCRIPTDIR/adzapcheck.sh + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/alcd/plugin.sh b/plugins/alcd/plugin.sh new file mode 100644 index 0000000..59b0403 --- /dev/null +++ b/plugins/alcd/plugin.sh @@ -0,0 +1,64 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 01.05.2008 +# +# vdr-alcd + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.htpc-forum.de/download/vdr-alcd-1.3.0.tgz" +VERSION="alcd-1.3.0" +LINK="alcd" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + unfreeze_rc + update-rc.d -f activy remove && log "Disable Autostart for: activy" + freeze_rc + rm -f /etc/init.d/activy + rm -f $VDRSCRIPTDIR/activy*.sh + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + cp -f $DIR/scripts/activy /etc/init.d + chmod 0755 /etc/init.d/activy + unfreeze_rc + update-rc.d activy defaults 98 && log "Enable Autostart for: activy" + freeze_rc + cp -f $DIR/scripts/*.sh $VDRSCRIPTDIR + chown $VDRUSER:$VDRGROUP $VDRSCRIPTDIR/activy*.sh + chmod 0744 $VDRSCRIPTDIR/activy*.sh + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/alcd/scripts/activy b/plugins/alcd/scripts/activy new file mode 100644 index 0000000..6613f4c --- /dev/null +++ b/plugins/alcd/scripts/activy @@ -0,0 +1,22 @@ +#!/bin/sh +# debian init script /etc/init.d/activy for activy +# modified for x-vdr +source /etc/default/vdr + +[ "$alcd" = "on" ] || exit + +case "$1" in + start) + echo "Setting activy keys and display" + $VDRSCRIPTDIR/activy_msg.sh "Starting system ..." "" + $VDRSCRIPTDIR/activy.sh + ;; + stop) + echo "Clear activy display" + $VDRSCRIPTDIR/activy_pb.sh + $VDRSCRIPTDIR/activy_msg.sh "" "" + printf "\xF0\xFF" > /dev/ttyS0 + ;; +esac + +exit 0 diff --git a/plugins/alcd/scripts/activy.sh b/plugins/alcd/scripts/activy.sh new file mode 100644 index 0000000..70c8196 --- /dev/null +++ b/plugins/alcd/scripts/activy.sh @@ -0,0 +1,9 @@ +#!/bin/sh +# Set activy keys and power button + +# modified for x-vdr (debian) +source /etc/default/vdr + +$VDRSCRIPTDIR/activy_keys.sh +$VDRSCRIPTDIR/activy_pb.sh + diff --git a/plugins/alcd/scripts/activy_keys.sh b/plugins/alcd/scripts/activy_keys.sh new file mode 100644 index 0000000..d395d0b --- /dev/null +++ b/plugins/alcd/scripts/activy_keys.sh @@ -0,0 +1,49 @@ +#!/bin/sh +# set activy keys +setkeycodes e010 16;# Power +setkeycodes e024 16;# Power FP +setkeycodes e021 72;# Up +setkeycodes e06d 72;# Up FP +setkeycodes e014 80;# Down +setkeycodes e032 80;# Down FP +setkeycodes e02e 50;# Menu +setkeycodes e069 28;# Ok +setkeycodes e028 28;# Ok FP +setkeycodes e005 79;# Back +setkeycodes e013 75;# Left +setkeycodes e00c 75;# Left FP +setkeycodes e006 77;# Right +setkeycodes e019 77;# Right FP +setkeycodes e067 59;# Red +setkeycodes e003 60;# Green +setkeycodes e039 61;# Yellow +setkeycodes e011 62;# Blue +setkeycodes e042 11;# 0 +setkeycodes e043 2;# 1 +setkeycodes e041 3;# 2 +setkeycodes e03f 4;# 3 +setkeycodes e03d 5;# 4 +setkeycodes e03b 6;# 5 +setkeycodes e03c 7;# 6 +setkeycodes e058 8;# 7 +setkeycodes e064 9;# 8 +setkeycodes e044 10;# 9 +setkeycodes e002 78;# Vol+ +setkeycodes e05a 74;# Vol- +setkeycodes e030 71;# Mute +setkeycodes e01f 52;# Ch+ +setkeycodes e01e 51;# Ch- +setkeycodes e016 27 ;#Scroll UP (PageUp) +setkeycodes e02c 26 ;#Scroll Down (PageDown) +setkeycodes e068 12 ;#Keyboard +setkeycodes e02f 41 ;#Home +setkeycodes e004 19 ;#Run ??? +setkeycodes e031 35 ;#? +setkeycodes e06a 63 ;#<< +setkeycodes e00f 57 ;#Play/Pause +setkeycodes e008 64 ;#>> +setkeycodes e023 65 ;#Record +setkeycodes e022 66 ;#|< +setkeycodes e059 67 ;#Stop +setkeycodes e015 68 ;#>| +setkeycodes e007 18 ;#Eject diff --git a/plugins/alcd/scripts/activy_lcdoff.sh b/plugins/alcd/scripts/activy_lcdoff.sh new file mode 100644 index 0000000..27691e9 --- /dev/null +++ b/plugins/alcd/scripts/activy_lcdoff.sh @@ -0,0 +1,27 @@ +#!/bin/sh +# Activy set Display text +#/bin/stty 38400 < /dev/ttyS0 + +#set -x + +# modified for x-vdr (debian) +source /etc/default/vdr + +if [ "$alcd" = "on" ] ; then + WAKEUP_FILE=${VIDEODIR}/~wakeup + if [ -s $WAKEUP_FILE ] ; then + NT=$(cat $WAKEUP_FILE | cut -f 1 -d ";") + WT="$(date -d "1970-01-01 UTC $NT seconds" '+%d.%m.%Y - %R')" + CH=$(cat $WAKEUP_FILE | cut -f 2 -d ";") + PR=$(cat $WAKEUP_FILE | cut -f 3- -d ";" | cut -b 1-20) + echo "$WT" + echo "$CH-$PR" + svdrpsend.pl PLUG alcd LOCK + svdrpsend.pl PLUG alcd PWRLED BLINK + svdrpsend.pl PLUG alcd SHOW "$WT|$PR" + svdrpsend.pl PLUG alcd STAY "ON" + sleep 3 + fi +fi + + diff --git a/plugins/alcd/scripts/activy_msg.sh b/plugins/alcd/scripts/activy_msg.sh new file mode 100644 index 0000000..47c33bc --- /dev/null +++ b/plugins/alcd/scripts/activy_msg.sh @@ -0,0 +1,7 @@ +#!/bin/sh +# Activy set Display text +/bin/stty 38400 < /dev/ttyS0 +printf "\x9A\x02$1\x00" > /dev/ttyS0 +printf "\x9A\x03$2\x00" > /dev/ttyS0 +printf "\xF0\x3D" > /dev/ttyS0 + diff --git a/plugins/alcd/scripts/activy_pb.sh b/plugins/alcd/scripts/activy_pb.sh new file mode 100644 index 0000000..966ef55 --- /dev/null +++ b/plugins/alcd/scripts/activy_pb.sh @@ -0,0 +1,11 @@ +#!/bin/sh +# Activy power button +/bin/stty 38400 < /dev/ttyS0 +if [ "$1" = "0" ] ; then + printf "\x94\x21" > /dev/ttyS0 + printf "\x94\x30" > /dev/ttyS0 +else + printf "\x94\x12" > /dev/ttyS0 + printf "\x94\x03" > /dev/ttyS0 +fi + diff --git a/plugins/analogradio/plugin.sh b/plugins/analogradio/plugin.sh new file mode 100644 index 0000000..23cb3e6 --- /dev/null +++ b/plugins/analogradio/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 05.05.2008 +# +# vdr-analogradio + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://vdr-wiki.de/vdr/vdr-analogradio/vdr-analogradio-0.1.3a.tgz" +VERSION="analogradio-0.1.3a" +LINK="analogradio" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/arghdirector/patches/arghdirector.diff b/plugins/arghdirector/patches/arghdirector.diff new file mode 100644 index 0000000..95922d9 --- /dev/null +++ b/plugins/arghdirector/patches/arghdirector.diff @@ -0,0 +1,11 @@ +--- arghdirector.c~ 2008-01-09 19:43:01.000000000 +0100 ++++ arghdirector.c 2008-01-09 19:45:12.000000000 +0100 +@@ -59,7 +59,7 @@ + #if VDRVERSNUM < 10333 + if(Channel->GetLinkChannels() != NULL && Channel->GetLinkChannels()->Count() > 1) + #else +- if(Channel->LinkChannels() != NULL && Channel->LinkChannels()->Count() > 1) ++ if(Channel != NULL && Channel->LinkChannels() != NULL && Channel->LinkChannels()->Count() > 1) + #endif + if(parent && ChannelNumber != 0) + { diff --git a/plugins/arghdirector/patches/mainmenuentry.diff b/plugins/arghdirector/patches/mainmenuentry.diff new file mode 100644 index 0000000..1662216 --- /dev/null +++ b/plugins/arghdirector/patches/mainmenuentry.diff @@ -0,0 +1,32 @@ +--- i18n.c~ 2007-02-11 20:35:16.000000000 +0100 ++++ i18n.c 2007-12-31 20:44:06.000000000 +0100 +@@ -9,6 +9,29 @@ + #include "i18n.h" + + const tI18nPhrase Phrases[] = { ++ { "arghDirector", ++ "Director", ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++#if VDRVERSNUM && VDRVERSNUM >= 10313 ++ "", // Eesti ++#if VDRVERSNUM >= 10316 ++ "", // Dansk ++#endif ++#endif ++ }, + { "Hide main menu entry", + "Hauptmenüeintrag verstecken", + "",// TODO diff --git a/plugins/arghdirector/plugin.sh b/plugins/arghdirector/plugin.sh new file mode 100644 index 0000000..f54e11b --- /dev/null +++ b/plugins/arghdirector/plugin.sh @@ -0,0 +1,51 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 29.01.2008 +# +# vdr-director + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://www.jwendel.de/vdr/vdr-arghdirector-0.2.6b.tgz" +VERSION="arghdirector-0.2.6b" +LINK="arghdirector" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/atmo/plugin.sh b/plugins/atmo/plugin.sh new file mode 100644 index 0000000..45ccaa6 --- /dev/null +++ b/plugins/atmo/plugin.sh @@ -0,0 +1,54 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 17.12.2006 +# +# vdr-atmo + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.edener.de/vdr-atmo-0.1.1.tgz" +VERSION="atmo-0.1.1" +LINK="atmo" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + cp -f $SOURCEDIR/VDR/PLUGINS/src/$LINK/scripts/disco.sh $VDRSCRIPTDIR + chmod 0744 $VDRSCRIPTDIR/disco.sh + chown $VDRUSER:$VDRGROUP $VDRSCRIPTDIR/disco.sh + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/audiorecorder/plugin.sh b/plugins/audiorecorder/plugin.sh new file mode 100644 index 0000000..dc90516 --- /dev/null +++ b/plugins/audiorecorder/plugin.sh @@ -0,0 +1,53 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 09.03.2009 +# +# vdr-audiorecorder + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.zulu-entertainment.de/files/vdr-audiorecorder/vdr-audiorecorder-0.1.0-pre14.tgz" +VERSION="audiorecorder-0.1.0-pre14" +LINK="audiorecorder" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + patch_p1_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/autosort/_plugin.sh b/plugins/autosort/_plugin.sh new file mode 100644 index 0000000..8ce2bf7 --- /dev/null +++ b/plugins/autosort/_plugin.sh @@ -0,0 +1,57 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 17.01.2008 +# +# vdr-autosort + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.zulu-entertainment.de/files/vdr-autosort/vdr-autosort-0.1.3.tgz" +VERSION="autosort-0.1.3" +LINK="autosort" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + if [ -f $DIR/autosort.conf ]; then + cp -f $DIR/autosort.conf $VDRCONFDIR/plugins + else + cp -f $SOURCEDIR/VDR/PLUGINS/src/$LINK/examples/autosort.conf $VDRCONFDIR/plugins + fi + chown $VDRUSER:$VDRGROUP $VDRCONFDIR/plugins/autosort.conf + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/autosort/autosort-0.1.3-configdir.diff b/plugins/autosort/autosort-0.1.3-configdir.diff new file mode 100644 index 0000000..6d74e0d --- /dev/null +++ b/plugins/autosort/autosort-0.1.3-configdir.diff @@ -0,0 +1,112 @@ +diff -ruNp autosort-0.1.3/autogroup.c autosort-0.1.3-patched/autogroup.c +--- autosort-0.1.3/autogroup.c 2007-03-18 13:35:47.000000000 +0100 ++++ autosort-0.1.3-patched/autogroup.c 2008-01-17 15:06:59.000000000 +0100 +@@ -211,8 +211,7 @@ bool cAutoGroup::Parse(const char *line) + + // check for additional config files + char *buf; +-// asprintf(&buf, "%s/%s/%s",cPlugin::ConfigDirectory(),"autosort",name ); +- asprintf(&buf, "%s/%s/%s",ConfigDir,"autosort",name ); ++ asprintf(&buf, "%s/%s", ConfigDir, name); + + + if (access(buf, R_OK) == 0) { +@@ -404,8 +403,7 @@ void cAutoGroup::ModifyChannelToGroup (i + if (!Out) { // channel will go into group + if (saveDelete) { + FILE *f; +-// char *fileName = strdup( AddDirectory(cPlugin::ConfigDirectory(), "../channels.deleted")); +- char *fileName = strdup( AddDirectory(ConfigDir, "../channels.deleted")); ++ char *fileName = strdup(AddDirectory(ConfigDir, "../../channels.deleted")); + f = fopen(fileName , "a"); + if (!f) { + LOG_ERROR_STR(fileName); +diff -ruNp autosort-0.1.3/autogroups.c autosort-0.1.3-patched/autogroups.c +--- autosort-0.1.3/autogroups.c 2007-02-07 17:22:24.000000000 +0100 ++++ autosort-0.1.3-patched/autogroups.c 2008-01-17 15:01:04.000000000 +0100 +@@ -72,7 +72,6 @@ bool cAutoGroups::Load(const char *FileN + ReIndex(); + return true; + } +-// esyslog("Auto Sort: -ERROR- Can't find %s/autosort.conf -EXITING-",cPlugin::ConfigDirectory()); + esyslog("Auto Sort: -ERROR- Can't find %s/autosort.conf -EXITING-",ConfigDir); + esyslog(" !!! Check your autosort.conf !!!"); + return false; +diff -ruNp autosort-0.1.3/autosort.c autosort-0.1.3-patched/autosort.c +--- autosort-0.1.3/autosort.c 2007-02-07 17:23:13.000000000 +0100 ++++ autosort-0.1.3-patched/autosort.c 2008-01-17 14:23:48.000000000 +0100 +@@ -12,6 +12,8 @@ static const char *VERSION = "0.1 + static const char *DESCRIPTION = "Channel AutoSort"; + static const char *MAINMENUENTRY = "AutoSort Restart"; + ++char *ConfigDir = NULL; ++ + class cPluginAutoSort : public cPlugin { + private: + // Add any member variables or functions you may need here. +@@ -50,6 +52,7 @@ cPluginAutoSort::cPluginAutoSort(void) + cPluginAutoSort::~cPluginAutoSort() + { + // Clean up after yourself! ++ if (ConfigDir) free(ConfigDir); + } + + const char *cPluginAutoSort::MainMenuEntry(void) +@@ -81,6 +84,8 @@ bool cPluginAutoSort::Initialize(void) + bool cPluginAutoSort::Start(void) + { + // Start any background activities the plugin shall perform. ++ if (!ConfigDir) ++ ConfigDir = strdup(cPlugin::ConfigDirectory("autosort")); + cAutoSortMainThread::Init(); + return true; + } +diff -ruNp autosort-0.1.3/autosort_main_thread.c autosort-0.1.3-patched/autosort_main_thread.c +--- autosort-0.1.3/autosort_main_thread.c 2007-03-18 08:28:37.000000000 +0100 ++++ autosort-0.1.3-patched/autosort_main_thread.c 2008-01-17 15:02:17.000000000 +0100 +@@ -54,7 +54,6 @@ void cAutoSortMainThread::Stop(void) { + void cAutoSortMainThread::Action(void) + { + OpenGroups.Load(); +-// AutoGroups.Load(AddDirectory(cPlugin::ConfigDirectory(), "autosort.conf"), true, true); + AutoGroups.Load(AddDirectory(ConfigDir, "autosort.conf"), true, true); + m_Active = true; + CheckDelimiters(); +diff -ruNp autosort-0.1.3/autosort_menu.c autosort-0.1.3-patched/autosort_menu.c +--- autosort-0.1.3/autosort_menu.c 2007-03-18 09:57:10.000000000 +0100 ++++ autosort-0.1.3-patched/autosort_menu.c 2008-01-17 14:09:40.000000000 +0100 +@@ -35,9 +35,6 @@ int lastDuration = 0; + int averageDuration = 0; + int activeChannel = 0; + +-const char *ConfigDir = cPlugin::ConfigDirectory(); +- +- + + cASInfoItem::cASInfoItem(const char *Text) + { +diff -ruNp autosort-0.1.3/autosort_menu.h autosort-0.1.3-patched/autosort_menu.h +--- autosort-0.1.3/autosort_menu.h 2007-02-07 17:11:00.000000000 +0100 ++++ autosort-0.1.3-patched/autosort_menu.h 2008-01-17 14:07:04.000000000 +0100 +@@ -37,7 +37,7 @@ extern int lastDuration; + extern int averageDuration; + extern int activeChannel; + +-extern const char *ConfigDir; ++extern char *ConfigDir; + + + /* +diff -ruNp autosort-0.1.3/opengroups.c autosort-0.1.3-patched/opengroups.c +--- autosort-0.1.3/opengroups.c 2007-02-07 17:27:52.000000000 +0100 ++++ autosort-0.1.3-patched/opengroups.c 2008-01-17 15:03:17.000000000 +0100 +@@ -40,8 +40,7 @@ bool cOpenGroups::Load(void) + { + char *buf; + char *option; +-// asprintf(&buf, "%s/%s/%s",cPlugin::ConfigDirectory(),"autosort","opengroups.conf" ); +- asprintf(&buf, "%s/%s/%s",ConfigDir,"autosort","opengroups.conf" ); ++ asprintf(&buf, "%s/opengroups.conf", ConfigDir); + if (access(buf, R_OK) == 0) { + dsyslog ("loading %s", buf); + FILE *f = fopen(buf, "r"); diff --git a/plugins/autosort/plugin.sh b/plugins/autosort/plugin.sh new file mode 100644 index 0000000..49b84ec --- /dev/null +++ b/plugins/autosort/plugin.sh @@ -0,0 +1,56 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 05.05.2008 +# +# vdr-autosort + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://vdr-wiki.de/vdr/vdr-autosort/vdr-autosort-0.0.10.tgz" +VERSION="autosort-0.0.10" +LINK="autosort" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + if [ -f $DIR/autosort.conf ]; then + cp -f $DIR/autosort.conf $VDRCONFDIR/plugins + else + cp -f $SOURCEDIR/VDR/PLUGINS/src/$LINK/autosort.conf $VDRCONFDIR/plugins + fi + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/autotimeredit/patches/autotimeredit-0.1.8-vdr153.diff b/plugins/autotimeredit/patches/autotimeredit-0.1.8-vdr153.diff new file mode 100644 index 0000000..f6b2f74 --- /dev/null +++ b/plugins/autotimeredit/patches/autotimeredit-0.1.8-vdr153.diff @@ -0,0 +1,21 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 92_autotimeredit-0.1.8-1.5.3.dpatch by Thomas Günther <tom@toms-cafe.de> +## http://toms-cafe.de/vdr/download/autotimeredit-0.1.8-1.5.3.diff +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Changes for VDR >= 1.5.3. + +@DPATCH@ +--- autotimeredit-0.1.8/menueditweekdays.c ++++ autotimeredit-0.1.8/menueditweekdays.c +@@ -58,7 +58,9 @@ cMenuEditWeekDaysItem::cMenuEditWeekDays + void cMenuEditWeekDaysItem::Set(void) + { + if (weekdays && *weekdays) { +-#if VDRVERSNUM >= 10323 ++#if VDRVERSNUM >= 10503 ++ SetValue(cTimer::PrintDay(0, *weekdays, false)); ++#elif VDRVERSNUM >= 10323 + SetValue(cTimer::PrintDay(0, *weekdays)); + #else + SetValue(cTimer::PrintDay(*weekdays, 0)); diff --git a/plugins/autotimeredit/patches/autotimeredit-0.1.8-vdr157.diff b/plugins/autotimeredit/patches/autotimeredit-0.1.8-vdr157.diff new file mode 100644 index 0000000..567cb11 --- /dev/null +++ b/plugins/autotimeredit/patches/autotimeredit-0.1.8-vdr157.diff @@ -0,0 +1,90 @@ +diff -ruNp autotimeredit-0.1.8~/autotimeredit.c autotimeredit-0.1.8/autotimeredit.c +--- autotimeredit-0.1.8~/autotimeredit.c 2009-03-01 14:22:04.000000000 +0100 ++++ autotimeredit-0.1.8/autotimeredit.c 2009-03-01 14:20:24.000000000 +0100 +@@ -312,7 +312,11 @@ class cPluginAutoTimer : public cPlugin + { + private: + // Add any member variables or functions you may need here. ++#if VDRVERSNUM < 10507 + int OSDLanguage; ++#else ++ char *OSDLanguage; ++#endif + void TestAndSetOSDLanguage(void); + bool ProcessArg(int argc, char *argv[]); + public: +@@ -340,7 +344,11 @@ cPluginAutoTimer::cPluginAutoTimer(void) + // Initialize any member variables here. + // DON'T DO ANYTHING ELSE THAT MAY HAVE SIDE EFFECTS, REQUIRE GLOBAL + // VDR OBJECTS TO EXIST OR PRODUCE ANY OUTPUT! ++#if VDRVERSNUM < 10507 + OSDLanguage = -1; ++#else ++ OSDLanguage = NULL; ++#endif + int i; + for (i = 1; i < MaxDefaultDictionary; i++) + SetupDefaultDictionarys.Add(new cDefaultDictionary("", 0)); +diff -ruNp autotimeredit-0.1.8~/Makefile autotimeredit-0.1.8/Makefile +--- autotimeredit-0.1.8~/Makefile 2009-03-01 14:22:04.000000000 +0100 ++++ autotimeredit-0.1.8/Makefile 2009-03-01 15:46:57.000000000 +0100 +@@ -46,9 +46,9 @@ INCLUDES += -I$(VDRDIR)/include -I$(DVBD + DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"' + + ### Test wareagle-patch +-ifeq ($(shell test -f $(VDRDIR)/iconpatch.h ; echo $$?),0) +- DEFINES += -DHAVE_ICONPATCH +-endif ++#ifeq ($(shell test -f $(VDRDIR)/iconpatch.h ; echo $$?),0) ++# DEFINES += -DUSE_WAREAGLEICON ++#endif + + #for more debug lines + #DEFINES += -DATE_Debug1 # +diff -ruNp autotimeredit-0.1.8~/menuautotimer.c autotimeredit-0.1.8/menuautotimer.c +--- autotimeredit-0.1.8~/menuautotimer.c 2005-10-19 23:22:17.000000000 +0200 ++++ autotimeredit-0.1.8/menuautotimer.c 2009-03-01 14:20:32.000000000 +0100 +@@ -6,10 +6,8 @@ + * $Id: menuautotimer.c 1.7 2005/10/19 23:22:17 hflor Exp $ + */ + +-#ifdef HAVE_ICONPATCH ++#ifdef USE_WAREAGLEICON + #include <vdr/iconpatch.h> +-#else +- #define ICON_UHR '*' + #endif + + #include "autotimeredit.h" +@@ -279,7 +277,7 @@ void cMenuAutoTimerItem::Set(void) + autotimer->Options() & Searchpos_Description ? tr("Display3$D") : "-", + use_except_repeat.u ? autotimer->Except_Repeat() ? tr("Display4$R") : "-" : "", + use_except_repeat.u && use_weekdays.u ? autotimer->Weekdays() != 1111111 ? tr("Display5$W") : "-" : ""); +- if (show_channel.u) ++ if (show_channel.u) { + if (autotimer->UseChannel()) { + if (show_channelname.u) + asprintf(&tmp[pos++], "\t%.7s", autotimer->Channel()->Name()); +@@ -287,6 +285,7 @@ void cMenuAutoTimerItem::Set(void) + asprintf(&tmp[pos++], "\t%0*d", numdigits(Channels.MaxNumber()), autotimer->Channel()->Number()); + } else + asprintf(&tmp[pos++], "\t--"); ++ } + if (show_startstop.u & 0x1) { + if (autotimer->UseStart()) + asprintf(&tmp[pos++], "\t%02d:%02d", autotimer->StartTime() / 100, autotimer->StartTime() % 100); +@@ -299,8 +298,12 @@ void cMenuAutoTimerItem::Set(void) + else + asprintf(&tmp[pos++], "\t--:--"); + } +- +- asprintf(&buffer, "%c%s%s%s%s\t%s", autotimer->Active() ? ICON_UHR : ' ', tmp[0], tmp[1], tmp[2], tmp[3], autotimer->Search()); ++#ifdef USE_WAREAGLEICON ++ if (Setup.WarEagleIcons) ++ asprintf(&buffer, "%s%s%s%s%s\t%s", autotimer->Active() ? IsLangUtf8() ? ICON_CLOCK_UTF8 : ICON_CLOCK : " ", tmp[0], tmp[1], tmp[2], tmp[3], autotimer->Search()); ++ else ++#endif /* WAREAGLEICON */ ++ asprintf(&buffer, "%s%s%s%s%s\t%s", autotimer->Active() ? "*" : " ", tmp[0], tmp[1], tmp[2], tmp[3], autotimer->Search()); + SetText(buffer, false); + #ifdef ATE_Debug2 + dsyslog("%s: cMenuAutoTimerItem::Set SetText=%s", plugin_name, buffer); diff --git a/plugins/autotimeredit/patches/autotimeredit-0.1.8.diff b/plugins/autotimeredit/patches/autotimeredit-0.1.8.diff new file mode 100644 index 0000000..e538bb6 --- /dev/null +++ b/plugins/autotimeredit/patches/autotimeredit-0.1.8.diff @@ -0,0 +1,84 @@ +diff -Nur autotimeredit-0.1.8/autotimeredit.c autotimeredit-0.1.8-n/autotimeredit.c +--- autotimeredit-0.1.8/autotimeredit.c 2005-11-07 16:47:18.000000000 +0100 ++++ autotimeredit-0.1.8-n/autotimeredit.c 2006-11-18 23:17:15.000000000 +0100 +@@ -44,7 +44,11 @@ + tParamInt update_b_e = { false, false, false, 0x1, 0x0 }; // begin + tParamInt updatemethod = { false, false, false, 0x0, 0x0 }; // none + tParamInt updatetimerecords = { false, false, false, -1 }; ++#if VDRVERSNUM >= 10338 ++tParamUInt use_defaultdictionary = { false, false, false, 0x1F, 0x00 }; // all source for default dictionary ++#else + tParamInt use_defaultdictionary = { false, false, false, 0x1F, 0x00 }; // all source for default dictionary ++#endif + tParamInt use_except_repeat = { false, false, false, false }; + tParamInt use_weekdays = { false, false, false, false }; + tParamFile vdradminconfig = { false, false, false, "/etc/vdradmin/vdradmind.conf" }; +diff -Nur autotimeredit-0.1.8/autotimeredit.h autotimeredit-0.1.8-n/autotimeredit.h +--- autotimeredit-0.1.8/autotimeredit.h 2005-10-19 23:22:17.000000000 +0200 ++++ autotimeredit-0.1.8-n/autotimeredit.h 2006-11-18 23:17:15.000000000 +0100 +@@ -37,6 +37,17 @@ + int i; // ignore extentions for vdradmin.at + }; + ++struct tParamUInt { ++ bool c; // read command line ++ bool r; // read config file ++ bool h; // hide in setup menu ++ uint d; // default ++ uint u; // used ++ uint s; // config file ++ uint o; // old value for setup menu ++ uint i; // ignore extentions for vdradmin.at ++ }; ++ + struct tParamFile { + bool c; // read command line + bool r; // read config file +@@ -63,7 +74,11 @@ + extern tParamInt update_b_e; + extern tParamInt updatemethod; + extern tParamInt updatetimerecords; ++#if VDRVERSNUM >= 10338 ++extern tParamUInt use_defaultdictionary; ++#else + extern tParamInt use_defaultdictionary; ++#endif + extern tParamInt use_except_repeat; + extern tParamInt use_weekdays; + extern tParamFile vdradminconfig; +diff -Nur autotimeredit-0.1.8/autotimers.h autotimeredit-0.1.8-n/autotimers.h +--- autotimeredit-0.1.8/autotimers.h 2005-10-19 23:22:17.000000000 +0200 ++++ autotimeredit-0.1.8-n/autotimers.h 2006-11-18 23:17:15.000000000 +0100 +@@ -24,7 +24,11 @@ + private: + int active; + char search[MaxFileName]; ++#if VDRVERSNUM >= 10338 ++ uint options; ++#else + int options; ++#endif + int useStart; + int startTime; + int useStop; +diff -Nur autotimeredit-0.1.8/Makefile autotimeredit-0.1.8-n/Makefile +--- autotimeredit-0.1.8/Makefile 2005-11-07 16:47:18.000000000 +0100 ++++ autotimeredit-0.1.8-n/Makefile 2006-11-18 23:17:15.000000000 +0100 +@@ -31,7 +31,7 @@ + + ### The version number of VDR (taken from VDR's "config.h"): + +-VDRVERSION = $(shell grep 'define VDRVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g') ++APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g') + VDRVERSNUM = $(shell grep 'define VDRVERSNUM ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g') + + ### The name of the distribution archive: +@@ -85,7 +85,7 @@ + + libvdr-$(PLUGIN).so: $(OBJS) + $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@ +- @cp $@ $(LIBDIR)/$@.$(VDRVERSION) ++ @cp $@ $(LIBDIR)/$@.$(APIVERSION) + + dist: clean + @-rm -rf $(TMPDIR)/$(ARCHIVE) diff --git a/plugins/autotimeredit/plugin.sh b/plugins/autotimeredit/plugin.sh new file mode 100644 index 0000000..160fe1c --- /dev/null +++ b/plugins/autotimeredit/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 05.05.2008 +# +# vdr-autotimeredit + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://vdr-wiki.de/vdr/vdr-autotimeredit/vdr-autotimeredit-0.1.8.tgz" +VERSION="autotimeredit-0.1.8" +LINK="autotimeredit" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/avards/plugin.sh b/plugins/avards/plugin.sh new file mode 100644 index 0000000..6b75e24 --- /dev/null +++ b/plugins/avards/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 29.03.2009 +# +# vdr-avards + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://firefly.vdr-developer.org/avards/vdr-avards-0.2.0.tar.bz2" +VERSION="avards-0.2.0" +LINK="avards" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/avolctl/plugin.sh b/plugins/avolctl/plugin.sh new file mode 100644 index 0000000..1eaad69 --- /dev/null +++ b/plugins/avolctl/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 23.10.2007 +# +# vdr-avolctl + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.zulu-entertainment.de/files/vdr-avolctl/vdr-avolctl-0.3b.tgz" +VERSION="avolctl-0.3b" +LINK="avolctl" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/beep/plugin.sh b/plugins/beep/plugin.sh new file mode 100644 index 0000000..a2e95b2 --- /dev/null +++ b/plugins/beep/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 05.05.2008 +# +# vdr-beep + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://vdr-wiki.de/vdr/vdr-beep/vdr-beep-0.1.1.tgz" +VERSION="beep-0.1.1" +LINK="beep" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/bitstreamout/patches/bitstreamout-0.85.diff b/plugins/bitstreamout/patches/bitstreamout-0.85.diff new file mode 100644 index 0000000..91a5ee7 --- /dev/null +++ b/plugins/bitstreamout/patches/bitstreamout-0.85.diff @@ -0,0 +1,25 @@ +diff -Nur bitstreamout-0.85/types.h bitstreamout-0.85-n/types.h +--- bitstreamout-0.85/types.h 2006-02-07 15:31:11.000000000 +0100 ++++ bitstreamout-0.85-n/types.h 2006-11-07 02:30:48.000000000 +0100 +@@ -26,9 +26,9 @@ + #include <sys/mman.h> + #include <asm/types.h> + #include <sys/types.h> +-#if defined(__i386__) || defined(__x86_64__) +-# include <asm/bitops.h> +-#else ++//#if defined(__i386__) || defined(__x86_64__) ++//# include <asm/bitops.h> ++//#else + # define clear_bit(n,addr) (*(addr) &= ~(1 << (n))) + # define set_bit(n,addr) (*(addr) |= (1 << (n))) + # define test_bit(n,addr) (*(addr) & (1 << (n))) +@@ -47,7 +47,7 @@ + clear_bit(n, addr); + return result; + } +-#endif ++//#endif + + #ifndef AARONS_TYPES + #define AARONS_TYPES diff --git a/plugins/bitstreamout/plugin.sh b/plugins/bitstreamout/plugin.sh new file mode 100644 index 0000000..aafa641 --- /dev/null +++ b/plugins/bitstreamout/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 15.05.2008 +# +# vdr-bitstreamout + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://downloads.sourceforge.net/bitstreamout/vdr-bitstreamout-0.89c.tar.bz2" +VERSION="bitstreamout-0.89c" +LINK="bitstreamout" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/burn/plugin.sh b/plugins/burn/plugin.sh new file mode 100644 index 0000000..59c7ae3 --- /dev/null +++ b/plugins/burn/plugin.sh @@ -0,0 +1,116 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 05.03.2009 + +# vdr-burn + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.zulu-entertainment.de/files/vdr-burn/vdr-burn-0.1.0-pre22x.tgz" +VERSION="burn-0.1.0-pre22x" +LINK="burn" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + rm -f $VDRBINDIR/vdrburn-archive.sh + rm -f $VDRBINDIR/vdrburn-dvd.sh + rm -f $VDRBINDIR/burn-buffers +# rm -f /usr/bin/vdrsync.pl + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + patch_p1_plugin + + ## plugin specials - start ############################################################ + # scripte + if [ -f $DIR/vdrburn-archive.sh ]; then + cp -f $DIR/vdrburn-archive.sh $VDRBINDIR + else + cp -f $SOURCEDIR/VDR/PLUGINS/src/$LINK/vdrburn-archive.sh $VDRBINDIR + fi + + if [ -f $DIR/vdrburn-dvd.sh ]; then + cp -f $DIR/vdrburn-dvd.sh $VDRBINDIR + else + cp -f $SOURCEDIR/VDR/PLUGINS/src/$LINK/vdrburn-dvd.sh $VDRBINDIR + fi + + chmod 0755 $VDRBINDIR/vdrburn-archive.sh + chmod 0755 $VDRBINDIR/vdrburn-dvd.sh + chown $VDRUSER.$VDRGROUP $VDRBINDIR/vdrburn-archive.sh $VDRBINDIR/vdrburn-dvd.sh + + if [ -d $DIR/burn ]; then + cp -rf $DIR/burn $VDRCONFDIR/plugins + else + cp -rf $SOURCEDIR/VDR/PLUGINS/src/$LINK/burn $VDRCONFDIR/plugins + fi + + # vdrsync + var=`which vdrsync.pl` + if [ "$var" ]; then + log "found $var" + else + cd $SOURCEDIR/x-vdr/utilities/vdrsync + chmod 0744 ./utilitie-test.sh + ./utilitie-test.sh + fi + + # genindex + var=`which genindex` + if [ "$var" ]; then + log "found $var" + else + cd $SOURCEDIR/x-vdr/utilities/genindex + chmod 0744 ./utilitie-test.sh + ./utilitie-test.sh + fi + + # m2vrequantizer + var=`which requant` + if [ "$var" ]; then + log "found $var" + else + cd $SOURCEDIR/x-vdr/utilities/m2vrequantizer + chmod 0744 ./utilitie-test.sh + ./utilitie-test.sh + fi + + # rechte setzen + chown -R $VDRUSER:$VDRGROUP $VDRCONFDIR/plugins/burn + ## plugin specials - ende ############################################################# +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +# burn-buffer +if [ "$cmd" = "-m" ] || [ "$cmd" = "--make" ] || [ "$cmd" = "-r" ] || [ "$cmd" = "--remake" ]; then + cp -f $SOURCEDIR/VDR/PLUGINS/src/$LINK/burn-buffers $VDRBINDIR +fi + +exit 0 diff --git a/plugins/calc/patches/calc-0.0.1-rc5.diff b/plugins/calc/patches/calc-0.0.1-rc5.diff new file mode 100644 index 0000000..373135c --- /dev/null +++ b/plugins/calc/patches/calc-0.0.1-rc5.diff @@ -0,0 +1,78 @@ +diff -Nur calc-0.0.1-rc5/calc.c calc-0.0.1-rc5-n/calc.c +--- calc-0.0.1-rc5/calc.c 2004-07-18 20:53:54.000000000 +0200 ++++ calc-0.0.1-rc5-n/calc.c 2006-11-07 02:37:26.000000000 +0100 +@@ -72,7 +72,7 @@ + void AddDigit(eKeys key); + void CalculateResult(char* inOperand1, char* inOperand2, char *outOperand, char cOperator); + operType operatorSymbol; +- void cCalcMain::CalculateResultTrig(char* inOperand1, char *outOperand, char cOperator, gradType calculateGradType); ++ void CalculateResultTrig(char* inOperand1, char *outOperand, char cOperator, gradType calculateGradType); + public: + cCalcMain(void); + ~cCalcMain(); +@@ -486,12 +486,12 @@ + { + FILE *f; + // printf("inOperand1 %s inOperand2 %s operator %c\n",inOperand1,inOperand2,cOperator); +- f = fopen("./bc_in.dat","w"); ++ f = fopen("/tmp/bc_in.dat","w"); + fprintf(f,"scale = 10\n"); + fprintf(f,"%s%c%s\n",inOperand1,cOperator,inOperand2); + fclose(f); +- system("bc <./bc_in.dat >./bc_out.dat"); +- f = fopen("./bc_out.dat","r"); ++ system("/usr/bin/bc </tmp/bc_in.dat >/tmp/bc_out.dat"); ++ f = fopen("/tmp/bc_out.dat","r"); + if (f != NULL) + { + fscanf(f,"%s",outOperand); +@@ -499,6 +499,8 @@ + } + else + printf("VDR-Calc : bc run failed !!\n"); ++ remove("/tmp/bc_in.dat"); ++ remove("/tmp/bc_out.dat"); + } + + void cCalcMain::CalculateResultTrig(char* inOperand1, char *outOperand, char cOperator, gradType calculateGradType) +@@ -512,7 +514,7 @@ + CalculateResult(inOperand1, "(3.1415926535/200)",inOperand1, '*'); + + // printf("inOperand1 %s inOperand2 %s operator %c\n",inOperand1,inOperand2,cOperator); +- f = fopen("./bc_in.dat","w"); ++ f = fopen("/tmp/bc_in.dat","w"); + fprintf(f,"scale = 10\n"); + + // only valid for cOperator == s, c, t (for sin,cos,tan) +@@ -525,8 +527,8 @@ + fprintf(f,"s(%s)/c(%s)\n",inOperand1,inOperand1); + } + fclose(f); +- system("bc -l <./bc_in.dat >./bc_out.dat"); +- f = fopen("./bc_out.dat","r"); ++ system("/usr/bin/bc -l </tmp/bc_in.dat >/tmp/bc_out.dat"); ++ f = fopen("/tmp/bc_out.dat","r"); + if (f != NULL) + { + fscanf(f,"%s",outOperand); +@@ -534,6 +536,8 @@ + } + else + printf("VDR-Calc : bc run failed !!\n"); ++ remove("/tmp/bc_in.dat"); ++ remove("/tmp/bc_out.dat"); + clearOutputForNextDigit = true; + } + +diff -Nur calc-0.0.1-rc5/Makefile calc-0.0.1-rc5-n/Makefile +--- calc-0.0.1-rc5/Makefile 2006-11-07 02:04:33.000000000 +0100 ++++ calc-0.0.1-rc5-n/Makefile 2006-11-07 02:37:26.000000000 +0100 +@@ -16,7 +16,7 @@ + ### The C++ compiler and options: + + CXX ?= g++ +-CXXFLAGS ?= -O2 -Wall -Woverloaded-virtual ++CXXFLAGS ?= -fPIC -O2 -Wall -Woverloaded-virtual + + ### The directory environment: + diff --git a/plugins/calc/plugin.sh b/plugins/calc/plugin.sh new file mode 100644 index 0000000..bdd7161 --- /dev/null +++ b/plugins/calc/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 05.05.2008 +# +# vdr-calc + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://vdr-wiki.de/vdr/vdr-calc/vdr-calc-0.0.1-rc5.tgz" +VERSION="calc-0.0.1-rc5" +LINK="calc" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/cdda/patches/cdda-0.1.0-span-0.0.4.diff b/plugins/cdda/patches/cdda-0.1.0-span-0.0.4.diff new file mode 100644 index 0000000..77552c2 --- /dev/null +++ b/plugins/cdda/patches/cdda-0.1.0-span-0.0.4.diff @@ -0,0 +1,179 @@ +diff -Naur --exclude='Makefile*' cdda-0.1.0/audio_player.c cdda-0.1.0-span/audio_player.c +--- cdda-0.1.0/audio_player.c 2006-09-28 12:45:20.000000000 +0200 ++++ cdda-0.1.0-span/audio_player.c 2006-09-28 12:42:33.000000000 +0200 +@@ -26,7 +26,9 @@ + #elif defined(PLUGIN_CDDA) + cAudioPlayer::cAudioPlayer(cAudioPlaylist *playlist) : cPlayer(cCddaConfiguration::GetInstance().isAudioOnly() ? pmAudioOnly : pmAudioOnlyBlack), cThread("CDDA Player"), + #endif +- m_indexTrack(true), m_curFrame(INT_MAX), m_maxFrames(INT_MAX), m_playMode(pmNone), ++// m_indexTrack(true), m_curFrame(INT_MAX), m_maxFrames(INT_MAX), m_playMode(pmNone), ++// m_maxFrames(INT_MAX) apparently kills lcdproc randomly (resulting string is too big) ++ m_indexTrack(true), m_curFrame(INT_MAX), m_maxFrames(0), m_playMode(pmNone), + mpo_readFrame(NULL), mpo_playFrame(NULL), mpo_ringBufferFrame(NULL), + mpo_decoder(NULL), mpo_playlist(playlist) { + +@@ -45,6 +47,10 @@ + bool skipTrack = false; + uint8_t *b = NULL, *data = new uint8_t[MAX_FRAME_PAYLOAD]; + int bc = 0; ++ bool frameIncomplete = false; ++ int millisecs = 0; ++ int sizeCounter = 0; ++ int frameCounter = 0; + + cEncapsulator oEncapsulator; + cAudioDecoders oDecoders; +@@ -109,8 +115,37 @@ + bc = oEncapsulator.Data((uint8_t *)data, len); + bc = oEncapsulator.ToPcm((uint8_t **)&b); + bc = oEncapsulator.ToPes((uint8_t **)&b); +- +- mpo_readFrame = new cFrame(b, bc, ftUnknown, MSecondsToFrames(mpo_decoder->GetCurrentTime())); ++ ++ if ( frameCounter != mpo_decoder->GetCurrentTime() ) ++ { ++ frameCounter = mpo_decoder->GetCurrentTime(); ++ sizeCounter = 0; ++ millisecs = mpo_decoder->GetCurrentTime(); ++ } ++ sizeCounter += len; ++ if ( sizeCounter >= 2*MAX_FRAME_PAYLOAD ) ++ { ++ millisecs += sizeCounter * 1000 / (mpo_decoder->GetChannels() * 2 *mpo_decoder->GetSampleRate()); ++ sizeCounter = 0; ++ } ++// Spectrum Analyzer: Hand over the PCM16-data to SpAn ++ int offset = PES_HEADER_LEN + LPCM_HEADER_LEN; ++ Span_SetPcmData_1_0 SetPcmData; ++ cPlugin *Plugin = cPluginManager::CallFirstService(SPAN_SET_PCM_DATA_ID, NULL); ++ if (Plugin) ++ { ++ SetPcmData.length = (unsigned int)(len-offset); ++// the timestamp (ms) of the frame(s) to be visualized: ++ SetPcmData.index = millisecs; ++ ++// tell SpAn the ringbuffer's size for it's internal bookkeeping of the data to be visualized: ++ SetPcmData.bufferSize = PLAYERBUFSIZE; ++ SetPcmData.data = b + offset + 1; // get rid of the header ++ SetPcmData.bigEndian = true; ++ cPluginManager::CallFirstService(SPAN_SET_PCM_DATA_ID, &SetPcmData); ++ } ++ mpo_readFrame = new cFrame(b, bc, ftUnknown, millisecs); ++ + b = NULL; + bc = 0; + } else +@@ -136,12 +171,24 @@ + // new song + if (m_curFrame > mpo_playFrame->Index()) + m_maxFrames = MSecondsToFrames(mpo_decoder->GetTime()); +- m_curFrame = mpo_playFrame->Index(); ++ m_curFrame = MSecondsToFrames(mpo_playFrame->Index()); + } + if (b) { + int i = 0; + i = PlayPes(b, bc, false); + if (0 < i) { ++// Spectrum Analyzer: Tell SpAn which timestamp is currently playing ++ if ( frameIncomplete ) ++ { ++ Span_SetPlayindex_1_0 SetPlayindexData; ++ cPlugin *Plugin = cPluginManager::CallFirstService(SPAN_SET_PLAYINDEX_ID, NULL); ++ if (Plugin) ++ { ++ SetPlayindexData.index = mpo_playFrame->Index(); ++ cPluginManager::CallFirstService(SPAN_SET_PLAYINDEX_ID, &SetPlayindexData); ++ } ++ frameIncomplete = false; ++ } + b += i; + bc -= i; + } +@@ -150,6 +197,7 @@ + mpo_ringBufferFrame->Drop(mpo_playFrame); + mpo_playFrame = NULL; + b = NULL; ++ frameIncomplete = true; + } + } + } // if (DevicePoll ... +@@ -320,9 +368,9 @@ + int next = mpo_playlist->GetCurrent() + offset; + + #if defined(PLUGIN_DAAP) +- if (FramesToSeconds(m_curFrame) > (unsigned int)cDaapConfiguration::GetInstance().GetSkipBackMargin() && ++ if (MSecondsToFrames(m_curFrame) > (unsigned int)cDaapConfiguration::GetInstance().GetSkipBackMargin() && + #elif defined(PLUGIN_CDDA) +- if (FramesToSeconds(m_curFrame) > (unsigned int)cCddaConfiguration::GetInstance().GetSkipBackMargin() && ++ if (MSecondsToFrames(m_curFrame) > (unsigned int)cCddaConfiguration::GetInstance().GetSkipBackMargin() && + #endif + next == mpo_playlist->GetCurrent() - 1) { + { +diff -Naur --exclude='Makefile*' cdda-0.1.0/audio_player.h cdda-0.1.0-span/audio_player.h +--- cdda-0.1.0/audio_player.h 2006-09-28 12:45:20.000000000 +0200 ++++ cdda-0.1.0-span/audio_player.h 2006-09-27 15:55:15.000000000 +0200 +@@ -11,12 +11,36 @@ + + #include <stdint.h> + #include <vdr/player.h> ++#include <vdr/plugin.h> + #include "audio_playlist.h" + #include "audio_decoder.h" + + #define PLAYERBUFSIZE MEGABYTE(1) + #define MAX_FRAME_PAYLOAD 2000 + ++#define SPAN_PROVIDER_CHECK_ID "Span-ProviderCheck-v1.0" ++#define SPAN_SET_PCM_DATA_ID "Span-SetPcmData-v1.1" ++#define SPAN_SET_PLAYINDEX_ID "Span-SetPlayindex-v1.0" ++ ++//Span requests to collect possible providers / clients ++struct Span_Provider_Check_1_0 { ++ bool *isActive; ++ bool *isRunning; ++}; ++ ++// SpanData ++struct Span_SetPcmData_1_0 { ++ unsigned int length; // the length of the PCM-data ++ const unsigned char *data; // the PCM-Data ++ int index; // the timestamp (ms) of the frame(s) to be visualized ++ unsigned int bufferSize; // for span-internal bookkeeping of the data to be visualized ++ bool bigEndian; // are the pcm16-data coded bigEndian? ++}; ++ ++struct Span_SetPlayindex_1_0 { ++ int index; // the timestamp (ms) of the frame(s) being currently played ++}; ++ + inline unsigned long MSecondsToFrames(unsigned long n) { + return n / 40; + } +diff -Naur --exclude='Makefile*' cdda-0.1.0/cdda.c cdda-0.1.0-span/cdda.c +--- cdda-0.1.0/cdda.c 2006-09-28 12:45:20.000000000 +0200 ++++ cdda-0.1.0-span/cdda.c 2006-09-27 15:53:11.000000000 +0200 +@@ -38,6 +38,7 @@ + virtual cOsdObject *MainMenuAction(void); + virtual cMenuSetupPage *SetupMenu(void); + virtual bool SetupParse(const char *Name, const char *Value); ++ virtual bool Service(const char *Id, void *Data = NULL); + }; + + cPluginCdda::cPluginCdda(void) +@@ -185,4 +186,16 @@ + return true; + } + ++bool cPluginCdda::Service(const char *Id, void *Data) ++{ ++ if (strcmp(Id, SPAN_PROVIDER_CHECK_ID) == 0) ++ { ++ if (Data) ++ *((Span_Provider_Check_1_0*)Data)->isActive = true; ++ return true; ++ } ++ ++ return false; ++} ++ + VDRPLUGINCREATOR(cPluginCdda); // Don't touch this! diff --git a/plugins/cdda/patches/cdda-0.1.0.patch b/plugins/cdda/patches/cdda-0.1.0.patch new file mode 100644 index 0000000..ac5e849 --- /dev/null +++ b/plugins/cdda/patches/cdda-0.1.0.patch @@ -0,0 +1,39 @@ +diff -u cdda-0.1.0.org/audio_player.c cdda-0.1.0/audio_player.c +--- cdda-0.1.0.org/audio_player.c 2006-03-09 09:26:16.000000000 +0100 ++++ cdda-0.1.0/audio_player.c 2006-03-09 09:26:35.000000000 +0100 +@@ -368,7 +368,11 @@ + } + + cAudioControl::~cAudioControl() { ++#if VDRVERSNUM >= 10338 ++ cStatus::MsgReplaying(this, "cdda", NULL, false); ++#else + cStatus::MsgReplaying(this, NULL); ++#endif + free(mp_replayDescription); + + delete player; +@@ -469,7 +473,11 @@ + mp_replayDescription = p_str; + p_str = NULL; + ++#if VDRVERSNUM >= 10338 ++ cStatus::MsgReplaying(this, "cdda", mp_replayDescription, true); ++#else + cStatus::MsgReplaying(this, mp_replayDescription); ++#endif + } else + free(p_str); + +diff -u cdda-0.1.0.org/cdda_menu.h cdda-0.1.0/cdda_menu.h +--- cdda-0.1.0.org/cdda_menu.h 2006-03-09 09:26:16.000000000 +0100 ++++ cdda-0.1.0/cdda_menu.h 2006-03-09 09:27:43.000000000 +0100 +@@ -60,7 +60,7 @@ + char *mp_newCddbServerFqdn; + int m_newCddbServerPort; + int m_newInfoView; +- const char *m_cddbPrioTxt[3]; ++ const char *m_cddbPrioTxt[4]; + protected: + void Store(void); + public: diff --git a/plugins/cdda/patches/p1/cdda-0.1.0-gettext-i18n.diff b/plugins/cdda/patches/p1/cdda-0.1.0-gettext-i18n.diff new file mode 100644 index 0000000..c8fe9f1 --- /dev/null +++ b/plugins/cdda/patches/p1/cdda-0.1.0-gettext-i18n.diff @@ -0,0 +1,5132 @@ +diff -Nru cdda-0.1.0/cdda.c cdda-0.1.0-gettext-i18n/cdda.c +--- cdda-0.1.0/cdda.c 2005-12-17 15:39:27.000000000 +0100 ++++ cdda-0.1.0-gettext-i18n/cdda.c 2008-03-30 16:43:05.000000000 +0200 +@@ -17,8 +17,8 @@ + #include "cdda_cddb.h" + + static const char *VERSION = "0.1.0"; +-static const char *DESCRIPTION = "music cd player"; +-static const char *MAINMENUENTRY = "CD Player"; ++static const char *DESCRIPTION = trNOOP("music cd player"); ++static const char *MAINMENUENTRY = tr("CD Player"); + + class cPluginCdda : public cPlugin { + private: +diff -Nru cdda-0.1.0/cdda_i18n.c cdda-0.1.0-gettext-i18n/cdda_i18n.c +--- cdda-0.1.0/cdda_i18n.c 2008-03-30 16:42:34.000000000 +0200 ++++ cdda-0.1.0-gettext-i18n/cdda_i18n.c 2008-03-30 16:42:56.000000000 +0200 +@@ -6,6 +6,7 @@ + * $Id: cdda_i18n.c,v 1.12 2005/12/19 10:37:20 cm Exp $ + */ + ++#if APIVERSNUM < 10507 + #include "cdda_i18n.h" + + const tI18nPhrase tlPhrases[] = { +@@ -843,3 +844,4 @@ + }, + { NULL } + }; ++#endif +diff -Nru cdda-0.1.0/Makefile cdda-0.1.0-gettext-i18n/Makefile +--- cdda-0.1.0/Makefile 2008-03-30 16:42:29.000000000 +0200 ++++ cdda-0.1.0-gettext-i18n/Makefile 2008-03-30 16:42:56.000000000 +0200 +@@ -71,9 +71,34 @@ + + -include $(DEPFILE) + ++### Internationalization (I18N): ++ ++PODIR = po ++LOCALEDIR = $(VDRDIR)/locale ++I18Npo = $(wildcard $(PODIR)/*.po) ++I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file)))))) ++I18Npot = $(PODIR)/$(PLUGIN).pot ++ ++%.mo: %.po ++ msgfmt -c -o $@ $< ++ ++$(I18Npot): $(wildcard *.c) ++ xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='<micky979@free.fr>' -o $@ $^ ++ ++%.po: $(I18Npot) ++ msgmerge -U --no-wrap --no-location --backup=none -q $@ $< ++ @touch $@ ++ ++$(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo ++ @mkdir -p $(dir $@) ++ cp $< $@ ++ ++.PHONY: i18n ++i18n: $(I18Nmsgs) ++ + ### Targets: + +-all: libvdr-$(PLUGIN).so ++all: libvdr-$(PLUGIN).so i18n + + libvdr-$(PLUGIN).so: $(OBJS) + $(CXX) $(CXXFLAGS) -shared $(LIBS) $(OBJS) -o $@ +@@ -88,4 +113,5 @@ + @echo Distribution package created as $(PACKAGE).tgz + + clean: ++ @-rm -f $(PODIR)/*.mo $(PODIR)/*.pot + @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ +diff -Nru cdda-0.1.0/po/ca_ES.po cdda-0.1.0-gettext-i18n/po/ca_ES.po +--- cdda-0.1.0/po/ca_ES.po 1970-01-01 01:00:00.000000000 +0100 ++++ cdda-0.1.0-gettext-i18n/po/ca_ES.po 2008-03-30 16:42:56.000000000 +0200 +@@ -0,0 +1,227 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Marc Rovira Vall <tm05462@salleURL.edu>, 2003 ++# Ramon Roca <ramon.roca@xcombo.com>, 2003 ++# Jordi Vilà <jvila@tinet.org>, 2003 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 15:55+0200\n" ++"PO-Revision-Date: 2008-03-30 15:55+0200\n" ++"Last-Translator: Jordi Vilà <jvila@tinet.org>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-1\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: audio_player.c:441 audio_player.c:551 ++msgid "Disc" ++msgstr "" ++ ++#: audio_player.c:443 audio_player.c:553 cdda_menu.c:320 ++msgid "Album" ++msgstr "" ++ ++#: audio_player.c:445 audio_player.c:555 cdda_menu.c:87 cdda_menu.c:318 ++#: cdda_menu.c:333 ++msgid "Artist" ++msgstr "" ++ ++#: audio_player.c:447 audio_player.c:557 cdda_menu.c:335 ++msgid "Title" ++msgstr "" ++ ++#: audio_player.c:455 audio_player.c:467 cdda_menu.c:159 ++msgid "Jump to title" ++msgstr "" ++ ++#: audio_player.c:512 ++msgid "Playlist" ++msgstr "" ++ ++#: cdda.c:20 ++msgid "music cd player" ++msgstr "" ++ ++#: cdda.c:21 cdda_menu.c:17 ++msgid "CD Player" ++msgstr "" ++ ++#: cdda_menu.c:35 ++msgid "Loading disc information" ++msgstr "" ++ ++#: cdda_menu.c:88 cdda_menu.c:364 ++msgid "Track" ++msgstr "" ++ ++#: cdda_menu.c:95 cdda_menu.c:217 ++msgid "Commands" ++msgstr "" ++ ++#: cdda_menu.c:96 cdda_menu.c:364 ++msgid "All" ++msgstr "" ++ ++#: cdda_menu.c:96 ++msgid "Program" ++msgstr "" ++ ++#: cdda_menu.c:96 ++msgid "Single" ++msgstr "" ++ ++#: cdda_menu.c:97 ++msgid "Eject" ++msgstr "" ++ ++#: cdda_menu.c:98 cdda_menu.c:151 ++msgid "Information" ++msgstr "" ++ ++#: cdda_menu.c:100 ++msgid "No music cd in your drive" ++msgstr "" ++ ++#: cdda_menu.c:103 ++msgid "Refresh" ++msgstr "" ++ ++#: cdda_menu.c:198 ++msgid "Cannot eject disc while playing" ++msgstr "" ++ ++#: cdda_menu.c:230 ++msgid "Add to playlist" ++msgstr "" ++ ++#: cdda_menu.c:232 ++msgid "Remove from playlist" ++msgstr "" ++ ++#: cdda_menu.c:235 ++msgid "Next disc/track tag" ++msgstr "" ++ ++#: cdda_menu.c:239 ++msgid "Delete current tag" ++msgstr "" ++ ++#: cdda_menu.c:267 ++msgid "Only one disc/track tag available" ++msgstr "" ++ ++#: cdda_menu.c:285 ++msgid "Cannot delete current tag" ++msgstr "" ++ ++#: cdda_menu.c:316 ++msgid "Disc information" ++msgstr "" ++ ++#: cdda_menu.c:322 ++msgid "Disc ID" ++msgstr "" ++ ++#: cdda_menu.c:325 ++msgid "Track information" ++msgstr "" ++ ++#: cdda_menu.c:327 ++msgid "Arranger" ++msgstr "" ++ ++#: cdda_menu.c:329 ++msgid "Composer" ++msgstr "" ++ ++#: cdda_menu.c:331 ++msgid "Songwriter" ++msgstr "" ++ ++#: cdda_menu.c:337 ++msgid "Genre" ++msgstr "" ++ ++#: cdda_menu.c:339 ++msgid "Message" ++msgstr "" ++ ++#: cdda_menu.c:358 cdda_menu.c:372 ++msgid "off" ++msgstr "" ++ ++#: cdda_menu.c:359 ++msgid "no cd-text" ++msgstr "" ++ ++#: cdda_menu.c:360 ++msgid "cache only" ++msgstr "" ++ ++#: cdda_menu.c:361 ++msgid "always" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "Mainmenu entry" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "hide" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "show" ++msgstr "" ++ ++#: cdda_menu.c:364 ++msgid "Information view" ++msgstr "" ++ ++#: cdda_menu.c:365 ++msgid "Skip length (s)" ++msgstr "" ++ ++#: cdda_menu.c:366 ++msgid "Skip back margin (s)" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "Background" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "black" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "live" ++msgstr "" ++ ++#: cdda_menu.c:368 ++msgid "Autostart replay" ++msgstr "" ++ ++#: cdda_menu.c:369 ++msgid "CDDB Priority" ++msgstr "" ++ ++#: cdda_menu.c:370 ++msgid "CDDB Server FQDN" ++msgstr "" ++ ++#: cdda_menu.c:371 ++msgid "CDDB Server Port" ++msgstr "" ++ ++#: cdda_menu.c:372 ++msgid "CDDB Cache" ++msgstr "" ++ ++#: cdda_menu.c:372 ++msgid "on" ++msgstr "" +diff -Nru cdda-0.1.0/po/cdda.pot cdda-0.1.0-gettext-i18n/po/cdda.pot +--- cdda-0.1.0/po/cdda.pot 1970-01-01 01:00:00.000000000 +0100 ++++ cdda-0.1.0-gettext-i18n/po/cdda.pot 2008-03-30 16:42:56.000000000 +0200 +@@ -0,0 +1,226 @@ ++# SOME DESCRIPTIVE TITLE. ++# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER ++# This file is distributed under the same license as the PACKAGE package. ++# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. ++# ++#, fuzzy ++msgid "" ++msgstr "" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 15:55+0200\n" ++"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" ++"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" ++"Language-Team: LANGUAGE <LL@li.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=CHARSET\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: audio_player.c:441 audio_player.c:551 ++msgid "Disc" ++msgstr "" ++ ++#: audio_player.c:443 audio_player.c:553 cdda_menu.c:320 ++msgid "Album" ++msgstr "" ++ ++#: audio_player.c:445 audio_player.c:555 cdda_menu.c:87 cdda_menu.c:318 ++#: cdda_menu.c:333 ++msgid "Artist" ++msgstr "" ++ ++#: audio_player.c:447 audio_player.c:557 cdda_menu.c:335 ++msgid "Title" ++msgstr "" ++ ++#: audio_player.c:455 audio_player.c:467 cdda_menu.c:159 ++msgid "Jump to title" ++msgstr "" ++ ++#: audio_player.c:512 ++msgid "Playlist" ++msgstr "" ++ ++#: cdda.c:20 ++msgid "music cd player" ++msgstr "" ++ ++#: cdda.c:21 cdda_menu.c:17 ++msgid "CD Player" ++msgstr "" ++ ++#: cdda_menu.c:35 ++msgid "Loading disc information" ++msgstr "" ++ ++#: cdda_menu.c:88 cdda_menu.c:364 ++msgid "Track" ++msgstr "" ++ ++#: cdda_menu.c:95 cdda_menu.c:217 ++msgid "Commands" ++msgstr "" ++ ++#: cdda_menu.c:96 cdda_menu.c:364 ++msgid "All" ++msgstr "" ++ ++#: cdda_menu.c:96 ++msgid "Program" ++msgstr "" ++ ++#: cdda_menu.c:96 ++msgid "Single" ++msgstr "" ++ ++#: cdda_menu.c:97 ++msgid "Eject" ++msgstr "" ++ ++#: cdda_menu.c:98 cdda_menu.c:151 ++msgid "Information" ++msgstr "" ++ ++#: cdda_menu.c:100 ++msgid "No music cd in your drive" ++msgstr "" ++ ++#: cdda_menu.c:103 ++msgid "Refresh" ++msgstr "" ++ ++#: cdda_menu.c:198 ++msgid "Cannot eject disc while playing" ++msgstr "" ++ ++#: cdda_menu.c:230 ++msgid "Add to playlist" ++msgstr "" ++ ++#: cdda_menu.c:232 ++msgid "Remove from playlist" ++msgstr "" ++ ++#: cdda_menu.c:235 ++msgid "Next disc/track tag" ++msgstr "" ++ ++#: cdda_menu.c:239 ++msgid "Delete current tag" ++msgstr "" ++ ++#: cdda_menu.c:267 ++msgid "Only one disc/track tag available" ++msgstr "" ++ ++#: cdda_menu.c:285 ++msgid "Cannot delete current tag" ++msgstr "" ++ ++#: cdda_menu.c:316 ++msgid "Disc information" ++msgstr "" ++ ++#: cdda_menu.c:322 ++msgid "Disc ID" ++msgstr "" ++ ++#: cdda_menu.c:325 ++msgid "Track information" ++msgstr "" ++ ++#: cdda_menu.c:327 ++msgid "Arranger" ++msgstr "" ++ ++#: cdda_menu.c:329 ++msgid "Composer" ++msgstr "" ++ ++#: cdda_menu.c:331 ++msgid "Songwriter" ++msgstr "" ++ ++#: cdda_menu.c:337 ++msgid "Genre" ++msgstr "" ++ ++#: cdda_menu.c:339 ++msgid "Message" ++msgstr "" ++ ++#: cdda_menu.c:358 cdda_menu.c:372 ++msgid "off" ++msgstr "" ++ ++#: cdda_menu.c:359 ++msgid "no cd-text" ++msgstr "" ++ ++#: cdda_menu.c:360 ++msgid "cache only" ++msgstr "" ++ ++#: cdda_menu.c:361 ++msgid "always" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "Mainmenu entry" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "hide" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "show" ++msgstr "" ++ ++#: cdda_menu.c:364 ++msgid "Information view" ++msgstr "" ++ ++#: cdda_menu.c:365 ++msgid "Skip length (s)" ++msgstr "" ++ ++#: cdda_menu.c:366 ++msgid "Skip back margin (s)" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "Background" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "black" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "live" ++msgstr "" ++ ++#: cdda_menu.c:368 ++msgid "Autostart replay" ++msgstr "" ++ ++#: cdda_menu.c:369 ++msgid "CDDB Priority" ++msgstr "" ++ ++#: cdda_menu.c:370 ++msgid "CDDB Server FQDN" ++msgstr "" ++ ++#: cdda_menu.c:371 ++msgid "CDDB Server Port" ++msgstr "" ++ ++#: cdda_menu.c:372 ++msgid "CDDB Cache" ++msgstr "" ++ ++#: cdda_menu.c:372 ++msgid "on" ++msgstr "" +diff -Nru cdda-0.1.0/po/cs_CZ.po cdda-0.1.0-gettext-i18n/po/cs_CZ.po +--- cdda-0.1.0/po/cs_CZ.po 1970-01-01 01:00:00.000000000 +0100 ++++ cdda-0.1.0-gettext-i18n/po/cs_CZ.po 2008-03-30 16:42:56.000000000 +0200 +@@ -0,0 +1,225 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Vladimír Bárta <vladimir.barta@k2atmitec.cz>, 2006 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 15:55+0200\n" ++"PO-Revision-Date: 2008-03-30 15:55+0200\n" ++"Last-Translator: Vladimír Bárta <vladimir.barta@k2atmitec.cz>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-2\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: audio_player.c:441 audio_player.c:551 ++msgid "Disc" ++msgstr "" ++ ++#: audio_player.c:443 audio_player.c:553 cdda_menu.c:320 ++msgid "Album" ++msgstr "" ++ ++#: audio_player.c:445 audio_player.c:555 cdda_menu.c:87 cdda_menu.c:318 ++#: cdda_menu.c:333 ++msgid "Artist" ++msgstr "" ++ ++#: audio_player.c:447 audio_player.c:557 cdda_menu.c:335 ++msgid "Title" ++msgstr "" ++ ++#: audio_player.c:455 audio_player.c:467 cdda_menu.c:159 ++msgid "Jump to title" ++msgstr "" ++ ++#: audio_player.c:512 ++msgid "Playlist" ++msgstr "" ++ ++#: cdda.c:20 ++msgid "music cd player" ++msgstr "" ++ ++#: cdda.c:21 cdda_menu.c:17 ++msgid "CD Player" ++msgstr "" ++ ++#: cdda_menu.c:35 ++msgid "Loading disc information" ++msgstr "" ++ ++#: cdda_menu.c:88 cdda_menu.c:364 ++msgid "Track" ++msgstr "" ++ ++#: cdda_menu.c:95 cdda_menu.c:217 ++msgid "Commands" ++msgstr "" ++ ++#: cdda_menu.c:96 cdda_menu.c:364 ++msgid "All" ++msgstr "" ++ ++#: cdda_menu.c:96 ++msgid "Program" ++msgstr "" ++ ++#: cdda_menu.c:96 ++msgid "Single" ++msgstr "" ++ ++#: cdda_menu.c:97 ++msgid "Eject" ++msgstr "" ++ ++#: cdda_menu.c:98 cdda_menu.c:151 ++msgid "Information" ++msgstr "" ++ ++#: cdda_menu.c:100 ++msgid "No music cd in your drive" ++msgstr "" ++ ++#: cdda_menu.c:103 ++msgid "Refresh" ++msgstr "" ++ ++#: cdda_menu.c:198 ++msgid "Cannot eject disc while playing" ++msgstr "" ++ ++#: cdda_menu.c:230 ++msgid "Add to playlist" ++msgstr "" ++ ++#: cdda_menu.c:232 ++msgid "Remove from playlist" ++msgstr "" ++ ++#: cdda_menu.c:235 ++msgid "Next disc/track tag" ++msgstr "" ++ ++#: cdda_menu.c:239 ++msgid "Delete current tag" ++msgstr "" ++ ++#: cdda_menu.c:267 ++msgid "Only one disc/track tag available" ++msgstr "" ++ ++#: cdda_menu.c:285 ++msgid "Cannot delete current tag" ++msgstr "" ++ ++#: cdda_menu.c:316 ++msgid "Disc information" ++msgstr "" ++ ++#: cdda_menu.c:322 ++msgid "Disc ID" ++msgstr "" ++ ++#: cdda_menu.c:325 ++msgid "Track information" ++msgstr "" ++ ++#: cdda_menu.c:327 ++msgid "Arranger" ++msgstr "" ++ ++#: cdda_menu.c:329 ++msgid "Composer" ++msgstr "" ++ ++#: cdda_menu.c:331 ++msgid "Songwriter" ++msgstr "" ++ ++#: cdda_menu.c:337 ++msgid "Genre" ++msgstr "" ++ ++#: cdda_menu.c:339 ++msgid "Message" ++msgstr "" ++ ++#: cdda_menu.c:358 cdda_menu.c:372 ++msgid "off" ++msgstr "" ++ ++#: cdda_menu.c:359 ++msgid "no cd-text" ++msgstr "" ++ ++#: cdda_menu.c:360 ++msgid "cache only" ++msgstr "" ++ ++#: cdda_menu.c:361 ++msgid "always" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "Mainmenu entry" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "hide" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "show" ++msgstr "" ++ ++#: cdda_menu.c:364 ++msgid "Information view" ++msgstr "" ++ ++#: cdda_menu.c:365 ++msgid "Skip length (s)" ++msgstr "" ++ ++#: cdda_menu.c:366 ++msgid "Skip back margin (s)" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "Background" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "black" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "live" ++msgstr "" ++ ++#: cdda_menu.c:368 ++msgid "Autostart replay" ++msgstr "" ++ ++#: cdda_menu.c:369 ++msgid "CDDB Priority" ++msgstr "" ++ ++#: cdda_menu.c:370 ++msgid "CDDB Server FQDN" ++msgstr "" ++ ++#: cdda_menu.c:371 ++msgid "CDDB Server Port" ++msgstr "" ++ ++#: cdda_menu.c:372 ++msgid "CDDB Cache" ++msgstr "" ++ ++#: cdda_menu.c:372 ++msgid "on" ++msgstr "" +diff -Nru cdda-0.1.0/po/da_DK.po cdda-0.1.0-gettext-i18n/po/da_DK.po +--- cdda-0.1.0/po/da_DK.po 1970-01-01 01:00:00.000000000 +0100 ++++ cdda-0.1.0-gettext-i18n/po/da_DK.po 2008-03-30 16:42:56.000000000 +0200 +@@ -0,0 +1,225 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Mogens Elneff <mogens@elneff.dk>, 2004 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 15:55+0200\n" ++"PO-Revision-Date: 2008-03-30 15:55+0200\n" ++"Last-Translator: Mogens Elneff <mogens@elneff.dk>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-15\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: audio_player.c:441 audio_player.c:551 ++msgid "Disc" ++msgstr "" ++ ++#: audio_player.c:443 audio_player.c:553 cdda_menu.c:320 ++msgid "Album" ++msgstr "" ++ ++#: audio_player.c:445 audio_player.c:555 cdda_menu.c:87 cdda_menu.c:318 ++#: cdda_menu.c:333 ++msgid "Artist" ++msgstr "" ++ ++#: audio_player.c:447 audio_player.c:557 cdda_menu.c:335 ++msgid "Title" ++msgstr "" ++ ++#: audio_player.c:455 audio_player.c:467 cdda_menu.c:159 ++msgid "Jump to title" ++msgstr "" ++ ++#: audio_player.c:512 ++msgid "Playlist" ++msgstr "" ++ ++#: cdda.c:20 ++msgid "music cd player" ++msgstr "" ++ ++#: cdda.c:21 cdda_menu.c:17 ++msgid "CD Player" ++msgstr "" ++ ++#: cdda_menu.c:35 ++msgid "Loading disc information" ++msgstr "" ++ ++#: cdda_menu.c:88 cdda_menu.c:364 ++msgid "Track" ++msgstr "" ++ ++#: cdda_menu.c:95 cdda_menu.c:217 ++msgid "Commands" ++msgstr "" ++ ++#: cdda_menu.c:96 cdda_menu.c:364 ++msgid "All" ++msgstr "" ++ ++#: cdda_menu.c:96 ++msgid "Program" ++msgstr "" ++ ++#: cdda_menu.c:96 ++msgid "Single" ++msgstr "" ++ ++#: cdda_menu.c:97 ++msgid "Eject" ++msgstr "" ++ ++#: cdda_menu.c:98 cdda_menu.c:151 ++msgid "Information" ++msgstr "" ++ ++#: cdda_menu.c:100 ++msgid "No music cd in your drive" ++msgstr "" ++ ++#: cdda_menu.c:103 ++msgid "Refresh" ++msgstr "" ++ ++#: cdda_menu.c:198 ++msgid "Cannot eject disc while playing" ++msgstr "" ++ ++#: cdda_menu.c:230 ++msgid "Add to playlist" ++msgstr "" ++ ++#: cdda_menu.c:232 ++msgid "Remove from playlist" ++msgstr "" ++ ++#: cdda_menu.c:235 ++msgid "Next disc/track tag" ++msgstr "" ++ ++#: cdda_menu.c:239 ++msgid "Delete current tag" ++msgstr "" ++ ++#: cdda_menu.c:267 ++msgid "Only one disc/track tag available" ++msgstr "" ++ ++#: cdda_menu.c:285 ++msgid "Cannot delete current tag" ++msgstr "" ++ ++#: cdda_menu.c:316 ++msgid "Disc information" ++msgstr "" ++ ++#: cdda_menu.c:322 ++msgid "Disc ID" ++msgstr "" ++ ++#: cdda_menu.c:325 ++msgid "Track information" ++msgstr "" ++ ++#: cdda_menu.c:327 ++msgid "Arranger" ++msgstr "" ++ ++#: cdda_menu.c:329 ++msgid "Composer" ++msgstr "" ++ ++#: cdda_menu.c:331 ++msgid "Songwriter" ++msgstr "" ++ ++#: cdda_menu.c:337 ++msgid "Genre" ++msgstr "" ++ ++#: cdda_menu.c:339 ++msgid "Message" ++msgstr "" ++ ++#: cdda_menu.c:358 cdda_menu.c:372 ++msgid "off" ++msgstr "" ++ ++#: cdda_menu.c:359 ++msgid "no cd-text" ++msgstr "" ++ ++#: cdda_menu.c:360 ++msgid "cache only" ++msgstr "" ++ ++#: cdda_menu.c:361 ++msgid "always" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "Mainmenu entry" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "hide" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "show" ++msgstr "" ++ ++#: cdda_menu.c:364 ++msgid "Information view" ++msgstr "" ++ ++#: cdda_menu.c:365 ++msgid "Skip length (s)" ++msgstr "" ++ ++#: cdda_menu.c:366 ++msgid "Skip back margin (s)" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "Background" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "black" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "live" ++msgstr "" ++ ++#: cdda_menu.c:368 ++msgid "Autostart replay" ++msgstr "" ++ ++#: cdda_menu.c:369 ++msgid "CDDB Priority" ++msgstr "" ++ ++#: cdda_menu.c:370 ++msgid "CDDB Server FQDN" ++msgstr "" ++ ++#: cdda_menu.c:371 ++msgid "CDDB Server Port" ++msgstr "" ++ ++#: cdda_menu.c:372 ++msgid "CDDB Cache" ++msgstr "" ++ ++#: cdda_menu.c:372 ++msgid "on" ++msgstr "" +diff -Nru cdda-0.1.0/po/de_DE.po cdda-0.1.0-gettext-i18n/po/de_DE.po +--- cdda-0.1.0/po/de_DE.po 1970-01-01 01:00:00.000000000 +0100 ++++ cdda-0.1.0-gettext-i18n/po/de_DE.po 2008-03-30 16:42:56.000000000 +0200 +@@ -0,0 +1,225 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Klaus Schmidinger <kls@cadsoft.de>, 2000 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 15:55+0200\n" ++"PO-Revision-Date: 2008-03-30 15:55+0200\n" ++"Last-Translator: Klaus Schmidinger <kls@cadsoft.de>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-15\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: audio_player.c:441 audio_player.c:551 ++msgid "Disc" ++msgstr "Disk" ++ ++#: audio_player.c:443 audio_player.c:553 cdda_menu.c:320 ++msgid "Album" ++msgstr "Album" ++ ++#: audio_player.c:445 audio_player.c:555 cdda_menu.c:87 cdda_menu.c:318 ++#: cdda_menu.c:333 ++msgid "Artist" ++msgstr "Interpret" ++ ++#: audio_player.c:447 audio_player.c:557 cdda_menu.c:335 ++msgid "Title" ++msgstr "Titel" ++ ++#: audio_player.c:455 audio_player.c:467 cdda_menu.c:159 ++msgid "Jump to title" ++msgstr "Springe zu Titel" ++ ++#: audio_player.c:512 ++msgid "Playlist" ++msgstr "Spielliste" ++ ++#: cdda.c:20 ++msgid "music cd player" ++msgstr "Musik CD Player" ++ ++#: cdda.c:21 cdda_menu.c:17 ++msgid "CD Player" ++msgstr "CD Player" ++ ++#: cdda_menu.c:35 ++msgid "Loading disc information" ++msgstr "Lade Disk Informationen" ++ ++#: cdda_menu.c:88 cdda_menu.c:364 ++msgid "Track" ++msgstr "Titel" ++ ++#: cdda_menu.c:95 cdda_menu.c:217 ++msgid "Commands" ++msgstr "Befehle" ++ ++#: cdda_menu.c:96 cdda_menu.c:364 ++msgid "All" ++msgstr "Alle" ++ ++#: cdda_menu.c:96 ++msgid "Program" ++msgstr "Programm" ++ ++#: cdda_menu.c:96 ++msgid "Single" ++msgstr "" ++ ++#: cdda_menu.c:97 ++msgid "Eject" ++msgstr "Auswerfen" ++ ++#: cdda_menu.c:98 cdda_menu.c:151 ++msgid "Information" ++msgstr "" ++ ++#: cdda_menu.c:100 ++msgid "No music cd in your drive" ++msgstr "Keine Musik CD eingelegt" ++ ++#: cdda_menu.c:103 ++msgid "Refresh" ++msgstr "Aktualisieren" ++ ++#: cdda_menu.c:198 ++msgid "Cannot eject disc while playing" ++msgstr "Disk kann nicht ausgeworfen werden" ++ ++#: cdda_menu.c:230 ++msgid "Add to playlist" ++msgstr "Hinzufügen zur Spielliste" ++ ++#: cdda_menu.c:232 ++msgid "Remove from playlist" ++msgstr "Entfernen von der Spielliste" ++ ++#: cdda_menu.c:235 ++msgid "Next disc/track tag" ++msgstr "Nächstes Disk/Track-Tag" ++ ++#: cdda_menu.c:239 ++msgid "Delete current tag" ++msgstr "Aktuelles Tag löschen" ++ ++#: cdda_menu.c:267 ++msgid "Only one disc/track tag available" ++msgstr "Nur ein Disk/Track-Tag verfügbar" ++ ++#: cdda_menu.c:285 ++msgid "Cannot delete current tag" ++msgstr "Aktuelles Tag kann nicht gelöscht werden" ++ ++#: cdda_menu.c:316 ++msgid "Disc information" ++msgstr "Disk Informationen" ++ ++#: cdda_menu.c:322 ++msgid "Disc ID" ++msgstr "Disk ID" ++ ++#: cdda_menu.c:325 ++msgid "Track information" ++msgstr "Titel Informationen" ++ ++#: cdda_menu.c:327 ++msgid "Arranger" ++msgstr "Bearbeiter" ++ ++#: cdda_menu.c:329 ++msgid "Composer" ++msgstr "Komponist" ++ ++#: cdda_menu.c:331 ++msgid "Songwriter" ++msgstr "Textdichter" ++ ++#: cdda_menu.c:337 ++msgid "Genre" ++msgstr "" ++ ++#: cdda_menu.c:339 ++msgid "Message" ++msgstr "Zusatztext" ++ ++#: cdda_menu.c:358 cdda_menu.c:372 ++msgid "off" ++msgstr "aus" ++ ++#: cdda_menu.c:359 ++msgid "no cd-text" ++msgstr "kein CD-Text" ++ ++#: cdda_menu.c:360 ++msgid "cache only" ++msgstr "nur Cache" ++ ++#: cdda_menu.c:361 ++msgid "always" ++msgstr "immer" ++ ++#: cdda_menu.c:363 ++msgid "Mainmenu entry" ++msgstr "Menüeintrag" ++ ++#: cdda_menu.c:363 ++msgid "hide" ++msgstr "verstecken" ++ ++#: cdda_menu.c:363 ++msgid "show" ++msgstr "anzeigen" ++ ++#: cdda_menu.c:364 ++msgid "Information view" ++msgstr "Informationsansicht" ++ ++#: cdda_menu.c:365 ++msgid "Skip length (s)" ++msgstr "Sprungweite (s)" ++ ++#: cdda_menu.c:366 ++msgid "Skip back margin (s)" ++msgstr "Sprunggrenze (s)" ++ ++#: cdda_menu.c:367 ++msgid "Background" ++msgstr "Hintergrund" ++ ++#: cdda_menu.c:367 ++msgid "black" ++msgstr "schwarz" ++ ++#: cdda_menu.c:367 ++msgid "live" ++msgstr "" ++ ++#: cdda_menu.c:368 ++msgid "Autostart replay" ++msgstr "Wiedergabe automatisch starten" ++ ++#: cdda_menu.c:369 ++msgid "CDDB Priority" ++msgstr "CDDB Priorität" ++ ++#: cdda_menu.c:370 ++msgid "CDDB Server FQDN" ++msgstr "CDDB Server FQDN" ++ ++#: cdda_menu.c:371 ++msgid "CDDB Server Port" ++msgstr "CDDB Server Port" ++ ++#: cdda_menu.c:372 ++msgid "CDDB Cache" ++msgstr "" ++ ++#: cdda_menu.c:372 ++msgid "on" ++msgstr "an" +diff -Nru cdda-0.1.0/po/el_GR.po cdda-0.1.0-gettext-i18n/po/el_GR.po +--- cdda-0.1.0/po/el_GR.po 1970-01-01 01:00:00.000000000 +0100 ++++ cdda-0.1.0-gettext-i18n/po/el_GR.po 2008-03-30 16:42:56.000000000 +0200 +@@ -0,0 +1,225 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Dimitrios Dimitrakos <mail@dimitrios.de>, 2002 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 15:55+0200\n" ++"PO-Revision-Date: 2008-03-30 15:55+0200\n" ++"Last-Translator: Dimitrios Dimitrakos <mail@dimitrios.de>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-7\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: audio_player.c:441 audio_player.c:551 ++msgid "Disc" ++msgstr "" ++ ++#: audio_player.c:443 audio_player.c:553 cdda_menu.c:320 ++msgid "Album" ++msgstr "" ++ ++#: audio_player.c:445 audio_player.c:555 cdda_menu.c:87 cdda_menu.c:318 ++#: cdda_menu.c:333 ++msgid "Artist" ++msgstr "" ++ ++#: audio_player.c:447 audio_player.c:557 cdda_menu.c:335 ++msgid "Title" ++msgstr "" ++ ++#: audio_player.c:455 audio_player.c:467 cdda_menu.c:159 ++msgid "Jump to title" ++msgstr "" ++ ++#: audio_player.c:512 ++msgid "Playlist" ++msgstr "" ++ ++#: cdda.c:20 ++msgid "music cd player" ++msgstr "" ++ ++#: cdda.c:21 cdda_menu.c:17 ++msgid "CD Player" ++msgstr "" ++ ++#: cdda_menu.c:35 ++msgid "Loading disc information" ++msgstr "" ++ ++#: cdda_menu.c:88 cdda_menu.c:364 ++msgid "Track" ++msgstr "" ++ ++#: cdda_menu.c:95 cdda_menu.c:217 ++msgid "Commands" ++msgstr "" ++ ++#: cdda_menu.c:96 cdda_menu.c:364 ++msgid "All" ++msgstr "" ++ ++#: cdda_menu.c:96 ++msgid "Program" ++msgstr "" ++ ++#: cdda_menu.c:96 ++msgid "Single" ++msgstr "" ++ ++#: cdda_menu.c:97 ++msgid "Eject" ++msgstr "" ++ ++#: cdda_menu.c:98 cdda_menu.c:151 ++msgid "Information" ++msgstr "" ++ ++#: cdda_menu.c:100 ++msgid "No music cd in your drive" ++msgstr "" ++ ++#: cdda_menu.c:103 ++msgid "Refresh" ++msgstr "" ++ ++#: cdda_menu.c:198 ++msgid "Cannot eject disc while playing" ++msgstr "" ++ ++#: cdda_menu.c:230 ++msgid "Add to playlist" ++msgstr "" ++ ++#: cdda_menu.c:232 ++msgid "Remove from playlist" ++msgstr "" ++ ++#: cdda_menu.c:235 ++msgid "Next disc/track tag" ++msgstr "" ++ ++#: cdda_menu.c:239 ++msgid "Delete current tag" ++msgstr "" ++ ++#: cdda_menu.c:267 ++msgid "Only one disc/track tag available" ++msgstr "" ++ ++#: cdda_menu.c:285 ++msgid "Cannot delete current tag" ++msgstr "" ++ ++#: cdda_menu.c:316 ++msgid "Disc information" ++msgstr "" ++ ++#: cdda_menu.c:322 ++msgid "Disc ID" ++msgstr "" ++ ++#: cdda_menu.c:325 ++msgid "Track information" ++msgstr "" ++ ++#: cdda_menu.c:327 ++msgid "Arranger" ++msgstr "" ++ ++#: cdda_menu.c:329 ++msgid "Composer" ++msgstr "" ++ ++#: cdda_menu.c:331 ++msgid "Songwriter" ++msgstr "" ++ ++#: cdda_menu.c:337 ++msgid "Genre" ++msgstr "" ++ ++#: cdda_menu.c:339 ++msgid "Message" ++msgstr "" ++ ++#: cdda_menu.c:358 cdda_menu.c:372 ++msgid "off" ++msgstr "" ++ ++#: cdda_menu.c:359 ++msgid "no cd-text" ++msgstr "" ++ ++#: cdda_menu.c:360 ++msgid "cache only" ++msgstr "" ++ ++#: cdda_menu.c:361 ++msgid "always" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "Mainmenu entry" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "hide" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "show" ++msgstr "" ++ ++#: cdda_menu.c:364 ++msgid "Information view" ++msgstr "" ++ ++#: cdda_menu.c:365 ++msgid "Skip length (s)" ++msgstr "" ++ ++#: cdda_menu.c:366 ++msgid "Skip back margin (s)" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "Background" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "black" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "live" ++msgstr "" ++ ++#: cdda_menu.c:368 ++msgid "Autostart replay" ++msgstr "" ++ ++#: cdda_menu.c:369 ++msgid "CDDB Priority" ++msgstr "" ++ ++#: cdda_menu.c:370 ++msgid "CDDB Server FQDN" ++msgstr "" ++ ++#: cdda_menu.c:371 ++msgid "CDDB Server Port" ++msgstr "" ++ ++#: cdda_menu.c:372 ++msgid "CDDB Cache" ++msgstr "" ++ ++#: cdda_menu.c:372 ++msgid "on" ++msgstr "" +diff -Nru cdda-0.1.0/po/es_ES.po cdda-0.1.0-gettext-i18n/po/es_ES.po +--- cdda-0.1.0/po/es_ES.po 1970-01-01 01:00:00.000000000 +0100 ++++ cdda-0.1.0-gettext-i18n/po/es_ES.po 2008-03-30 16:42:56.000000000 +0200 +@@ -0,0 +1,225 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Ruben Nunez Francisco <ruben.nunez@tang-it.com>, 2002 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 15:55+0200\n" ++"PO-Revision-Date: 2008-03-30 15:55+0200\n" ++"Last-Translator: Ruben Nunez Francisco <ruben.nunez@tang-it.com>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-15\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: audio_player.c:441 audio_player.c:551 ++msgid "Disc" ++msgstr "" ++ ++#: audio_player.c:443 audio_player.c:553 cdda_menu.c:320 ++msgid "Album" ++msgstr "" ++ ++#: audio_player.c:445 audio_player.c:555 cdda_menu.c:87 cdda_menu.c:318 ++#: cdda_menu.c:333 ++msgid "Artist" ++msgstr "" ++ ++#: audio_player.c:447 audio_player.c:557 cdda_menu.c:335 ++msgid "Title" ++msgstr "" ++ ++#: audio_player.c:455 audio_player.c:467 cdda_menu.c:159 ++msgid "Jump to title" ++msgstr "" ++ ++#: audio_player.c:512 ++msgid "Playlist" ++msgstr "" ++ ++#: cdda.c:20 ++msgid "music cd player" ++msgstr "" ++ ++#: cdda.c:21 cdda_menu.c:17 ++msgid "CD Player" ++msgstr "" ++ ++#: cdda_menu.c:35 ++msgid "Loading disc information" ++msgstr "" ++ ++#: cdda_menu.c:88 cdda_menu.c:364 ++msgid "Track" ++msgstr "" ++ ++#: cdda_menu.c:95 cdda_menu.c:217 ++msgid "Commands" ++msgstr "" ++ ++#: cdda_menu.c:96 cdda_menu.c:364 ++msgid "All" ++msgstr "" ++ ++#: cdda_menu.c:96 ++msgid "Program" ++msgstr "" ++ ++#: cdda_menu.c:96 ++msgid "Single" ++msgstr "" ++ ++#: cdda_menu.c:97 ++msgid "Eject" ++msgstr "" ++ ++#: cdda_menu.c:98 cdda_menu.c:151 ++msgid "Information" ++msgstr "" ++ ++#: cdda_menu.c:100 ++msgid "No music cd in your drive" ++msgstr "" ++ ++#: cdda_menu.c:103 ++msgid "Refresh" ++msgstr "" ++ ++#: cdda_menu.c:198 ++msgid "Cannot eject disc while playing" ++msgstr "" ++ ++#: cdda_menu.c:230 ++msgid "Add to playlist" ++msgstr "" ++ ++#: cdda_menu.c:232 ++msgid "Remove from playlist" ++msgstr "" ++ ++#: cdda_menu.c:235 ++msgid "Next disc/track tag" ++msgstr "" ++ ++#: cdda_menu.c:239 ++msgid "Delete current tag" ++msgstr "" ++ ++#: cdda_menu.c:267 ++msgid "Only one disc/track tag available" ++msgstr "" ++ ++#: cdda_menu.c:285 ++msgid "Cannot delete current tag" ++msgstr "" ++ ++#: cdda_menu.c:316 ++msgid "Disc information" ++msgstr "" ++ ++#: cdda_menu.c:322 ++msgid "Disc ID" ++msgstr "" ++ ++#: cdda_menu.c:325 ++msgid "Track information" ++msgstr "" ++ ++#: cdda_menu.c:327 ++msgid "Arranger" ++msgstr "" ++ ++#: cdda_menu.c:329 ++msgid "Composer" ++msgstr "" ++ ++#: cdda_menu.c:331 ++msgid "Songwriter" ++msgstr "" ++ ++#: cdda_menu.c:337 ++msgid "Genre" ++msgstr "" ++ ++#: cdda_menu.c:339 ++msgid "Message" ++msgstr "" ++ ++#: cdda_menu.c:358 cdda_menu.c:372 ++msgid "off" ++msgstr "" ++ ++#: cdda_menu.c:359 ++msgid "no cd-text" ++msgstr "" ++ ++#: cdda_menu.c:360 ++msgid "cache only" ++msgstr "" ++ ++#: cdda_menu.c:361 ++msgid "always" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "Mainmenu entry" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "hide" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "show" ++msgstr "" ++ ++#: cdda_menu.c:364 ++msgid "Information view" ++msgstr "" ++ ++#: cdda_menu.c:365 ++msgid "Skip length (s)" ++msgstr "" ++ ++#: cdda_menu.c:366 ++msgid "Skip back margin (s)" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "Background" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "black" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "live" ++msgstr "" ++ ++#: cdda_menu.c:368 ++msgid "Autostart replay" ++msgstr "" ++ ++#: cdda_menu.c:369 ++msgid "CDDB Priority" ++msgstr "" ++ ++#: cdda_menu.c:370 ++msgid "CDDB Server FQDN" ++msgstr "" ++ ++#: cdda_menu.c:371 ++msgid "CDDB Server Port" ++msgstr "" ++ ++#: cdda_menu.c:372 ++msgid "CDDB Cache" ++msgstr "" ++ ++#: cdda_menu.c:372 ++msgid "on" ++msgstr "" +diff -Nru cdda-0.1.0/po/et_EE.po cdda-0.1.0-gettext-i18n/po/et_EE.po +--- cdda-0.1.0/po/et_EE.po 1970-01-01 01:00:00.000000000 +0100 ++++ cdda-0.1.0-gettext-i18n/po/et_EE.po 2008-03-30 16:42:56.000000000 +0200 +@@ -0,0 +1,225 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Arthur Konovalov <kasjas@hot.ee>, 2004 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 15:55+0200\n" ++"PO-Revision-Date: 2008-03-30 15:55+0200\n" ++"Last-Translator: Arthur Konovalov <kasjas@hot.ee>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-13\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: audio_player.c:441 audio_player.c:551 ++msgid "Disc" ++msgstr "" ++ ++#: audio_player.c:443 audio_player.c:553 cdda_menu.c:320 ++msgid "Album" ++msgstr "" ++ ++#: audio_player.c:445 audio_player.c:555 cdda_menu.c:87 cdda_menu.c:318 ++#: cdda_menu.c:333 ++msgid "Artist" ++msgstr "" ++ ++#: audio_player.c:447 audio_player.c:557 cdda_menu.c:335 ++msgid "Title" ++msgstr "" ++ ++#: audio_player.c:455 audio_player.c:467 cdda_menu.c:159 ++msgid "Jump to title" ++msgstr "" ++ ++#: audio_player.c:512 ++msgid "Playlist" ++msgstr "" ++ ++#: cdda.c:20 ++msgid "music cd player" ++msgstr "" ++ ++#: cdda.c:21 cdda_menu.c:17 ++msgid "CD Player" ++msgstr "" ++ ++#: cdda_menu.c:35 ++msgid "Loading disc information" ++msgstr "" ++ ++#: cdda_menu.c:88 cdda_menu.c:364 ++msgid "Track" ++msgstr "" ++ ++#: cdda_menu.c:95 cdda_menu.c:217 ++msgid "Commands" ++msgstr "" ++ ++#: cdda_menu.c:96 cdda_menu.c:364 ++msgid "All" ++msgstr "" ++ ++#: cdda_menu.c:96 ++msgid "Program" ++msgstr "" ++ ++#: cdda_menu.c:96 ++msgid "Single" ++msgstr "" ++ ++#: cdda_menu.c:97 ++msgid "Eject" ++msgstr "" ++ ++#: cdda_menu.c:98 cdda_menu.c:151 ++msgid "Information" ++msgstr "" ++ ++#: cdda_menu.c:100 ++msgid "No music cd in your drive" ++msgstr "" ++ ++#: cdda_menu.c:103 ++msgid "Refresh" ++msgstr "" ++ ++#: cdda_menu.c:198 ++msgid "Cannot eject disc while playing" ++msgstr "" ++ ++#: cdda_menu.c:230 ++msgid "Add to playlist" ++msgstr "" ++ ++#: cdda_menu.c:232 ++msgid "Remove from playlist" ++msgstr "" ++ ++#: cdda_menu.c:235 ++msgid "Next disc/track tag" ++msgstr "" ++ ++#: cdda_menu.c:239 ++msgid "Delete current tag" ++msgstr "" ++ ++#: cdda_menu.c:267 ++msgid "Only one disc/track tag available" ++msgstr "" ++ ++#: cdda_menu.c:285 ++msgid "Cannot delete current tag" ++msgstr "" ++ ++#: cdda_menu.c:316 ++msgid "Disc information" ++msgstr "" ++ ++#: cdda_menu.c:322 ++msgid "Disc ID" ++msgstr "" ++ ++#: cdda_menu.c:325 ++msgid "Track information" ++msgstr "" ++ ++#: cdda_menu.c:327 ++msgid "Arranger" ++msgstr "" ++ ++#: cdda_menu.c:329 ++msgid "Composer" ++msgstr "" ++ ++#: cdda_menu.c:331 ++msgid "Songwriter" ++msgstr "" ++ ++#: cdda_menu.c:337 ++msgid "Genre" ++msgstr "" ++ ++#: cdda_menu.c:339 ++msgid "Message" ++msgstr "" ++ ++#: cdda_menu.c:358 cdda_menu.c:372 ++msgid "off" ++msgstr "" ++ ++#: cdda_menu.c:359 ++msgid "no cd-text" ++msgstr "" ++ ++#: cdda_menu.c:360 ++msgid "cache only" ++msgstr "" ++ ++#: cdda_menu.c:361 ++msgid "always" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "Mainmenu entry" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "hide" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "show" ++msgstr "" ++ ++#: cdda_menu.c:364 ++msgid "Information view" ++msgstr "" ++ ++#: cdda_menu.c:365 ++msgid "Skip length (s)" ++msgstr "" ++ ++#: cdda_menu.c:366 ++msgid "Skip back margin (s)" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "Background" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "black" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "live" ++msgstr "" ++ ++#: cdda_menu.c:368 ++msgid "Autostart replay" ++msgstr "" ++ ++#: cdda_menu.c:369 ++msgid "CDDB Priority" ++msgstr "" ++ ++#: cdda_menu.c:370 ++msgid "CDDB Server FQDN" ++msgstr "" ++ ++#: cdda_menu.c:371 ++msgid "CDDB Server Port" ++msgstr "" ++ ++#: cdda_menu.c:372 ++msgid "CDDB Cache" ++msgstr "" ++ ++#: cdda_menu.c:372 ++msgid "on" ++msgstr "" +diff -Nru cdda-0.1.0/po/fi_FI.po cdda-0.1.0-gettext-i18n/po/fi_FI.po +--- cdda-0.1.0/po/fi_FI.po 1970-01-01 01:00:00.000000000 +0100 ++++ cdda-0.1.0-gettext-i18n/po/fi_FI.po 2008-03-30 16:42:56.000000000 +0200 +@@ -0,0 +1,228 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Hannu Savolainen <hannu@opensound.com>, 2002 ++# Jaakko Hyvätti <jaakko@hyvatti.iki.fi>, 2002 ++# Niko Tarnanen <niko.tarnanen@hut.fi>, 2003 ++# Rolf Ahrenberg <rahrenbe@cc.hut.fi>, 2003 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 15:55+0200\n" ++"PO-Revision-Date: 2008-03-30 15:55+0200\n" ++"Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-15\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: audio_player.c:441 audio_player.c:551 ++msgid "Disc" ++msgstr "Levy" ++ ++#: audio_player.c:443 audio_player.c:553 cdda_menu.c:320 ++msgid "Album" ++msgstr "Albumi" ++ ++#: audio_player.c:445 audio_player.c:555 cdda_menu.c:87 cdda_menu.c:318 ++#: cdda_menu.c:333 ++msgid "Artist" ++msgstr "Esittäjä" ++ ++#: audio_player.c:447 audio_player.c:557 cdda_menu.c:335 ++msgid "Title" ++msgstr "Nimi" ++ ++#: audio_player.c:455 audio_player.c:467 cdda_menu.c:159 ++msgid "Jump to title" ++msgstr "Siirry" ++ ++#: audio_player.c:512 ++msgid "Playlist" ++msgstr "Soittolista" ++ ++#: cdda.c:20 ++msgid "music cd player" ++msgstr "CD-soitin" ++ ++#: cdda.c:21 cdda_menu.c:17 ++msgid "CD Player" ++msgstr "CD-soitin" ++ ++#: cdda_menu.c:35 ++msgid "Loading disc information" ++msgstr "Ladataan levyn tietoja" ++ ++#: cdda_menu.c:88 cdda_menu.c:364 ++msgid "Track" ++msgstr "Kappale" ++ ++#: cdda_menu.c:95 cdda_menu.c:217 ++msgid "Commands" ++msgstr "Komennot" ++ ++#: cdda_menu.c:96 cdda_menu.c:364 ++msgid "All" ++msgstr "Kaikki" ++ ++#: cdda_menu.c:96 ++msgid "Program" ++msgstr "Ohjelmoidut" ++ ++#: cdda_menu.c:96 ++msgid "Single" ++msgstr "Valittu" ++ ++#: cdda_menu.c:97 ++msgid "Eject" ++msgstr "Avaa" ++ ++#: cdda_menu.c:98 cdda_menu.c:151 ++msgid "Information" ++msgstr "Tiedot" ++ ++#: cdda_menu.c:100 ++msgid "No music cd in your drive" ++msgstr "Asemassa ei ole CD-levyä" ++ ++#: cdda_menu.c:103 ++msgid "Refresh" ++msgstr "Päivitä" ++ ++#: cdda_menu.c:198 ++msgid "Cannot eject disc while playing" ++msgstr "Asemaa ei voida avata soitettaessa" ++ ++#: cdda_menu.c:230 ++msgid "Add to playlist" ++msgstr "Lisää soittolistalle" ++ ++#: cdda_menu.c:232 ++msgid "Remove from playlist" ++msgstr "Poista soittolistalta" ++ ++#: cdda_menu.c:235 ++msgid "Next disc/track tag" ++msgstr "Vaihda levyn/kappaleen tiedot" ++ ++#: cdda_menu.c:239 ++msgid "Delete current tag" ++msgstr "Poista nykyiset tiedot" ++ ++#: cdda_menu.c:267 ++msgid "Only one disc/track tag available" ++msgstr "Vain yhdet levyn/kappaleen tiedot saatavilla" ++ ++#: cdda_menu.c:285 ++msgid "Cannot delete current tag" ++msgstr "Nykyisiä tietoja ei voida poistaa" ++ ++#: cdda_menu.c:316 ++msgid "Disc information" ++msgstr "Levyn tiedot" ++ ++#: cdda_menu.c:322 ++msgid "Disc ID" ++msgstr "Levyn tunniste" ++ ++#: cdda_menu.c:325 ++msgid "Track information" ++msgstr "Kappaleen tiedot" ++ ++#: cdda_menu.c:327 ++msgid "Arranger" ++msgstr "Tuottaja" ++ ++#: cdda_menu.c:329 ++msgid "Composer" ++msgstr "Säveltäjä" ++ ++#: cdda_menu.c:331 ++msgid "Songwriter" ++msgstr "Sanoittaja" ++ ++#: cdda_menu.c:337 ++msgid "Genre" ++msgstr "Tyylilaji" ++ ++#: cdda_menu.c:339 ++msgid "Message" ++msgstr "Lisätiedot" ++ ++#: cdda_menu.c:358 cdda_menu.c:372 ++msgid "off" ++msgstr "ei" ++ ++#: cdda_menu.c:359 ++msgid "no cd-text" ++msgstr "ei CD-tekstiä" ++ ++#: cdda_menu.c:360 ++msgid "cache only" ++msgstr "vain välimuisti" ++ ++#: cdda_menu.c:361 ++msgid "always" ++msgstr "aina" ++ ++#: cdda_menu.c:363 ++msgid "Mainmenu entry" ++msgstr "Valinta päävalikossa" ++ ++#: cdda_menu.c:363 ++msgid "hide" ++msgstr "piilota" ++ ++#: cdda_menu.c:363 ++msgid "show" ++msgstr "näytä" ++ ++#: cdda_menu.c:364 ++msgid "Information view" ++msgstr "Näytä oletuksena seuraavat tiedot" ++ ++#: cdda_menu.c:365 ++msgid "Skip length (s)" ++msgstr "Hypyn pituus (s)" ++ ++#: cdda_menu.c:366 ++msgid "Skip back margin (s)" ++msgstr "Hyppy kappaleen alkuun (s)" ++ ++#: cdda_menu.c:367 ++msgid "Background" ++msgstr "Tausta" ++ ++#: cdda_menu.c:367 ++msgid "black" ++msgstr "musta" ++ ++#: cdda_menu.c:367 ++msgid "live" ++msgstr "live-kuva" ++ ++#: cdda_menu.c:368 ++msgid "Autostart replay" ++msgstr "Automaattinen toisto" ++ ++#: cdda_menu.c:369 ++msgid "CDDB Priority" ++msgstr "Käytä CDDB-tietoja" ++ ++#: cdda_menu.c:370 ++msgid "CDDB Server FQDN" ++msgstr "CDDB-palvelimen osoite" ++ ++#: cdda_menu.c:371 ++msgid "CDDB Server Port" ++msgstr "CDDB-palvelimen portti" ++ ++#: cdda_menu.c:372 ++msgid "CDDB Cache" ++msgstr "Käytä CDDB-välimuistia" ++ ++#: cdda_menu.c:372 ++msgid "on" ++msgstr "kyllä" +diff -Nru cdda-0.1.0/po/fr_FR.po cdda-0.1.0-gettext-i18n/po/fr_FR.po +--- cdda-0.1.0/po/fr_FR.po 1970-01-01 01:00:00.000000000 +0100 ++++ cdda-0.1.0-gettext-i18n/po/fr_FR.po 2008-03-30 16:42:56.000000000 +0200 +@@ -0,0 +1,228 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Jean-Claude Repetto <jc@repetto.org>, 2001 ++# Olivier Jacques <jacquesolivier@hotmail.com>, 2003 ++# Gregoire Favre <greg@magma.unil.ch>, 2003 ++# Nicolas Huillard <nhuillard@e-dition.fr>, 2005 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 15:55+0200\n" ++"PO-Revision-Date: 2008-03-30 15:55+0200\n" ++"Last-Translator: Nicolas Huillard <nhuillard@e-dition.fr>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-1\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: audio_player.c:441 audio_player.c:551 ++msgid "Disc" ++msgstr "Disque" ++ ++#: audio_player.c:443 audio_player.c:553 cdda_menu.c:320 ++msgid "Album" ++msgstr "Album" ++ ++#: audio_player.c:445 audio_player.c:555 cdda_menu.c:87 cdda_menu.c:318 ++#: cdda_menu.c:333 ++msgid "Artist" ++msgstr "Artiste" ++ ++#: audio_player.c:447 audio_player.c:557 cdda_menu.c:335 ++msgid "Title" ++msgstr "Titre" ++ ++#: audio_player.c:455 audio_player.c:467 cdda_menu.c:159 ++msgid "Jump to title" ++msgstr "Aller a" ++ ++#: audio_player.c:512 ++msgid "Playlist" ++msgstr "Liste de lecture" ++ ++#: cdda.c:20 ++msgid "music cd player" ++msgstr "Lecteur de CD Audio" ++ ++#: cdda.c:21 cdda_menu.c:17 ++msgid "CD Player" ++msgstr "Lecteur de CD" ++ ++#: cdda_menu.c:35 ++msgid "Loading disc information" ++msgstr "Chargement des informations du disque" ++ ++#: cdda_menu.c:88 cdda_menu.c:364 ++msgid "Track" ++msgstr "Piste" ++ ++#: cdda_menu.c:95 cdda_menu.c:217 ++msgid "Commands" ++msgstr "Commandes" ++ ++#: cdda_menu.c:96 cdda_menu.c:364 ++msgid "All" ++msgstr "Toutes" ++ ++#: cdda_menu.c:96 ++msgid "Program" ++msgstr "Programme" ++ ++#: cdda_menu.c:96 ++msgid "Single" ++msgstr "Simple" ++ ++#: cdda_menu.c:97 ++msgid "Eject" ++msgstr "Ejecter" ++ ++#: cdda_menu.c:98 cdda_menu.c:151 ++msgid "Information" ++msgstr "Information" ++ ++#: cdda_menu.c:100 ++msgid "No music cd in your drive" ++msgstr "Pas de CD Audio dans le lecteur" ++ ++#: cdda_menu.c:103 ++msgid "Refresh" ++msgstr "Rafraichir" ++ ++#: cdda_menu.c:198 ++msgid "Cannot eject disc while playing" ++msgstr "Ejection du disque impossible pendant la lecture" ++ ++#: cdda_menu.c:230 ++msgid "Add to playlist" ++msgstr "Ajouter à la liste de lecture" ++ ++#: cdda_menu.c:232 ++msgid "Remove from playlist" ++msgstr "Supprimer de la liste de lecture" ++ ++#: cdda_menu.c:235 ++msgid "Next disc/track tag" ++msgstr "Prochain tag disque/piste" ++ ++#: cdda_menu.c:239 ++msgid "Delete current tag" ++msgstr "Supprimer tag courant" ++ ++#: cdda_menu.c:267 ++msgid "Only one disc/track tag available" ++msgstr "Seulement un tag disque/piste disponible" ++ ++#: cdda_menu.c:285 ++msgid "Cannot delete current tag" ++msgstr "Ne peut pas supprimer tag courant" ++ ++#: cdda_menu.c:316 ++msgid "Disc information" ++msgstr "Information du disque" ++ ++#: cdda_menu.c:322 ++msgid "Disc ID" ++msgstr "ID du disque" ++ ++#: cdda_menu.c:325 ++msgid "Track information" ++msgstr "Information de la piste" ++ ++#: cdda_menu.c:327 ++msgid "Arranger" ++msgstr "Arrangeur" ++ ++#: cdda_menu.c:329 ++msgid "Composer" ++msgstr "Compositeur" ++ ++#: cdda_menu.c:331 ++msgid "Songwriter" ++msgstr "Parolier" ++ ++#: cdda_menu.c:337 ++msgid "Genre" ++msgstr "Genre" ++ ++#: cdda_menu.c:339 ++msgid "Message" ++msgstr "Message" ++ ++#: cdda_menu.c:358 cdda_menu.c:372 ++msgid "off" ++msgstr "éteint" ++ ++#: cdda_menu.c:359 ++msgid "no cd-text" ++msgstr "Pas de CD-Text" ++ ++#: cdda_menu.c:360 ++msgid "cache only" ++msgstr "Cache seulement" ++ ++#: cdda_menu.c:361 ++msgid "always" ++msgstr "toujours" ++ ++#: cdda_menu.c:363 ++msgid "Mainmenu entry" ++msgstr "Menu Principal" ++ ++#: cdda_menu.c:363 ++msgid "hide" ++msgstr "cacher" ++ ++#: cdda_menu.c:363 ++msgid "show" ++msgstr "voir" ++ ++#: cdda_menu.c:364 ++msgid "Information view" ++msgstr "Visualisation des informations" ++ ++#: cdda_menu.c:365 ++msgid "Skip length (s)" ++msgstr "Longueur de saut (s)" ++ ++#: cdda_menu.c:366 ++msgid "Skip back margin (s)" ++msgstr "Marge saut arrière (s)" ++ ++#: cdda_menu.c:367 ++msgid "Background" ++msgstr "Arrière Plan" ++ ++#: cdda_menu.c:367 ++msgid "black" ++msgstr "noir" ++ ++#: cdda_menu.c:367 ++msgid "live" ++msgstr "vidéo" ++ ++#: cdda_menu.c:368 ++msgid "Autostart replay" ++msgstr "Lecture automatique" ++ ++#: cdda_menu.c:369 ++msgid "CDDB Priority" ++msgstr "Priorité du serveur CDDB" ++ ++#: cdda_menu.c:370 ++msgid "CDDB Server FQDN" ++msgstr "Adresse du serveur CDDB" ++ ++#: cdda_menu.c:371 ++msgid "CDDB Server Port" ++msgstr "Port du serveur CDDB" ++ ++#: cdda_menu.c:372 ++msgid "CDDB Cache" ++msgstr "Cache du serveur CDDB" ++ ++#: cdda_menu.c:372 ++msgid "on" ++msgstr "allumé" +diff -Nru cdda-0.1.0/po/hr_HR.po cdda-0.1.0-gettext-i18n/po/hr_HR.po +--- cdda-0.1.0/po/hr_HR.po 1970-01-01 01:00:00.000000000 +0100 ++++ cdda-0.1.0-gettext-i18n/po/hr_HR.po 2008-03-30 16:42:56.000000000 +0200 +@@ -0,0 +1,226 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Drazen Dupor <drazen.dupor@dupor.com>, 2004 ++# Dino Ravnic <dino.ravnic@fer.hr>, 2004 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 15:55+0200\n" ++"PO-Revision-Date: 2008-03-30 15:55+0200\n" ++"Last-Translator: Drazen Dupor <drazen.dupor@dupor.com>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-2\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: audio_player.c:441 audio_player.c:551 ++msgid "Disc" ++msgstr "" ++ ++#: audio_player.c:443 audio_player.c:553 cdda_menu.c:320 ++msgid "Album" ++msgstr "" ++ ++#: audio_player.c:445 audio_player.c:555 cdda_menu.c:87 cdda_menu.c:318 ++#: cdda_menu.c:333 ++msgid "Artist" ++msgstr "" ++ ++#: audio_player.c:447 audio_player.c:557 cdda_menu.c:335 ++msgid "Title" ++msgstr "" ++ ++#: audio_player.c:455 audio_player.c:467 cdda_menu.c:159 ++msgid "Jump to title" ++msgstr "" ++ ++#: audio_player.c:512 ++msgid "Playlist" ++msgstr "" ++ ++#: cdda.c:20 ++msgid "music cd player" ++msgstr "" ++ ++#: cdda.c:21 cdda_menu.c:17 ++msgid "CD Player" ++msgstr "" ++ ++#: cdda_menu.c:35 ++msgid "Loading disc information" ++msgstr "" ++ ++#: cdda_menu.c:88 cdda_menu.c:364 ++msgid "Track" ++msgstr "" ++ ++#: cdda_menu.c:95 cdda_menu.c:217 ++msgid "Commands" ++msgstr "" ++ ++#: cdda_menu.c:96 cdda_menu.c:364 ++msgid "All" ++msgstr "" ++ ++#: cdda_menu.c:96 ++msgid "Program" ++msgstr "" ++ ++#: cdda_menu.c:96 ++msgid "Single" ++msgstr "" ++ ++#: cdda_menu.c:97 ++msgid "Eject" ++msgstr "" ++ ++#: cdda_menu.c:98 cdda_menu.c:151 ++msgid "Information" ++msgstr "" ++ ++#: cdda_menu.c:100 ++msgid "No music cd in your drive" ++msgstr "" ++ ++#: cdda_menu.c:103 ++msgid "Refresh" ++msgstr "" ++ ++#: cdda_menu.c:198 ++msgid "Cannot eject disc while playing" ++msgstr "" ++ ++#: cdda_menu.c:230 ++msgid "Add to playlist" ++msgstr "" ++ ++#: cdda_menu.c:232 ++msgid "Remove from playlist" ++msgstr "" ++ ++#: cdda_menu.c:235 ++msgid "Next disc/track tag" ++msgstr "" ++ ++#: cdda_menu.c:239 ++msgid "Delete current tag" ++msgstr "" ++ ++#: cdda_menu.c:267 ++msgid "Only one disc/track tag available" ++msgstr "" ++ ++#: cdda_menu.c:285 ++msgid "Cannot delete current tag" ++msgstr "" ++ ++#: cdda_menu.c:316 ++msgid "Disc information" ++msgstr "" ++ ++#: cdda_menu.c:322 ++msgid "Disc ID" ++msgstr "" ++ ++#: cdda_menu.c:325 ++msgid "Track information" ++msgstr "" ++ ++#: cdda_menu.c:327 ++msgid "Arranger" ++msgstr "" ++ ++#: cdda_menu.c:329 ++msgid "Composer" ++msgstr "" ++ ++#: cdda_menu.c:331 ++msgid "Songwriter" ++msgstr "" ++ ++#: cdda_menu.c:337 ++msgid "Genre" ++msgstr "" ++ ++#: cdda_menu.c:339 ++msgid "Message" ++msgstr "" ++ ++#: cdda_menu.c:358 cdda_menu.c:372 ++msgid "off" ++msgstr "" ++ ++#: cdda_menu.c:359 ++msgid "no cd-text" ++msgstr "" ++ ++#: cdda_menu.c:360 ++msgid "cache only" ++msgstr "" ++ ++#: cdda_menu.c:361 ++msgid "always" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "Mainmenu entry" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "hide" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "show" ++msgstr "" ++ ++#: cdda_menu.c:364 ++msgid "Information view" ++msgstr "" ++ ++#: cdda_menu.c:365 ++msgid "Skip length (s)" ++msgstr "" ++ ++#: cdda_menu.c:366 ++msgid "Skip back margin (s)" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "Background" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "black" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "live" ++msgstr "" ++ ++#: cdda_menu.c:368 ++msgid "Autostart replay" ++msgstr "" ++ ++#: cdda_menu.c:369 ++msgid "CDDB Priority" ++msgstr "" ++ ++#: cdda_menu.c:370 ++msgid "CDDB Server FQDN" ++msgstr "" ++ ++#: cdda_menu.c:371 ++msgid "CDDB Server Port" ++msgstr "" ++ ++#: cdda_menu.c:372 ++msgid "CDDB Cache" ++msgstr "" ++ ++#: cdda_menu.c:372 ++msgid "on" ++msgstr "" +diff -Nru cdda-0.1.0/po/hu_HU.po cdda-0.1.0-gettext-i18n/po/hu_HU.po +--- cdda-0.1.0/po/hu_HU.po 1970-01-01 01:00:00.000000000 +0100 ++++ cdda-0.1.0-gettext-i18n/po/hu_HU.po 2008-03-30 16:42:56.000000000 +0200 +@@ -0,0 +1,226 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Istvan Koenigsberger <istvnko@hotmail.com>, 2002 ++# Guido Josten <guido.josten@t-online.de>, 2002 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 15:55+0200\n" ++"PO-Revision-Date: 2008-03-30 15:55+0200\n" ++"Last-Translator: Istvan Koenigsberger <istvnko@hotmail.com>, Guido Josten <guido.josten@t-online.de>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-2\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: audio_player.c:441 audio_player.c:551 ++msgid "Disc" ++msgstr "" ++ ++#: audio_player.c:443 audio_player.c:553 cdda_menu.c:320 ++msgid "Album" ++msgstr "" ++ ++#: audio_player.c:445 audio_player.c:555 cdda_menu.c:87 cdda_menu.c:318 ++#: cdda_menu.c:333 ++msgid "Artist" ++msgstr "" ++ ++#: audio_player.c:447 audio_player.c:557 cdda_menu.c:335 ++msgid "Title" ++msgstr "" ++ ++#: audio_player.c:455 audio_player.c:467 cdda_menu.c:159 ++msgid "Jump to title" ++msgstr "" ++ ++#: audio_player.c:512 ++msgid "Playlist" ++msgstr "" ++ ++#: cdda.c:20 ++msgid "music cd player" ++msgstr "" ++ ++#: cdda.c:21 cdda_menu.c:17 ++msgid "CD Player" ++msgstr "" ++ ++#: cdda_menu.c:35 ++msgid "Loading disc information" ++msgstr "" ++ ++#: cdda_menu.c:88 cdda_menu.c:364 ++msgid "Track" ++msgstr "" ++ ++#: cdda_menu.c:95 cdda_menu.c:217 ++msgid "Commands" ++msgstr "" ++ ++#: cdda_menu.c:96 cdda_menu.c:364 ++msgid "All" ++msgstr "" ++ ++#: cdda_menu.c:96 ++msgid "Program" ++msgstr "" ++ ++#: cdda_menu.c:96 ++msgid "Single" ++msgstr "" ++ ++#: cdda_menu.c:97 ++msgid "Eject" ++msgstr "" ++ ++#: cdda_menu.c:98 cdda_menu.c:151 ++msgid "Information" ++msgstr "" ++ ++#: cdda_menu.c:100 ++msgid "No music cd in your drive" ++msgstr "" ++ ++#: cdda_menu.c:103 ++msgid "Refresh" ++msgstr "" ++ ++#: cdda_menu.c:198 ++msgid "Cannot eject disc while playing" ++msgstr "" ++ ++#: cdda_menu.c:230 ++msgid "Add to playlist" ++msgstr "" ++ ++#: cdda_menu.c:232 ++msgid "Remove from playlist" ++msgstr "" ++ ++#: cdda_menu.c:235 ++msgid "Next disc/track tag" ++msgstr "" ++ ++#: cdda_menu.c:239 ++msgid "Delete current tag" ++msgstr "" ++ ++#: cdda_menu.c:267 ++msgid "Only one disc/track tag available" ++msgstr "" ++ ++#: cdda_menu.c:285 ++msgid "Cannot delete current tag" ++msgstr "" ++ ++#: cdda_menu.c:316 ++msgid "Disc information" ++msgstr "" ++ ++#: cdda_menu.c:322 ++msgid "Disc ID" ++msgstr "" ++ ++#: cdda_menu.c:325 ++msgid "Track information" ++msgstr "" ++ ++#: cdda_menu.c:327 ++msgid "Arranger" ++msgstr "" ++ ++#: cdda_menu.c:329 ++msgid "Composer" ++msgstr "" ++ ++#: cdda_menu.c:331 ++msgid "Songwriter" ++msgstr "" ++ ++#: cdda_menu.c:337 ++msgid "Genre" ++msgstr "" ++ ++#: cdda_menu.c:339 ++msgid "Message" ++msgstr "" ++ ++#: cdda_menu.c:358 cdda_menu.c:372 ++msgid "off" ++msgstr "" ++ ++#: cdda_menu.c:359 ++msgid "no cd-text" ++msgstr "" ++ ++#: cdda_menu.c:360 ++msgid "cache only" ++msgstr "" ++ ++#: cdda_menu.c:361 ++msgid "always" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "Mainmenu entry" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "hide" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "show" ++msgstr "" ++ ++#: cdda_menu.c:364 ++msgid "Information view" ++msgstr "" ++ ++#: cdda_menu.c:365 ++msgid "Skip length (s)" ++msgstr "" ++ ++#: cdda_menu.c:366 ++msgid "Skip back margin (s)" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "Background" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "black" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "live" ++msgstr "" ++ ++#: cdda_menu.c:368 ++msgid "Autostart replay" ++msgstr "" ++ ++#: cdda_menu.c:369 ++msgid "CDDB Priority" ++msgstr "" ++ ++#: cdda_menu.c:370 ++msgid "CDDB Server FQDN" ++msgstr "" ++ ++#: cdda_menu.c:371 ++msgid "CDDB Server Port" ++msgstr "" ++ ++#: cdda_menu.c:372 ++msgid "CDDB Cache" ++msgstr "" ++ ++#: cdda_menu.c:372 ++msgid "on" ++msgstr "" +diff -Nru cdda-0.1.0/po/it_IT.po cdda-0.1.0-gettext-i18n/po/it_IT.po +--- cdda-0.1.0/po/it_IT.po 1970-01-01 01:00:00.000000000 +0100 ++++ cdda-0.1.0-gettext-i18n/po/it_IT.po 2008-03-30 16:42:56.000000000 +0200 +@@ -0,0 +1,227 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Alberto Carraro <bertocar@tin.it>, 2001 ++# Antonio Ospite <ospite@studenti.unina.it>, 2003 ++# Sean Carlos <seanc@libero.it>, 2005 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 15:55+0200\n" ++"PO-Revision-Date: 2008-03-30 15:55+0200\n" ++"Last-Translator: Sean Carlos <seanc@libero.it>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-15\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: audio_player.c:441 audio_player.c:551 ++msgid "Disc" ++msgstr "" ++ ++#: audio_player.c:443 audio_player.c:553 cdda_menu.c:320 ++msgid "Album" ++msgstr "" ++ ++#: audio_player.c:445 audio_player.c:555 cdda_menu.c:87 cdda_menu.c:318 ++#: cdda_menu.c:333 ++msgid "Artist" ++msgstr "" ++ ++#: audio_player.c:447 audio_player.c:557 cdda_menu.c:335 ++msgid "Title" ++msgstr "" ++ ++#: audio_player.c:455 audio_player.c:467 cdda_menu.c:159 ++msgid "Jump to title" ++msgstr "" ++ ++#: audio_player.c:512 ++msgid "Playlist" ++msgstr "" ++ ++#: cdda.c:20 ++msgid "music cd player" ++msgstr "" ++ ++#: cdda.c:21 cdda_menu.c:17 ++msgid "CD Player" ++msgstr "" ++ ++#: cdda_menu.c:35 ++msgid "Loading disc information" ++msgstr "" ++ ++#: cdda_menu.c:88 cdda_menu.c:364 ++msgid "Track" ++msgstr "" ++ ++#: cdda_menu.c:95 cdda_menu.c:217 ++msgid "Commands" ++msgstr "" ++ ++#: cdda_menu.c:96 cdda_menu.c:364 ++msgid "All" ++msgstr "" ++ ++#: cdda_menu.c:96 ++msgid "Program" ++msgstr "" ++ ++#: cdda_menu.c:96 ++msgid "Single" ++msgstr "" ++ ++#: cdda_menu.c:97 ++msgid "Eject" ++msgstr "" ++ ++#: cdda_menu.c:98 cdda_menu.c:151 ++msgid "Information" ++msgstr "" ++ ++#: cdda_menu.c:100 ++msgid "No music cd in your drive" ++msgstr "" ++ ++#: cdda_menu.c:103 ++msgid "Refresh" ++msgstr "" ++ ++#: cdda_menu.c:198 ++msgid "Cannot eject disc while playing" ++msgstr "" ++ ++#: cdda_menu.c:230 ++msgid "Add to playlist" ++msgstr "" ++ ++#: cdda_menu.c:232 ++msgid "Remove from playlist" ++msgstr "" ++ ++#: cdda_menu.c:235 ++msgid "Next disc/track tag" ++msgstr "" ++ ++#: cdda_menu.c:239 ++msgid "Delete current tag" ++msgstr "" ++ ++#: cdda_menu.c:267 ++msgid "Only one disc/track tag available" ++msgstr "" ++ ++#: cdda_menu.c:285 ++msgid "Cannot delete current tag" ++msgstr "" ++ ++#: cdda_menu.c:316 ++msgid "Disc information" ++msgstr "" ++ ++#: cdda_menu.c:322 ++msgid "Disc ID" ++msgstr "" ++ ++#: cdda_menu.c:325 ++msgid "Track information" ++msgstr "" ++ ++#: cdda_menu.c:327 ++msgid "Arranger" ++msgstr "" ++ ++#: cdda_menu.c:329 ++msgid "Composer" ++msgstr "" ++ ++#: cdda_menu.c:331 ++msgid "Songwriter" ++msgstr "" ++ ++#: cdda_menu.c:337 ++msgid "Genre" ++msgstr "" ++ ++#: cdda_menu.c:339 ++msgid "Message" ++msgstr "" ++ ++#: cdda_menu.c:358 cdda_menu.c:372 ++msgid "off" ++msgstr "" ++ ++#: cdda_menu.c:359 ++msgid "no cd-text" ++msgstr "" ++ ++#: cdda_menu.c:360 ++msgid "cache only" ++msgstr "" ++ ++#: cdda_menu.c:361 ++msgid "always" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "Mainmenu entry" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "hide" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "show" ++msgstr "" ++ ++#: cdda_menu.c:364 ++msgid "Information view" ++msgstr "" ++ ++#: cdda_menu.c:365 ++msgid "Skip length (s)" ++msgstr "" ++ ++#: cdda_menu.c:366 ++msgid "Skip back margin (s)" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "Background" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "black" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "live" ++msgstr "" ++ ++#: cdda_menu.c:368 ++msgid "Autostart replay" ++msgstr "" ++ ++#: cdda_menu.c:369 ++msgid "CDDB Priority" ++msgstr "" ++ ++#: cdda_menu.c:370 ++msgid "CDDB Server FQDN" ++msgstr "" ++ ++#: cdda_menu.c:371 ++msgid "CDDB Server Port" ++msgstr "" ++ ++#: cdda_menu.c:372 ++msgid "CDDB Cache" ++msgstr "" ++ ++#: cdda_menu.c:372 ++msgid "on" ++msgstr "" +diff -Nru cdda-0.1.0/po/nl_NL.po cdda-0.1.0-gettext-i18n/po/nl_NL.po +--- cdda-0.1.0/po/nl_NL.po 1970-01-01 01:00:00.000000000 +0100 ++++ cdda-0.1.0-gettext-i18n/po/nl_NL.po 2008-03-30 16:42:56.000000000 +0200 +@@ -0,0 +1,227 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Arnold Niessen <niessen@iae.nl> <arnold.niessen@philips.com>, 2001 ++# Hans Dingemans <hans.dingemans@tacticalops.nl>, 2003 ++# Maarten Wisse <Maarten.Wisse@urz.uni-hd.de>, 2005 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 15:55+0200\n" ++"PO-Revision-Date: 2008-03-30 15:55+0200\n" ++"Last-Translator: Maarten Wisse <Maarten.Wisse@urz.uni-hd.de>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-15\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: audio_player.c:441 audio_player.c:551 ++msgid "Disc" ++msgstr "" ++ ++#: audio_player.c:443 audio_player.c:553 cdda_menu.c:320 ++msgid "Album" ++msgstr "" ++ ++#: audio_player.c:445 audio_player.c:555 cdda_menu.c:87 cdda_menu.c:318 ++#: cdda_menu.c:333 ++msgid "Artist" ++msgstr "" ++ ++#: audio_player.c:447 audio_player.c:557 cdda_menu.c:335 ++msgid "Title" ++msgstr "" ++ ++#: audio_player.c:455 audio_player.c:467 cdda_menu.c:159 ++msgid "Jump to title" ++msgstr "" ++ ++#: audio_player.c:512 ++msgid "Playlist" ++msgstr "" ++ ++#: cdda.c:20 ++msgid "music cd player" ++msgstr "" ++ ++#: cdda.c:21 cdda_menu.c:17 ++msgid "CD Player" ++msgstr "" ++ ++#: cdda_menu.c:35 ++msgid "Loading disc information" ++msgstr "" ++ ++#: cdda_menu.c:88 cdda_menu.c:364 ++msgid "Track" ++msgstr "" ++ ++#: cdda_menu.c:95 cdda_menu.c:217 ++msgid "Commands" ++msgstr "" ++ ++#: cdda_menu.c:96 cdda_menu.c:364 ++msgid "All" ++msgstr "" ++ ++#: cdda_menu.c:96 ++msgid "Program" ++msgstr "" ++ ++#: cdda_menu.c:96 ++msgid "Single" ++msgstr "" ++ ++#: cdda_menu.c:97 ++msgid "Eject" ++msgstr "" ++ ++#: cdda_menu.c:98 cdda_menu.c:151 ++msgid "Information" ++msgstr "" ++ ++#: cdda_menu.c:100 ++msgid "No music cd in your drive" ++msgstr "" ++ ++#: cdda_menu.c:103 ++msgid "Refresh" ++msgstr "" ++ ++#: cdda_menu.c:198 ++msgid "Cannot eject disc while playing" ++msgstr "" ++ ++#: cdda_menu.c:230 ++msgid "Add to playlist" ++msgstr "" ++ ++#: cdda_menu.c:232 ++msgid "Remove from playlist" ++msgstr "" ++ ++#: cdda_menu.c:235 ++msgid "Next disc/track tag" ++msgstr "" ++ ++#: cdda_menu.c:239 ++msgid "Delete current tag" ++msgstr "" ++ ++#: cdda_menu.c:267 ++msgid "Only one disc/track tag available" ++msgstr "" ++ ++#: cdda_menu.c:285 ++msgid "Cannot delete current tag" ++msgstr "" ++ ++#: cdda_menu.c:316 ++msgid "Disc information" ++msgstr "" ++ ++#: cdda_menu.c:322 ++msgid "Disc ID" ++msgstr "" ++ ++#: cdda_menu.c:325 ++msgid "Track information" ++msgstr "" ++ ++#: cdda_menu.c:327 ++msgid "Arranger" ++msgstr "" ++ ++#: cdda_menu.c:329 ++msgid "Composer" ++msgstr "" ++ ++#: cdda_menu.c:331 ++msgid "Songwriter" ++msgstr "" ++ ++#: cdda_menu.c:337 ++msgid "Genre" ++msgstr "" ++ ++#: cdda_menu.c:339 ++msgid "Message" ++msgstr "" ++ ++#: cdda_menu.c:358 cdda_menu.c:372 ++msgid "off" ++msgstr "" ++ ++#: cdda_menu.c:359 ++msgid "no cd-text" ++msgstr "" ++ ++#: cdda_menu.c:360 ++msgid "cache only" ++msgstr "" ++ ++#: cdda_menu.c:361 ++msgid "always" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "Mainmenu entry" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "hide" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "show" ++msgstr "" ++ ++#: cdda_menu.c:364 ++msgid "Information view" ++msgstr "" ++ ++#: cdda_menu.c:365 ++msgid "Skip length (s)" ++msgstr "" ++ ++#: cdda_menu.c:366 ++msgid "Skip back margin (s)" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "Background" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "black" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "live" ++msgstr "" ++ ++#: cdda_menu.c:368 ++msgid "Autostart replay" ++msgstr "" ++ ++#: cdda_menu.c:369 ++msgid "CDDB Priority" ++msgstr "" ++ ++#: cdda_menu.c:370 ++msgid "CDDB Server FQDN" ++msgstr "" ++ ++#: cdda_menu.c:371 ++msgid "CDDB Server Port" ++msgstr "" ++ ++#: cdda_menu.c:372 ++msgid "CDDB Cache" ++msgstr "" ++ ++#: cdda_menu.c:372 ++msgid "on" ++msgstr "" +diff -Nru cdda-0.1.0/po/nn_NO.po cdda-0.1.0-gettext-i18n/po/nn_NO.po +--- cdda-0.1.0/po/nn_NO.po 1970-01-01 01:00:00.000000000 +0100 ++++ cdda-0.1.0-gettext-i18n/po/nn_NO.po 2008-03-30 16:42:56.000000000 +0200 +@@ -0,0 +1,226 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Jørgen Tvedt <pjtvedt@online.no>, 2001 ++# Truls Slevigen <truls@slevigen.no>, 2002 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 15:55+0200\n" ++"PO-Revision-Date: 2008-03-30 15:55+0200\n" ++"Last-Translator: Truls Slevigen <truls@slevigen.no>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-1\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: audio_player.c:441 audio_player.c:551 ++msgid "Disc" ++msgstr "" ++ ++#: audio_player.c:443 audio_player.c:553 cdda_menu.c:320 ++msgid "Album" ++msgstr "" ++ ++#: audio_player.c:445 audio_player.c:555 cdda_menu.c:87 cdda_menu.c:318 ++#: cdda_menu.c:333 ++msgid "Artist" ++msgstr "" ++ ++#: audio_player.c:447 audio_player.c:557 cdda_menu.c:335 ++msgid "Title" ++msgstr "" ++ ++#: audio_player.c:455 audio_player.c:467 cdda_menu.c:159 ++msgid "Jump to title" ++msgstr "" ++ ++#: audio_player.c:512 ++msgid "Playlist" ++msgstr "" ++ ++#: cdda.c:20 ++msgid "music cd player" ++msgstr "" ++ ++#: cdda.c:21 cdda_menu.c:17 ++msgid "CD Player" ++msgstr "" ++ ++#: cdda_menu.c:35 ++msgid "Loading disc information" ++msgstr "" ++ ++#: cdda_menu.c:88 cdda_menu.c:364 ++msgid "Track" ++msgstr "" ++ ++#: cdda_menu.c:95 cdda_menu.c:217 ++msgid "Commands" ++msgstr "" ++ ++#: cdda_menu.c:96 cdda_menu.c:364 ++msgid "All" ++msgstr "" ++ ++#: cdda_menu.c:96 ++msgid "Program" ++msgstr "" ++ ++#: cdda_menu.c:96 ++msgid "Single" ++msgstr "" ++ ++#: cdda_menu.c:97 ++msgid "Eject" ++msgstr "" ++ ++#: cdda_menu.c:98 cdda_menu.c:151 ++msgid "Information" ++msgstr "" ++ ++#: cdda_menu.c:100 ++msgid "No music cd in your drive" ++msgstr "" ++ ++#: cdda_menu.c:103 ++msgid "Refresh" ++msgstr "" ++ ++#: cdda_menu.c:198 ++msgid "Cannot eject disc while playing" ++msgstr "" ++ ++#: cdda_menu.c:230 ++msgid "Add to playlist" ++msgstr "" ++ ++#: cdda_menu.c:232 ++msgid "Remove from playlist" ++msgstr "" ++ ++#: cdda_menu.c:235 ++msgid "Next disc/track tag" ++msgstr "" ++ ++#: cdda_menu.c:239 ++msgid "Delete current tag" ++msgstr "" ++ ++#: cdda_menu.c:267 ++msgid "Only one disc/track tag available" ++msgstr "" ++ ++#: cdda_menu.c:285 ++msgid "Cannot delete current tag" ++msgstr "" ++ ++#: cdda_menu.c:316 ++msgid "Disc information" ++msgstr "" ++ ++#: cdda_menu.c:322 ++msgid "Disc ID" ++msgstr "" ++ ++#: cdda_menu.c:325 ++msgid "Track information" ++msgstr "" ++ ++#: cdda_menu.c:327 ++msgid "Arranger" ++msgstr "" ++ ++#: cdda_menu.c:329 ++msgid "Composer" ++msgstr "" ++ ++#: cdda_menu.c:331 ++msgid "Songwriter" ++msgstr "" ++ ++#: cdda_menu.c:337 ++msgid "Genre" ++msgstr "" ++ ++#: cdda_menu.c:339 ++msgid "Message" ++msgstr "" ++ ++#: cdda_menu.c:358 cdda_menu.c:372 ++msgid "off" ++msgstr "" ++ ++#: cdda_menu.c:359 ++msgid "no cd-text" ++msgstr "" ++ ++#: cdda_menu.c:360 ++msgid "cache only" ++msgstr "" ++ ++#: cdda_menu.c:361 ++msgid "always" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "Mainmenu entry" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "hide" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "show" ++msgstr "" ++ ++#: cdda_menu.c:364 ++msgid "Information view" ++msgstr "" ++ ++#: cdda_menu.c:365 ++msgid "Skip length (s)" ++msgstr "" ++ ++#: cdda_menu.c:366 ++msgid "Skip back margin (s)" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "Background" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "black" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "live" ++msgstr "" ++ ++#: cdda_menu.c:368 ++msgid "Autostart replay" ++msgstr "" ++ ++#: cdda_menu.c:369 ++msgid "CDDB Priority" ++msgstr "" ++ ++#: cdda_menu.c:370 ++msgid "CDDB Server FQDN" ++msgstr "" ++ ++#: cdda_menu.c:371 ++msgid "CDDB Server Port" ++msgstr "" ++ ++#: cdda_menu.c:372 ++msgid "CDDB Cache" ++msgstr "" ++ ++#: cdda_menu.c:372 ++msgid "on" ++msgstr "" +diff -Nru cdda-0.1.0/po/pl_PL.po cdda-0.1.0-gettext-i18n/po/pl_PL.po +--- cdda-0.1.0/po/pl_PL.po 1970-01-01 01:00:00.000000000 +0100 ++++ cdda-0.1.0-gettext-i18n/po/pl_PL.po 2008-03-30 16:42:56.000000000 +0200 +@@ -0,0 +1,225 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Michael Rakowski <mrak@gmx.de>, 2002 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 15:55+0200\n" ++"PO-Revision-Date: 2008-03-30 15:55+0200\n" ++"Last-Translator: Michael Rakowski <mrak@gmx.de>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-2\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: audio_player.c:441 audio_player.c:551 ++msgid "Disc" ++msgstr "" ++ ++#: audio_player.c:443 audio_player.c:553 cdda_menu.c:320 ++msgid "Album" ++msgstr "" ++ ++#: audio_player.c:445 audio_player.c:555 cdda_menu.c:87 cdda_menu.c:318 ++#: cdda_menu.c:333 ++msgid "Artist" ++msgstr "" ++ ++#: audio_player.c:447 audio_player.c:557 cdda_menu.c:335 ++msgid "Title" ++msgstr "" ++ ++#: audio_player.c:455 audio_player.c:467 cdda_menu.c:159 ++msgid "Jump to title" ++msgstr "" ++ ++#: audio_player.c:512 ++msgid "Playlist" ++msgstr "" ++ ++#: cdda.c:20 ++msgid "music cd player" ++msgstr "" ++ ++#: cdda.c:21 cdda_menu.c:17 ++msgid "CD Player" ++msgstr "" ++ ++#: cdda_menu.c:35 ++msgid "Loading disc information" ++msgstr "" ++ ++#: cdda_menu.c:88 cdda_menu.c:364 ++msgid "Track" ++msgstr "" ++ ++#: cdda_menu.c:95 cdda_menu.c:217 ++msgid "Commands" ++msgstr "" ++ ++#: cdda_menu.c:96 cdda_menu.c:364 ++msgid "All" ++msgstr "" ++ ++#: cdda_menu.c:96 ++msgid "Program" ++msgstr "" ++ ++#: cdda_menu.c:96 ++msgid "Single" ++msgstr "" ++ ++#: cdda_menu.c:97 ++msgid "Eject" ++msgstr "" ++ ++#: cdda_menu.c:98 cdda_menu.c:151 ++msgid "Information" ++msgstr "" ++ ++#: cdda_menu.c:100 ++msgid "No music cd in your drive" ++msgstr "" ++ ++#: cdda_menu.c:103 ++msgid "Refresh" ++msgstr "" ++ ++#: cdda_menu.c:198 ++msgid "Cannot eject disc while playing" ++msgstr "" ++ ++#: cdda_menu.c:230 ++msgid "Add to playlist" ++msgstr "" ++ ++#: cdda_menu.c:232 ++msgid "Remove from playlist" ++msgstr "" ++ ++#: cdda_menu.c:235 ++msgid "Next disc/track tag" ++msgstr "" ++ ++#: cdda_menu.c:239 ++msgid "Delete current tag" ++msgstr "" ++ ++#: cdda_menu.c:267 ++msgid "Only one disc/track tag available" ++msgstr "" ++ ++#: cdda_menu.c:285 ++msgid "Cannot delete current tag" ++msgstr "" ++ ++#: cdda_menu.c:316 ++msgid "Disc information" ++msgstr "" ++ ++#: cdda_menu.c:322 ++msgid "Disc ID" ++msgstr "" ++ ++#: cdda_menu.c:325 ++msgid "Track information" ++msgstr "" ++ ++#: cdda_menu.c:327 ++msgid "Arranger" ++msgstr "" ++ ++#: cdda_menu.c:329 ++msgid "Composer" ++msgstr "" ++ ++#: cdda_menu.c:331 ++msgid "Songwriter" ++msgstr "" ++ ++#: cdda_menu.c:337 ++msgid "Genre" ++msgstr "" ++ ++#: cdda_menu.c:339 ++msgid "Message" ++msgstr "" ++ ++#: cdda_menu.c:358 cdda_menu.c:372 ++msgid "off" ++msgstr "" ++ ++#: cdda_menu.c:359 ++msgid "no cd-text" ++msgstr "" ++ ++#: cdda_menu.c:360 ++msgid "cache only" ++msgstr "" ++ ++#: cdda_menu.c:361 ++msgid "always" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "Mainmenu entry" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "hide" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "show" ++msgstr "" ++ ++#: cdda_menu.c:364 ++msgid "Information view" ++msgstr "" ++ ++#: cdda_menu.c:365 ++msgid "Skip length (s)" ++msgstr "" ++ ++#: cdda_menu.c:366 ++msgid "Skip back margin (s)" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "Background" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "black" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "live" ++msgstr "" ++ ++#: cdda_menu.c:368 ++msgid "Autostart replay" ++msgstr "" ++ ++#: cdda_menu.c:369 ++msgid "CDDB Priority" ++msgstr "" ++ ++#: cdda_menu.c:370 ++msgid "CDDB Server FQDN" ++msgstr "" ++ ++#: cdda_menu.c:371 ++msgid "CDDB Server Port" ++msgstr "" ++ ++#: cdda_menu.c:372 ++msgid "CDDB Cache" ++msgstr "" ++ ++#: cdda_menu.c:372 ++msgid "on" ++msgstr "" +diff -Nru cdda-0.1.0/po/pt_PT.po cdda-0.1.0-gettext-i18n/po/pt_PT.po +--- cdda-0.1.0/po/pt_PT.po 1970-01-01 01:00:00.000000000 +0100 ++++ cdda-0.1.0-gettext-i18n/po/pt_PT.po 2008-03-30 16:42:56.000000000 +0200 +@@ -0,0 +1,225 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Paulo Lopes <pmml@netvita.pt>, 2001 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 15:55+0200\n" ++"PO-Revision-Date: 2008-03-30 15:55+0200\n" ++"Last-Translator: Paulo Lopes <pmml@netvita.pt>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-1\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: audio_player.c:441 audio_player.c:551 ++msgid "Disc" ++msgstr "" ++ ++#: audio_player.c:443 audio_player.c:553 cdda_menu.c:320 ++msgid "Album" ++msgstr "" ++ ++#: audio_player.c:445 audio_player.c:555 cdda_menu.c:87 cdda_menu.c:318 ++#: cdda_menu.c:333 ++msgid "Artist" ++msgstr "" ++ ++#: audio_player.c:447 audio_player.c:557 cdda_menu.c:335 ++msgid "Title" ++msgstr "" ++ ++#: audio_player.c:455 audio_player.c:467 cdda_menu.c:159 ++msgid "Jump to title" ++msgstr "" ++ ++#: audio_player.c:512 ++msgid "Playlist" ++msgstr "" ++ ++#: cdda.c:20 ++msgid "music cd player" ++msgstr "" ++ ++#: cdda.c:21 cdda_menu.c:17 ++msgid "CD Player" ++msgstr "" ++ ++#: cdda_menu.c:35 ++msgid "Loading disc information" ++msgstr "" ++ ++#: cdda_menu.c:88 cdda_menu.c:364 ++msgid "Track" ++msgstr "" ++ ++#: cdda_menu.c:95 cdda_menu.c:217 ++msgid "Commands" ++msgstr "" ++ ++#: cdda_menu.c:96 cdda_menu.c:364 ++msgid "All" ++msgstr "" ++ ++#: cdda_menu.c:96 ++msgid "Program" ++msgstr "" ++ ++#: cdda_menu.c:96 ++msgid "Single" ++msgstr "" ++ ++#: cdda_menu.c:97 ++msgid "Eject" ++msgstr "" ++ ++#: cdda_menu.c:98 cdda_menu.c:151 ++msgid "Information" ++msgstr "" ++ ++#: cdda_menu.c:100 ++msgid "No music cd in your drive" ++msgstr "" ++ ++#: cdda_menu.c:103 ++msgid "Refresh" ++msgstr "" ++ ++#: cdda_menu.c:198 ++msgid "Cannot eject disc while playing" ++msgstr "" ++ ++#: cdda_menu.c:230 ++msgid "Add to playlist" ++msgstr "" ++ ++#: cdda_menu.c:232 ++msgid "Remove from playlist" ++msgstr "" ++ ++#: cdda_menu.c:235 ++msgid "Next disc/track tag" ++msgstr "" ++ ++#: cdda_menu.c:239 ++msgid "Delete current tag" ++msgstr "" ++ ++#: cdda_menu.c:267 ++msgid "Only one disc/track tag available" ++msgstr "" ++ ++#: cdda_menu.c:285 ++msgid "Cannot delete current tag" ++msgstr "" ++ ++#: cdda_menu.c:316 ++msgid "Disc information" ++msgstr "" ++ ++#: cdda_menu.c:322 ++msgid "Disc ID" ++msgstr "" ++ ++#: cdda_menu.c:325 ++msgid "Track information" ++msgstr "" ++ ++#: cdda_menu.c:327 ++msgid "Arranger" ++msgstr "" ++ ++#: cdda_menu.c:329 ++msgid "Composer" ++msgstr "" ++ ++#: cdda_menu.c:331 ++msgid "Songwriter" ++msgstr "" ++ ++#: cdda_menu.c:337 ++msgid "Genre" ++msgstr "" ++ ++#: cdda_menu.c:339 ++msgid "Message" ++msgstr "" ++ ++#: cdda_menu.c:358 cdda_menu.c:372 ++msgid "off" ++msgstr "" ++ ++#: cdda_menu.c:359 ++msgid "no cd-text" ++msgstr "" ++ ++#: cdda_menu.c:360 ++msgid "cache only" ++msgstr "" ++ ++#: cdda_menu.c:361 ++msgid "always" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "Mainmenu entry" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "hide" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "show" ++msgstr "" ++ ++#: cdda_menu.c:364 ++msgid "Information view" ++msgstr "" ++ ++#: cdda_menu.c:365 ++msgid "Skip length (s)" ++msgstr "" ++ ++#: cdda_menu.c:366 ++msgid "Skip back margin (s)" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "Background" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "black" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "live" ++msgstr "" ++ ++#: cdda_menu.c:368 ++msgid "Autostart replay" ++msgstr "" ++ ++#: cdda_menu.c:369 ++msgid "CDDB Priority" ++msgstr "" ++ ++#: cdda_menu.c:370 ++msgid "CDDB Server FQDN" ++msgstr "" ++ ++#: cdda_menu.c:371 ++msgid "CDDB Server Port" ++msgstr "" ++ ++#: cdda_menu.c:372 ++msgid "CDDB Cache" ++msgstr "" ++ ++#: cdda_menu.c:372 ++msgid "on" ++msgstr "" +diff -Nru cdda-0.1.0/po/ro_RO.po cdda-0.1.0-gettext-i18n/po/ro_RO.po +--- cdda-0.1.0/po/ro_RO.po 1970-01-01 01:00:00.000000000 +0100 ++++ cdda-0.1.0-gettext-i18n/po/ro_RO.po 2008-03-30 16:42:56.000000000 +0200 +@@ -0,0 +1,226 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Paul Lacatus <paul@campina.iiruc.ro>, 2002 ++# Lucian Muresan <lucianm@users.sourceforge.net>, 2004 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 15:55+0200\n" ++"PO-Revision-Date: 2008-03-30 15:55+0200\n" ++"Last-Translator: Lucian Muresan <lucianm@users.sourceforge.net>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-2\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: audio_player.c:441 audio_player.c:551 ++msgid "Disc" ++msgstr "" ++ ++#: audio_player.c:443 audio_player.c:553 cdda_menu.c:320 ++msgid "Album" ++msgstr "" ++ ++#: audio_player.c:445 audio_player.c:555 cdda_menu.c:87 cdda_menu.c:318 ++#: cdda_menu.c:333 ++msgid "Artist" ++msgstr "" ++ ++#: audio_player.c:447 audio_player.c:557 cdda_menu.c:335 ++msgid "Title" ++msgstr "" ++ ++#: audio_player.c:455 audio_player.c:467 cdda_menu.c:159 ++msgid "Jump to title" ++msgstr "" ++ ++#: audio_player.c:512 ++msgid "Playlist" ++msgstr "" ++ ++#: cdda.c:20 ++msgid "music cd player" ++msgstr "" ++ ++#: cdda.c:21 cdda_menu.c:17 ++msgid "CD Player" ++msgstr "" ++ ++#: cdda_menu.c:35 ++msgid "Loading disc information" ++msgstr "" ++ ++#: cdda_menu.c:88 cdda_menu.c:364 ++msgid "Track" ++msgstr "" ++ ++#: cdda_menu.c:95 cdda_menu.c:217 ++msgid "Commands" ++msgstr "" ++ ++#: cdda_menu.c:96 cdda_menu.c:364 ++msgid "All" ++msgstr "" ++ ++#: cdda_menu.c:96 ++msgid "Program" ++msgstr "" ++ ++#: cdda_menu.c:96 ++msgid "Single" ++msgstr "" ++ ++#: cdda_menu.c:97 ++msgid "Eject" ++msgstr "" ++ ++#: cdda_menu.c:98 cdda_menu.c:151 ++msgid "Information" ++msgstr "" ++ ++#: cdda_menu.c:100 ++msgid "No music cd in your drive" ++msgstr "" ++ ++#: cdda_menu.c:103 ++msgid "Refresh" ++msgstr "" ++ ++#: cdda_menu.c:198 ++msgid "Cannot eject disc while playing" ++msgstr "" ++ ++#: cdda_menu.c:230 ++msgid "Add to playlist" ++msgstr "" ++ ++#: cdda_menu.c:232 ++msgid "Remove from playlist" ++msgstr "" ++ ++#: cdda_menu.c:235 ++msgid "Next disc/track tag" ++msgstr "" ++ ++#: cdda_menu.c:239 ++msgid "Delete current tag" ++msgstr "" ++ ++#: cdda_menu.c:267 ++msgid "Only one disc/track tag available" ++msgstr "" ++ ++#: cdda_menu.c:285 ++msgid "Cannot delete current tag" ++msgstr "" ++ ++#: cdda_menu.c:316 ++msgid "Disc information" ++msgstr "" ++ ++#: cdda_menu.c:322 ++msgid "Disc ID" ++msgstr "" ++ ++#: cdda_menu.c:325 ++msgid "Track information" ++msgstr "" ++ ++#: cdda_menu.c:327 ++msgid "Arranger" ++msgstr "" ++ ++#: cdda_menu.c:329 ++msgid "Composer" ++msgstr "" ++ ++#: cdda_menu.c:331 ++msgid "Songwriter" ++msgstr "" ++ ++#: cdda_menu.c:337 ++msgid "Genre" ++msgstr "" ++ ++#: cdda_menu.c:339 ++msgid "Message" ++msgstr "" ++ ++#: cdda_menu.c:358 cdda_menu.c:372 ++msgid "off" ++msgstr "" ++ ++#: cdda_menu.c:359 ++msgid "no cd-text" ++msgstr "" ++ ++#: cdda_menu.c:360 ++msgid "cache only" ++msgstr "" ++ ++#: cdda_menu.c:361 ++msgid "always" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "Mainmenu entry" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "hide" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "show" ++msgstr "" ++ ++#: cdda_menu.c:364 ++msgid "Information view" ++msgstr "" ++ ++#: cdda_menu.c:365 ++msgid "Skip length (s)" ++msgstr "" ++ ++#: cdda_menu.c:366 ++msgid "Skip back margin (s)" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "Background" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "black" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "live" ++msgstr "" ++ ++#: cdda_menu.c:368 ++msgid "Autostart replay" ++msgstr "" ++ ++#: cdda_menu.c:369 ++msgid "CDDB Priority" ++msgstr "" ++ ++#: cdda_menu.c:370 ++msgid "CDDB Server FQDN" ++msgstr "" ++ ++#: cdda_menu.c:371 ++msgid "CDDB Server Port" ++msgstr "" ++ ++#: cdda_menu.c:372 ++msgid "CDDB Cache" ++msgstr "" ++ ++#: cdda_menu.c:372 ++msgid "on" ++msgstr "" +diff -Nru cdda-0.1.0/po/ru_RU.po cdda-0.1.0-gettext-i18n/po/ru_RU.po +--- cdda-0.1.0/po/ru_RU.po 1970-01-01 01:00:00.000000000 +0100 ++++ cdda-0.1.0-gettext-i18n/po/ru_RU.po 2008-03-30 16:42:56.000000000 +0200 +@@ -0,0 +1,225 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Vyacheslav Dikonov <sdiconov@mail.ru>, 2004 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 15:55+0200\n" ++"PO-Revision-Date: 2008-03-30 15:55+0200\n" ++"Last-Translator: Vyacheslav Dikonov <sdiconov@mail.ru>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-5\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: audio_player.c:441 audio_player.c:551 ++msgid "Disc" ++msgstr "" ++ ++#: audio_player.c:443 audio_player.c:553 cdda_menu.c:320 ++msgid "Album" ++msgstr "" ++ ++#: audio_player.c:445 audio_player.c:555 cdda_menu.c:87 cdda_menu.c:318 ++#: cdda_menu.c:333 ++msgid "Artist" ++msgstr "" ++ ++#: audio_player.c:447 audio_player.c:557 cdda_menu.c:335 ++msgid "Title" ++msgstr "" ++ ++#: audio_player.c:455 audio_player.c:467 cdda_menu.c:159 ++msgid "Jump to title" ++msgstr "" ++ ++#: audio_player.c:512 ++msgid "Playlist" ++msgstr "" ++ ++#: cdda.c:20 ++msgid "music cd player" ++msgstr "" ++ ++#: cdda.c:21 cdda_menu.c:17 ++msgid "CD Player" ++msgstr "" ++ ++#: cdda_menu.c:35 ++msgid "Loading disc information" ++msgstr "" ++ ++#: cdda_menu.c:88 cdda_menu.c:364 ++msgid "Track" ++msgstr "" ++ ++#: cdda_menu.c:95 cdda_menu.c:217 ++msgid "Commands" ++msgstr "" ++ ++#: cdda_menu.c:96 cdda_menu.c:364 ++msgid "All" ++msgstr "" ++ ++#: cdda_menu.c:96 ++msgid "Program" ++msgstr "" ++ ++#: cdda_menu.c:96 ++msgid "Single" ++msgstr "" ++ ++#: cdda_menu.c:97 ++msgid "Eject" ++msgstr "" ++ ++#: cdda_menu.c:98 cdda_menu.c:151 ++msgid "Information" ++msgstr "" ++ ++#: cdda_menu.c:100 ++msgid "No music cd in your drive" ++msgstr "" ++ ++#: cdda_menu.c:103 ++msgid "Refresh" ++msgstr "" ++ ++#: cdda_menu.c:198 ++msgid "Cannot eject disc while playing" ++msgstr "" ++ ++#: cdda_menu.c:230 ++msgid "Add to playlist" ++msgstr "" ++ ++#: cdda_menu.c:232 ++msgid "Remove from playlist" ++msgstr "" ++ ++#: cdda_menu.c:235 ++msgid "Next disc/track tag" ++msgstr "" ++ ++#: cdda_menu.c:239 ++msgid "Delete current tag" ++msgstr "" ++ ++#: cdda_menu.c:267 ++msgid "Only one disc/track tag available" ++msgstr "" ++ ++#: cdda_menu.c:285 ++msgid "Cannot delete current tag" ++msgstr "" ++ ++#: cdda_menu.c:316 ++msgid "Disc information" ++msgstr "" ++ ++#: cdda_menu.c:322 ++msgid "Disc ID" ++msgstr "" ++ ++#: cdda_menu.c:325 ++msgid "Track information" ++msgstr "" ++ ++#: cdda_menu.c:327 ++msgid "Arranger" ++msgstr "" ++ ++#: cdda_menu.c:329 ++msgid "Composer" ++msgstr "" ++ ++#: cdda_menu.c:331 ++msgid "Songwriter" ++msgstr "" ++ ++#: cdda_menu.c:337 ++msgid "Genre" ++msgstr "" ++ ++#: cdda_menu.c:339 ++msgid "Message" ++msgstr "" ++ ++#: cdda_menu.c:358 cdda_menu.c:372 ++msgid "off" ++msgstr "" ++ ++#: cdda_menu.c:359 ++msgid "no cd-text" ++msgstr "" ++ ++#: cdda_menu.c:360 ++msgid "cache only" ++msgstr "" ++ ++#: cdda_menu.c:361 ++msgid "always" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "Mainmenu entry" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "hide" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "show" ++msgstr "" ++ ++#: cdda_menu.c:364 ++msgid "Information view" ++msgstr "" ++ ++#: cdda_menu.c:365 ++msgid "Skip length (s)" ++msgstr "" ++ ++#: cdda_menu.c:366 ++msgid "Skip back margin (s)" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "Background" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "black" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "live" ++msgstr "" ++ ++#: cdda_menu.c:368 ++msgid "Autostart replay" ++msgstr "" ++ ++#: cdda_menu.c:369 ++msgid "CDDB Priority" ++msgstr "" ++ ++#: cdda_menu.c:370 ++msgid "CDDB Server FQDN" ++msgstr "" ++ ++#: cdda_menu.c:371 ++msgid "CDDB Server Port" ++msgstr "" ++ ++#: cdda_menu.c:372 ++msgid "CDDB Cache" ++msgstr "" ++ ++#: cdda_menu.c:372 ++msgid "on" ++msgstr "" +diff -Nru cdda-0.1.0/po/sl_SI.po cdda-0.1.0-gettext-i18n/po/sl_SI.po +--- cdda-0.1.0/po/sl_SI.po 1970-01-01 01:00:00.000000000 +0100 ++++ cdda-0.1.0-gettext-i18n/po/sl_SI.po 2008-03-30 16:42:56.000000000 +0200 +@@ -0,0 +1,226 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Miha Setina <mihasetina@softhome.net>, 2000 ++# Matjaz Thaler <matjaz.thaler@guest.arnes.si>, 2003 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 15:55+0200\n" ++"PO-Revision-Date: 2008-03-30 15:55+0200\n" ++"Last-Translator: Matjaz Thaler <matjaz.thaler@guest.arnes.si>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-2\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: audio_player.c:441 audio_player.c:551 ++msgid "Disc" ++msgstr "" ++ ++#: audio_player.c:443 audio_player.c:553 cdda_menu.c:320 ++msgid "Album" ++msgstr "" ++ ++#: audio_player.c:445 audio_player.c:555 cdda_menu.c:87 cdda_menu.c:318 ++#: cdda_menu.c:333 ++msgid "Artist" ++msgstr "" ++ ++#: audio_player.c:447 audio_player.c:557 cdda_menu.c:335 ++msgid "Title" ++msgstr "" ++ ++#: audio_player.c:455 audio_player.c:467 cdda_menu.c:159 ++msgid "Jump to title" ++msgstr "" ++ ++#: audio_player.c:512 ++msgid "Playlist" ++msgstr "" ++ ++#: cdda.c:20 ++msgid "music cd player" ++msgstr "" ++ ++#: cdda.c:21 cdda_menu.c:17 ++msgid "CD Player" ++msgstr "" ++ ++#: cdda_menu.c:35 ++msgid "Loading disc information" ++msgstr "" ++ ++#: cdda_menu.c:88 cdda_menu.c:364 ++msgid "Track" ++msgstr "" ++ ++#: cdda_menu.c:95 cdda_menu.c:217 ++msgid "Commands" ++msgstr "" ++ ++#: cdda_menu.c:96 cdda_menu.c:364 ++msgid "All" ++msgstr "" ++ ++#: cdda_menu.c:96 ++msgid "Program" ++msgstr "" ++ ++#: cdda_menu.c:96 ++msgid "Single" ++msgstr "" ++ ++#: cdda_menu.c:97 ++msgid "Eject" ++msgstr "" ++ ++#: cdda_menu.c:98 cdda_menu.c:151 ++msgid "Information" ++msgstr "" ++ ++#: cdda_menu.c:100 ++msgid "No music cd in your drive" ++msgstr "" ++ ++#: cdda_menu.c:103 ++msgid "Refresh" ++msgstr "" ++ ++#: cdda_menu.c:198 ++msgid "Cannot eject disc while playing" ++msgstr "" ++ ++#: cdda_menu.c:230 ++msgid "Add to playlist" ++msgstr "" ++ ++#: cdda_menu.c:232 ++msgid "Remove from playlist" ++msgstr "" ++ ++#: cdda_menu.c:235 ++msgid "Next disc/track tag" ++msgstr "" ++ ++#: cdda_menu.c:239 ++msgid "Delete current tag" ++msgstr "" ++ ++#: cdda_menu.c:267 ++msgid "Only one disc/track tag available" ++msgstr "" ++ ++#: cdda_menu.c:285 ++msgid "Cannot delete current tag" ++msgstr "" ++ ++#: cdda_menu.c:316 ++msgid "Disc information" ++msgstr "" ++ ++#: cdda_menu.c:322 ++msgid "Disc ID" ++msgstr "" ++ ++#: cdda_menu.c:325 ++msgid "Track information" ++msgstr "" ++ ++#: cdda_menu.c:327 ++msgid "Arranger" ++msgstr "" ++ ++#: cdda_menu.c:329 ++msgid "Composer" ++msgstr "" ++ ++#: cdda_menu.c:331 ++msgid "Songwriter" ++msgstr "" ++ ++#: cdda_menu.c:337 ++msgid "Genre" ++msgstr "" ++ ++#: cdda_menu.c:339 ++msgid "Message" ++msgstr "" ++ ++#: cdda_menu.c:358 cdda_menu.c:372 ++msgid "off" ++msgstr "" ++ ++#: cdda_menu.c:359 ++msgid "no cd-text" ++msgstr "" ++ ++#: cdda_menu.c:360 ++msgid "cache only" ++msgstr "" ++ ++#: cdda_menu.c:361 ++msgid "always" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "Mainmenu entry" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "hide" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "show" ++msgstr "" ++ ++#: cdda_menu.c:364 ++msgid "Information view" ++msgstr "" ++ ++#: cdda_menu.c:365 ++msgid "Skip length (s)" ++msgstr "" ++ ++#: cdda_menu.c:366 ++msgid "Skip back margin (s)" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "Background" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "black" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "live" ++msgstr "" ++ ++#: cdda_menu.c:368 ++msgid "Autostart replay" ++msgstr "" ++ ++#: cdda_menu.c:369 ++msgid "CDDB Priority" ++msgstr "" ++ ++#: cdda_menu.c:370 ++msgid "CDDB Server FQDN" ++msgstr "" ++ ++#: cdda_menu.c:371 ++msgid "CDDB Server Port" ++msgstr "" ++ ++#: cdda_menu.c:372 ++msgid "CDDB Cache" ++msgstr "" ++ ++#: cdda_menu.c:372 ++msgid "on" ++msgstr "" +diff -Nru cdda-0.1.0/po/sv_SE.po cdda-0.1.0-gettext-i18n/po/sv_SE.po +--- cdda-0.1.0/po/sv_SE.po 1970-01-01 01:00:00.000000000 +0100 ++++ cdda-0.1.0-gettext-i18n/po/sv_SE.po 2008-03-30 16:42:56.000000000 +0200 +@@ -0,0 +1,226 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Tomas Prybil <tomas@prybil.se>, 2002 ++# Jan Ekholm <chakie@infa.abo.fi>, 2003 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 15:55+0200\n" ++"PO-Revision-Date: 2008-03-30 15:55+0200\n" ++"Last-Translator: Tomas Prybil <tomas@prybil.se>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-1\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: audio_player.c:441 audio_player.c:551 ++msgid "Disc" ++msgstr "" ++ ++#: audio_player.c:443 audio_player.c:553 cdda_menu.c:320 ++msgid "Album" ++msgstr "" ++ ++#: audio_player.c:445 audio_player.c:555 cdda_menu.c:87 cdda_menu.c:318 ++#: cdda_menu.c:333 ++msgid "Artist" ++msgstr "" ++ ++#: audio_player.c:447 audio_player.c:557 cdda_menu.c:335 ++msgid "Title" ++msgstr "" ++ ++#: audio_player.c:455 audio_player.c:467 cdda_menu.c:159 ++msgid "Jump to title" ++msgstr "" ++ ++#: audio_player.c:512 ++msgid "Playlist" ++msgstr "" ++ ++#: cdda.c:20 ++msgid "music cd player" ++msgstr "" ++ ++#: cdda.c:21 cdda_menu.c:17 ++msgid "CD Player" ++msgstr "" ++ ++#: cdda_menu.c:35 ++msgid "Loading disc information" ++msgstr "" ++ ++#: cdda_menu.c:88 cdda_menu.c:364 ++msgid "Track" ++msgstr "" ++ ++#: cdda_menu.c:95 cdda_menu.c:217 ++msgid "Commands" ++msgstr "" ++ ++#: cdda_menu.c:96 cdda_menu.c:364 ++msgid "All" ++msgstr "" ++ ++#: cdda_menu.c:96 ++msgid "Program" ++msgstr "" ++ ++#: cdda_menu.c:96 ++msgid "Single" ++msgstr "" ++ ++#: cdda_menu.c:97 ++msgid "Eject" ++msgstr "" ++ ++#: cdda_menu.c:98 cdda_menu.c:151 ++msgid "Information" ++msgstr "" ++ ++#: cdda_menu.c:100 ++msgid "No music cd in your drive" ++msgstr "" ++ ++#: cdda_menu.c:103 ++msgid "Refresh" ++msgstr "" ++ ++#: cdda_menu.c:198 ++msgid "Cannot eject disc while playing" ++msgstr "" ++ ++#: cdda_menu.c:230 ++msgid "Add to playlist" ++msgstr "" ++ ++#: cdda_menu.c:232 ++msgid "Remove from playlist" ++msgstr "" ++ ++#: cdda_menu.c:235 ++msgid "Next disc/track tag" ++msgstr "" ++ ++#: cdda_menu.c:239 ++msgid "Delete current tag" ++msgstr "" ++ ++#: cdda_menu.c:267 ++msgid "Only one disc/track tag available" ++msgstr "" ++ ++#: cdda_menu.c:285 ++msgid "Cannot delete current tag" ++msgstr "" ++ ++#: cdda_menu.c:316 ++msgid "Disc information" ++msgstr "" ++ ++#: cdda_menu.c:322 ++msgid "Disc ID" ++msgstr "" ++ ++#: cdda_menu.c:325 ++msgid "Track information" ++msgstr "" ++ ++#: cdda_menu.c:327 ++msgid "Arranger" ++msgstr "" ++ ++#: cdda_menu.c:329 ++msgid "Composer" ++msgstr "" ++ ++#: cdda_menu.c:331 ++msgid "Songwriter" ++msgstr "" ++ ++#: cdda_menu.c:337 ++msgid "Genre" ++msgstr "" ++ ++#: cdda_menu.c:339 ++msgid "Message" ++msgstr "" ++ ++#: cdda_menu.c:358 cdda_menu.c:372 ++msgid "off" ++msgstr "" ++ ++#: cdda_menu.c:359 ++msgid "no cd-text" ++msgstr "" ++ ++#: cdda_menu.c:360 ++msgid "cache only" ++msgstr "" ++ ++#: cdda_menu.c:361 ++msgid "always" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "Mainmenu entry" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "hide" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "show" ++msgstr "" ++ ++#: cdda_menu.c:364 ++msgid "Information view" ++msgstr "" ++ ++#: cdda_menu.c:365 ++msgid "Skip length (s)" ++msgstr "" ++ ++#: cdda_menu.c:366 ++msgid "Skip back margin (s)" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "Background" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "black" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "live" ++msgstr "" ++ ++#: cdda_menu.c:368 ++msgid "Autostart replay" ++msgstr "" ++ ++#: cdda_menu.c:369 ++msgid "CDDB Priority" ++msgstr "" ++ ++#: cdda_menu.c:370 ++msgid "CDDB Server FQDN" ++msgstr "" ++ ++#: cdda_menu.c:371 ++msgid "CDDB Server Port" ++msgstr "" ++ ++#: cdda_menu.c:372 ++msgid "CDDB Cache" ++msgstr "" ++ ++#: cdda_menu.c:372 ++msgid "on" ++msgstr "" +diff -Nru cdda-0.1.0/po/tr_TR.po cdda-0.1.0-gettext-i18n/po/tr_TR.po +--- cdda-0.1.0/po/tr_TR.po 1970-01-01 01:00:00.000000000 +0100 ++++ cdda-0.1.0-gettext-i18n/po/tr_TR.po 2008-03-30 16:42:56.000000000 +0200 +@@ -0,0 +1,225 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Oktay Yolgeçen <oktay_73@yahoo.de>, 2007 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 15:55+0200\n" ++"PO-Revision-Date: 2008-03-30 15:55+0200\n" ++"Last-Translator: Oktay Yolgeçen <oktay_73@yahoo.de>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-9\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: audio_player.c:441 audio_player.c:551 ++msgid "Disc" ++msgstr "" ++ ++#: audio_player.c:443 audio_player.c:553 cdda_menu.c:320 ++msgid "Album" ++msgstr "" ++ ++#: audio_player.c:445 audio_player.c:555 cdda_menu.c:87 cdda_menu.c:318 ++#: cdda_menu.c:333 ++msgid "Artist" ++msgstr "" ++ ++#: audio_player.c:447 audio_player.c:557 cdda_menu.c:335 ++msgid "Title" ++msgstr "" ++ ++#: audio_player.c:455 audio_player.c:467 cdda_menu.c:159 ++msgid "Jump to title" ++msgstr "" ++ ++#: audio_player.c:512 ++msgid "Playlist" ++msgstr "" ++ ++#: cdda.c:20 ++msgid "music cd player" ++msgstr "" ++ ++#: cdda.c:21 cdda_menu.c:17 ++msgid "CD Player" ++msgstr "" ++ ++#: cdda_menu.c:35 ++msgid "Loading disc information" ++msgstr "" ++ ++#: cdda_menu.c:88 cdda_menu.c:364 ++msgid "Track" ++msgstr "" ++ ++#: cdda_menu.c:95 cdda_menu.c:217 ++msgid "Commands" ++msgstr "" ++ ++#: cdda_menu.c:96 cdda_menu.c:364 ++msgid "All" ++msgstr "" ++ ++#: cdda_menu.c:96 ++msgid "Program" ++msgstr "" ++ ++#: cdda_menu.c:96 ++msgid "Single" ++msgstr "" ++ ++#: cdda_menu.c:97 ++msgid "Eject" ++msgstr "" ++ ++#: cdda_menu.c:98 cdda_menu.c:151 ++msgid "Information" ++msgstr "" ++ ++#: cdda_menu.c:100 ++msgid "No music cd in your drive" ++msgstr "" ++ ++#: cdda_menu.c:103 ++msgid "Refresh" ++msgstr "" ++ ++#: cdda_menu.c:198 ++msgid "Cannot eject disc while playing" ++msgstr "" ++ ++#: cdda_menu.c:230 ++msgid "Add to playlist" ++msgstr "" ++ ++#: cdda_menu.c:232 ++msgid "Remove from playlist" ++msgstr "" ++ ++#: cdda_menu.c:235 ++msgid "Next disc/track tag" ++msgstr "" ++ ++#: cdda_menu.c:239 ++msgid "Delete current tag" ++msgstr "" ++ ++#: cdda_menu.c:267 ++msgid "Only one disc/track tag available" ++msgstr "" ++ ++#: cdda_menu.c:285 ++msgid "Cannot delete current tag" ++msgstr "" ++ ++#: cdda_menu.c:316 ++msgid "Disc information" ++msgstr "" ++ ++#: cdda_menu.c:322 ++msgid "Disc ID" ++msgstr "" ++ ++#: cdda_menu.c:325 ++msgid "Track information" ++msgstr "" ++ ++#: cdda_menu.c:327 ++msgid "Arranger" ++msgstr "" ++ ++#: cdda_menu.c:329 ++msgid "Composer" ++msgstr "" ++ ++#: cdda_menu.c:331 ++msgid "Songwriter" ++msgstr "" ++ ++#: cdda_menu.c:337 ++msgid "Genre" ++msgstr "" ++ ++#: cdda_menu.c:339 ++msgid "Message" ++msgstr "" ++ ++#: cdda_menu.c:358 cdda_menu.c:372 ++msgid "off" ++msgstr "" ++ ++#: cdda_menu.c:359 ++msgid "no cd-text" ++msgstr "" ++ ++#: cdda_menu.c:360 ++msgid "cache only" ++msgstr "" ++ ++#: cdda_menu.c:361 ++msgid "always" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "Mainmenu entry" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "hide" ++msgstr "" ++ ++#: cdda_menu.c:363 ++msgid "show" ++msgstr "" ++ ++#: cdda_menu.c:364 ++msgid "Information view" ++msgstr "" ++ ++#: cdda_menu.c:365 ++msgid "Skip length (s)" ++msgstr "" ++ ++#: cdda_menu.c:366 ++msgid "Skip back margin (s)" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "Background" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "black" ++msgstr "" ++ ++#: cdda_menu.c:367 ++msgid "live" ++msgstr "" ++ ++#: cdda_menu.c:368 ++msgid "Autostart replay" ++msgstr "" ++ ++#: cdda_menu.c:369 ++msgid "CDDB Priority" ++msgstr "" ++ ++#: cdda_menu.c:370 ++msgid "CDDB Server FQDN" ++msgstr "" ++ ++#: cdda_menu.c:371 ++msgid "CDDB Server Port" ++msgstr "" ++ ++#: cdda_menu.c:372 ++msgid "CDDB Cache" ++msgstr "" ++ ++#: cdda_menu.c:372 ++msgid "on" ++msgstr "" diff --git a/plugins/cdda/plugin.sh b/plugins/cdda/plugin.sh new file mode 100644 index 0000000..3c98e9c --- /dev/null +++ b/plugins/cdda/plugin.sh @@ -0,0 +1,53 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 13.04.2008 +# +# vdr-cdda + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="ftp://ftp.wahnadium.org/pub/vdr-cdda/vdr-cdda-0.1.0.tar.gz" +VERSION="cdda-0.1.0" +LINK="cdda" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + patch_p1_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/chanman/patches/chanman-0.0.7_i18n.diff b/plugins/chanman/patches/chanman-0.0.7_i18n.diff new file mode 100644 index 0000000..72bf717 --- /dev/null +++ b/plugins/chanman/patches/chanman-0.0.7_i18n.diff @@ -0,0 +1,333 @@ +diff -ruNp chanman-0.0.7/i18n.c chanman-0.0.7-i18n/i18n.c +--- chanman-0.0.7/i18n.c 2008-05-11 09:49:13.000000000 +0200 ++++ chanman-0.0.7-i18n/i18n.c 2008-05-12 09:51:52.000000000 +0200 +@@ -11,9 +11,163 @@ + #if APIVERSNUM < 10507 + + const tI18nPhrase Phrases[] = { +- { "Group", ++ { "Channel manager plugin", ++ "Kanal Manager Plugin", ++ "",// TODO ++ "Plugin per gestire i canali", ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "", ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "", ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "", ++ }, ++ { "Channel Manager", ++ "Kanal Manager", ++ "",// TODO ++ "Gestione canali", ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "", ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "", ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "", ++ }, ++ { "Channel manager", ++ "Kanal Manager", ++ "",// TODO ++ "Gestione canali", ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "", ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "", ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "", ++ }, ++ { "Radio", ++ "Radio", ++ "",// TODO ++ "Radio", ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "", ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "", ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "", ++ }, ++ { "Tv", ++ "TV", ++ "",// TODO ++ "Tv", ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO + "", + "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "", ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "", ++ }, ++ { "Tv Crypt", ++ "TV verschlüsselt", ++ "",// TODO ++ "Tv codif.", ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "", ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "", ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "", ++ }, ++ { "All", ++ "Alle", ++ "",// TODO ++ "Tutti", ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "", ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "", ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "", ++ }, ++ { "Group", ++ "Gruppe", ++ "",// TODO + "Gruppo", + "",// TODO + "",// TODO +@@ -34,10 +188,10 @@ const tI18nPhrase Phrases[] = { + "", + }, + { "Name", +- "", ++ "Name", + "",// TODO + "Nome", +- "",// TODO ++ "",// TODO + "",// TODO + "",// TODO + "",// TODO +@@ -55,11 +209,33 @@ const tI18nPhrase Phrases[] = { + "",// TODO + "", + }, +- { "Src+Name", ++ { "Channels", ++ "Kanäle", ++ "",// TODO ++ "Canali", ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "", ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO + "", + "",// TODO ++ "",// TODO ++ "",// TODO ++ "", ++ }, ++ { "Src+Name", ++ "Quelle+Name", ++ "",// TODO + "Srg+Nome", +- "",// TODO ++ "",// TODO + "",// TODO + "",// TODO + "",// TODO +@@ -78,10 +254,10 @@ const tI18nPhrase Phrases[] = { + "", + }, + { "Provider", +- "", ++ "Provider", + "",// TODO + "Provider", +- "",// TODO ++ "",// TODO + "",// TODO + "",// TODO + "",// TODO +@@ -100,10 +276,10 @@ const tI18nPhrase Phrases[] = { + "", + }, + { "Src+Provider", +- "", ++ "Quelle+Provider", + "",// TODO + "Srg+Provider", +- "",// TODO ++ "",// TODO + "",// TODO + "",// TODO + "",// TODO +@@ -121,9 +297,31 @@ const tI18nPhrase Phrases[] = { + "",// TODO + "", + }, +- { "Max items for alphabetic order", ++ { "Src+Frequency", ++ "Quelle+Frequenz", ++ "",// TODO ++ "Srg+Freq.", ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "", ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO + "", + "",// TODO ++ "",// TODO ++ "",// TODO ++ "", ++ }, ++ { "Max items for alphabetic order", ++ "Max Elemente für alphabetische Sortierung", ++ "",// TODO + "Massimo elementi ordine Alfabetico", + "",// TODO + "",// TODO +@@ -143,10 +341,54 @@ const tI18nPhrase Phrases[] = { + "",// TODO + "", + }, +- { "Show : 1) Prov.; 2) ChannelID", ++ { "Show : 1) Prov.; 2) ChID; 3) Freq.", ++ "Zeige : 1) Prov.; 2) ID; 3) Freq.", ++ "",// TODO ++ "Mostra: 1) Prov 2) ID Can 3) Freq", ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "", ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "", ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "", ++ }, ++ { "Jump : 1) Alphabetic; 2) Numeric", ++ "Springe : 1) Alphabetisch; 2) Numerisch", ++ "",// TODO ++ "Vai a: 1) Alfabetico 2) Num.", ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO + "", + "",// TODO +- "Mostra : 1) Prov.; 2) ChannelID", ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "", ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "", ++ }, ++ { "Button$Switch", ++ "Umschalten", ++ "",// TODO ++ "Cambia", + "",// TODO + "",// TODO + "",// TODO diff --git a/plugins/chanman/plugin.sh b/plugins/chanman/plugin.sh new file mode 100644 index 0000000..f5e8605 --- /dev/null +++ b/plugins/chanman/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 12.05.2008 +# +# vdr-chanman + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.zulu-entertainment.de/files/vdr-chanman/vdr-chanman-0.0.7-svn20080512.tgz" +VERSION="chanman-0.0.7" +LINK="chanman" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/channelblocker/plugin.sh b/plugins/channelblocker/plugin.sh new file mode 100644 index 0000000..e76713c --- /dev/null +++ b/plugins/channelblocker/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 13.02.2009 +# +# vdr-channelblocker + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.zulu-entertainment.de/files/vdr-channelblocker/vdr-channelblocker-0.0.5.tgz" +VERSION="channelblocker-0.0.5" +LINK="channelblocker" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/channellists/plugin.sh b/plugins/channellists/plugin.sh new file mode 100644 index 0000000..e1fb2cf --- /dev/null +++ b/plugins/channellists/plugin.sh @@ -0,0 +1,59 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 20.02.2008 +# +# vdr-channellists + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://www.zulu-entertainment.de/files/vdr-channellists/vdr-channellists-0.0.4.tgz" +VERSION="channellists-0.0.4" +LINK="channellists" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + if [ -d $DIR/channellists ]; then + cp -rf $DIR/channellists $VDRCONFDIR/plugins + chown -R $VDRUSER:$VDRGROUP $VDRCONFDIR/plugins/channellists + fi + if [ -f $SOURCEDIR/VDR/PLUGINS/src/$LINK/scripts/channellists-update.sh ]; then + cp -f $SOURCEDIR/VDR/PLUGINS/src/$LINK/scripts/channellists-update.sh $VDRSCRIPTDIR + chown $VDRUSER:$VDRGROUP $VDRSCRIPTDIR/channellists-update.sh + chmod 0744 $VDRSCRIPTDIR/channellists-update.sh + fi + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/channelswitcher/plugin.sh b/plugins/channelswitcher/plugin.sh new file mode 100644 index 0000000..62659fa --- /dev/null +++ b/plugins/channelswitcher/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 05.05.2008 +# +# vdr-channelswitcher + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://vdr-wiki.de/vdr/vdr-channelswitcher/vdr-channelswitcher-0.0.1b.tar.gz" +VERSION="channelswitcher-0.0.1b" +LINK="channelswitcher" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/chanorg/patches/p1/chanorg-0.0.6-fix-and-gettext-i18n.diff b/plugins/chanorg/patches/p1/chanorg-0.0.6-fix-and-gettext-i18n.diff new file mode 100644 index 0000000..f4a10b0 --- /dev/null +++ b/plugins/chanorg/patches/p1/chanorg-0.0.6-fix-and-gettext-i18n.diff @@ -0,0 +1,3348 @@ +# Include patch http://deela.cc.fh-lippe.de/files/vdr-chanorg/chanorg-0.0.6.patch +# gettext-i18n + +diff -Nru chanorg-0.0.6/chan-menu.c chanorg-0.0.6-gettext-i18n/chan-menu.c +--- chanorg-0.0.6/chan-menu.c 2005-01-26 19:06:13.000000000 +0100 ++++ chanorg-0.0.6-gettext-i18n/chan-menu.c 2008-04-13 12:08:20.000000000 +0200 +@@ -14,37 +14,37 @@ + + void cGroupMove::Setup() + { +- cChannel *tmp=ChanOrg.OrgChans.First(); ++ cChannel *tmp=pChanOrg->OrgChans.First(); + Clear(); + cChannel *last=new cChannel(); + #if VDRVERSNUM<10315 + last->SetName(tr(":End")); +- ChanOrg.OrgChans.NewChannel(last,last->Name(),0,0,0,0); ++ pChanOrg->OrgChans.NewChannel(last,last->Name(),0,0,0,0); + #else + last->SetName(tr(":End"),"",""); +- ChanOrg.OrgChans.NewChannel(last,last->Name(),last->ShortName(),last->Provider(),0,0,0,0); ++ pChanOrg->OrgChans.NewChannel(last,last->Name(),last->ShortName(),last->Provider(),0,0,0,0); + #endif +- ChanOrg.OrgChans.Last()->Parse(last->Name()); +- ChanOrg.OrgChans.ReNumber(); ++ pChanOrg->OrgChans.Last()->Parse(last->Name()); ++ pChanOrg->OrgChans.ReNumber(); + int j=0; +- if (ChanOrg.OrgChans.First()->GroupSep() && tmp!=ToMove) ++ if (pChanOrg->OrgChans.First()->GroupSep() && tmp!=ToMove) + { +- Add(new cOsdItem(ChanOrg.OrgChans.First()->Name(),osUser1)); +- Group[j]=ChanOrg.OrgChans.First(); ++ Add(new cOsdItem(pChanOrg->OrgChans.First()->Name(),osUser1)); ++ Group[j]=pChanOrg->OrgChans.First(); + j++; + } + int i=0; +- while ((i=ChanOrg.OrgChans.GetNextGroup(i))>0) ++ while ((i=pChanOrg->OrgChans.GetNextGroup(i))>0) + { +- tmp=ChanOrg.OrgChans.Get(i); ++ tmp=pChanOrg->OrgChans.Get(i); + Group[j]=tmp; +- if (tmp != ToMove && tmp->Index()!=ChanOrg.OrgChans.GetNextGroup(ToMove->Index())) ++ if (tmp != ToMove && tmp->Index()!=pChanOrg->OrgChans.GetNextGroup(ToMove->Index())) + { + Add(new cOsdItem(tmp->Name(),osUser1)); + j++; + } + } +- SetCurrent(Get(ChanOrg.LastAffect)); ++ SetCurrent(Get(pChanOrg->LastAffect)); + Display(); + } + +@@ -59,9 +59,9 @@ + { + case osUser1 : + MoveGroup(Group[Current()]); +- ChanOrg.OrgChans.Del(ChanOrg.OrgChans.Last()); +- ChanOrg.OrgChans.ReNumber(); +- ChanOrg.ReDraw=true; ++ pChanOrg->OrgChans.Del(pChanOrg->OrgChans.Last()); ++ pChanOrg->OrgChans.ReNumber(); ++ pChanOrg->ReDraw=true; + return osBack; + break; + default:break; +@@ -78,16 +78,16 @@ + while (move && (!move->GroupSep() || move==ToMove) ) + { + movelist[i]=move; +- move=ChanOrg.OrgChans.Next(move); ++ move=pChanOrg->OrgChans.Next(move); + i++; + } + nbr=i; + for (int j=0;j<nbr;j++) + { + if (movelist[j]->Index() > chan->Index()) +- ChanOrg.OrgChans.Move(movelist[j],chan); ++ pChanOrg->OrgChans.Move(movelist[j],chan); + else +- ChanOrg.OrgChans.Move(movelist[j]->Index(),chan->Index()-1); ++ pChanOrg->OrgChans.Move(movelist[j]->Index(),chan->Index()-1); + } + } + +@@ -111,17 +111,17 @@ + switch(Key) + { + case kOk : +- ChanOrg.LastAffect = Current(); ++ pChanOrg->LastAffect = Current(); + if (chan->Number()>Group[Current()]->Number()) + { +- ChanOrg.OrgChans.Move(chan,ChanOrg.OrgChans.Next(Group[Current()])); ++ pChanOrg->OrgChans.Move(chan,pChanOrg->OrgChans.Next(Group[Current()])); + } + else + { +- ChanOrg.OrgChans.Move(chan,Group[Current()]); ++ pChanOrg->OrgChans.Move(chan,Group[Current()]); + } +- ChanOrg.OrgChans.ReNumber(); +- ChanOrg.ReDraw=true; ++ pChanOrg->OrgChans.ReNumber(); ++ pChanOrg->ReDraw=true; + return osBack; + break; + default : break; +@@ -133,22 +133,22 @@ + { + Clear(); + int j=0; +- if (ChanOrg.OrgChans.First()->GroupSep()) ++ if (pChanOrg->OrgChans.First()->GroupSep()) + { +- Add(new cOsdItem(ChanOrg.OrgChans.First()->Name(),osUser1)); +- Group[j]=ChanOrg.OrgChans.First(); ++ Add(new cOsdItem(pChanOrg->OrgChans.First()->Name(),osUser1)); ++ Group[j]=pChanOrg->OrgChans.First(); + j++; + } + int i=0; + cChannel *tmp; +- while ((i=ChanOrg.OrgChans.GetNextGroup(i))>0) ++ while ((i=pChanOrg->OrgChans.GetNextGroup(i))>0) + { + tmp=GetByIndex(i); + Group[j]=tmp; + Add(new cOsdItem(tmp->Name(),osUser1)); + j++; + } +- SetCurrent(Get(ChanOrg.LastAffect)); ++ SetCurrent(Get(pChanOrg->LastAffect)); + Display(); + } + +@@ -203,7 +203,7 @@ + { + Edit(); + } +- ChanOrg.ReDraw=true; ++ pChanOrg->ReDraw=true; + return osBack; + break; + default :break; +@@ -216,6 +216,7 @@ + + cChanOrgMenu::cChanOrgMenu(void) : cOsdMenu(tr("Channels Organizer"),20) + { ++ pChanOrg = new cPluginChanOrg(); + ClearMarks(); + SaveTimers(); + MakeChannelsList(); +@@ -224,48 +225,48 @@ + + cChanOrgMenu::~cChanOrgMenu(void) + { +- delete &ChanOrg; ++ delete pChanOrg; + } + + void cChanOrgMenu::TriAlphaCroiss(cChannel *start,cChannel *stop) + { + if (start->Index()+1>=stop->Index()) return; + bool DelLast=false; +- if (stop==ChanOrg.OrgChans.Last()) ++ if (stop==pChanOrg->OrgChans.Last()) + { + cChannel *last=new cChannel(); + #if VDRVERSNUM<10315 + last->SetName(":Last"); +- ChanOrg.OrgChans.NewChannel(last,last->Name(),0,0,0,0); ++ pChanOrg->OrgChans.NewChannel(last,last->Name(),0,0,0,0); + #else + last->SetName(":Last","",""); +- ChanOrg.OrgChans.NewChannel(last,last->Name(),last->ShortName(),last->Provider(),0,0,0,0); ++ pChanOrg->OrgChans.NewChannel(last,last->Name(),last->ShortName(),last->Provider(),0,0,0,0); + #endif +- ChanOrg.OrgChans.Last()->Parse(last->Name()); +- ChanOrg.OrgChans.ReNumber(); +- stop=ChanOrg.OrgChans.Last(); ++ pChanOrg->OrgChans.Last()->Parse(last->Name()); ++ pChanOrg->OrgChans.ReNumber(); ++ stop=pChanOrg->OrgChans.Last(); + DelLast=true; + } + bool cont=false; +- cChannel *chan = ChanOrg.OrgChans.Next(start); +- cChannel *tmp = ChanOrg.OrgChans.Next(chan); +- while (chan && ((start==ChanOrg.OrgChans.Last())? (tmp!=NULL) :(tmp!=stop))) ++ cChannel *chan = pChanOrg->OrgChans.Next(start); ++ cChannel *tmp = pChanOrg->OrgChans.Next(chan); ++ while (chan && ((start==pChanOrg->OrgChans.Last())? (tmp!=NULL) :(tmp!=stop))) + { + if ( ( strcasecmp(chan->Name(),tmp->Name()) ) > 0) + { +- ChanOrg.OrgChans.Move(chan,tmp); ++ pChanOrg->OrgChans.Move(chan,tmp); + cont=true; + } + else chan=tmp; +- tmp=ChanOrg.OrgChans.Next(chan); ++ tmp=pChanOrg->OrgChans.Next(chan); + } +- ChanOrg.OrgChans.ReNumber(); ++ pChanOrg->OrgChans.ReNumber(); + chan=NULL; + tmp=NULL; + if (DelLast) + { +- ChanOrg.OrgChans.Del(ChanOrg.OrgChans.Last()); +- stop=ChanOrg.OrgChans.Last(); ++ pChanOrg->OrgChans.Del(pChanOrg->OrgChans.Last()); ++ stop=pChanOrg->OrgChans.Last(); + } + if (cont) TriAlphaCroiss(start,stop); + } +@@ -274,41 +275,41 @@ + { + if (start->Index()+1>=stop->Index()) return; + bool DelLast=false; +- if (stop==ChanOrg.OrgChans.Last()) ++ if (stop==pChanOrg->OrgChans.Last()) + { + cChannel *last=new cChannel(); + #if VDRVERSNUM<10315 + last->SetName(":Last"); +- ChanOrg.OrgChans.NewChannel(last,last->Name(),0,0,0,0); ++ pChanOrg->OrgChans.NewChannel(last,last->Name(),0,0,0,0); + #else + last->SetName(":Last","",""); +- ChanOrg.OrgChans.NewChannel(last,last->Name(),last->ShortName(),last->Provider(),0,0,0,0); ++ pChanOrg->OrgChans.NewChannel(last,last->Name(),last->ShortName(),last->Provider(),0,0,0,0); + #endif +- ChanOrg.OrgChans.Last()->Parse(last->Name()); +- ChanOrg.OrgChans.ReNumber(); +- stop=ChanOrg.OrgChans.Last(); ++ pChanOrg->OrgChans.Last()->Parse(last->Name()); ++ pChanOrg->OrgChans.ReNumber(); ++ stop=pChanOrg->OrgChans.Last(); + DelLast=true; + } + bool cont=false; +- cChannel *chan = ChanOrg.OrgChans.Next(start); +- cChannel *tmp = ChanOrg.OrgChans.Next(chan); +- while (chan && ((start==ChanOrg.OrgChans.Last())? (tmp!=NULL) :(tmp!=stop))) ++ cChannel *chan = pChanOrg->OrgChans.Next(start); ++ cChannel *tmp = pChanOrg->OrgChans.Next(chan); ++ while (chan && ((start==pChanOrg->OrgChans.Last())? (tmp!=NULL) :(tmp!=stop))) + { + if ( ( strcasecmp(chan->Name(),tmp->Name()) ) < 0) + { +- ChanOrg.OrgChans.Move(chan,tmp); ++ pChanOrg->OrgChans.Move(chan,tmp); + cont=true; + } + else chan=tmp; +- tmp=ChanOrg.OrgChans.Next(chan); ++ tmp=pChanOrg->OrgChans.Next(chan); + } +- ChanOrg.OrgChans.ReNumber(); ++ pChanOrg->OrgChans.ReNumber(); + chan=NULL; + tmp=NULL; + if (DelLast) + { +- ChanOrg.OrgChans.Del(ChanOrg.OrgChans.Last()); +- stop=ChanOrg.OrgChans.Last(); ++ pChanOrg->OrgChans.Del(pChanOrg->OrgChans.Last()); ++ stop=pChanOrg->OrgChans.Last(); + } + if (cont) TriAlphaDec(start,stop); + } +@@ -317,41 +318,41 @@ + { + if (start->Index()+1>=stop->Index()) return; + bool DelLast=false; +- if (stop==ChanOrg.OrgChans.Last()) ++ if (stop==pChanOrg->OrgChans.Last()) + { + cChannel *last=new cChannel(); + #if VDRVERSNUM<10315 + last->SetName(":Last"); +- ChanOrg.OrgChans.NewChannel(last,last->Name(),0,0,0,0); ++ pChanOrg->OrgChans.NewChannel(last,last->Name(),0,0,0,0); + #else + last->SetName(":Last","",""); +- ChanOrg.OrgChans.NewChannel(last,last->Name(),last->ShortName(),last->Provider(),0,0,0,0); ++ pChanOrg->OrgChans.NewChannel(last,last->Name(),last->ShortName(),last->Provider(),0,0,0,0); + #endif +- ChanOrg.OrgChans.Last()->Parse(last->Name()); +- ChanOrg.OrgChans.ReNumber(); +- stop=ChanOrg.OrgChans.Last(); ++ pChanOrg->OrgChans.Last()->Parse(last->Name()); ++ pChanOrg->OrgChans.ReNumber(); ++ stop=pChanOrg->OrgChans.Last(); + DelLast=true; + } + bool cont=false; +- cChannel *chan = ChanOrg.OrgChans.Next(start); +- cChannel *tmp = ChanOrg.OrgChans.Next(chan); +- while (chan && ((start==ChanOrg.OrgChans.Last())? (tmp!=NULL) :(tmp!=stop))) ++ cChannel *chan = pChanOrg->OrgChans.Next(start); ++ cChannel *tmp = pChanOrg->OrgChans.Next(chan); ++ while (chan && ((start==pChanOrg->OrgChans.Last())? (tmp!=NULL) :(tmp!=stop))) + { + if ( chan->Frequency() > tmp->Frequency()) + { +- ChanOrg.OrgChans.Move(chan,tmp); ++ pChanOrg->OrgChans.Move(chan,tmp); + cont=true; + } + else chan=tmp; +- tmp=ChanOrg.OrgChans.Next(chan); ++ tmp=pChanOrg->OrgChans.Next(chan); + } +- ChanOrg.OrgChans.ReNumber(); ++ pChanOrg->OrgChans.ReNumber(); + chan=NULL; + tmp=NULL; + if (DelLast) + { +- ChanOrg.OrgChans.Del(ChanOrg.OrgChans.Last()); +- stop=ChanOrg.OrgChans.Last(); ++ pChanOrg->OrgChans.Del(pChanOrg->OrgChans.Last()); ++ stop=pChanOrg->OrgChans.Last(); + } + if (cont) TriTranspCroiss(start,stop); + } +@@ -360,61 +361,61 @@ + { + if (start->Index()+1>=stop->Index()) return; + bool DelLast=false; +- if (stop==ChanOrg.OrgChans.Last()) ++ if (stop==pChanOrg->OrgChans.Last()) + { + cChannel *last=new cChannel(); + #if VDRVERSNUM<10315 + last->SetName(":Last"); +- ChanOrg.OrgChans.NewChannel(last,last->Name(),0,0,0,0); ++ pChanOrg->OrgChans.NewChannel(last,last->Name(),0,0,0,0); + #else + last->SetName(":Last","",""); +- ChanOrg.OrgChans.NewChannel(last,last->Name(),last->ShortName(),last->Provider(),0,0,0,0); ++ pChanOrg->OrgChans.NewChannel(last,last->Name(),last->ShortName(),last->Provider(),0,0,0,0); + #endif +- ChanOrg.OrgChans.Last()->Parse(last->Name()); +- ChanOrg.OrgChans.ReNumber(); +- stop=ChanOrg.OrgChans.Last(); ++ pChanOrg->OrgChans.Last()->Parse(last->Name()); ++ pChanOrg->OrgChans.ReNumber(); ++ stop=pChanOrg->OrgChans.Last(); + DelLast=true; + } + bool cont=false; +- cChannel *chan = ChanOrg.OrgChans.Next(start); +- cChannel *tmp = ChanOrg.OrgChans.Next(chan); +- while (chan && ((start==ChanOrg.OrgChans.Last())? (tmp!=NULL) :(tmp!=stop))) ++ cChannel *chan = pChanOrg->OrgChans.Next(start); ++ cChannel *tmp = pChanOrg->OrgChans.Next(chan); ++ while (chan && ((start==pChanOrg->OrgChans.Last())? (tmp!=NULL) :(tmp!=stop))) + { + if ( chan->Frequency()<tmp->Frequency()) + { +- ChanOrg.OrgChans.Move(chan,tmp); ++ pChanOrg->OrgChans.Move(chan,tmp); + cont=true; + } + else chan=tmp; +- tmp=ChanOrg.OrgChans.Next(chan); ++ tmp=pChanOrg->OrgChans.Next(chan); + } +- ChanOrg.OrgChans.ReNumber(); ++ pChanOrg->OrgChans.ReNumber(); + chan=NULL; + tmp=NULL; + if (DelLast) + { +- ChanOrg.OrgChans.Del(ChanOrg.OrgChans.Last()); +- stop=ChanOrg.OrgChans.Last(); ++ pChanOrg->OrgChans.Del(pChanOrg->OrgChans.Last()); ++ stop=pChanOrg->OrgChans.Last(); + } + if (cont) TriTranspDec(start,stop); + } + + void cChanOrgMenu::MakeChannelsList(void) + { +- ChanOrg.OrgChans.cList<cChannel>::Clear(); ++ pChanOrg->OrgChans.cList<cChannel>::Clear(); + for (cChannel *channel = Channels.First(); channel; channel = Channels.Next(channel)) { + if (!channel->GroupSep() || *channel->Name()) + { + + #if VDRVERSNUM<10315 +- ChanOrg.OrgChans.NewChannel(channel,channel->Name(),channel->Nid(),channel->Tid(),channel->Sid(),channel->Rid()); ++ pChanOrg->OrgChans.NewChannel(channel,channel->Name(),channel->Nid(),channel->Tid(),channel->Sid(),channel->Rid()); + #else +- ChanOrg.OrgChans.NewChannel(channel,channel->Name(),channel->ShortName(),channel->Provider(),channel->Nid(),channel->Tid(),channel->Sid(),channel->Rid()); ++ pChanOrg->OrgChans.NewChannel(channel,channel->Name(),channel->ShortName(),channel->Provider(),channel->Nid(),channel->Tid(),channel->Sid(),channel->Rid()); + #endif + #if VDRVERSNUM>10317 +- ChanOrg.OrgChans.Last()->Parse(*channel->ToText()); ++ pChanOrg->OrgChans.Last()->Parse(*channel->ToText()); + #else +- ChanOrg.OrgChans.Last()->Parse(channel->ToText()); ++ pChanOrg->OrgChans.Last()->Parse(channel->ToText()); + #endif + } + } +@@ -422,8 +423,8 @@ + + void cChanOrgMenu::Draw(void) + { +-ChanOrg.ReDraw=false; +-cChannel *chan=ChanOrg.OrgChans.First(); ++pChanOrg->ReDraw=false; ++cChannel *chan=pChanOrg->OrgChans.First(); + char *buff; + int i = Current(); + Clear(); +@@ -439,7 +440,7 @@ + asprintf(&buff,"%i : %s",chan->Number(),chan->Name()); + Add(new cOsdItem(buff,osUser1)); + } +- chan=ChanOrg.OrgChans.Next(chan); ++ chan=pChanOrg->OrgChans.Next(chan); + } + SetCurrent(Get(i)); + if (i>=0) +@@ -451,26 +452,26 @@ + chan=GetByIndex(0); + } + if (chan) chan->GroupSep()? SetHelp(tr("Del Group"),tr("Edit Group"),tr("Sort Group"),tr("Move")) : SetHelp (tr("Add Group"),tr("Affect"),tr("Zap"),tr("Move")); +-ChanOrg.OrgChans.ReNumber(); ++pChanOrg->OrgChans.ReNumber(); + Display(); + } + + cChannel *cAffect::GetByIndex(int Index) + { +-cChannel *chan=ChanOrg.OrgChans.First(); ++cChannel *chan=pChanOrg->OrgChans.First(); + for(int i=0;i!=Index;i++) + { +- chan=ChanOrg.OrgChans.Next(chan); ++ chan=pChanOrg->OrgChans.Next(chan); + } + return chan; + } + + cChannel *cChanOrgMenu::GetByIndex(int Index) + { +-cChannel *chan=ChanOrg.OrgChans.First(); ++cChannel *chan=pChanOrg->OrgChans.First(); + for(int i=0;i!=Index;i++) + { +- chan=ChanOrg.OrgChans.Next(chan); ++ chan=pChanOrg->OrgChans.Next(chan); + } + return chan; + } +@@ -486,24 +487,24 @@ + CurChan->SetName(name,"",""); + #endif + CurChan->Parse(name); +- ChanOrg.OrgChans.ReNumber(); ++ pChanOrg->OrgChans.ReNumber(); + } + + void cGroup::Insert(void) + { + int num=CurChan->Number(); +- cChannel *channel=ChanOrg.OrgChans.Last(); ++ cChannel *channel=pChanOrg->OrgChans.Last(); + #if VDRVERSNUM<10315 +- ChanOrg.OrgChans.NewChannel(channel,channel->Name(),channel->Nid(),channel->Tid(),channel->Sid(),channel->Rid()); ++ pChanOrg->OrgChans.NewChannel(channel,channel->Name(),channel->Nid(),channel->Tid(),channel->Sid(),channel->Rid()); + #else +- ChanOrg.OrgChans.NewChannel(channel,channel->Name(),channel->ShortName(),channel->Provider(),channel->Nid(),channel->Tid(),channel->Sid(),channel->Rid()); ++ pChanOrg->OrgChans.NewChannel(channel,channel->Name(),channel->ShortName(),channel->Provider(),channel->Nid(),channel->Tid(),channel->Sid(),channel->Rid()); + #endif +- for (int i=ChanOrg.OrgChans.Count();i>Pos;i--) ++ for (int i=pChanOrg->OrgChans.Count();i>Pos;i--) + { +- ChanOrg.OrgChans.Move(i-1,i); ++ pChanOrg->OrgChans.Move(i-1,i); + } + char *name; +- CurChan=ChanOrg.OrgChans.Prev(CurChan); ++ CurChan=pChanOrg->OrgChans.Prev(CurChan); + if (Num==0) asprintf(&name,":%s",Name); + else asprintf(&name,":@%i %s",Num,Name); + #if VDRVERSNUM<10315 +@@ -513,7 +514,7 @@ + #endif + CurChan->SetNumber(num); + CurChan->Parse(name); +- ChanOrg.OrgChans.ReNumber(); ++ pChanOrg->OrgChans.ReNumber(); + } + + void cChanOrgMenu::SaveTimers() +@@ -521,13 +522,13 @@ + int i=0; + for (cTimer *t = Timers.First(); t; t= Timers.Next(t)) + { +- ChanOrg.Tmr.Add(new cTimer(*t)); ++ pChanOrg->Tmr.Add(new cTimer(*t)); + #if VDRVERSNUM>10317 +- ChanOrg.Tmr.Last()->Parse((const char *)t->ToText(false)); +- asprintf(&ChanOrg.TmrChan[i],"%s",*t->ToText(true)); ++ pChanOrg->Tmr.Last()->Parse((const char *)t->ToText(false)); ++ asprintf(&pChanOrg->TmrChan[i],"%s",*t->ToText(true)); + #else +- ChanOrg.Tmr.Last()->Parse(t->ToText(false)); +- asprintf(&ChanOrg.TmrChan[i],"%s",t->ToText(true)); ++ pChanOrg->Tmr.Last()->Parse(t->ToText(false)); ++ asprintf(&pChanOrg->TmrChan[i],"%s",t->ToText(true)); + #endif + i++; + } +@@ -537,10 +538,10 @@ + { + int i=0; + Timers.cList<cTimer>::Clear(); +- for (cTimer *t = ChanOrg.Tmr.First(); t; t = ChanOrg.Tmr.Next(t)) ++ for (cTimer *t = pChanOrg->Tmr.First(); t; t = pChanOrg->Tmr.Next(t)) + { + Timers.Add(new cTimer(*t)); +- Timers.Last()->Parse(ChanOrg.TmrChan[i]); ++ Timers.Last()->Parse(pChanOrg->TmrChan[i]); + i++; + } + } +@@ -549,8 +550,8 @@ + eOSState cChanOrgMenu::ProcessKey(eKeys Key) + { + eOSState state = cOsdMenu::ProcessKey(Key); +- cChannel *chan=ChanOrg.OrgChans.First(); +- char totext[255]; ++ cChannel *chan=pChanOrg->OrgChans.First(); ++ char totext[512]; + if (!HasSubMenu()) + { + switch(state) +@@ -572,7 +573,7 @@ + strcpy(totext,chan->ToText()); + #endif + Channels.Last()->Parse(totext); +- chan=ChanOrg.OrgChans.Next(chan); ++ chan=pChanOrg->OrgChans.Next(chan); + } + Channels.ReNumber(); + #if VDRVERSNUM>10317 +@@ -601,7 +602,7 @@ + default : break; + } + case osUnknown: +- if (ChanOrg.ReDraw) Draw(); ++ if (pChanOrg->ReDraw) Draw(); + switch(Key) + { + case kBlue: +@@ -610,8 +611,8 @@ + if ( (Marked != Current()) && Marked!=Current()+1 ) + + { +- ChanOrg.OrgChans.Move(Marked,Current()<=Marked ? Current()+1 : Current() ); +- ChanOrg.OrgChans.ReNumber(); ++ pChanOrg->OrgChans.Move(Marked,Current()<=Marked ? Current()+1 : Current() ); ++ pChanOrg->OrgChans.ReNumber(); + } + MarkMove=false; + Marked=0; +@@ -634,7 +635,7 @@ + { + //Tri Transp Dec + Skins.Message(mtStatus,tr("Sorting")); +- TriTranspDec(GetByIndex(Current()),ChanOrg.OrgChans.GetNextGroup(Current())>0? GetByIndex(ChanOrg.OrgChans.GetNextGroup(Current())):ChanOrg.OrgChans.Last()); ++ TriTranspDec(GetByIndex(Current()),pChanOrg->OrgChans.GetNextGroup(Current())>0? GetByIndex(pChanOrg->OrgChans.GetNextGroup(Current())):pChanOrg->OrgChans.Last()); + Skins.Message(mtStatus,tr("Sort done")); + sleep(Setup.OSDMessageTime); + Skins.Message(mtStatus,""); +@@ -651,15 +652,15 @@ + } + else if (!MarkMove && !MarkTri) + { +- ChanOrg.OrgChans.Del( GetByIndex(Current()) ); +- ChanOrg.OrgChans.ReNumber(); ++ pChanOrg->OrgChans.Del( GetByIndex(Current()) ); ++ pChanOrg->OrgChans.ReNumber(); + Draw(); + } + else + { + //Tri Alpha Croiss + Skins.Message(mtStatus,tr("Sorting")); +- TriAlphaCroiss(GetByIndex(Current()),ChanOrg.OrgChans.GetNextGroup(Current())>0? GetByIndex(ChanOrg.OrgChans.GetNextGroup(Current())):ChanOrg.OrgChans.Last()); ++ TriAlphaCroiss(GetByIndex(Current()),pChanOrg->OrgChans.GetNextGroup(Current())>0? GetByIndex(pChanOrg->OrgChans.GetNextGroup(Current())):pChanOrg->OrgChans.Last()); + Skins.Message(mtStatus,tr("Sort done")); + sleep(Setup.OSDMessageTime); + Skins.Message(mtStatus,""); +@@ -673,8 +674,8 @@ + { + if ( Marked!=Current() && Marked+1!=Current()) + { +- ChanOrg.OrgChans.Move(Marked,Current()<=Marked ? Current() : Current()-1 ); +- ChanOrg.OrgChans.ReNumber(); ++ pChanOrg->OrgChans.Move(Marked,Current()<=Marked ? Current() : Current()-1 ); ++ pChanOrg->OrgChans.ReNumber(); + } + MarkMove=false; + Marked=0; +@@ -685,7 +686,7 @@ + if (MarkTri) + { + Skins.Message(mtStatus,tr("Sorting")); +- TriTranspCroiss(GetByIndex(Current()),ChanOrg.OrgChans.GetNextGroup(Current())>0? GetByIndex(ChanOrg.OrgChans.GetNextGroup(Current())):ChanOrg.OrgChans.Last()); ++ TriTranspCroiss(GetByIndex(Current()),pChanOrg->OrgChans.GetNextGroup(Current())>0? GetByIndex(pChanOrg->OrgChans.GetNextGroup(Current())):pChanOrg->OrgChans.Last()); + Skins.Message(mtStatus,tr("Sort done")); + sleep(Setup.OSDMessageTime); + Skins.Message(mtStatus,""); +@@ -701,7 +702,7 @@ + } + else + { +- cDevice::PrimaryDevice()->SwitchChannel(Channels.GetByChannelID(ChanOrg.OrgChans.Get(Current())->GetChannelID()),true); ++ cDevice::PrimaryDevice()->SwitchChannel(Channels.GetByChannelID(pChanOrg->OrgChans.Get(Current())->GetChannelID()),true); + } + break; + case kGreen : +@@ -717,7 +718,7 @@ + { + //Tri Alpha Dec + Skins.Message(mtStatus,tr("Sorting")); +- TriAlphaDec(GetByIndex(Current()),ChanOrg.OrgChans.GetNextGroup(Current())>0? GetByIndex(ChanOrg.OrgChans.GetNextGroup(Current())):ChanOrg.OrgChans.Last()); ++ TriAlphaDec(GetByIndex(Current()),pChanOrg->OrgChans.GetNextGroup(Current())>0? GetByIndex(pChanOrg->OrgChans.GetNextGroup(Current())):pChanOrg->OrgChans.Last()); + Skins.Message(mtStatus,tr("Sort done")); + sleep(Setup.OSDMessageTime); + Skins.Message(mtStatus,""); +diff -Nru chanorg-0.0.6/chan-menu.h chanorg-0.0.6-gettext-i18n/chan-menu.h +--- chanorg-0.0.6/chan-menu.h 2004-07-22 22:06:06.000000000 +0200 ++++ chanorg-0.0.6-gettext-i18n/chan-menu.h 2008-04-13 12:12:49.000000000 +0200 +@@ -2,7 +2,9 @@ + #define __CHANMENU_H + #include <vdr/plugin.h> + #include <vdr/menu.h> ++#if APIVERSNUM < 10507 + #include "i18n.h" ++#endif + class cGroupMove : public cOsdMenu + { + private: +diff -Nru chanorg-0.0.6/chanorg.c chanorg-0.0.6-gettext-i18n/chanorg.c +--- chanorg-0.0.6/chanorg.c 2004-07-22 00:55:45.000000000 +0200 ++++ chanorg-0.0.6-gettext-i18n/chanorg.c 2008-04-13 12:13:25.000000000 +0200 +@@ -1,13 +1,13 @@ + #include "chanorg.h" + #include "chan-menu.h" + +-cPluginChanOrg ChanOrg; ++cPluginChanOrg *pChanOrg; + + void cPluginChanOrg::Debug(void) + { +- cChannel *chan=ChanOrg.OrgChans.First(); ++ cChannel *chan=pChanOrg->OrgChans.First(); + fprintf(stderr,"Chaine Index %i %s\n",chan->Index(),chan->Name()); +- while ((chan=ChanOrg.OrgChans.Next(chan))) ++ while ((chan=pChanOrg->OrgChans.Next(chan))) + { + fprintf(stderr,"Chaine Index %i %s\n",chan->Index(),chan->Name()); + } +@@ -24,7 +24,9 @@ + + bool cPluginChanOrg::Initialize(void) + { ++#if APIVERSNUM < 10507 + RegisterI18n(Phrases); ++#endif + return true; + } + +diff -Nru chanorg-0.0.6/chanorg.h chanorg-0.0.6-gettext-i18n/chanorg.h +--- chanorg-0.0.6/chanorg.h 2005-01-26 19:07:03.000000000 +0100 ++++ chanorg-0.0.6-gettext-i18n/chanorg.h 2008-04-13 12:10:34.000000000 +0200 +@@ -5,8 +5,8 @@ + #include <vdr/i18n.h> + + static const char *VERSION = "0.0.6"; +-static const char *DESCRIPTION = "Channels Organizer"; +-static const char *MAINMENUENTRY = "Channels Organizer"; ++static const char *DESCRIPTION = trNOOP("Channels Organizer"); ++static const char *MAINMENUENTRY = tr("Channels Organizer"); + + // --- cPluginLocker ------------------------------------------------------------- + +@@ -33,6 +33,6 @@ + void Debug(void); + }; + +-extern cPluginChanOrg ChanOrg; ++extern cPluginChanOrg *pChanOrg; + + #endif //__AIDE_H +diff -Nru chanorg-0.0.6/i18n.c chanorg-0.0.6-gettext-i18n/i18n.c +--- chanorg-0.0.6/i18n.c 2005-01-26 19:10:28.000000000 +0100 ++++ chanorg-0.0.6-gettext-i18n/i18n.c 2008-04-13 12:12:24.000000000 +0200 +@@ -1,3 +1,4 @@ ++#if APIVERSNUM < 10507 + #include "i18n.h" + + const tI18nPhrase Phrases[] = { +@@ -460,3 +461,4 @@ + }, + { NULL } + }; ++#endif +diff -Nru chanorg-0.0.6/Makefile chanorg-0.0.6-gettext-i18n/Makefile +--- chanorg-0.0.6/Makefile 2004-07-15 21:11:19.000000000 +0200 ++++ chanorg-0.0.6-gettext-i18n/Makefile 2008-04-13 12:10:38.000000000 +0200 +@@ -16,7 +16,7 @@ + ### The C++ compiler and options: + + CXX ?= g++ +-CXXFLAGS ?= -O2 -Wall -Woverloaded-virtual ++CXXFLAGS ?= -fPIC -O2 -Wall -Woverloaded-virtual + + ### The directory environment: + +@@ -62,9 +62,34 @@ + + -include $(DEPFILE) + ++### Internationalization (I18N): ++ ++PODIR = po ++LOCALEDIR = $(VDRDIR)/locale ++I18Npo = $(wildcard $(PODIR)/*.po) ++I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file)))))) ++I18Npot = $(PODIR)/$(PLUGIN).pot ++ ++%.mo: %.po ++ msgfmt -c -o $@ $< ++ ++$(I18Npot): $(wildcard *.c) ++ xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='<micky979@free.fr>' -o $@ $^ ++ ++%.po: $(I18Npot) ++ msgmerge -U --no-wrap --no-location --backup=none -q $@ $< ++ @touch $@ ++ ++$(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo ++ @mkdir -p $(dir $@) ++ cp $< $@ ++ ++.PHONY: i18n ++i18n: $(I18Nmsgs) ++ + ### Targets: + +-all: libvdr-$(PLUGIN).so ++all: libvdr-$(PLUGIN).so i18n + + libvdr-$(PLUGIN).so: $(OBJS) + $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@ +@@ -79,4 +104,5 @@ + @echo Distribution package created as $(PACKAGE).tgz + + clean: ++ @-rm -f $(PODIR)/*.mo $(PODIR)/*.pot + @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ +diff -Nru chanorg-0.0.6/po/ca_ES.po chanorg-0.0.6-gettext-i18n/po/ca_ES.po +--- chanorg-0.0.6/po/ca_ES.po 1970-01-01 01:00:00.000000000 +0100 ++++ chanorg-0.0.6-gettext-i18n/po/ca_ES.po 2008-04-13 12:10:38.000000000 +0200 +@@ -0,0 +1,114 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Marc Rovira Vall <tm05462@salleURL.edu>, 2003 ++# Ramon Roca <ramon.roca@xcombo.com>, 2003 ++# Jordi Vilà <jvila@tinet.org>, 2003 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-13 12:10+0200\n" ++"PO-Revision-Date: 2008-04-13 12:10+0200\n" ++"Last-Translator: Jordi Vilà <jvila@tinet.org>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-1\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: chan-menu.c:9 ++msgid "Move before group" ++msgstr "" ++ ++#: chan-menu.c:21 chan-menu.c:24 ++msgid ":End" ++msgstr "" ++ ++#: chan-menu.c:98 ++msgid "Select Group for" ++msgstr "" ++ ++#: chan-menu.c:155 chan-menu.c:165 ++msgid "Group" ++msgstr "" ++ ++#: chan-menu.c:180 ++msgid "Name" ++msgstr "" ++ ++#: chan-menu.c:181 ++msgid "Number" ++msgstr "" ++ ++#: chan-menu.c:217 ++msgid "Channels Organizer" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Add Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Affect" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Del Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Edit Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Move" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Sort Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Zap" ++msgstr "" ++ ++#: chan-menu.c:560 ++msgid "Apply Changes?" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "After" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "Before" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "Cancel" ++msgstr "" ++ ++#: chan-menu.c:637 chan-menu.c:662 chan-menu.c:688 chan-menu.c:720 ++msgid "Sorting" ++msgstr "" ++ ++#: chan-menu.c:639 chan-menu.c:664 chan-menu.c:690 chan-menu.c:722 ++msgid "Sort done" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Alpha Down" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Alpha Up" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Transp Down" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Transp Up" ++msgstr "" +diff -Nru chanorg-0.0.6/po/chanorg.pot chanorg-0.0.6-gettext-i18n/po/chanorg.pot +--- chanorg-0.0.6/po/chanorg.pot 1970-01-01 01:00:00.000000000 +0100 ++++ chanorg-0.0.6-gettext-i18n/po/chanorg.pot 2008-04-13 12:10:38.000000000 +0200 +@@ -0,0 +1,113 @@ ++# SOME DESCRIPTIVE TITLE. ++# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER ++# This file is distributed under the same license as the PACKAGE package. ++# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. ++# ++#, fuzzy ++msgid "" ++msgstr "" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-13 12:10+0200\n" ++"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" ++"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" ++"Language-Team: LANGUAGE <LL@li.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=CHARSET\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: chan-menu.c:9 ++msgid "Move before group" ++msgstr "" ++ ++#: chan-menu.c:21 chan-menu.c:24 ++msgid ":End" ++msgstr "" ++ ++#: chan-menu.c:98 ++msgid "Select Group for" ++msgstr "" ++ ++#: chan-menu.c:155 chan-menu.c:165 ++msgid "Group" ++msgstr "" ++ ++#: chan-menu.c:180 ++msgid "Name" ++msgstr "" ++ ++#: chan-menu.c:181 ++msgid "Number" ++msgstr "" ++ ++#: chan-menu.c:217 ++msgid "Channels Organizer" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Add Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Affect" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Del Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Edit Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Move" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Sort Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Zap" ++msgstr "" ++ ++#: chan-menu.c:560 ++msgid "Apply Changes?" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "After" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "Before" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "Cancel" ++msgstr "" ++ ++#: chan-menu.c:637 chan-menu.c:662 chan-menu.c:688 chan-menu.c:720 ++msgid "Sorting" ++msgstr "" ++ ++#: chan-menu.c:639 chan-menu.c:664 chan-menu.c:690 chan-menu.c:722 ++msgid "Sort done" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Alpha Down" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Alpha Up" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Transp Down" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Transp Up" ++msgstr "" +diff -Nru chanorg-0.0.6/po/cs_CZ.po chanorg-0.0.6-gettext-i18n/po/cs_CZ.po +--- chanorg-0.0.6/po/cs_CZ.po 1970-01-01 01:00:00.000000000 +0100 ++++ chanorg-0.0.6-gettext-i18n/po/cs_CZ.po 2008-04-13 12:10:38.000000000 +0200 +@@ -0,0 +1,112 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Vladimír Bárta <vladimir.barta@k2atmitec.cz>, 2006 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-13 12:10+0200\n" ++"PO-Revision-Date: 2008-04-13 12:10+0200\n" ++"Last-Translator: Vladimír Bárta <vladimir.barta@k2atmitec.cz>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-2\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: chan-menu.c:9 ++msgid "Move before group" ++msgstr "" ++ ++#: chan-menu.c:21 chan-menu.c:24 ++msgid ":End" ++msgstr "" ++ ++#: chan-menu.c:98 ++msgid "Select Group for" ++msgstr "" ++ ++#: chan-menu.c:155 chan-menu.c:165 ++msgid "Group" ++msgstr "" ++ ++#: chan-menu.c:180 ++msgid "Name" ++msgstr "" ++ ++#: chan-menu.c:181 ++msgid "Number" ++msgstr "" ++ ++#: chan-menu.c:217 ++msgid "Channels Organizer" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Add Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Affect" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Del Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Edit Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Move" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Sort Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Zap" ++msgstr "" ++ ++#: chan-menu.c:560 ++msgid "Apply Changes?" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "After" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "Before" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "Cancel" ++msgstr "" ++ ++#: chan-menu.c:637 chan-menu.c:662 chan-menu.c:688 chan-menu.c:720 ++msgid "Sorting" ++msgstr "" ++ ++#: chan-menu.c:639 chan-menu.c:664 chan-menu.c:690 chan-menu.c:722 ++msgid "Sort done" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Alpha Down" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Alpha Up" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Transp Down" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Transp Up" ++msgstr "" +diff -Nru chanorg-0.0.6/po/da_DK.po chanorg-0.0.6-gettext-i18n/po/da_DK.po +--- chanorg-0.0.6/po/da_DK.po 1970-01-01 01:00:00.000000000 +0100 ++++ chanorg-0.0.6-gettext-i18n/po/da_DK.po 2008-04-13 12:10:38.000000000 +0200 +@@ -0,0 +1,112 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Mogens Elneff <mogens@elneff.dk>, 2004 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-13 12:10+0200\n" ++"PO-Revision-Date: 2008-04-13 12:10+0200\n" ++"Last-Translator: Mogens Elneff <mogens@elneff.dk>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-15\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: chan-menu.c:9 ++msgid "Move before group" ++msgstr "" ++ ++#: chan-menu.c:21 chan-menu.c:24 ++msgid ":End" ++msgstr "" ++ ++#: chan-menu.c:98 ++msgid "Select Group for" ++msgstr "" ++ ++#: chan-menu.c:155 chan-menu.c:165 ++msgid "Group" ++msgstr "" ++ ++#: chan-menu.c:180 ++msgid "Name" ++msgstr "" ++ ++#: chan-menu.c:181 ++msgid "Number" ++msgstr "" ++ ++#: chan-menu.c:217 ++msgid "Channels Organizer" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Add Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Affect" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Del Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Edit Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Move" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Sort Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Zap" ++msgstr "" ++ ++#: chan-menu.c:560 ++msgid "Apply Changes?" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "After" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "Before" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "Cancel" ++msgstr "" ++ ++#: chan-menu.c:637 chan-menu.c:662 chan-menu.c:688 chan-menu.c:720 ++msgid "Sorting" ++msgstr "" ++ ++#: chan-menu.c:639 chan-menu.c:664 chan-menu.c:690 chan-menu.c:722 ++msgid "Sort done" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Alpha Down" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Alpha Up" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Transp Down" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Transp Up" ++msgstr "" +diff -Nru chanorg-0.0.6/po/de_DE.po chanorg-0.0.6-gettext-i18n/po/de_DE.po +--- chanorg-0.0.6/po/de_DE.po 1970-01-01 01:00:00.000000000 +0100 ++++ chanorg-0.0.6-gettext-i18n/po/de_DE.po 2008-04-13 12:10:38.000000000 +0200 +@@ -0,0 +1,112 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Klaus Schmidinger <kls@cadsoft.de>, 2000 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-13 12:10+0200\n" ++"PO-Revision-Date: 2008-04-13 12:10+0200\n" ++"Last-Translator: Klaus Schmidinger <kls@cadsoft.de>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-15\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: chan-menu.c:9 ++msgid "Move before group" ++msgstr "Verschiebe vor Gruppe" ++ ++#: chan-menu.c:21 chan-menu.c:24 ++msgid ":End" ++msgstr ":Ende" ++ ++#: chan-menu.c:98 ++msgid "Select Group for" ++msgstr "Wählen" ++ ++#: chan-menu.c:155 chan-menu.c:165 ++msgid "Group" ++msgstr "Gruppe" ++ ++#: chan-menu.c:180 ++msgid "Name" ++msgstr "Name" ++ ++#: chan-menu.c:181 ++msgid "Number" ++msgstr "Nummer" ++ ++#: chan-menu.c:217 ++msgid "Channels Organizer" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Add Group" ++msgstr "Hinzufügen" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Affect" ++msgstr "Zuweisen" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Del Group" ++msgstr "Löschen" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Edit Group" ++msgstr "Bearbeiten" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Move" ++msgstr "Verschieben" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Sort Group" ++msgstr "Sortieren" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Zap" ++msgstr "Umschalten" ++ ++#: chan-menu.c:560 ++msgid "Apply Changes?" ++msgstr "Änderungen speichern?" ++ ++#: chan-menu.c:630 ++msgid "After" ++msgstr "Dahinter" ++ ++#: chan-menu.c:630 ++msgid "Before" ++msgstr "Davor" ++ ++#: chan-menu.c:630 ++msgid "Cancel" ++msgstr "Abbrechen" ++ ++#: chan-menu.c:637 chan-menu.c:662 chan-menu.c:688 chan-menu.c:720 ++msgid "Sorting" ++msgstr "Sortieren" ++ ++#: chan-menu.c:639 chan-menu.c:664 chan-menu.c:690 chan-menu.c:722 ++msgid "Sort done" ++msgstr "Sortieren beendet" ++ ++#: chan-menu.c:699 ++msgid "Alpha Down" ++msgstr "Alpha ab" ++ ++#: chan-menu.c:699 ++msgid "Alpha Up" ++msgstr "Alpha auf" ++ ++#: chan-menu.c:699 ++msgid "Transp Down" ++msgstr "Transp ab" ++ ++#: chan-menu.c:699 ++msgid "Transp Up" ++msgstr "Transp auf" +diff -Nru chanorg-0.0.6/po/el_GR.po chanorg-0.0.6-gettext-i18n/po/el_GR.po +--- chanorg-0.0.6/po/el_GR.po 1970-01-01 01:00:00.000000000 +0100 ++++ chanorg-0.0.6-gettext-i18n/po/el_GR.po 2008-04-13 12:10:38.000000000 +0200 +@@ -0,0 +1,112 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Dimitrios Dimitrakos <mail@dimitrios.de>, 2002 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-13 12:10+0200\n" ++"PO-Revision-Date: 2008-04-13 12:10+0200\n" ++"Last-Translator: Dimitrios Dimitrakos <mail@dimitrios.de>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-7\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: chan-menu.c:9 ++msgid "Move before group" ++msgstr "" ++ ++#: chan-menu.c:21 chan-menu.c:24 ++msgid ":End" ++msgstr "" ++ ++#: chan-menu.c:98 ++msgid "Select Group for" ++msgstr "" ++ ++#: chan-menu.c:155 chan-menu.c:165 ++msgid "Group" ++msgstr "" ++ ++#: chan-menu.c:180 ++msgid "Name" ++msgstr "" ++ ++#: chan-menu.c:181 ++msgid "Number" ++msgstr "" ++ ++#: chan-menu.c:217 ++msgid "Channels Organizer" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Add Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Affect" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Del Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Edit Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Move" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Sort Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Zap" ++msgstr "" ++ ++#: chan-menu.c:560 ++msgid "Apply Changes?" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "After" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "Before" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "Cancel" ++msgstr "" ++ ++#: chan-menu.c:637 chan-menu.c:662 chan-menu.c:688 chan-menu.c:720 ++msgid "Sorting" ++msgstr "" ++ ++#: chan-menu.c:639 chan-menu.c:664 chan-menu.c:690 chan-menu.c:722 ++msgid "Sort done" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Alpha Down" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Alpha Up" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Transp Down" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Transp Up" ++msgstr "" +diff -Nru chanorg-0.0.6/po/es_ES.po chanorg-0.0.6-gettext-i18n/po/es_ES.po +--- chanorg-0.0.6/po/es_ES.po 1970-01-01 01:00:00.000000000 +0100 ++++ chanorg-0.0.6-gettext-i18n/po/es_ES.po 2008-04-13 12:10:38.000000000 +0200 +@@ -0,0 +1,112 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Ruben Nunez Francisco <ruben.nunez@tang-it.com>, 2002 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-13 12:10+0200\n" ++"PO-Revision-Date: 2008-04-13 12:10+0200\n" ++"Last-Translator: Ruben Nunez Francisco <ruben.nunez@tang-it.com>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-15\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: chan-menu.c:9 ++msgid "Move before group" ++msgstr "" ++ ++#: chan-menu.c:21 chan-menu.c:24 ++msgid ":End" ++msgstr "" ++ ++#: chan-menu.c:98 ++msgid "Select Group for" ++msgstr "" ++ ++#: chan-menu.c:155 chan-menu.c:165 ++msgid "Group" ++msgstr "" ++ ++#: chan-menu.c:180 ++msgid "Name" ++msgstr "" ++ ++#: chan-menu.c:181 ++msgid "Number" ++msgstr "" ++ ++#: chan-menu.c:217 ++msgid "Channels Organizer" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Add Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Affect" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Del Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Edit Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Move" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Sort Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Zap" ++msgstr "" ++ ++#: chan-menu.c:560 ++msgid "Apply Changes?" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "After" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "Before" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "Cancel" ++msgstr "" ++ ++#: chan-menu.c:637 chan-menu.c:662 chan-menu.c:688 chan-menu.c:720 ++msgid "Sorting" ++msgstr "" ++ ++#: chan-menu.c:639 chan-menu.c:664 chan-menu.c:690 chan-menu.c:722 ++msgid "Sort done" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Alpha Down" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Alpha Up" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Transp Down" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Transp Up" ++msgstr "" +diff -Nru chanorg-0.0.6/po/et_EE.po chanorg-0.0.6-gettext-i18n/po/et_EE.po +--- chanorg-0.0.6/po/et_EE.po 1970-01-01 01:00:00.000000000 +0100 ++++ chanorg-0.0.6-gettext-i18n/po/et_EE.po 2008-04-13 12:10:38.000000000 +0200 +@@ -0,0 +1,112 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Arthur Konovalov <kasjas@hot.ee>, 2004 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-13 12:10+0200\n" ++"PO-Revision-Date: 2008-04-13 12:10+0200\n" ++"Last-Translator: Arthur Konovalov <kasjas@hot.ee>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-13\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: chan-menu.c:9 ++msgid "Move before group" ++msgstr "" ++ ++#: chan-menu.c:21 chan-menu.c:24 ++msgid ":End" ++msgstr "" ++ ++#: chan-menu.c:98 ++msgid "Select Group for" ++msgstr "" ++ ++#: chan-menu.c:155 chan-menu.c:165 ++msgid "Group" ++msgstr "" ++ ++#: chan-menu.c:180 ++msgid "Name" ++msgstr "" ++ ++#: chan-menu.c:181 ++msgid "Number" ++msgstr "" ++ ++#: chan-menu.c:217 ++msgid "Channels Organizer" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Add Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Affect" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Del Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Edit Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Move" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Sort Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Zap" ++msgstr "" ++ ++#: chan-menu.c:560 ++msgid "Apply Changes?" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "After" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "Before" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "Cancel" ++msgstr "" ++ ++#: chan-menu.c:637 chan-menu.c:662 chan-menu.c:688 chan-menu.c:720 ++msgid "Sorting" ++msgstr "" ++ ++#: chan-menu.c:639 chan-menu.c:664 chan-menu.c:690 chan-menu.c:722 ++msgid "Sort done" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Alpha Down" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Alpha Up" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Transp Down" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Transp Up" ++msgstr "" +diff -Nru chanorg-0.0.6/po/fi_FI.po chanorg-0.0.6-gettext-i18n/po/fi_FI.po +--- chanorg-0.0.6/po/fi_FI.po 1970-01-01 01:00:00.000000000 +0100 ++++ chanorg-0.0.6-gettext-i18n/po/fi_FI.po 2008-04-13 12:10:38.000000000 +0200 +@@ -0,0 +1,115 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Hannu Savolainen <hannu@opensound.com>, 2002 ++# Jaakko Hyvätti <jaakko@hyvatti.iki.fi>, 2002 ++# Niko Tarnanen <niko.tarnanen@hut.fi>, 2003 ++# Rolf Ahrenberg <rahrenbe@cc.hut.fi>, 2003 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-13 12:10+0200\n" ++"PO-Revision-Date: 2008-04-13 12:10+0200\n" ++"Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-15\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: chan-menu.c:9 ++msgid "Move before group" ++msgstr "" ++ ++#: chan-menu.c:21 chan-menu.c:24 ++msgid ":End" ++msgstr "" ++ ++#: chan-menu.c:98 ++msgid "Select Group for" ++msgstr "" ++ ++#: chan-menu.c:155 chan-menu.c:165 ++msgid "Group" ++msgstr "" ++ ++#: chan-menu.c:180 ++msgid "Name" ++msgstr "" ++ ++#: chan-menu.c:181 ++msgid "Number" ++msgstr "" ++ ++#: chan-menu.c:217 ++msgid "Channels Organizer" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Add Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Affect" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Del Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Edit Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Move" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Sort Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Zap" ++msgstr "" ++ ++#: chan-menu.c:560 ++msgid "Apply Changes?" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "After" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "Before" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "Cancel" ++msgstr "" ++ ++#: chan-menu.c:637 chan-menu.c:662 chan-menu.c:688 chan-menu.c:720 ++msgid "Sorting" ++msgstr "" ++ ++#: chan-menu.c:639 chan-menu.c:664 chan-menu.c:690 chan-menu.c:722 ++msgid "Sort done" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Alpha Down" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Alpha Up" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Transp Down" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Transp Up" ++msgstr "" +diff -Nru chanorg-0.0.6/po/fr_FR.po chanorg-0.0.6-gettext-i18n/po/fr_FR.po +--- chanorg-0.0.6/po/fr_FR.po 1970-01-01 01:00:00.000000000 +0100 ++++ chanorg-0.0.6-gettext-i18n/po/fr_FR.po 2008-04-13 12:11:56.000000000 +0200 +@@ -0,0 +1,115 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Jean-Claude Repetto <jc@repetto.org>, 2001 ++# Olivier Jacques <jacquesolivier@hotmail.com>, 2003 ++# Gregoire Favre <greg@magma.unil.ch>, 2003 ++# Nicolas Huillard <nhuillard@e-dition.fr>, 2005 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-13 12:10+0200\n" ++"PO-Revision-Date: 2008-04-13 12:10+0200\n" ++"Last-Translator: Nicolas Huillard <nhuillard@e-dition.fr>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-1\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: chan-menu.c:9 ++msgid "Move before group" ++msgstr "Deplacer avant groupe" ++ ++#: chan-menu.c:21 chan-menu.c:24 ++msgid ":End" ++msgstr ":Fin" ++ ++#: chan-menu.c:98 ++msgid "Select Group for" ++msgstr "Choix du groupe pour" ++ ++#: chan-menu.c:155 chan-menu.c:165 ++msgid "Group" ++msgstr "Groupe" ++ ++#: chan-menu.c:180 ++msgid "Name" ++msgstr "Nom" ++ ++#: chan-menu.c:181 ++msgid "Number" ++msgstr "Numero" ++ ++#: chan-menu.c:217 ++msgid "Channels Organizer" ++msgstr "Organisateur Chaines" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Add Group" ++msgstr "Creer Groupe" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Affect" ++msgstr "Affecter" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Del Group" ++msgstr "Suppr Groupe" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Edit Group" ++msgstr "Modif Groupe" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Move" ++msgstr "Deplacer" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Sort Group" ++msgstr "Tri Group" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Zap" ++msgstr "Zap" ++ ++#: chan-menu.c:560 ++msgid "Apply Changes?" ++msgstr "Appliquer les changements?" ++ ++#: chan-menu.c:630 ++msgid "After" ++msgstr "Apres" ++ ++#: chan-menu.c:630 ++msgid "Before" ++msgstr "Avant" ++ ++#: chan-menu.c:630 ++msgid "Cancel" ++msgstr "Annuler" ++ ++#: chan-menu.c:637 chan-menu.c:662 chan-menu.c:688 chan-menu.c:720 ++msgid "Sorting" ++msgstr "Tri en cours" ++ ++#: chan-menu.c:639 chan-menu.c:664 chan-menu.c:690 chan-menu.c:722 ++msgid "Sort done" ++msgstr "Tri termine" ++ ++#: chan-menu.c:699 ++msgid "Alpha Down" ++msgstr "Alpha Dec" ++ ++#: chan-menu.c:699 ++msgid "Alpha Up" ++msgstr "Alpha Croiss" ++ ++#: chan-menu.c:699 ++msgid "Transp Down" ++msgstr "Transp Dec" ++ ++#: chan-menu.c:699 ++msgid "Transp Up" ++msgstr "Transp Croiss" +diff -Nru chanorg-0.0.6/po/hr_HR.po chanorg-0.0.6-gettext-i18n/po/hr_HR.po +--- chanorg-0.0.6/po/hr_HR.po 1970-01-01 01:00:00.000000000 +0100 ++++ chanorg-0.0.6-gettext-i18n/po/hr_HR.po 2008-04-13 12:10:38.000000000 +0200 +@@ -0,0 +1,113 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Drazen Dupor <drazen.dupor@dupor.com>, 2004 ++# Dino Ravnic <dino.ravnic@fer.hr>, 2004 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-13 12:10+0200\n" ++"PO-Revision-Date: 2008-04-13 12:10+0200\n" ++"Last-Translator: Drazen Dupor <drazen.dupor@dupor.com>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-2\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: chan-menu.c:9 ++msgid "Move before group" ++msgstr "" ++ ++#: chan-menu.c:21 chan-menu.c:24 ++msgid ":End" ++msgstr "" ++ ++#: chan-menu.c:98 ++msgid "Select Group for" ++msgstr "" ++ ++#: chan-menu.c:155 chan-menu.c:165 ++msgid "Group" ++msgstr "" ++ ++#: chan-menu.c:180 ++msgid "Name" ++msgstr "" ++ ++#: chan-menu.c:181 ++msgid "Number" ++msgstr "" ++ ++#: chan-menu.c:217 ++msgid "Channels Organizer" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Add Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Affect" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Del Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Edit Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Move" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Sort Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Zap" ++msgstr "" ++ ++#: chan-menu.c:560 ++msgid "Apply Changes?" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "After" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "Before" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "Cancel" ++msgstr "" ++ ++#: chan-menu.c:637 chan-menu.c:662 chan-menu.c:688 chan-menu.c:720 ++msgid "Sorting" ++msgstr "" ++ ++#: chan-menu.c:639 chan-menu.c:664 chan-menu.c:690 chan-menu.c:722 ++msgid "Sort done" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Alpha Down" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Alpha Up" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Transp Down" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Transp Up" ++msgstr "" +diff -Nru chanorg-0.0.6/po/hu_HU.po chanorg-0.0.6-gettext-i18n/po/hu_HU.po +--- chanorg-0.0.6/po/hu_HU.po 1970-01-01 01:00:00.000000000 +0100 ++++ chanorg-0.0.6-gettext-i18n/po/hu_HU.po 2008-04-13 12:10:38.000000000 +0200 +@@ -0,0 +1,113 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Istvan Koenigsberger <istvnko@hotmail.com>, 2002 ++# Guido Josten <guido.josten@t-online.de>, 2002 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-13 12:10+0200\n" ++"PO-Revision-Date: 2008-04-13 12:10+0200\n" ++"Last-Translator: Istvan Koenigsberger <istvnko@hotmail.com>, Guido Josten <guido.josten@t-online.de>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-2\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: chan-menu.c:9 ++msgid "Move before group" ++msgstr "" ++ ++#: chan-menu.c:21 chan-menu.c:24 ++msgid ":End" ++msgstr "" ++ ++#: chan-menu.c:98 ++msgid "Select Group for" ++msgstr "" ++ ++#: chan-menu.c:155 chan-menu.c:165 ++msgid "Group" ++msgstr "" ++ ++#: chan-menu.c:180 ++msgid "Name" ++msgstr "" ++ ++#: chan-menu.c:181 ++msgid "Number" ++msgstr "" ++ ++#: chan-menu.c:217 ++msgid "Channels Organizer" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Add Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Affect" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Del Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Edit Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Move" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Sort Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Zap" ++msgstr "" ++ ++#: chan-menu.c:560 ++msgid "Apply Changes?" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "After" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "Before" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "Cancel" ++msgstr "" ++ ++#: chan-menu.c:637 chan-menu.c:662 chan-menu.c:688 chan-menu.c:720 ++msgid "Sorting" ++msgstr "" ++ ++#: chan-menu.c:639 chan-menu.c:664 chan-menu.c:690 chan-menu.c:722 ++msgid "Sort done" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Alpha Down" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Alpha Up" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Transp Down" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Transp Up" ++msgstr "" +diff -Nru chanorg-0.0.6/po/it_IT.po chanorg-0.0.6-gettext-i18n/po/it_IT.po +--- chanorg-0.0.6/po/it_IT.po 1970-01-01 01:00:00.000000000 +0100 ++++ chanorg-0.0.6-gettext-i18n/po/it_IT.po 2008-04-13 12:10:38.000000000 +0200 +@@ -0,0 +1,114 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Alberto Carraro <bertocar@tin.it>, 2001 ++# Antonio Ospite <ospite@studenti.unina.it>, 2003 ++# Sean Carlos <seanc@libero.it>, 2005 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-13 12:10+0200\n" ++"PO-Revision-Date: 2008-04-13 12:10+0200\n" ++"Last-Translator: Sean Carlos <seanc@libero.it>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-15\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: chan-menu.c:9 ++msgid "Move before group" ++msgstr "Muovi in su il gruppo" ++ ++#: chan-menu.c:21 chan-menu.c:24 ++msgid ":End" ++msgstr ":Fine" ++ ++#: chan-menu.c:98 ++msgid "Select Group for" ++msgstr "Seleziona grp" ++ ++#: chan-menu.c:155 chan-menu.c:165 ++msgid "Group" ++msgstr "Gruppo" ++ ++#: chan-menu.c:180 ++msgid "Name" ++msgstr "Nome" ++ ++#: chan-menu.c:181 ++msgid "Number" ++msgstr "Numero" ++ ++#: chan-menu.c:217 ++msgid "Channels Organizer" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Add Group" ++msgstr "Aggiungi grp" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Affect" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Del Group" ++msgstr "Cancella grp" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Edit Group" ++msgstr "Modifica grp" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Move" ++msgstr "Muovi" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Sort Group" ++msgstr "Ordina grp" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Zap" ++msgstr "Vedi canale" ++ ++#: chan-menu.c:560 ++msgid "Apply Changes?" ++msgstr "Applica cambiamenti?" ++ ++#: chan-menu.c:630 ++msgid "After" ++msgstr "In giu'" ++ ++#: chan-menu.c:630 ++msgid "Before" ++msgstr "In su" ++ ++#: chan-menu.c:630 ++msgid "Cancel" ++msgstr "Cancella" ++ ++#: chan-menu.c:637 chan-menu.c:662 chan-menu.c:688 chan-menu.c:720 ++msgid "Sorting" ++msgstr "Ordinamento" ++ ++#: chan-menu.c:639 chan-menu.c:664 chan-menu.c:690 chan-menu.c:722 ++msgid "Sort done" ++msgstr "Ordinamento completato" ++ ++#: chan-menu.c:699 ++msgid "Alpha Down" ++msgstr "Alpha giu'" ++ ++#: chan-menu.c:699 ++msgid "Alpha Up" ++msgstr "Alpha su" ++ ++#: chan-menu.c:699 ++msgid "Transp Down" ++msgstr "Transp giu'" ++ ++#: chan-menu.c:699 ++msgid "Transp Up" ++msgstr "Transp su" +diff -Nru chanorg-0.0.6/po/nl_NL.po chanorg-0.0.6-gettext-i18n/po/nl_NL.po +--- chanorg-0.0.6/po/nl_NL.po 1970-01-01 01:00:00.000000000 +0100 ++++ chanorg-0.0.6-gettext-i18n/po/nl_NL.po 2008-04-13 12:10:38.000000000 +0200 +@@ -0,0 +1,114 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Arnold Niessen <niessen@iae.nl> <arnold.niessen@philips.com>, 2001 ++# Hans Dingemans <hans.dingemans@tacticalops.nl>, 2003 ++# Maarten Wisse <Maarten.Wisse@urz.uni-hd.de>, 2005 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-13 12:10+0200\n" ++"PO-Revision-Date: 2008-04-13 12:10+0200\n" ++"Last-Translator: Maarten Wisse <Maarten.Wisse@urz.uni-hd.de>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-15\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: chan-menu.c:9 ++msgid "Move before group" ++msgstr "" ++ ++#: chan-menu.c:21 chan-menu.c:24 ++msgid ":End" ++msgstr "" ++ ++#: chan-menu.c:98 ++msgid "Select Group for" ++msgstr "" ++ ++#: chan-menu.c:155 chan-menu.c:165 ++msgid "Group" ++msgstr "" ++ ++#: chan-menu.c:180 ++msgid "Name" ++msgstr "" ++ ++#: chan-menu.c:181 ++msgid "Number" ++msgstr "" ++ ++#: chan-menu.c:217 ++msgid "Channels Organizer" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Add Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Affect" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Del Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Edit Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Move" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Sort Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Zap" ++msgstr "" ++ ++#: chan-menu.c:560 ++msgid "Apply Changes?" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "After" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "Before" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "Cancel" ++msgstr "" ++ ++#: chan-menu.c:637 chan-menu.c:662 chan-menu.c:688 chan-menu.c:720 ++msgid "Sorting" ++msgstr "" ++ ++#: chan-menu.c:639 chan-menu.c:664 chan-menu.c:690 chan-menu.c:722 ++msgid "Sort done" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Alpha Down" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Alpha Up" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Transp Down" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Transp Up" ++msgstr "" +diff -Nru chanorg-0.0.6/po/nn_NO.po chanorg-0.0.6-gettext-i18n/po/nn_NO.po +--- chanorg-0.0.6/po/nn_NO.po 1970-01-01 01:00:00.000000000 +0100 ++++ chanorg-0.0.6-gettext-i18n/po/nn_NO.po 2008-04-13 12:10:38.000000000 +0200 +@@ -0,0 +1,113 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Jørgen Tvedt <pjtvedt@online.no>, 2001 ++# Truls Slevigen <truls@slevigen.no>, 2002 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-13 12:10+0200\n" ++"PO-Revision-Date: 2008-04-13 12:10+0200\n" ++"Last-Translator: Truls Slevigen <truls@slevigen.no>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-1\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: chan-menu.c:9 ++msgid "Move before group" ++msgstr "" ++ ++#: chan-menu.c:21 chan-menu.c:24 ++msgid ":End" ++msgstr "" ++ ++#: chan-menu.c:98 ++msgid "Select Group for" ++msgstr "" ++ ++#: chan-menu.c:155 chan-menu.c:165 ++msgid "Group" ++msgstr "" ++ ++#: chan-menu.c:180 ++msgid "Name" ++msgstr "" ++ ++#: chan-menu.c:181 ++msgid "Number" ++msgstr "" ++ ++#: chan-menu.c:217 ++msgid "Channels Organizer" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Add Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Affect" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Del Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Edit Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Move" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Sort Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Zap" ++msgstr "" ++ ++#: chan-menu.c:560 ++msgid "Apply Changes?" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "After" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "Before" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "Cancel" ++msgstr "" ++ ++#: chan-menu.c:637 chan-menu.c:662 chan-menu.c:688 chan-menu.c:720 ++msgid "Sorting" ++msgstr "" ++ ++#: chan-menu.c:639 chan-menu.c:664 chan-menu.c:690 chan-menu.c:722 ++msgid "Sort done" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Alpha Down" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Alpha Up" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Transp Down" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Transp Up" ++msgstr "" +diff -Nru chanorg-0.0.6/po/pl_PL.po chanorg-0.0.6-gettext-i18n/po/pl_PL.po +--- chanorg-0.0.6/po/pl_PL.po 1970-01-01 01:00:00.000000000 +0100 ++++ chanorg-0.0.6-gettext-i18n/po/pl_PL.po 2008-04-13 12:10:38.000000000 +0200 +@@ -0,0 +1,112 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Michael Rakowski <mrak@gmx.de>, 2002 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-13 12:10+0200\n" ++"PO-Revision-Date: 2008-04-13 12:10+0200\n" ++"Last-Translator: Michael Rakowski <mrak@gmx.de>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-2\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: chan-menu.c:9 ++msgid "Move before group" ++msgstr "" ++ ++#: chan-menu.c:21 chan-menu.c:24 ++msgid ":End" ++msgstr "" ++ ++#: chan-menu.c:98 ++msgid "Select Group for" ++msgstr "" ++ ++#: chan-menu.c:155 chan-menu.c:165 ++msgid "Group" ++msgstr "" ++ ++#: chan-menu.c:180 ++msgid "Name" ++msgstr "" ++ ++#: chan-menu.c:181 ++msgid "Number" ++msgstr "" ++ ++#: chan-menu.c:217 ++msgid "Channels Organizer" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Add Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Affect" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Del Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Edit Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Move" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Sort Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Zap" ++msgstr "" ++ ++#: chan-menu.c:560 ++msgid "Apply Changes?" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "After" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "Before" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "Cancel" ++msgstr "" ++ ++#: chan-menu.c:637 chan-menu.c:662 chan-menu.c:688 chan-menu.c:720 ++msgid "Sorting" ++msgstr "" ++ ++#: chan-menu.c:639 chan-menu.c:664 chan-menu.c:690 chan-menu.c:722 ++msgid "Sort done" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Alpha Down" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Alpha Up" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Transp Down" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Transp Up" ++msgstr "" +diff -Nru chanorg-0.0.6/po/pt_PT.po chanorg-0.0.6-gettext-i18n/po/pt_PT.po +--- chanorg-0.0.6/po/pt_PT.po 1970-01-01 01:00:00.000000000 +0100 ++++ chanorg-0.0.6-gettext-i18n/po/pt_PT.po 2008-04-13 12:10:38.000000000 +0200 +@@ -0,0 +1,112 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Paulo Lopes <pmml@netvita.pt>, 2001 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-13 12:10+0200\n" ++"PO-Revision-Date: 2008-04-13 12:10+0200\n" ++"Last-Translator: Paulo Lopes <pmml@netvita.pt>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-1\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: chan-menu.c:9 ++msgid "Move before group" ++msgstr "" ++ ++#: chan-menu.c:21 chan-menu.c:24 ++msgid ":End" ++msgstr "" ++ ++#: chan-menu.c:98 ++msgid "Select Group for" ++msgstr "" ++ ++#: chan-menu.c:155 chan-menu.c:165 ++msgid "Group" ++msgstr "" ++ ++#: chan-menu.c:180 ++msgid "Name" ++msgstr "" ++ ++#: chan-menu.c:181 ++msgid "Number" ++msgstr "" ++ ++#: chan-menu.c:217 ++msgid "Channels Organizer" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Add Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Affect" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Del Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Edit Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Move" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Sort Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Zap" ++msgstr "" ++ ++#: chan-menu.c:560 ++msgid "Apply Changes?" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "After" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "Before" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "Cancel" ++msgstr "" ++ ++#: chan-menu.c:637 chan-menu.c:662 chan-menu.c:688 chan-menu.c:720 ++msgid "Sorting" ++msgstr "" ++ ++#: chan-menu.c:639 chan-menu.c:664 chan-menu.c:690 chan-menu.c:722 ++msgid "Sort done" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Alpha Down" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Alpha Up" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Transp Down" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Transp Up" ++msgstr "" +diff -Nru chanorg-0.0.6/po/ro_RO.po chanorg-0.0.6-gettext-i18n/po/ro_RO.po +--- chanorg-0.0.6/po/ro_RO.po 1970-01-01 01:00:00.000000000 +0100 ++++ chanorg-0.0.6-gettext-i18n/po/ro_RO.po 2008-04-13 12:10:38.000000000 +0200 +@@ -0,0 +1,113 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Paul Lacatus <paul@campina.iiruc.ro>, 2002 ++# Lucian Muresan <lucianm@users.sourceforge.net>, 2004 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-13 12:10+0200\n" ++"PO-Revision-Date: 2008-04-13 12:10+0200\n" ++"Last-Translator: Lucian Muresan <lucianm@users.sourceforge.net>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-2\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: chan-menu.c:9 ++msgid "Move before group" ++msgstr "" ++ ++#: chan-menu.c:21 chan-menu.c:24 ++msgid ":End" ++msgstr "" ++ ++#: chan-menu.c:98 ++msgid "Select Group for" ++msgstr "" ++ ++#: chan-menu.c:155 chan-menu.c:165 ++msgid "Group" ++msgstr "" ++ ++#: chan-menu.c:180 ++msgid "Name" ++msgstr "" ++ ++#: chan-menu.c:181 ++msgid "Number" ++msgstr "" ++ ++#: chan-menu.c:217 ++msgid "Channels Organizer" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Add Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Affect" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Del Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Edit Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Move" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Sort Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Zap" ++msgstr "" ++ ++#: chan-menu.c:560 ++msgid "Apply Changes?" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "After" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "Before" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "Cancel" ++msgstr "" ++ ++#: chan-menu.c:637 chan-menu.c:662 chan-menu.c:688 chan-menu.c:720 ++msgid "Sorting" ++msgstr "" ++ ++#: chan-menu.c:639 chan-menu.c:664 chan-menu.c:690 chan-menu.c:722 ++msgid "Sort done" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Alpha Down" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Alpha Up" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Transp Down" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Transp Up" ++msgstr "" +diff -Nru chanorg-0.0.6/po/ru_RU.po chanorg-0.0.6-gettext-i18n/po/ru_RU.po +--- chanorg-0.0.6/po/ru_RU.po 1970-01-01 01:00:00.000000000 +0100 ++++ chanorg-0.0.6-gettext-i18n/po/ru_RU.po 2008-04-13 12:10:38.000000000 +0200 +@@ -0,0 +1,112 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Vyacheslav Dikonov <sdiconov@mail.ru>, 2004 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-13 12:10+0200\n" ++"PO-Revision-Date: 2008-04-13 12:10+0200\n" ++"Last-Translator: Vyacheslav Dikonov <sdiconov@mail.ru>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-5\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: chan-menu.c:9 ++msgid "Move before group" ++msgstr "¿ÞÜÕáâØâì ßÕàÕÔ ÓàãßßÞÙ" ++ ++#: chan-menu.c:21 chan-menu.c:24 ++msgid ":End" ++msgstr ":ºÞÝÕæ" ++ ++#: chan-menu.c:98 ++msgid "Select Group for" ++msgstr "²ëÑÞà Óàãßßë" ++ ++#: chan-menu.c:155 chan-menu.c:165 ++msgid "Group" ++msgstr "³àãßßÐ" ++ ++#: chan-menu.c:180 ++msgid "Name" ++msgstr "¸Üï" ++ ++#: chan-menu.c:181 ++msgid "Number" ++msgstr "½ÞÜÕà" ++ ++#: chan-menu.c:217 ++msgid "Channels Organizer" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Add Group" ++msgstr "½ÞÒÐï ÓàãßßÐ" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Affect" ++msgstr "¿àØÜÕÝØâì" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Del Group" ++msgstr "ÃÔÐÛ. Óàãßßã" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Edit Group" ++msgstr "ÀÕÔ. Óàãßßã" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Move" ++msgstr "¿ÕàÕÜÕáâØâì" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Sort Group" ++msgstr "ÁÞàâ. Óàãßßã" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Zap" ++msgstr "¿ÕàÕÚÛîçØâì" ++ ++#: chan-menu.c:560 ++msgid "Apply Changes?" ++msgstr "¿àØÜÕÝØâì Ø×ÜÕÝÕÝØï?" ++ ++#: chan-menu.c:630 ++msgid "After" ++msgstr "¿ÞáÛÕ" ++ ++#: chan-menu.c:630 ++msgid "Before" ++msgstr "¿ÕàÕÔ" ++ ++#: chan-menu.c:630 ++msgid "Cancel" ++msgstr "¾âÜÕÝØâì" ++ ++#: chan-menu.c:637 chan-menu.c:662 chan-menu.c:688 chan-menu.c:720 ++msgid "Sorting" ++msgstr "ÁÞàâØàÞÒÚÐ" ++ ++#: chan-menu.c:639 chan-menu.c:664 chan-menu.c:690 chan-menu.c:722 ++msgid "Sort done" ++msgstr "ÁÞàâØàÞÒÚÐ ÞÚÞÝçÕÝÐ" ++ ++#: chan-menu.c:699 ++msgid "Alpha Down" ++msgstr "°ÛäÐÒØâ ãÑëÒ." ++ ++#: chan-menu.c:699 ++msgid "Alpha Up" ++msgstr "°ÛäÐÒØâ ÒÞ×à." ++ ++#: chan-menu.c:699 ++msgid "Transp Down" ++msgstr "ÂàÐÝáß. ãÑëÒ." ++ ++#: chan-menu.c:699 ++msgid "Transp Up" ++msgstr "ÂàÐÝáß. ÒÞ×à." +diff -Nru chanorg-0.0.6/po/sl_SI.po chanorg-0.0.6-gettext-i18n/po/sl_SI.po +--- chanorg-0.0.6/po/sl_SI.po 1970-01-01 01:00:00.000000000 +0100 ++++ chanorg-0.0.6-gettext-i18n/po/sl_SI.po 2008-04-13 12:10:38.000000000 +0200 +@@ -0,0 +1,113 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Miha Setina <mihasetina@softhome.net>, 2000 ++# Matjaz Thaler <matjaz.thaler@guest.arnes.si>, 2003 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-13 12:10+0200\n" ++"PO-Revision-Date: 2008-04-13 12:10+0200\n" ++"Last-Translator: Matjaz Thaler <matjaz.thaler@guest.arnes.si>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-2\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: chan-menu.c:9 ++msgid "Move before group" ++msgstr "" ++ ++#: chan-menu.c:21 chan-menu.c:24 ++msgid ":End" ++msgstr "" ++ ++#: chan-menu.c:98 ++msgid "Select Group for" ++msgstr "" ++ ++#: chan-menu.c:155 chan-menu.c:165 ++msgid "Group" ++msgstr "" ++ ++#: chan-menu.c:180 ++msgid "Name" ++msgstr "" ++ ++#: chan-menu.c:181 ++msgid "Number" ++msgstr "" ++ ++#: chan-menu.c:217 ++msgid "Channels Organizer" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Add Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Affect" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Del Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Edit Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Move" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Sort Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Zap" ++msgstr "" ++ ++#: chan-menu.c:560 ++msgid "Apply Changes?" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "After" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "Before" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "Cancel" ++msgstr "" ++ ++#: chan-menu.c:637 chan-menu.c:662 chan-menu.c:688 chan-menu.c:720 ++msgid "Sorting" ++msgstr "" ++ ++#: chan-menu.c:639 chan-menu.c:664 chan-menu.c:690 chan-menu.c:722 ++msgid "Sort done" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Alpha Down" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Alpha Up" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Transp Down" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Transp Up" ++msgstr "" +diff -Nru chanorg-0.0.6/po/sv_SE.po chanorg-0.0.6-gettext-i18n/po/sv_SE.po +--- chanorg-0.0.6/po/sv_SE.po 1970-01-01 01:00:00.000000000 +0100 ++++ chanorg-0.0.6-gettext-i18n/po/sv_SE.po 2008-04-13 12:10:38.000000000 +0200 +@@ -0,0 +1,113 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Tomas Prybil <tomas@prybil.se>, 2002 ++# Jan Ekholm <chakie@infa.abo.fi>, 2003 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-13 12:10+0200\n" ++"PO-Revision-Date: 2008-04-13 12:10+0200\n" ++"Last-Translator: Tomas Prybil <tomas@prybil.se>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-1\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: chan-menu.c:9 ++msgid "Move before group" ++msgstr "" ++ ++#: chan-menu.c:21 chan-menu.c:24 ++msgid ":End" ++msgstr "" ++ ++#: chan-menu.c:98 ++msgid "Select Group for" ++msgstr "" ++ ++#: chan-menu.c:155 chan-menu.c:165 ++msgid "Group" ++msgstr "" ++ ++#: chan-menu.c:180 ++msgid "Name" ++msgstr "" ++ ++#: chan-menu.c:181 ++msgid "Number" ++msgstr "" ++ ++#: chan-menu.c:217 ++msgid "Channels Organizer" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Add Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Affect" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Del Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Edit Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Move" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Sort Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Zap" ++msgstr "" ++ ++#: chan-menu.c:560 ++msgid "Apply Changes?" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "After" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "Before" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "Cancel" ++msgstr "" ++ ++#: chan-menu.c:637 chan-menu.c:662 chan-menu.c:688 chan-menu.c:720 ++msgid "Sorting" ++msgstr "" ++ ++#: chan-menu.c:639 chan-menu.c:664 chan-menu.c:690 chan-menu.c:722 ++msgid "Sort done" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Alpha Down" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Alpha Up" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Transp Down" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Transp Up" ++msgstr "" +diff -Nru chanorg-0.0.6/po/tr_TR.po chanorg-0.0.6-gettext-i18n/po/tr_TR.po +--- chanorg-0.0.6/po/tr_TR.po 1970-01-01 01:00:00.000000000 +0100 ++++ chanorg-0.0.6-gettext-i18n/po/tr_TR.po 2008-04-13 12:10:38.000000000 +0200 +@@ -0,0 +1,112 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Oktay Yolgeçen <oktay_73@yahoo.de>, 2007 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-13 12:10+0200\n" ++"PO-Revision-Date: 2008-04-13 12:10+0200\n" ++"Last-Translator: Oktay Yolgeçen <oktay_73@yahoo.de>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-9\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: chan-menu.c:9 ++msgid "Move before group" ++msgstr "" ++ ++#: chan-menu.c:21 chan-menu.c:24 ++msgid ":End" ++msgstr "" ++ ++#: chan-menu.c:98 ++msgid "Select Group for" ++msgstr "" ++ ++#: chan-menu.c:155 chan-menu.c:165 ++msgid "Group" ++msgstr "" ++ ++#: chan-menu.c:180 ++msgid "Name" ++msgstr "" ++ ++#: chan-menu.c:181 ++msgid "Number" ++msgstr "" ++ ++#: chan-menu.c:217 ++msgid "Channels Organizer" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Add Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Affect" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Del Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Edit Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Move" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Sort Group" ++msgstr "" ++ ++#: chan-menu.c:454 chan-menu.c:599 ++msgid "Zap" ++msgstr "" ++ ++#: chan-menu.c:560 ++msgid "Apply Changes?" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "After" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "Before" ++msgstr "" ++ ++#: chan-menu.c:630 ++msgid "Cancel" ++msgstr "" ++ ++#: chan-menu.c:637 chan-menu.c:662 chan-menu.c:688 chan-menu.c:720 ++msgid "Sorting" ++msgstr "" ++ ++#: chan-menu.c:639 chan-menu.c:664 chan-menu.c:690 chan-menu.c:722 ++msgid "Sort done" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Alpha Down" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Alpha Up" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Transp Down" ++msgstr "" ++ ++#: chan-menu.c:699 ++msgid "Transp Up" ++msgstr "" diff --git a/plugins/chanorg/plugin.sh b/plugins/chanorg/plugin.sh new file mode 100644 index 0000000..777b469 --- /dev/null +++ b/plugins/chanorg/plugin.sh @@ -0,0 +1,53 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 13.04.2008 +# +# vdr-chanorg + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.freewebs.com/sadhome/Plugin/ChanOrg/vdr-chanorg-0.0.6.tar.gz" +VERSION="chanorg-0.0.6" +LINK="chanorg" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + patch_p1_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/cinebars/plugin.sh b/plugins/cinebars/plugin.sh new file mode 100644 index 0000000..1fe28bc --- /dev/null +++ b/plugins/cinebars/plugin.sh @@ -0,0 +1,51 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 17.01.2008 +# +# vdr-cinebars + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://www.egal-vdr.de/plugins/vdr-cinebars-0.0.5.tgz" +VERSION="cinebars-0.0.5" +LINK="cinebars" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/clock/plugin.sh b/plugins/clock/plugin.sh new file mode 100644 index 0000000..7d52179 --- /dev/null +++ b/plugins/clock/plugin.sh @@ -0,0 +1,51 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 07.03.2008 +# +# vdr-clock + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://vdr.aistleitner.info/vdr-clock-1.0.0.tgz" +VERSION="clock-1.0.0" +LINK="clock" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/console/patches/console-0.6.0.diff b/plugins/console/patches/console-0.6.0.diff new file mode 100644 index 0000000..dbda827 --- /dev/null +++ b/plugins/console/patches/console-0.6.0.diff @@ -0,0 +1,152 @@ +diff -Nur console-0.6.0/console.c console-0.6.0-n/console.c +--- console-0.6.0/console.c 2004-09-11 23:44:25.000000000 +0200 ++++ console-0.6.0-n/console.c 2006-11-07 02:10:27.000000000 +0100 +@@ -60,14 +60,34 @@ + + const char *cPluginConsole::CommandLineHelp() { + +- return NULL; ++ // Return a string that describes all known command line options. ++ return " -c prog, --command=prog specify the programm which is\n" ++ " called when you start the plugin\n"; + } + + + + bool cPluginConsole::ProcessArgs(int argc, char *argv[]) { + +- return true; ++ // Implement command line argument processing here if applicable. ++ static struct option long_options[] = { ++ { "command", required_argument, NULL, 'c' }, ++ { NULL, no_argument, NULL, 0 }, ++ }; ++ ++ int c; ++ while ((c = getopt_long(argc, argv, "c:", long_options, NULL)) != -1) { ++ switch (c) { ++ case 'c': ++ fprintf(stderr, "arg: %s\n", optarg); ++ ConsoleCmd = strdup(optarg); ++ break; ++ default: ++ fprintf(stderr, "arg char: %c\n", c); ++ return false; ++ } ++ } ++ return true; + } + + +diff -Nur console-0.6.0/Makefile console-0.6.0-n/Makefile +--- console-0.6.0/Makefile 2006-11-07 02:04:40.000000000 +0100 ++++ console-0.6.0-n/Makefile 2006-11-07 02:10:27.000000000 +0100 +@@ -16,7 +16,7 @@ + ### The C++ compiler and options: + + CXX = g++ +-CXXFLAGS = -O2 -Wall -Woverloaded-virtual ++CXXFLAGS = -fPIC -O2 -Wall -Woverloaded-virtual + + ### The directory environment: + +diff -Nur console-0.6.0/menu.c console-0.6.0-n/menu.c +--- console-0.6.0/menu.c 2004-09-12 00:10:57.000000000 +0200 ++++ console-0.6.0-n/menu.c 2006-11-07 02:10:27.000000000 +0100 +@@ -1210,14 +1210,14 @@ + } + case kNone: + // Handle blinking elements +- if (time_ms() >= _nextBlinkTime) { ++ if ((int)cTimeMs::Now() >= _nextBlinkTime) { + +- _nextBlinkTime = time_ms() + config.BlinkRate * 100; ++ _nextBlinkTime = cTimeMs::Now() + config.BlinkRate * 100; + _blink = !_blink; + } + + // Handle keyboard releaseing +- if (time_ms() >= _timeReleaseCapture) { ++ if ((int)cTimeMs::Now() >= _timeReleaseCapture) { + _timeReleaseCapture = INT_MAX; + + // Time elapsed -> repost ESC... +@@ -1243,10 +1243,10 @@ + _pConsole->getScreen().BellSeen(); + + if (config.BellTimeout) { +- _toRing = time_ms() + config.BellTimeout * 1000; ++ _toRing = cTimeMs::Now() + config.BellTimeout * 1000; + state = osUser1; + } +- } else if (_toRing && time_ms() > _toRing) { ++ } else if (_toRing && (int)cTimeMs::Now() > _toRing) { + _toRing = 0; + state = osUser1; + } +@@ -1441,7 +1441,7 @@ + // esc detected. Ask for exit + if (data[i] == ESC) { + +- _timeReleaseCapture = time_ms() + 1000; ++ _timeReleaseCapture = cTimeMs::Now() + 1000; + _inputState = 1; + + } else +diff -Nur console-0.6.0/virtualconsoles.c console-0.6.0-n/virtualconsoles.c +--- console-0.6.0/virtualconsoles.c 2004-09-11 23:40:18.000000000 +0200 ++++ console-0.6.0-n/virtualconsoles.c 2006-11-07 02:10:27.000000000 +0100 +@@ -20,6 +20,17 @@ + #include "i18n.h" + + ++// This program will be used to realize a console. ++// Be carefull! If your VDR runs as root, then every ++// user can kill your machine if you don't protect ++// the cnsoles. ++// So the default is "/bin/login". ++ ++#ifdef CONSOLE_USE_SHELL_INSTEAD_LOGIN ++const char *ConsoleCmd="/bin/sh"; ++#else ++const char *ConsoleCmd="/bin/login"; ++#endif + + + cConsConsoles::cConsConsoles() +@@ -128,9 +139,9 @@ + + int cConsConsoles::CreateConsole() { + +- char* const args[] = {PROG_FOR_CONSOLE, NULL}; ++ char* const args[] = { (char*)ConsoleCmd, NULL }; + +- cConsVirtualConsole* p = new cConsVirtualConsole(tr("Console"), PROG_FOR_CONSOLE, args); ++ cConsVirtualConsole* p = new cConsVirtualConsole( tr("Console"), ConsoleCmd, args ); + + if (p) { + +diff -Nur console-0.6.0/virtualconsoles.h console-0.6.0-n/virtualconsoles.h +--- console-0.6.0/virtualconsoles.h 2004-09-11 23:40:18.000000000 +0200 ++++ console-0.6.0-n/virtualconsoles.h 2006-11-07 02:10:27.000000000 +0100 +@@ -21,19 +21,7 @@ + + + +-// This program will be used to realize a console. +-// Be carefull! If your VDR runs as root, then every +-// user can kill your machine if you don't protect +-// the cnsoles. +-// So the default is "/bin/login". +- +-#ifdef CONSOLE_USE_SHELL_INSTEAD_LOGIN +-#define PROG_FOR_CONSOLE "/bin/sh" +-#else +-#define PROG_FOR_CONSOLE "/bin/login" +-#endif +- +- ++extern const char *ConsoleCmd; + + + class cConsVirtualConsole; diff --git a/plugins/console/patches/console-0.6.0_vdr-1.5.1.diff b/plugins/console/patches/console-0.6.0_vdr-1.5.1.diff new file mode 100644 index 0000000..e0e74fd --- /dev/null +++ b/plugins/console/patches/console-0.6.0_vdr-1.5.1.diff @@ -0,0 +1,33 @@ +diff -ruN console-0.6.0/menu.c console-0.6.0_vdr-1.5.1/menu.c +--- console-0.6.0/menu.c 2004-09-12 00:10:57.000000000 +0200 ++++ console-0.6.0_vdr-1.5.1/menu.c 2007-03-19 13:10:14.000000000 +0100 +@@ -1193,7 +1193,7 @@ + + switch (BASICKEY(Key)) { + +- case kKbd:{ uint64 buf = cKbdRemote::MapFuncToCode(KEYKBD(Key)); ++ case kKbd:{ uint64_t buf = cKbdRemote::MapFuncToCode(KEYKBD(Key)); + WriteToConsole(buf); + + // On every key press, we show the cursor immediately +@@ -1425,7 +1425,7 @@ + + + +-void cMenuConsole::WriteToConsole(const uint64& code) { ++void cMenuConsole::WriteToConsole(const uint64_t& code) { + + unsigned char* data = (unsigned char*)(void*)&code; + +diff -ruN console-0.6.0/menu.h console-0.6.0_vdr-1.5.1/menu.h +--- console-0.6.0/menu.h 2004-09-11 23:40:18.000000000 +0200 ++++ console-0.6.0_vdr-1.5.1/menu.h 2007-03-19 13:10:47.000000000 +0100 +@@ -102,7 +102,7 @@ + private: + void CaptureKeyboard(); + void ReleaseKeyboard(); +- void WriteToConsole(const uint64& code); ++ void WriteToConsole(const uint64_t& code); + bool TerminateConsole(); + + void AddSubMenu(cOsdObject* pSubMenu); diff --git a/plugins/console/plugin.sh b/plugins/console/plugin.sh new file mode 100644 index 0000000..f8b9fb4 --- /dev/null +++ b/plugins/console/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 05.05.2008 +# +# vdr-console + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://vdr-wiki.de/vdr/vdr-console/vdr-console-0.6.0.tgz" +VERSION="console-0.6.0" +LINK="console" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/control/patches/control-0.0.2a.patch b/plugins/control/patches/control-0.0.2a.patch new file mode 100644 index 0000000..d4c0fe3 --- /dev/null +++ b/plugins/control/patches/control-0.0.2a.patch @@ -0,0 +1,72 @@ +diff -ur control-0.0.2a/gateway.c control-0.0.2a-patched/gateway.c +--- control-0.0.2a/gateway.c 2006-01-08 17:33:12.000000000 +0100 ++++ control-0.0.2a-patched/gateway.c 2006-01-08 17:37:30.000000000 +0100 +@@ -102,7 +102,12 @@ + + uint64 Command = 0; + uint i = 0; ++#if VDRVERSNUM >= 10318 ++ cTimeMs timeout; ++ timeout.Set(100); ++#else + int t0 = time_ms(); ++#endif + while (_active && i < sizeof(Command)) { + + uchar ch; +@@ -131,7 +136,11 @@ + // of their codes, so we'll need to wait some 100ms to see if + // there is more coming up - or whether this really is the 'ESC' + // key (if somebody knows how to clean this up, please let me know): ++#if VDRVERSNUM >= 10318 ++ if (Command == 0x1B && !timeout.TimedOut()) ++#else + if (Command == 0x1B && time_ms() - t0 < 100) ++#endif + continue; + + if (Command) { +diff -ur control-0.0.2a/state.c control-0.0.2a-patched/state.c +--- control-0.0.2a/state.c 2004-07-02 21:24:22.000000000 +0200 ++++ control-0.0.2a-patched/state.c 2006-01-08 18:08:10.000000000 +0100 +@@ -69,7 +69,11 @@ + // The given DVB device has started recording Name. Name is the name of the + // recording, without any directory path. + // If Name is NULL, the recording has ended. ++#if VDRVERSNUM >= 10338 ++void cCtrlState::Recording(const cDevice *Device, const char *Name, const char *FileName, bool On) { ++#else + void cCtrlState::Recording(const cDevice *Device, const char *Name) { ++#endif + //printf("Recording %i, %s", Device->CardIndex(), Name ); + } + +@@ -79,7 +83,11 @@ + // recording, without any directory path. In case of a player that can't provide + // a name, Name can be a string that identifies the player type (like, e.g., "DVD"). + // If Name is NULL, the replay has ended. ++#if VDRVERSNUM >= 10338 ++void cCtrlState::Replaying(const cControl *Control, const char *Name, const char *FileName, bool On) { ++#else + void cCtrlState::Replaying(const cControl *Control, const char *Name) { ++#endif + //printf("Replaying %s", Name ); + } + +diff -ur control-0.0.2a/state.h control-0.0.2a-patched/state.h +--- control-0.0.2a/state.h 2004-07-02 21:24:22.000000000 +0200 ++++ control-0.0.2a-patched/state.h 2006-01-08 18:06:55.000000000 +0100 +@@ -60,8 +60,13 @@ + // cStatus + protected: + virtual void ChannelSwitch(const cDevice *Device, int ChannelNumber); ++#if VDRVERSNUM >= 10338 ++ virtual void Recording(const cDevice *Device, const char *Name, const char *FileName, bool On); ++ virtual void Replaying(const cControl *Control, const char *Name, const char *FileName, bool On); ++#else + virtual void Recording(const cDevice *Device, const char *Name); + virtual void Replaying(const cControl *Control, const char *Name); ++#endif + virtual void SetVolume(int Volume, bool Absolute); + virtual void OsdClear(); + virtual void OsdTitle(const char *Title); diff --git a/plugins/control/patches/control-0.0.2a_uint64_t.patch b/plugins/control/patches/control-0.0.2a_uint64_t.patch new file mode 100644 index 0000000..888df5c --- /dev/null +++ b/plugins/control/patches/control-0.0.2a_uint64_t.patch @@ -0,0 +1,69 @@ +diff -ruN control-0.0.2a-old/gateway.c control-0.0.2a/gateway.c +--- control-0.0.2a-old/gateway.c 2008-04-29 00:24:07.000000000 +0200 ++++ control-0.0.2a/gateway.c 2008-04-29 00:21:16.000000000 +0200 +@@ -100,7 +100,7 @@ + + if (_stack.poll(100)) { + +- uint64 Command = 0; ++ uint64_t Command = 0; + uint i = 0; + #if VDRVERSNUM >= 10318 + cTimeMs timeout; +diff -ruN control-0.0.2a-old/keyboard.c control-0.0.2a/keyboard.c +--- control-0.0.2a-old/keyboard.c 2004-07-02 21:24:22.000000000 +0200 ++++ control-0.0.2a/keyboard.c 2008-04-29 00:21:32.000000000 +0200 +@@ -18,7 +18,7 @@ + + struct tKbdMap { + eKbdFunc func; +- uint64 code; ++ uint64_t code; + }; + + +@@ -117,7 +117,7 @@ + + + +-bool cCtrlKeyboard::intPut(uint64 Command, bool Repeat, bool Release) { ++bool cCtrlKeyboard::intPut(uint64_t Command, bool Repeat, bool Release) { + + bool ret = cRemote::Put(Command, Repeat, Release); + conLOG_KEYB("%s cKbdRemoteForControl::intPut(0x%016LX)", ret ? "true" : "false", Command); +@@ -126,7 +126,7 @@ + + + +-bool cCtrlKeyboard::Put(uint64 Command, bool Repeat, bool Release) { ++bool cCtrlKeyboard::Put(uint64_t Command, bool Repeat, bool Release) { + + if (! _pRemote) + _pRemote = new cCtrlKeyboard(); +@@ -136,7 +136,7 @@ + + + +-int cCtrlKeyboard::MapCodeToFunc(uint64 Code) { ++int cCtrlKeyboard::MapCodeToFunc(uint64_t Code) { + + for (const tKbdMap *p = keyboardKbdMap; p->func != kfNone; p++) { + if (p->code == Code) +diff -ruN control-0.0.2a-old/keyboard.h control-0.0.2a/keyboard.h +--- control-0.0.2a-old/keyboard.h 2004-07-02 21:24:22.000000000 +0200 ++++ control-0.0.2a/keyboard.h 2008-04-29 00:21:37.000000000 +0200 +@@ -30,11 +30,11 @@ + cCtrlKeyboard(); + virtual ~cCtrlKeyboard(); + +- bool intPut(uint64 Command, bool Repeat, bool Release); ++ bool intPut(uint64_t Command, bool Repeat, bool Release); + + public: +- static bool Put(uint64 Command, bool Repeat = false, bool Release = false); +- static int MapCodeToFunc(uint64 Code); ++ static bool Put(uint64_t Command, bool Repeat = false, bool Release = false); ++ static int MapCodeToFunc(uint64_t Code); + }; + + diff --git a/plugins/control/plugin.sh b/plugins/control/plugin.sh new file mode 100644 index 0000000..63791d0 --- /dev/null +++ b/plugins/control/plugin.sh @@ -0,0 +1,51 @@ +#!/bin/sh + + # x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) + # von Marc Wernecke - www.zulu-entertainment.de + # 20.08.2006 + # + # vdr-control + + # defaults + source ./../../x-vdr.conf + source ./../../setup.conf + source ./../../functions + WEB="http://ricomp.de/vdr/vdr-control-0.0.2a.tgz" + VERSION="control-0.0.2a" + LINK="control" + + VAR=`basename $WEB` + DIR=`pwd` + + # plugin entfernen + function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" + } + + # plugin installieren + function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## + } + + # plugin commands + if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin + else + install_plugin + log "install-plugin fuer $VERSION ist fertig" + fi + + exit 0
\ No newline at end of file diff --git a/plugins/coverviewer/plugin.sh b/plugins/coverviewer/plugin.sh new file mode 100644 index 0000000..a4cf416 --- /dev/null +++ b/plugins/coverviewer/plugin.sh @@ -0,0 +1,66 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 26.01.2009 +# +# vdr-coverviewer + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.glaserei-franz.de/VDR/Moronimo2/files/vdr-coverviewer-1.0.0-b1.tgz" +VERSION="coverviewer-1.0.0-b1" +LINK="coverviewer" +VAR_cover="vdr-coverviewer-1.0.0-b1.tgz" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + + if [ ! -f "$FILES/plugins/$VAR_cover" ] && [ -f "$FILES/plugins/$VAR" ]; then + [ -d "$FILES/plugins/moron" ] && rm -rf $FILES/plugins/moron + tar xjf "$FILES/plugins/$VAR" -C "$FILES/plugins" + mv -f $FILES/plugins/moron/vdr-*.tar.gz $FILES/plugins + [ -d "$FILES/plugins/moron" ] && rm -rf $FILES/plugins/moron + fi + VAR="$VAR_cover" + + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + # Verzeichnis coverviewer und music kopieren + cp -r $SOURCEDIR/VDR/PLUGINS/src/$LINK/coverviewer $VDRCONFDIR/plugins/ + chown -R $VDRUSER:$VDRGROUP $VDRCONFDIR/plugins/coverviewer + cp -r $SOURCEDIR/VDR/PLUGINS/src/$LINK/music $VDRCONFDIR/plugins/ + chown -R $VDRUSER:$VDRGROUP $VDRCONFDIR/plugins/music + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/csf/plugin.sh b/plugins/csf/plugin.sh new file mode 100644 index 0000000..16095fd --- /dev/null +++ b/plugins/csf/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 05.05.2008 +# +# vdr-csf + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://vdr-wiki.de/vdr/vdr-csf/vdr-csf-0.0.1.tgz" +VERSION="csf-0.0.1" +LINK="csf" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + cp -f $VDRCONFDIR/channels.conf $VDRCONFDIR/channels.conf.csf + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/cutalot/patches/cutalot-0.0.2a_vdr-1.5.1.diff b/plugins/cutalot/patches/cutalot-0.0.2a_vdr-1.5.1.diff new file mode 100644 index 0000000..cc51158 --- /dev/null +++ b/plugins/cutalot/patches/cutalot-0.0.2a_vdr-1.5.1.diff @@ -0,0 +1,12 @@ +diff -ruN cutalot-0.0.2a/cal-mpeg.h cutalot-0.0.2a_vdr-1.5.1/cal-mpeg.h +--- cutalot-0.0.2a/cal-mpeg.h 2006-09-09 15:32:29.000000000 +0200 ++++ cutalot-0.0.2a_vdr-1.5.1/cal-mpeg.h 2007-03-19 13:22:34.000000000 +0100 +@@ -8,7 +8,7 @@ + + #include <vdr/tools.h> + +-typedef uint64 pts_t; ++typedef uint64_t pts_t; + + #define NO_PTS 8589934592LL + #define NO_DTS 8589934592LL diff --git a/plugins/cutalot/plugin.sh b/plugins/cutalot/plugin.sh new file mode 100644 index 0000000..8677147 --- /dev/null +++ b/plugins/cutalot/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 05.05.2008 +# +# vdr-cutalot + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://vdr-wiki.de/vdr/vdr-cutalot/vdr-cutalot-0.0.2a.tgz" +VERSION="cutalot-0.0.2a" +LINK="cutalot" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/decruft/patches/p1/decruft-0.0.4.diff b/plugins/decruft/patches/p1/decruft-0.0.4.diff new file mode 100644 index 0000000..b85bc13 --- /dev/null +++ b/plugins/decruft/patches/p1/decruft-0.0.4.diff @@ -0,0 +1,85 @@ +diff -Nur decruft-0.0.4/cruft.c decruft-0.0.4-n/cruft.c +--- decruft-0.0.4/cruft.c 2005-02-20 19:34:01.000000000 +0100 ++++ decruft-0.0.4-n/cruft.c 2006-11-12 00:28:30.000000000 +0100 +@@ -535,8 +535,10 @@ + /* Not defined, so define it */ + if ( !groupSep ) { + groupSep = new cChannel(); +- groupSep->SetName(settings->group_name,"",""); +- groupSep->SetGroupSep(true); ++ char* groupSepString; ++ asprintf(&groupSepString, ":%s", settings->group_name); ++ groupSep->Parse(groupSepString); ++ free(groupSepString); + Channels.Add(groupSep); + } + /* Move the channel to the end of the group */ +diff -Nur decruft-0.0.4/CVS/Entries decruft-0.0.4-n/CVS/Entries +--- decruft-0.0.4/CVS/Entries 2005-03-11 19:47:45.000000000 +0100 ++++ decruft-0.0.4-n/CVS/Entries 1970-01-01 01:00:00.000000000 +0100 +@@ -1,11 +0,0 @@ +-/COPYING/1.1.1.1/Sun Feb 20 17:06:47 2005// +-/cruft.h/1.1.1.1/Sun Feb 20 17:06:47 2005// +-D/examples//// +-D/patches//// +-/Makefile/1.2/Sun Feb 20 18:34:01 2005// +-/cruft.c/1.4/Sun Feb 20 18:34:01 2005// +-/HISTORY/1.3/Fri Mar 11 18:46:43 2005// +-/README/1.3/Fri Mar 11 18:47:26 2005// +-/cleanthread.c/1.3/Fri Mar 11 18:49:11 2005// +-/cleanthread.h/1.2/Fri Mar 11 18:41:39 2005// +-/decruft.c/1.3/Fri Mar 11 18:49:11 2005// +diff -Nur decruft-0.0.4/CVS/Repository decruft-0.0.4-n/CVS/Repository +--- decruft-0.0.4/CVS/Repository 2005-02-20 18:06:28.000000000 +0100 ++++ decruft-0.0.4-n/CVS/Repository 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-decruft +diff -Nur decruft-0.0.4/CVS/Root decruft-0.0.4-n/CVS/Root +--- decruft-0.0.4/CVS/Root 2005-02-20 18:06:28.000000000 +0100 ++++ decruft-0.0.4-n/CVS/Root 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-dom@sugarcube:/home/cvsroot +diff -Nur decruft-0.0.4/examples/CVS/Entries decruft-0.0.4-n/examples/CVS/Entries +--- decruft-0.0.4/examples/CVS/Entries 2005-02-20 18:28:00.000000000 +0100 ++++ decruft-0.0.4-n/examples/CVS/Entries 1970-01-01 01:00:00.000000000 +0100 +@@ -1,2 +0,0 @@ +-/decruft.conf/1.3/Sun Feb 20 17:27:51 2005// +-D +diff -Nur decruft-0.0.4/examples/CVS/Repository decruft-0.0.4-n/examples/CVS/Repository +--- decruft-0.0.4/examples/CVS/Repository 2005-02-20 18:06:28.000000000 +0100 ++++ decruft-0.0.4-n/examples/CVS/Repository 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-decruft/examples +diff -Nur decruft-0.0.4/examples/CVS/Root decruft-0.0.4-n/examples/CVS/Root +--- decruft-0.0.4/examples/CVS/Root 2005-02-20 18:06:28.000000000 +0100 ++++ decruft-0.0.4-n/examples/CVS/Root 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-dom@sugarcube:/home/cvsroot +diff -Nur decruft-0.0.4/Makefile decruft-0.0.4-n/Makefile +--- decruft-0.0.4/Makefile 2005-02-20 19:34:01.000000000 +0100 ++++ decruft-0.0.4-n/Makefile 2006-11-12 00:28:30.000000000 +0100 +@@ -16,7 +16,7 @@ + ### The C++ compiler and options: + + CXX ?= g++ +-CXXFLAGS ?= -O2 -Wall -Woverloaded-virtual -g ++CXXFLAGS ?= -fPIC -O2 -Wall -Woverloaded-virtual -g + + ### The directory environment: + +diff -Nur decruft-0.0.4/patches/CVS/Entries decruft-0.0.4-n/patches/CVS/Entries +--- decruft-0.0.4/patches/CVS/Entries 2005-02-20 18:06:28.000000000 +0100 ++++ decruft-0.0.4-n/patches/CVS/Entries 1970-01-01 01:00:00.000000000 +0100 +@@ -1,2 +0,0 @@ +-/vdr-1.3.20-SetGroupSep.diff/1.1.1.1/Sun Feb 20 17:06:47 2005// +-D +diff -Nur decruft-0.0.4/patches/CVS/Repository decruft-0.0.4-n/patches/CVS/Repository +--- decruft-0.0.4/patches/CVS/Repository 2005-02-20 18:06:28.000000000 +0100 ++++ decruft-0.0.4-n/patches/CVS/Repository 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-decruft/patches +diff -Nur decruft-0.0.4/patches/CVS/Root decruft-0.0.4-n/patches/CVS/Root +--- decruft-0.0.4/patches/CVS/Root 2005-02-20 18:06:28.000000000 +0100 ++++ decruft-0.0.4-n/patches/CVS/Root 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-dom@sugarcube:/home/cvsroot diff --git a/plugins/decruft/plugin.sh b/plugins/decruft/plugin.sh new file mode 100644 index 0000000..333da77 --- /dev/null +++ b/plugins/decruft/plugin.sh @@ -0,0 +1,55 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 05.05.2008 +# +# vdr-decruft + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://vdr-wiki.de/vdr/vdr-decruft/vdr-decruft-0.0.4.tgz" +VERSION="decruft-0.0.4" +LINK="decruft" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + rm -f $VDRCONFDIR/plugins/decruft.conf + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + patch_p1_plugin + + ## plugin specials - start ## + cp -f $SOURCEDIR/VDR/PLUGINS/src/$LINK/examples/decruft.conf $VDRCONFDIR/plugins + chown $VDRUSER:$VDRGROUP $VDRCONFDIR/plugins/decruft.conf + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/digicam/plugin.sh b/plugins/digicam/plugin.sh new file mode 100644 index 0000000..dccd06a --- /dev/null +++ b/plugins/digicam/plugin.sh @@ -0,0 +1,73 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 03.05.2007 +# +# vdr-digicam + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://www.unterbrecher.de/vdr/download/vdr-digicam-1.0.2.tgz" +VERSION="digicam-1.0.2" +LINK="digicam" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + rm -f $VDRCONFDIR/plugins/digicamdestinations.conf + rm -f $VDRCONFDIR/plugins/digicamsources.conf + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## +# cp -f $SOURCEDIR/VDR/PLUGINS/src/$LINK/examples/digicamdestinations.conf $VDRCONFDIR/plugins + echo "# +# This is a example of digicamdestinations.conf with usually using and sample entrys. +# +# This file should placed on VDR configuration folder with setup.conf +# .../setup.conf +# .../plugins/digicamdestinations.conf +# +# Syntax is: <path>;<name>;<mount>;<filter> +# +# <path> = Path, where to copy images or image directories from the camera +# <name> = descriptor displayed in VDR +# <mount> = 0 - if no mounting should be done +# 1 - if <path> needs to be mounted first. +# (Dont forget to setup fstab !!!) +# <filter> = currently not used +# +$PICTUREDIR;Fotos;0; +" > $VDRCONFDIR/plugins/digicamdestinations.conf + cp -f $SOURCEDIR/VDR/PLUGINS/src/$LINK/examples/digicamsources.conf $VDRCONFDIR/plugins + chown $VDRUSER.$VDRGROUP $VDRCONFDIR/plugins/digicamdestinations.conf $VDRCONFDIR/plugins/digicamsources.conf + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/director/patches/director-0.2.8_vdr153.diff b/plugins/director/patches/director-0.2.8_vdr153.diff new file mode 100644 index 0000000..27e6d10 --- /dev/null +++ b/plugins/director/patches/director-0.2.8_vdr153.diff @@ -0,0 +1,11 @@ +--- directorosd.c~ 2006-06-11 12:20:38.000000000 +0200 ++++ directorosd.c 2007-06-25 21:41:40.000000000 +0200 +@@ -300,7 +300,7 @@ + char *buffer=0; + asprintf(&buffer,"1 %s %d", Channel->Name(), number); + +- int theHeigth = font->Height('A'); ++ int theHeigth = font->Height("A"); + int m_height = (number * theHeigth) + 10; + + //get the width diff --git a/plugins/director/plugin.sh b/plugins/director/plugin.sh new file mode 100644 index 0000000..c309484 --- /dev/null +++ b/plugins/director/plugin.sh @@ -0,0 +1,51 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 14.06.2006 +# +# vdr-director + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://www.wontorra.net/filemgmt_data/files/vdr-director-0.2.8.tar.gz" +VERSION="director-0.2.8" +LINK="director" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/dummydevice/plugin.sh b/plugins/dummydevice/plugin.sh new file mode 100644 index 0000000..e4345e7 --- /dev/null +++ b/plugins/dummydevice/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 05.05.2008 +# +# vdr-dummydevice + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://vdr-wiki.de/vdr/vdr-dummydevice/vdr-dummydevice-1.0.1.tgz" +VERSION="dummydevice-1.0.1" +LINK="dummydevice" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/dvd/dvd-cvs20071024_speedcontrol.diff b/plugins/dvd/dvd-cvs20071024_speedcontrol.diff new file mode 100644 index 0000000..2dd21a9 --- /dev/null +++ b/plugins/dvd/dvd-cvs20071024_speedcontrol.diff @@ -0,0 +1,123 @@ +diff -ruN dvd-cvs20071024/control-dvd.c dvd-cvs20071024-patched/control-dvd.c +--- dvd-cvs20071024/control-dvd.c 2007-09-18 22:26:17.000000000 +0200 ++++ dvd-cvs20071024-patched/control-dvd.c 2007-10-24 23:20:07.000000000 +0200 +@@ -20,6 +20,7 @@ + #include "tools-dvd.h" + #include "player-dvd.h" + #include "control-dvd.h" ++#include "dvddev.h" + + #define MENUTIMEOUT 120 // seconds + #define MAXWAIT4EPGINFO 10 // seconds +@@ -51,6 +52,7 @@ + inputActive = NoneInput; + inputHide = true; + forceDvdNavigation = false; ++ cDVD::SpeedControl(2); + player->setController(this); + cStatus::MsgReplaying(this, "DVD", NULL, true); + } +@@ -63,6 +65,7 @@ + assert(dvd_active == true); + dvd_active = false; + delete player; ++ cDVD::SpeedControl(0); + } + + bool cDvdPlayerControl::Active(void) +diff -ruN dvd-cvs20071024/dvddev.c dvd-cvs20071024-patched/dvddev.c +--- dvd-cvs20071024/dvddev.c 2004-06-30 08:18:24.000000000 +0200 ++++ dvd-cvs20071024-patched/dvddev.c 2007-10-24 23:22:15.000000000 +0200 +@@ -21,6 +21,7 @@ + #endif + + #include "dvddev.h" ++#include <vdr/tools.h> + + #ifndef __QNXNTO__ + #include <linux/cdrom.h> +@@ -70,6 +71,73 @@ + return result; + } + ++bool cDVD::SpeedControl(int speed) ++{ ++ int fd; ++ unsigned long rw_size; ++ unsigned char buffer[28]; ++ struct cdrom_generic_command cgc; ++ struct request_sense sense; ++ ++ fd = open(cDVD::DeviceName(), O_RDONLY | O_NONBLOCK); ++ if (fd < 0) { ++ esyslog("SpeedControl() Can't open device %s", cDVD::DeviceName()); ++ return false; ++ } ++ ++ memset(&cgc, 0, sizeof(cgc)); ++ memset(&sense, 0, sizeof(sense)); ++ memset(&buffer, 0, sizeof(buffer)); ++ ++ /* SET STREAMING command */ ++ cgc.cmd[0] = 0xb6; ++ /* 28 byte parameter list length */ ++ cgc.cmd[10] = 28; ++ ++ cgc.sense = &sense; ++ cgc.buffer = buffer; ++ cgc.buflen = sizeof(buffer); ++ cgc.data_direction = CGC_DATA_WRITE; ++ cgc.quiet = 1; ++ ++ if (speed == 0) buffer[0] = 4;// set Restore Drive Defaults ++ ++ buffer[8] = 0xff; ++ buffer[9] = 0xff; ++ buffer[10] = 0xff; ++ buffer[11] = 0xff; ++ rw_size = 177 * speed; ++ ++ /* read size */ ++ buffer[12] = (rw_size >> 24) & 0xff; ++ buffer[13] = (rw_size >> 16) & 0xff; ++ buffer[14] = (rw_size >> 8) & 0xff; ++ buffer[15] = rw_size & 0xff; ++ ++ /* read time 1 sec. */ ++ buffer[18] = 0x03; ++ buffer[19] = 0xE8; ++ ++ /* write size */ ++ buffer[20] = (rw_size >> 24) & 0xff; ++ buffer[21] = (rw_size >> 16) & 0xff; ++ buffer[22] = (rw_size >> 8) & 0xff; ++ buffer[23] = rw_size & 0xff; ++ ++ /* write time 1 sec. */ ++ buffer[26] = 0x03; ++ buffer[27] = 0xE8; ++ ++ if (ioctl(fd, CDROM_SEND_PACKET, &cgc) != 0) ++ if (ioctl(fd, CDROM_SELECT_SPEED, speed) != 0) { ++ esyslog("SpeedControl() Command failed"); ++ return false; ++ } ++ ++ close(fd); ++ return true; ++} ++ + void cDVD::SetDeviceName(const char *DeviceName) + { + deviceName = strdup(DeviceName); +diff -ruN dvd-cvs20071024/dvddev.h dvd-cvs20071024-patched/dvddev.h +--- dvd-cvs20071024/dvddev.h 2004-06-11 17:27:05.000000000 +0200 ++++ dvd-cvs20071024-patched/dvddev.h 2007-10-24 23:19:56.000000000 +0200 +@@ -20,6 +20,7 @@ + public: + cDVD(void); + ~cDVD(); ++ static bool SpeedControl(int speed); + static void SetDeviceName(const char *DeviceName); + static const char *DeviceName(void); + static bool DriveExists(void); diff --git a/plugins/dvd/plugin.sh b/plugins/dvd/plugin.sh new file mode 100644 index 0000000..37ab54c --- /dev/null +++ b/plugins/dvd/plugin.sh @@ -0,0 +1,54 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 01.02.2009 +# +# vdr-dvd + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.zulu-entertainment.de/files/vdr-dvd/vdr-dvd-cvs20090201.tar.bz2" +VERSION="dvd-cvs20090201" +LINK="dvd" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK + rm -rf $VERSION + rm -f $VDRLIBDIR/libvdr-$LINK.so* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + patch_p1_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/dvdconvert/dvdconvert/dvd2dvd.sh b/plugins/dvdconvert/dvdconvert/dvd2dvd.sh new file mode 100755 index 0000000..74fe2b1 --- /dev/null +++ b/plugins/dvdconvert/dvdconvert/dvd2dvd.sh @@ -0,0 +1,1559 @@ +#! /bin/bash + +############################################################################ +# Copyright (C) 2004 by Ronny Frankowski (lini@lausitz.net) # +# & AngieSoft (vdr@angiesoft.de) # +# & Matthias Appel (private_tweety@gmx.net) # +# # +# This program is free software; you can redistribute it and#or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation; either version 2 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program; if not, write to the # +# Free Software Foundation, Inc., # +# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # +############################################################################ + + +########################################################################### +# define some variables +########################################################################### + +VERSION="1.0.2-xvdr" + +[ -r /etc/default/vdr ] && . /etc/default/vdr +[ -d "$VIDEODIR" ] || exit +[ -d "$DVDISODIR" ] || exit +[ -d "$VDRVARDIR" ] || exit +[ -d "$VDRBINDIR" ] || exit +[ -n "$DVDBURNER" ] || exit + +VIDEODIR="$VIDEODIR" # video directory of vdr +ISODIR="$DVDISODIR" # dir for the isofiles +WORKDIR="$VDRVARDIR/dvdconvert/dvd2dvd" # working directory of dvd2dvd +DVD_DEVICE="$DVDBURNER" # dvd device + +LANGUAGE="de" # select preferred language + # "de", "en" + +RECORDING_LIFETIME=99 # lifetime from 00 to 99 + +DVD_SIZE=4300000000 # DVD Size 4,3GB + +#TITLE_MIN_LENGTH=60 # mimimun length in sec for + # a title on a DVD to be + # considered for conversion + +PRIO=19 # priority from 1 to 19 +SLEEPTIME=10 # wait for user action +VERBOSE=1 # be verbose - 0: off, 1: on +DEBUG=2 # debug info - 0: off, 1-3: level +FORCE=0 # force exec - 0: off, 1: on (erzwingen) +CLEAN=1 # clean dirs - 0: off, 1: on (abschliesendes loeschen) +REMOVE=1 # remove tmp file - 0: off, 1: on (temp. loeschen im Betrieb) + +REMOVE_ISO=0 # remove iso file - 0: off, 1: on +BURN=0 # burn a dvd - 0: off, 1: on +RW_FORMAT=0 # format a dvd+rw or dvd-rw disk - 0: off, 1: on + +OSDINFO=1 # svdrpsend - 0: off, 1: on + +A52DEC_GAIN="+5.0" # add gain in decibels +CREATE_MARKS=0 # create a marks.vdr for vdr - 0: off, 1: on + + +########################################################################### +# define required tools +########################################################################### + +PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin:~/bin + +SVDRPSEND_PL="$VDRBINDIR/svdrpsend.pl" + +VOBCOPY_BIN=vobcopy +EJECT_BIN=eject +TCPROBE_BIN=tcprobe +TCCAT_BIN=tccat +TCEXTRACT_BIN=tcextract +TCDEMUX_BIN=tcdemux + +A52DEC_BIN=a52dec +TOOLAME_BIN=toolame +MP2ENC_BIN=mp2enc + +JAVA_BIN=java +PROJECTX_JAR=$PROJECTX_HOME/ProjectX.jar +[ ! -f "$PROJECTX_JAR" ] && PROJECTX_JAR=/usr/bin/ProjectX/ProjectX.jar +PROJECTX_INI=$PROJECTX_HOME/ProjectX.ini +[ ! -f "$PROJECTX_INI" ] && PROJECTX_JAR=/usr/bin/ProjectX/ProjectX.ini +XVFB_BIN=Xvfb + +TCMPLEX_BIN=tcmplex +TCMPLEX_PANTELTJE_BIN=tcmplex-panteltje +MPLEX_BIN=mplex + +REQUANT_BIN=tcrequant + +DVDAUTHOR_BIN=dvdauthor + +MKISOFS_BIN=mkisofs + +DVDSTATUS_BIN=dvd+rw-mediainfo +DVDRECORD_BIN=dvdrecord +GROWISOFS_BIN=growisofs + +DVDRECORD_OPT_1="-dao blank=fast" +DVDFORMAT_BIN="dvd+rw-format -f" +DVDRECORD_OPT_2="-dao driveropts=burnfree" +DVDFORMAT_OPT="-Z" + +LOGDIR="$VDRVARDIR/dvdconvert/log" +LOGFILE=$LOGDIR/dvd2dvd.log +LOCKFILE=$LOGDIR/dvd2dvd.LOCK + + +########################################################################### +# print usage information +########################################################################### + +usage() { +test -n "$1" && echo "${RED} Error: $1${NORMAL}" && echo +echo " DVD2DVD Version ${MAGENTA}$VERSION${NORMAL}" +echo +echo " ${CYAN}Usage: ${GREEN}$0${NORMAL}" +echo " ${CYAN} or: ${GREEN}$0${NORMAL} <action> [options]" +echo +echo " DVD2DVD is intended to convert the main movie of a DVD into" +echo " a VDR recoring. If required the main movie will be demuxed" +echo " transcoded and remuxed again." +echo +echo " ${CYAN}Actions:${NORMAL}" +echo +echo "${GREEN} all${NORMAL}" +echo " Do all steps of the following" +echo "${GREEN} copy${NORMAL}" +echo " Copy the main movie to disk" +echo "${GREEN} demux${NORMAL}" +echo " Demultiplex the main movie in mpv and ac3" +echo "${GREEN} encode${NORMAL}" +echo " Encode ac3 to mp2" +echo "${GREEN} reqant${NORMAL}" +echo " Verkleinern des Videofile" +echo "${GREEN} mplex${NORMAL}" +echo " Multiplex the parts to a VDR recording" +echo "${GREEN} dvdauthor${NORMAL}" +echo " Create a dvd structur" +echo "${GREEN} iso${NORMAL}" +echo " Create a iso file" +echo "${GREEN} burn${NORMAL}" +echo " Burn the DVD" +echo "${GREEN} move${NORMAL}" +echo " Move recording to video directory" +echo +echo " ${CYAN}Options:${NORMAL}" +echo +echo "${GREEN} -i | --device ${MAGENTA}<device>${NORMAL}" +echo " Read DVD structure from this device" +echo "${GREEN} -o ${MAGENTA}<dirname>${NORMAL}" +echo " Write output into this video directory" +echo "${GREEN} -s ${MAGENTA}<dirname>${NORMAL}" +echo " Write iso file into this directory" +echo "${GREEN} -w ${MAGENTA}<dirname>${NORMAL}" +echo " Use working directory as base for temp directory" +echo "${GREEN} -t ${MAGENTA}<dirname>${NORMAL}" +echo " Use temp directory for temporary files" +echo "${GREEN} --preferred-language ${MAGENTA}<language>${NORMAL}" +echo " Choose preferred language for messages" +echo " and the main movie (default is \"de\")" +echo "${GREEN} --no-osd-info${NORMAL}" +echo " Don't send messages to the OSD of VDR" +echo "${GREEN} --set-title ${MAGENTA}<string>${NORMAL}" +echo " Set title of main movie to <string>" +echo "${GREEN} --read-title-num ${MAGENTA}<number>${NORMAL}" +echo " Read specific title set (1-99)" +echo "${GREEN} --use-tcextract${NORMAL}" +echo " Demux the main movie with tcextract (default)" +echo "${GREEN} --use-projectX${NORMAL}" +echo " Demux the main movie with projectX." +echo " Ensure to have a X server running" +echo "${GREEN} --projectX-ini ${MAGENTA}<filename>${NORMAL}" +echo " Use this X.ini for projectX" +echo "${GREEN} --use-Xvfb | --without-X${NORMAL}" +echo " Start a virtual X Server with Xvfb" +echo "${GREEN} --add-gain ${MAGENTA}<string>${NORMAL}" +echo " Add gain to mp2 audio (-96.0 to +96.0)" +echo "${GREEN} --use-mp2enc${NORMAL}" +echo " Encode the audio track with mp2enc" +echo "${GREEN} --use-toolame${NORMAL}" +echo " Encode the audio track with toolame (default)" +echo "${GREEN} --use-mp3gain${NORMAL}" +echo " Normalize ac3 (time consuming)" +echo "${GREEN} --use-tcmplex${NORMAL}" +echo " Remux with tcmplex (default)" +echo "${GREEN} --use-tcmplex-panteltje${NORMAL}" +echo " Remux with tcmplex-panteltje" +echo "${GREEN} --use-mplex${NORMAL}" +echo " Remux with mplex" +echo "${GREEN} --no-burn${NORMAL}" +echo " No burn a DVD" +echo "${GREEN} --no-rw-formatburn${NORMAL}" +echo " No format a DVD+RW" +echo "${GREEN} --force${NORMAL}" +echo " Force execution of <action>" +echo "${GREEN} --verbose${NORMAL}" +echo " Turns verbosity on" +echo "${GREEN} -V | --version${NORMAL}" +echo " Print version information and exit" +echo "${GREEN} --all-versions${NORMAL}" +echo " Print version information of most used tools" +echo "${GREEN} -h | -? | --help${NORMAL}" +echo " Print this usage information" +exit 1 +} + +########################################################################### +# set color parameters +########################################################################### + +# ANSI COLORS +CRE=" +[K" +NORMAL="[0;39m" +# RED: Failure or error message +RED="[1;31m" +# GREEN: Success message +GREEN="[1;32m" +# YELLOW: Descriptions +YELLOW="[1;33m" +# BLUE: System messages +BLUE="[1;34m" +# MAGENTA: Found devices or drivers (pink) +MAGENTA="[1;35m" +# CYAN: Questions (hellblau) +CYAN="[1;36m" +# BOLD WHITE: Hint +WHITE="[1;37m" + +########################################################################### +# check for given parameters +########################################################################### + +case $DEBUG in + 1) ;; + 2) set -x ;; + 3) set -xv ;; + *) LOGFILE=/dev/null ;; +esac + +ACTION="all" +OPTIONS=$@ +TEMPDIR="" +LANGUAGES=("de" "en") +TITLE="" +TITLENUM="AUTO" # AUTO = vobcopy-test; MAX = max. Frames; 1,2,3... DVD-Title +RECORDING="" +AUDIOTRACK=-1 +AUDIOFORMAT="" +TCEXTRACTOPTAUDIO="" +WITHOUT_X=1 +AC3_TRACK=1 + +GETTITLE_TOOLS=("user-input" "vobcopy") +COPY_TOOLS=("tccat") +DEMUX_TOOLS=("tcextract" "projectX") +ENCODE_TOOLS=("mp2enc" "toolame") +MPLEX_TOOLS=("tcmplex" "tcmplex-panteltje" "mplex") + +ACTION_GETTITLE=${GETTITLE_TOOLS[1]} +ACTION_COPY=${COPY_TOOLS[0]} +ACTION_DEMUX=${DEMUX_TOOLS[0]} +ACTION_ENCODE=${ENCODE_TOOLS[0]} +ACTION_MPLEX=${MPLEX_TOOLS[1]} + +while [ $# -gt 0 ]; do + case $1 in + all|gettitle|copy|demux|encode|requant|mplex|dvdauthor|iso|burn|move) + ACTION="$1" + ;; + -i|--device) + [ -b "$2" ] || usage "${RED}unknown device ${MAGENTA}'$2'${NORMAL}" + DVD_DEVICE="$2" + shift + ;; + -o) + [ -d "$2" ] || usage "${RED}missing directory ${MAGENTA}'$2'${NORMAL}" + VIDEODIR="$2" + shift + ;; + -s) + [ -d "$2" ] || usage "${RED}missing directory ${MAGENTA}'$2'${NORMAL}" + ISODIR="$2" + shift + ;; + -w) + [ -d "$2" ] || usage "${RED}missing directory ${MAGENTA}'$2'${NORMAL}" + WORKDIR="$2" + shift + ;; + -t) + [ -d "$2" ] || usage "${RED}missing directory ${MAGENTA}'$2'${NORMAL}" + TEMPDIR=`echo $2 | sed "s/\/$//"` + shift + ;; + --preferred-language) + [ $2 = "" ] || usage "${RED}missing language${NORMAL}" + LANGUAGE=$2 + shift + ;; + --no-osd-info) + OSDINFO=0 + ;; + --set-title) + TITLE=`echo $2 | sed "s/[^a-zA-Z0-9???????/:.#'&_-]/_/g"` + ACTION_GETTITLE=${GETTITLE_TOOLS[0]} + shift + ;; + --read-title-num) +# [ $2 -ge 1 -a $2 -le 99 ] || usage "${RED}invalid title number ${MAGENTA}'$2'${NORMAL}" + TITLENUM=$2 + shift + ;; + --use-tcextract) + ACTION_DEMUX=${DEMUX_TOOLS[0]} + ;; + --use-projectX) + ACTION_DEMUX=${DEMUX_TOOLS[1]} + ;; + --projectX-ini) + [ -e "$2" ] || usage "${RED}missing file ${MAGENTA}'$2'${NORMAL}" + PROJECTX_INI="$2" + shift + ;; + --use-Xvfb|--without-X) + WITHOUT_X=0 + ;; + --add-gain) + [ `echo $2 | \\ + grep -c "[+-][[:digit:]]\{1,2\}\.[[:digit:]]"` -eq 1 ] || \ + usage "${RED}invalid gain ${MAGENTA}'$2'${NORMAL}" + A52DEC_GAIN="$2" + shift + ;; + --use-mp2enc) + ACTION_ENCODE=${ENCODE_TOOLS[0]} + ;; + --use-toolame) + ACTION_ENCODE=${ENCODE_TOOLS[1]} + ;; + --use-tcmplex) + ACTION_MPLEX=${MPLEX_TOOLS[0]} + ;; + --use-tcmplex-panteltje) + ACTION_MPLEX=${MPLEX_TOOLS[1]} + ;; + --use-mplex) + ACTION_MPLEX=${MPLEX_TOOLS[2]} + ;; + --remove-iso) + REMOVE_ISO=1 + ;; + --no-burn) + BURN=0 + ;; + --no-rw-format) + RW_FORMAT=0 + ;; + --force) + FORCE=1 + ;; + --clean) + CLEAN=1 + ;; + --verbose) + VERBOSE=1 + ;; + -V|--version) + echo "${GREEN}$0 ${MAGENTA}Version $VERSION${NORMAL}" + exit 1 + ;; + --all-versions) + echo "${GREEN}$0 ${MAGENTA}Version $VERSION${NORMAL}" + echo + $VOBCOPY_BIN --version + $TCPROBE_BIN -v + $TCCAT_BIN -v + $TCEXTRACT_BIN -v + $TCDEMUX_BIN -v + echo + $A52DEC_BIN - 2>&1|grep a52dec + $TOOLAME_BIN --version 2>&1|grep version + echo + $JAVA_BIN -version + echo + $MPLEX_BIN -? 2>&1|grep version + $TCMPLEX_BIN -v + $TCMPLEX_PANTELTJE_BIN -v + echo + $MKISOFS_BIN -version + echo + $GROWISOFS_BIN -version 2>&1|grep version + $DVDRECORD_BIN -version + echo + exit 1 + ;; + -h|-?|--help) + usage + ;; + *) + usage "${RED}unknown option ${MAGENTA}'$1'${NORMAL}" ;; + esac + shift +done + +[ -f "$DVD2DVD_CONF" ] && . "$DVD2DVD_CONF" + + +########################################################################### +# translation tables for user messages +########################################################################### + +LNG=0 +for i in 0 1 ; do + [ $LANGUAGE = ${LANGUAGES[$i]} ] && LNG=$i +done + +MESG_01=( \ +"Bitte die zu kopierende DVD einlegen" \ +"please insert DVD" \ +) + +MESG_02=( \ +"Keine DVD im Laufwerk erkannt" \ +"DVD not found" \ +) + +MESG_03=( \ +"Kopiere DVD auf Disk" \ +"Copy DVD to disk" \ +) + +MESG_04=( \ +"Videospur nicht gefunden - Abbruch" \ +"main movie not found - exiting" \ +) + +MESG_05=( \ +"Tonspur '$LANGUAGE' nicht gefunden - Abbruch" \ +"Audio track '$LANGUAGE' not found - exiting" \ +) + +MESG_06=( \ +"Kein unterstuetztes Audioformat auf der DVD gefunden - Abbruch" \ +"no supported audio format found - exiting" \ +) + +MESG_07=( \ +"Kopieren der DVD gescheitert - Abbruch" \ +"copying of main movie failed - exiting" \ +) + +MESG_08=( \ +"DVD auslesen beendet, bitte DVD entnehmen" \ +"main movie successfully read, please remove DVD" \ +) + +MESG_09=( \ +"Fehler bei der Umwandlung der DVD-Daten - Abbruch" \ +"failed to transcode the main movie - exiting" \ +) + +MESG_10=( \ +"DVD Daten werden mit '$ACTION_DEMUX' bearbeitet" \ +"" \ +) + +MESG_11=( \ +"DVD Daten werden mit '$ACTION_MPLEX' bearbeitet" \ +"" \ +) + +MESG_12=( \ +"DVD Daten werden mit '$REQUANT_BIN' verkleinert" \ +"" \ +) + +MESG_13=( \ +"DVD Daten werden auf DVD gebrannt" \ +"" \ +) + +MESG_14=( \ +"Alle temp. Daten geloescht" \ +"" \ +) + +MESG_15=( \ +"Daten befinden sich in ${ISODIR}" \ +"" \ +) + +MESG_16=( \ +"!!! GRATULATION , FERTIG !!!" \ +"" \ +) + +MESG_17=( \ +"DVD Daten werden mit '$DVDAUTHOR_BIN' bearbeitet" \ +"" \ +) + +MESG_18=( \ +"DVD Daten werden mit '$MKISOFS_BIN' bearbeitet" \ +"" \ +) + +MESG_19=( \ +"DVD-Rohling fuer Brennvorgang einlegen" \ +"" \ +) + +MESG_20=( \ +"DVD-RW Medium wird geloescht" \ +"" \ +) + +MESG_21=( \ +"DVD wird geschrieben" \ +"" \ +) + +MESG_22=( \ +"DVD Schreibvorgang beendet, DVD entnehmen" \ +"" \ +) + +MESG_23=( \ +"DVD Schreibvorgang fehlgeschlagen, DVD entnehmen" \ +"" \ +) + +MESG_30=( \ +"textutils Fehler, update dein coreutils" \ +"error textutils, upgrade your coreutils" \ +) + +########################################################################### +# prepare to run +########################################################################### + +d2v_error () { + echo "${RED}ERROR: ${MAGENTA}$1${NORMAL}" + $EJECT_BIN $DVD_DEVICE + exit 255 +} + + +d2v_log () { + [ $VERBOSE -eq 1 -o "$2" = "force" ] && echo "`date +"%T"`: $1" + echo "`date +"%T"`: $1" >> $LOGFILE +} + + +d2v_log_separator () { + d2v_log "---------------------------------------------------------------" +} + + +d2v_log_force () { + d2v_log "$1" force +} + + +d2v_mesg () { + if [ $OSDINFO -eq 1 ] ; then + d2v_log "$SVDRPSEND_PL MESG $1" + $SVDRPSEND_PL MESG "$1" >> $LOGFILE + fi +} + +if [ -e $LOCKFILE ] ; then + if [ $FORCE -eq 1 ] ; then + rm -f $LOCKFILE + else + PIDID=`cat $LOCKFILE` + RUNCHECK=`ps $PIDID | grep 'dvd2' | wc -l` + if [ $RUNCHECK -eq 0 ]; then + rm -f $LOCKFILE + d2v_log "dvd2dvd is not active, remove lockfile done" + else + d2v_error "$0 is already running" + fi + fi +fi + +echo "$0 $OPTIONS" > $LOGFILE || d2v_error "${RED}Cannot create \$LOGFILE ${MAGENTA}'$LOGFILE'${NORMAL}" +echo $$ > $LOCKFILE || d2v_error "${RED}Cannot create \$LOCKFILE ${MAGENTA}'$LOCKFILE'${NORMAL}" + +d2v_log_separator +d2v_log_force START + +[ -d $VIDEODIR ] || d2v_error "${RED}\$VIDEODIR ${MAGENTA}'$VIDEODIR' ${RED}not found${NORMAL}" + VIDEODIR=`echo $VIDEODIR | sed "s/\/$//"` +[ -d $WORKDIR ] || d2v_error "${RED}\$WORKDIR ${MAGENTA}'$WORKDIR' ${RED}not found${NORMAL}" + WORKDIR=`echo $WORKDIR | sed "s/\/$//"` +[ -b $DVD_DEVICE ] || d2v_error "${RED}\$DVD_DEVICE ${MAGENTA}'$DVD_DEVICE' ${RED}not found${NORMAL}" + +[ $PRIO -ge 1 -a $PRIO -le 19 ] || \ + d2v_error "${RED}\$PRIO ${MAGENTA}$PRIO ${RED}out of range${NORMAL}" +[ $VERBOSE -ge 0 -a $VERBOSE -le 1 ] || \ + d2v_error "${RED}\$VERBOSE ${MAGENTA}$VERBOSE ${RED}out of range${NORMAL}" + +########################################################################### +# check the temp directory +########################################################################### + +d2v_log_separator +d2v_log_force "checking the temp directory" + +if [ $ACTION = "all" -a -z "$TEMPDIR" ] ; then + + TEMPDIR=`mktemp -dp ${WORKDIR}` + TEMPDIR_ISO=`mktemp -dp ${TEMPDIR}` + + d2v_log "\$TEMPDIR='$TEMPDIR' and \$TEMPDIR_ISO='$TEMPDIR_ISO' created" + +elif [ $ACTION != "all" -a -z "$TEMPDIR" ] ; then + + HELP="`echo && echo \$\> ls -d1 ${WORKDIR} && ls -d1 ${WORKDIR}/tmp.* 2> /dev/null`" + [ `ls -d1 ${WORKDIR}/tmp.* 2> /dev/null | wc -l` -ne 1 ] && d2v_error "${RED}no unique temp directory found ${MAGENTA}$HELP${NORMAL}" + + TEMPDIR=`ls -d1 ${WORKDIR}/tmp.* | head -n 1` + TEMPDIR_ISO=`ls -d1 ${TEMPDIR}/tmp.* | head -n 1` + + d2v_log "\$TEMPDIR='$TEMPDIR' and \$TEMPDIR_ISO='$TEMPDIR_ISO' used" +else + d2v_log "\$TEMPDIR='$TEMPDIR' and \$TEMPDIR_ISO='$TEMPDIR_ISO' used" +fi + + + +########################################################################### +# read and write global variables to disk +########################################################################### + +VARIABLES="TITLE RECORDING TITLENUM AUDIOTRACK AUDIOFORMAT TCEXTRACTOPTAUDIO" + +readvars () { + local FILE=${TEMPDIR}/variables.info + + if [ -f $FILE ] ; then + d2v_log_separator + d2v_log_force "reading file '$FILE'" + + for i in $VARIABLES ; do + if [ "$i" != "TITLE" -o "$TITLE" = "" ] ; then + eval $i=\"`grep "^$i=" $FILE | awk -F = '{print $2}'`\" + eval d2v_log \"\\\$$i=\'$`echo $i`\'\" + fi + done + fi +} + +writevars () { + local FILE=${TEMPDIR}/variables.info + + if [ "$TITLE" != "" -a "$RECORDING" != "" ] ; then + d2v_log_separator + d2v_log_force "writing file '$FILE'" + + echo "LASTRUN=`date +"%Y-%m-%d %T"`" > $FILE || \ + d2v_error "${RED}Cannot create file ${MAGENTA}'$FILE'${NORMAL}" + + for i in $VARIABLES ; do + eval echo "$i=$`echo $i`" >> $FILE + done + fi +} + + +########################################################################### +# gettitle of the main movie +########################################################################### + +gettitle () { + d2v_log_separator + d2v_log_force \ + "using '$ACTION_GETTITLE' to get the title of the main movie" + + if [ "$TITLE" = "" -o "$RECORDING" = "" -o $FORCE -eq 1 ] ; then + + # insert DVD and do some checks + d2v_mesg "${MESG_01[$LNG]}" + $EJECT_BIN $DVD_DEVICE + sleep $SLEEPTIME + + local DVDSTATUS="1" + while [ "$DVDSTATUS" -gt 0 ] ; do + $TCPROBE_BIN -i $DVD_DEVICE -H 10 >> $LOGFILE 2>&1> /dev/null + DVDSTATUS=$? + if [ $DVDSTATUS -gt 0 ]; then + d2v_mesg "${MESG_02[$LNG]}" + # insert DVD + d2v_mesg "${MESG_01[$LNG]}" + $EJECT_BIN $DVD_DEVICE + sleep $SLEEPTIME + fi + done + + case $ACTION_GETTITLE in + ${GETTITLE_TOOLS[0]}) + ;; + ${GETTITLE_TOOLS[1]}) + d2v_log "`echo && echo \$\> $VOBCOPY_BIN -i $DVD_DEVICE \ + -v -v -I -L ${TEMPDIR} 2\> /dev/null`" + $VOBCOPY_BIN -i $DVD_DEVICE -v -v -I \ + -L ${TEMPDIR} 2> /dev/null && \ + TITLE=`cat ${TEMPDIR}/vobcopy_*.log | \ + grep 'Name of the dvd' | head -n 1 | awk '{print $6}'` && \ + cat ${TEMPDIR}/vobcopy_*.log >> $LOGFILE + if [ $TITLENUM = "AUTO" ] ; then + TITLENUM=`cat ${TEMPDIR}/vobcopy_*.log | \ + grep 'Using Title' | head -n 1 | awk '{print $4}'` + fi + ;; + esac + + d2v_log "`echo && echo \$\> ls -l ${TEMPDIR} && ls -l ${TEMPDIR}`" + + TITLE=`echo $TITLE | sed "s/[^a-zA-Z0-9???????/:.#'&_-]/_/g"` + [ `echo $TITLE | wc -m` -le 2 ] && TITLE="DVD`date +%Y-%m-%d-%M-%H`" + + RECORDING="`date +%Y-%m-%d.%H.%M`" + fi + + d2v_log_force "\$TITLE='$TITLE'" + d2v_log_force "\$TITLENUM='$TITLENUM'" + d2v_log_force "\$RECORDING='$RECORDING'" +} + + +########################################################################### +# test for the main movie +########################################################################### + +test () { + d2v_log_separator + d2v_log_force \ + "using 'tcprobe' to test for the main movie" + + if [ ! -f ${TEMPDIR}/001.vob -o $FORCE -eq 1 -o \ + $AUDIOTRACK -lt 0 -o "$AUDIOFORMAT" = "" -o \ + "$TCEXTRACTOPTAUDIO" = "" ] ; then + + # find main movie + local MAX_TITLENUM=0 + + d2v_log "`echo && echo \$\> $TCPROBE_BIN -H 0 \ + -i $DVD_DEVICE 2\>\&1 \| grep 'title 1/' \| awk '{print $5}'`" + + MAX_TITLENUM=`$TCPROBE_BIN -H 0 -i $DVD_DEVICE 2>&1 | \ + grep 'title 1/' | awk '{print $5}'` + + if [ $MAX_TITLENUM = 0 ] ; then + d2v_mesg "${MESG_04[$LNG]}" + #$TCPROBE_BIN -H 0 -i $DVD_DEVICE 2>&1 >> $LOGFILE + cp $LOGFILE ${TEMPDIR}/$TITLE.log + d2v_error "${RED}exiting${NORMAL}" + fi + + d2v_log "\$MAX_TITLENUM='$MAX_TITLENUM'" + + local i=0 + local FRAMES=0 + local MAX_FRAMES=0 + + if [ $TITLENUM = "MAX" ] ; then + while [ "$i" -lt $MAX_TITLENUM ] ; do + i=$((i+1)) + FRAMES=`$TCPROBE_BIN -i $DVD_DEVICE -H 10 -T $i \ + 2>/dev/null | grep 'frames' | awk '{print $3}'` + [ -z $FRAMES ] && FRAMES="0" + if [ $FRAMES -gt $MAX_FRAMES ] ; then + if [ $FRAMES -gt $((${TITLE_MIN_LENGTH}*25)) ]; then + TITLENUM="$i" + MAX_FRAMES="$FRAMES" + fi + fi + done + fi + + d2v_log "\$MAX_FRAMES='$MAX_FRAMES'" + if [ $TITLENUM = "MAX" ]; then + d2v_mesg "${MESG_04[$LNG]}" + $TCPROBE_BIN -H 0 -i $DVD_DEVICE 2>&1 >> $LOGFILE + cp $LOGFILE ${TEMPDIR}/$TITLE.log + d2v_error "${RED}exiting${NORMAL}" + fi + + d2v_log "\$TITLENUM='$TITLENUM'" + + # create the marks.vdr + if [ $CREATE_MARKS -eq 1 ]; then + d2v_log "`echo && echo \$\> $TCPROBE_BIN -i $DVD_DEVICE -H 10 \ + -T $TITLENUM 2\>\&1 \| grep Chapter \| cut -d \\\" \\\" -f 4 \ + \> ${TEMPDIR}/marks.vdr`" + $TCPROBE_BIN -i $DVD_DEVICE -H 10 -T $TITLENUM 2>&1 | \ + grep Chapter | cut -d " " -f 4 > ${TEMPDIR}/marks.vdr + fi + + # read audio track + local AUDIOTYPE="" + local AUDIOTYPELINES=0 + local AUDIOFORMATLINES=0 + + d2v_log "`echo && echo \$\> $TCPROBE_BIN -i $DVD_DEVICE -H 10 \ + -T $TITLENUM 2\> /dev/null \| grep dvd_reader.c \| grep kHz \| \ + cat -b - \> ${TEMPDIR}/transcode-audio.log`" + $TCPROBE_BIN -i $DVD_DEVICE -H 10 -T $TITLENUM 2> /dev/null | \ + grep dvd_reader.c | \ + grep kHz | cat -b - > ${TEMPDIR}/transcode-audio.log + + d2v_log "`echo && echo \$\> $TCPROBE_BIN -i $DVD_DEVICE -H 10 \ + -T $TITLENUM 2\> /dev/null \| grep "audio track:" \ + cat -b - \> ${TEMPDIR}/transcode-audio2.log`" + $TCPROBE_BIN -i $DVD_DEVICE -H 10 -T $TITLENUM 2> /dev/null | \ + grep "audio track:" | cat -b - > ${TEMPDIR}/transcode-audio2.log + + AUDIOTRACK=`cat ${TEMPDIR}/transcode-audio.log | \ + grep -n " "$LANGUAGE" " | grep "ac3" | head -n 1 | \ + awk '{print (($1-1))}'` + + if [ -z $AUDIOTRACK ] ; then + AUDIOTRACK=`cat ${TEMPDIR}/transcode-audio.log | grep -n " "$LANGUAGE" " | \ + head -n 1 | awk '{print (($1-1))}'` + if [ -z $AUDIOTRACK ] ; then + AUDIOTRACK=-1 + fi + fi + + AUDIOTYPE=`cat ${TEMPDIR}/transcode-audio.log | \ + grep " "$LANGUAGE" " | head -n 1 | awk '{print $3}'` + AUDIOTYPELINES=`cat ${TEMPDIR}/transcode-audio.log | \ + grep " "$LANGUAGE" " | head -n 1 | awk '{print $3}' | \ + wc -m | awk '{print $1}'` + AUDIOFORMATLINES=`cat ${TEMPDIR}/transcode-audio2.log | \ + grep "0x55"| head -n 1 | wc -m | awk '{print $1}'` + TRANSCODE_AUDIO=`cat ${TEMPDIR}/transcode-audio.log` + TRANSCODE_AUDIO2=`cat ${TEMPDIR}/transcode-audio2.log` + + if [ -z $AUDIOTYPELINES ] ; then + d2v_mesg "${MESG_30[$LNG]}" + $TRANSCODE_AUDIO >> $LOGFILE + $TRANSCODE_AUDIO2 >> $LOGFILE + cp $LOGFILE ${TEMPDIR}/$TITLE.log + d2v_error "${RED}exiting${NORMAL}" + fi + + if [ $AUDIOTYPELINES -eq 0 ] ; then + d2v_mesg "${MESG_05[$LNG]}" + $TRANSCODE_AUDIO >> $LOGFILE + $TRANSCODE_AUDIO2 >> $LOGFILE + cp $LOGFILE ${TEMPDIR}/$TITLE.log + d2v_error "${RED}exiting${NORMAL}" + fi + + + [ -z $AUDIOFORMATLINES ] && $AUDIOFORMATLINES="0" + if [ $AUDIOFORMATLINES -eq 0 ] ; then + AUDIOFORMAT="other" + else + AUDIOFORMAT="mp3" + fi + + if [ $DEBUG -gt 1 ] ; then + d2v_log_separator + d2v_log_force "write output from transcode-audio.log" + d2v_log "\$TRANSCODE_AUDIO='$TRANSCODE_AUDIO'" + d2v_log_separator + d2v_log_separator + d2v_log_force "write output from transcode-audio2.log" + d2v_log "\$TRANSCODE_AUDIO2='$TRANSCODE_AUDIO2'" + d2v_log_separator + fi + + d2v_log_force "\$AUDIOTRACK='$AUDIOTRACK'" + d2v_log "\$AUDIOTYPE='$AUDIOTYPE'" + d2v_log "\$AUDIOTYPELINES='$AUDIOTYPELINES'" + d2v_log_force "\$AUDIOFORMAT='$AUDIOFORMAT'" + d2v_log "\$AUDIOFORMATLINES='$AUDIOFORMATLINES'" + + case $AUDIOTYPE in + a??) + TCEXTRACTOPTAUDIO="ac3" + ;; + *pcm|raw) + TCEXTRACTOPTAUDIO="pcm" + if [ ACTION_ENCODE != ${ENCODE_TOOLS[1]} ] ; then + ACTION_ENCODE=${ENCODE_TOOLS[1]} + d2v_log "pcm audio track found - \ + forced the usage of '$ACTION_ENCODE'" + fi + ;; + mpeg?) + TCEXTRACTOPTAUDIO="mp2" + ;; + dts) + TCEXTRACTOPTAUDIO="dts" + ;; + *) + d2v_mesg "${MESG_06[$LNG]}" + cat $TRANSCODE_AUDIO >> $LOGFILE + cat $TRANSCODE_AUDIO2 >> $LOGFILE + cp $LOGFILE ${TEMPDIR}/$TITLE.log + d2v_error "${RED}exiting${NORMAL}" + ;; + esac + + d2v_log_force "\$TCEXTRACTOPTAUDIO='$TCEXTRACTOPTAUDIO'" + + d2v_log "`echo && echo \$\> ls -l ${TEMPDIR} && ls -l ${TEMPDIR}`" + else + d2v_log_force "\$AUDIOTRACK='$AUDIOTRACK'" + d2v_log_force "\$AUDIOFORMAT='$AUDIOFORMAT'" + d2v_log_force "\$TCEXTRACTOPTAUDIO='$TCEXTRACTOPTAUDIO'" + fi +} + + +########################################################################### +# copy the main movie to disk +########################################################################### + +copy () { + d2v_log_separator + d2v_log_force \ + "using '$ACTION_COPY' to copy the main movie to disk" + + if [ ! -f ${TEMPDIR}/001.vob -o $FORCE -eq 1 ] ; then + + # clean up + [ -f ${TEMPDIR}/001.vob ] && rm -f ${TEMPDIR}/001.vob + + # read main movie off the DVD + d2v_mesg "${MESG_03[$LNG]} TITEL: $TITLE NUM: $TITLENEM AUDIO: $TCEXTRACTOPTAUDIO" + + d2v_log "`echo && echo \$\> $TCCAT_BIN -t dvd -i $DVD_DEVICE \ + -T $TITLENUM,-1 -L 2\> /dev/null \> ${TEMPDIR}/001.vob`" + nice -n ${PRIO} $TCCAT_BIN -t dvd -i $DVD_DEVICE -T $TITLENUM,-1 \ + -L 2> /dev/null > ${TEMPDIR}/001.vob + + local STATUS=$? + if [ $STATUS -eq 1 ] ; then + d2v_mesg "${MESG_07[$LNG]}" + cp $LOGFILE ${TEMPDIR}/$TITLE.log + d2v_error "${MAGENTA}$TCCAT_BIN ${RED}failed - exiting${NORMAL}" + fi + + # eject DVD + d2v_mesg "${MESG_08[$LNG]}" + $EJECT_BIN $DVD_DEVICE + sleep $SLEEPTIME + + d2v_log "`echo && echo \$\> ls -l ${TEMPDIR} && ls -l ${TEMPDIR}`" + + if [ $AUDIOFORMAT = "mp3" ] ; then + d2v_log "`echo && echo \$\> mv ${TEMPDIR}/001.vob \ + ${TEMPDIR}/001.mpeg`" && \ + mv ${TEMPDIR}/001.vob ${TEMPDIR}/001.mpeg + d2v_log "`echo && echo \$\> ls -l ${TEMPDIR} && ls -l ${TEMPDIR}`" + fi + fi +} + + +########################################################################### +# demultiplex the main movie in mpv and ac3 +########################################################################### + +demux () { + d2v_log_separator + d2v_log_force \ + "using '$ACTION_DEMUX' to demultiplex the main movie in mpv and ac3" + + if [ ! -f ${TEMPDIR}/001.vob ] ; then + d2v_log "`echo && echo \$\> ls -l ${TEMPDIR} && ls -l ${TEMPDIR}`" + d2v_error "${MAGENTA}'${TEMPDIR}/001.vob' ${RED}not found${NORMAL}" + fi + + if [ ! -f ${TEMPDIR}/001.mpv -o ! -f ${TEMPDIR}/001.ac3 -o $FORCE -eq 1 ] ; then + + # clean up + [ -f ${TEMPDIR}/001.mpv ] && rm -f ${TEMPDIR}/001.mpv + [ -f ${TEMPDIR}/001.ac3 ] && rm -f ${TEMPDIR}/001.ac3 + rm -f ${TEMPDIR}/video.fifo + rm -f ${TEMPDIR}/audio.fifo + + local STATUS=1 + + if [ "$AUDIOFORMAT" != "mp3" ] ; then + case $ACTION_DEMUX in + ${DEMUX_TOOLS[0]}) + + # demux using fifos and tcextract + d2v_mesg "${MESG_10[$LNG]}" + mkfifo ${TEMPDIR}/video.fifo + mkfifo ${TEMPDIR}/audio.fifo + + d2v_log "`echo && echo \$\> $TCEXTRACT_BIN -i \ + ${TEMPDIR}/video.fifo -t vob -x mpeg2 -a 0xe0 \ + \> ${TEMPDIR}/001.mpv \&`" + + nice -n ${PRIO} $TCEXTRACT_BIN -i ${TEMPDIR}/video.fifo \ + -t vob -x mpeg2 -a 0xe0 \ + > ${TEMPDIR}/001.mpv & + + d2v_log "`echo && echo \$\> $TCEXTRACT_BIN -i \ + ${TEMPDIR}/audio.fifo -t vob -x ${TCEXTRACTOPTAUDIO} \ + -a $AUDIOTRACK \> ${TEMPDIR}/001.ac3 \&`" + nice -n ${PRIO} $TCEXTRACT_BIN -i ${TEMPDIR}/audio.fifo \ + -t vob -x ${TCEXTRACTOPTAUDIO} -a ${AUDIOTRACK} \ + > ${TEMPDIR}/001.ac3 & + + sleep 5 + d2v_log "`echo && echo \$\> cat ${TEMPDIR}/001.vob \| \ + tee ${TEMPDIR}/video.fifo ${TEMPDIR}/audio.fifo \ + \> /dev/null`" + nice -n ${PRIO} cat ${TEMPDIR}/001.vob | \ + tee ${TEMPDIR}/audio.fifo ${TEMPDIR}/video.fifo \ + > /dev/null + + STATUS=$? + ;; + ${DEMUX_TOOLS[1]}) + + if [ $WITHOUT_X -eq 0 ] ; then + # start virtual X server + $XVFB_BIN -once :4 >/dev/null 2>&1 & + export DISPLAY=localhost:4 + fi + + export LANG=de_DE@euro + + # demux using projectX + d2v_log "`echo && echo \$\> $JAVA_BIN -jar $PROJECTX_JAR \ + -c $PROJECTX_INI -o ${TEMPDIR} \ + ${TEMPDIR}/001.vob 2\>\&1 \>\> $LOGFILE`" + nice -n ${PRIO} $JAVA_BIN -jar $PROJECTX_JAR \ + -c $PROJECTX_INI -o ${TEMPDIR} \ + ${TEMPDIR}/001.vob 2>&1 >> $LOGFILE + + STATUS=$? + + if [ $WITHOUT_X -eq 0 ] ; then + # stop Virtual X server + /usr/bin/killall Xvfb + fi + ;; + esac + + if [ $STATUS -eq 1 ] ; then + d2v_mesg "${MESG_09[$LNG]}" + cp $LOGFILE ${TEMPDIR}/$TITLE.log + d2v_error "${MAGENTA}$ACTION_DEMUX ${RED}failed - exiting${NORMAL}" + fi + + d2v_log "`echo && echo \$\> ls -l ${TEMPDIR} && ls -l ${TEMPDIR}`" + else + d2v_log "demultiplexing not required - \ + main movie contains mp2 audio track" + fi + + fi + + [ $REMOVE -eq 1 ] && rm -f ${TEMPDIR}/001.vob + +} + + +########################################################################### +# encode ac3 to mp2 +########################################################################### + +encode () { + d2v_log_separator + d2v_log_force \ + "using '$ACTION_ENCODE' to encode ac3 to mp2" + + if [ ! -f ${TEMPDIR}/001.ac3 ] ; then + d2v_log "`echo && echo \$\> ls -l ${TEMPDIR} && ls -l ${TEMPDIR}`" + d2v_error "${MAGENTA}'${TEMPDIR}/001.ac3' ${RED}not found${NORMAL}" + fi + + if [ ! -f ${TEMPDIR}/001.mp2 -o $FORCE -eq 1 ] ; then + + # clean up + [ -f ${TEMPDIR}/001.mp2 ] && rm -f ${TEMPDIR}/001.mp2 + + local STATUS=1 + + if [ "$AUDIOFORMAT" != "mp3" ] ; then + + if [ "$TCEXTRACTOPTAUDIO" = "pcm" ] ; then + d2v_log "pcm or raw audio track move to wav audio track" + mv ${TEMPDIR}/001.ac3 ${TEMPDIR}/001.wav + fi + + if [ "$TCEXTRACTOPTAUDIO" != "pcm" ] ; then + + # encode with a52dec ... + d2v_log "`echo && echo \$\> $A52DEC_BIN -o wavdolby \ + -g "$A52DEC_GAIN" ${TEMPDIR}/001.ac3 \ + 2\>\&1 \> ${TEMPDIR}/001.wav \| grep -v \'last\' \ + \>\> $LOGFILE`" + nice -n ${PRIO} $A52DEC_BIN -o wavdolby \ + -g "$A52DEC_GAIN" ${TEMPDIR}/001.ac3 \ + 2>&1 > ${TEMPDIR}/001.wav | grep -v 'last' \ + >> $LOGFILE + + STATUS=$? + if [ $STATUS -eq 1 ] ; then + d2v_mesg "${MESG_09[$LNG]}" + cp $LOGFILE ${TEMPDIR}/$TITLE.log + d2v_error "${MAGENTA}$A52DEC_BIN ${RED}failed - exiting${NORMAL}" + fi + fi + + d2v_log "`echo && echo \$\> ls -l ${TEMPDIR} && ls -l ${TEMPDIR}`" + + case $ACTION_ENCODE in + ${ENCODE_TOOLS[0]}) + + # ... and mp2enc + d2v_log "`echo && echo \$\> cat ${TEMPDIR}/001.wav \| \ + $MP2ENC_BIN -r 48000 -o ${TEMPDIR}/001.mp2 \ + \> /dev/null 2\>\> $LOGFILE`" + nice -n ${PRIO} cat ${TEMPDIR}/001.wav | \ + $MP2ENC_BIN -r 48000 -o ${TEMPDIR}/001.mp2 \ + > /dev/null 2>> $LOGFILE + STATUS=$? + ;; + ${ENCODE_TOOLS[1]}) + + # ... and toolame + d2v_log "`echo && echo \$\> cat ${TEMPDIR}/001.wav \| \ + $TOOLAME_BIN -s 48 /dev/stdin ${TEMPDIR}/001.mp2 \ + \> /dev/null 2\>\> $LOGFILE`" + nice -n ${PRIO} cat ${TEMPDIR}/001.wav | \ + $TOOLAME_BIN -s 48 /dev/stdin ${TEMPDIR}/001.mp2 \ + > /dev/null 2>> $LOGFILE + STATUS=$? + ;; + esac + + if [ $STATUS -eq 1 ] ; then + d2v_mesg "${MESG_09[$LNG]}" + cp $LOGFILE ${TEMPDIR}/$TITLE.log + d2v_error "${MAGENTA}$ACTION_ENCODE ${RED}failed - exiting${NORMAL}" + fi + + d2v_log "`echo && echo \$\> ls -l ${TEMPDIR} && ls -l ${TEMPDIR}`" + else + d2v_log "encoding not required - \ + main movie contains mp2 audio track" + fi + fi + [ $REMOVE -eq 1 ] && rm -f ${TEMPDIR}/001.wav + +} + + +########################################################################### +# requant +########################################################################### + +requant () { + d2v_log_separator + d2v_log_force \ + "using '$REQUANT_BIN' to multiplex the part to a VDR recording" + + if [ ! -f ${TEMPDIR}/001.mpv ] ; then + d2v_log "`echo && echo \$\> ls -l ${TEMPDIR} && ls -l ${TEMPDIR}`" + d2v_error "${MAGENTA}'${TEMPDIR}/001.mpv' ${RED}not found${NORMAL}" + fi + + MPVBIG=`ls -l ${TEMPDIR}/001.mpv | awk '{print $5}'` + AC3BIG=`ls -l ${TEMPDIR}/001.ac3 | awk '{print $5}'` + MP2BIG=`ls -l ${TEMPDIR}/001.mp2 | awk '{print $5}'` + + [ -z $AC3BIG ] && AC3BIG=0 + [ -z $MP2BIG ] && MP2BIG=0 + + BIG=$(( $MPVBIG + $AC3BIG + $MP2BIG )) + + d2v_log_force "Dateiinfos \$MPVBIG='$MPVBIG' \$AC3BIG='$AC3BIG' \ + \$MP2BIG='$MP2BIG' \$BIG='$BIG'" + + if [ $MP2BIG -eq 0 ] ; then + FACTOR=`echo $MPVBIG $DVD_SIZE $AC3BIG|awk '{printf "%f\n",0.05+($1/($2-$3))}'| sed s/,/./g` + else + FACTOR=`echo $MPVBIG $DVD_SIZE $MP2BIG|awk '{printf "%f\n",0.05+($1/($2-$3))}' | sed s/,/./g` + fi + + d2v_log_force "Faktor zum verkleinern \$FACTOR='$FACTOR'" + + if [ $BIG -gt $DVD_SIZE ] ; then + + d2v_mesg "${MESG_12[$LNG]}" + + # requant + d2v_log "`echo && echo \$\> $REQUANT_BIN -f $FACTOR -i ${TEMPDIR}/001.mpv\ + -o ${TEMPDIR}/001.req 2\>\&1 \| grep -v \'%\' - \>\> $LOGFILE`" + + nice -n ${PRIO} $REQUANT_BIN -f $FACTOR -i ${TEMPDIR}/001.mpv \ + -o ${TEMPDIR}/001.req 2>&1 | grep -v '%' - >> $LOGFILE + + #local STATUS=$? + #if [ $STATUS -eq 1 ] ; then + # d2v_mesg "${MESG_09[$LNG]}" + # cp $LOGFILE ${TEMPDIR}/$TITLE.log + # d2v_error "${MAGENTA}$REQUANT_BIN ${RED}failed - exiting${NORMAL}" + #fi + + mv ${TEMPDIR}/001.mpv ${TEMPDIR}/001.mpv.org + mv ${TEMPDIR}/001.req ${TEMPDIR}/001.mpv + + d2v_log "`echo && echo \$\> ls -l ${TEMPDIR} && ls -l ${TEMPDIR}`" + else + d2v_log "requant not required " + fi + [ $REMOVE -eq 1 ] && rm -f ${TEMPDIR}/001.mpv.org +} + +########################################################################### +# multiplex the parts to a VDR recording +########################################################################### + +mplex () { + d2v_log_separator + d2v_log_force \ + "using '$ACTION_MPLEX' to multiplex the part to a VDR recording" + + if [ ! -f ${TEMPDIR}/001.mpv ] ; then + d2v_log "`echo && echo \$\> ls -l ${TEMPDIR} && ls -l ${TEMPDIR}`" + d2v_error "${MAGENTA}'${TEMPDIR}/001.mpv' ${RED}not found${NORMAL}" + fi + + if [ ! -f ${TEMPDIR}/001.ac3 ] ; then + d2v_log "`echo && echo \$\> ls -l ${TEMPDIR} && ls -l ${TEMPDIR}`" + d2v_error "${MAGENTA}'${TEMPDIR}/001.ac3' ${RED}not found${NORMAL}" + fi + + if [ ! -f ${TEMPDIR}/001.mp2 ] ; then + d2v_log "`echo && echo \$\> ls -l ${TEMPDIR} && ls -l ${TEMPDIR}`" + d2v_error "${MAGENTA}'${TEMPDIR}/001.mp2' ${RED}not found${NORMAL}" + fi + + if [ ! -f ${TEMPDIR}/001.mpeg -o $FORCE -eq 1 ] ; then + + # clean up + [ -f ${TEMPDIR}/001.mpeg ] && rm -f ${TEMPDIR}/001.mpeg + + if [ "$AUDIOFORMAT" != "mp3" ] ; then + + local STATUS=1 + + d2v_mesg "${MESG_11[$LNG]}" + + case $ACTION_MPLEX in + ${MPLEX_TOOLS[0]}) + [ $AC3_TRACK = 1 ] && \ + INC_AC3_TRACK="-s ${TEMPDIR}/001.ac3" + + # tcmplex a MPEG file + d2v_log "`echo && echo \$\> $TCMPLEX_BIN -m d \ + -i ${TEMPDIR}/001.mpv -p ${TEMPDIR}/001.mp2 \ + $INC_AC3_TRACK -o ${TEMPDIR}/001.mpeg \ + 2\>\&1 \| grep -v \'%\' - \>\> $LOGFILE`" + nice -n ${PRIO} $TCMPLEX_BIN -m d \ + -i ${TEMPDIR}/001.mpv -p ${TEMPDIR}/001.mp2 \ + $INC_AC3_TRACK -o ${TEMPDIR}/001.mpeg \ + 2>&1 | grep -v '%' - >> $LOGFILE + STATUS=$? + ;; + ${MPLEX_TOOLS[1]}) + [ $AC3_TRACK = 1 ] && \ + INC_AC3_TRACK="-1 ${TEMPDIR}/001.ac3" + + # tcmplex-panteltje a MPEG file + d2v_log "`echo && echo \$\> $TCMPLEX_PANTELTJE_BIN -m d \ + -i ${TEMPDIR}/001.mpv -0 ${TEMPDIR}/001.mp2 \ + $INC_AC3_TRACK -o ${TEMPDIR}/001.mpeg \ + 2\>\&1 \| grep -v \'%\' - \>\> $LOGFILE`" + nice -n ${PRIO} $TCMPLEX_PANTELTJE_BIN -m d \ + -i ${TEMPDIR}/001.mpv -0 ${TEMPDIR}/001.mp2 \ + $INC_AC3_TRACK -o ${TEMPDIR}/001.mpeg \ + 2>&1 | grep -v '%' - >> $LOGFILE + STATUS=$? + ;; + ${MPLEX_TOOLS[2]}) + [ $AC3_TRACK = 1 ] && \ + INC_AC3_TRACK="${TEMPDIR}/001.ac3" + + # mplex a MPEG file + d2v_log "`echo && echo \$\> $MPLEX_BIN -f 9 \ + -o ${TEMPDIR}/001.mpeg ${TEMPDIR}/001.mpv \ + ${TEMPDIR}/001.mp2 $INC_AC3_TRACK \ + 2\>\&1 \| grep -v \'%\' - \>\> $LOGFILE`" + nice -n ${PRIO} $MPLEX_BIN -f 9 \ + -o ${TEMPDIR}/001.mpeg ${TEMPDIR}/001.mpv \ + ${TEMPDIR}/001.mp2 $INC_AC3_TRACK \ + 2>&1 | grep -v '%' - >> $LOGFILE + STATUS=$? + ;; + esac + + if [ $STATUS -eq 1 ] ; then + d2v_mesg "${MESG_09[$LNG]}" + cp $LOGFILE ${TEMPDIR}/$TITLE.log + d2v_error "${MAGENTA}$ACTION_MPLEX ${RED}failed - exiting${NORMAL}" + fi + + d2v_log "`echo && echo \$\> ls -l ${TEMPDIR} && ls -l ${TEMPDIR}`" + else + d2v_log "multiplexing not required - \ + main movie contains mp2 audio track" + fi + fi + [ $REMOVE -eq 1 ] && rm -f ${TEMPDIR}/001.mpv ${TEMPDIR}/001.mp2 ${TEMPDIR}/001.ac3 + +} + + +########################################################################### +# dvdauthor create a dvd structur +########################################################################### + +dvdauthor () { + d2v_log_separator + d2v_log_force "using '$DVDAUTHOR_BIN' dvdauthor create a dvd structur" + + d2v_mesg "${MESG_17[$LNG]}" + + if [ ! -f ${TEMPDIR}/001.mpeg ] ; then + d2v_log "`echo && echo \$\> ls -l ${TEMPDIR} && ls -l ${TEMPDIR}`" + d2v_error "${MAGENTA}'${TEMPDIR}/001.mpeg' ${RED}not found${NORMAL}" + fi + +if [ ! -d ${TEMPDIR_ISO}/VIDEO_TS -o $FORCE -eq 1 ] ; then + + # clean up + [ -f ${TEMPDIR_ISO}/VIDEO_TS ] && rm -rf ${TEMPDIR_ISO}/VIDEO_TS + [ -f ${TEMPDIR_ISO}/AUDIO_TS ] && rm -rf ${TEMPDIR_ISO}/AUDIO_TS + +cat << XMLEOF > ${TEMPDIR}/001.xml +<dvdauthor> + <vmgm /> + <titleset> + <titles> + <pgc> + <vob file="${TEMPDIR}/001.mpeg" /> + </pgc> + </titles> + </titleset> +</dvdauthor> +XMLEOF + + d2v_log "`echo && echo \$\> $DVDAUTHOR_BIN -o ${TEMPDIR_ISO} -x ${TEMPDIR}/001.xml`" + nice -n ${PRIO} $DVDAUTHOR_BIN -o ${TEMPDIR_ISO} -x ${TEMPDIR}/001.xml + + local STATUS=$? + if [ $STATUS -ne 0 ] ; then + d2v_mesg "${MESG_09[$LNG]}" + cp $LOGFILE ${TEMPDIR}/$TITLE.log + d2v_error "${MAGENTA}$DVDAUTHORT_BIN ${RED}failed - exiting${NORMAL}" + fi + + d2v_log "`echo && echo \$\> ls -l ${TEMPDIR} ${TEMPDIR_ISO} \ + && ls -l ${TEMPDIR} ${TEMPDIR_ISO}`" + +fi + [ $REMOVE -eq 1 ] && rm -f ${TEMPDIR}/001.mpeg +} + +########################################################################### +# create an iso file +########################################################################### + +iso () { + +d2v_log_separator +d2v_log_force "using '$MKISOFS_BIN' to create a iso file" +d2v_mesg "${MESG_18[$LNG]}" + +if [ ! -d ${TEMPDIR_ISO}/VIDEO_TS ] ; then + d2v_log "`echo && echo \$\> ls -l ${TEMPDIR} ${TEMPDIR_ISO} && ls -l ${TEMPDIR} ${TEMPDIR_ISO}`" + d2v_error "${MAGENTA} '${TEMPDIR_ISO}/VIDEO_TS' ${RED}not found${NORMAL}" +fi + +if [ ! -f ${TEMPDIR}/001.iso -o $FORCE -eq 1 ] ; then + + # clean up + [ -f ${TEMPDIR}/001.iso ] && rm -f ${TEMPDIR}/001.iso + + d2v_log "`echo && echo \$\> $MKISOFS_BIN -dvd-video -o ${TEMPDIR}/001.iso ${TEMPDIR_ISO} \2\>\&1 \ + \>\> $LOGFILE`" + nice -n ${PRIO} $MKISOFS_BIN -dvd-video -o ${TEMPDIR}/001.iso ${TEMPDIR_ISO} 2>&1 >> $LOGFILE + + local STATUS=$? + if [ $STATUS -eq 1 ] ; then + d2v_mesg "${MESG_09[$LNG]}" + cp $LOGFILE ${TEMPDIR}/$TITLE.log + d2v_error "${MAGENTA}$MKISOFS_BIN ${RED}failed - exiting${NORMAL}" + fi + + d2v_log "`echo && echo \$\> ls -l ${TEMPDIR} ${TEMPDIR_ISO} && ls -l ${TEMPDIR} ${TEMPDIR_ISO}`" +fi + [ $REMOVE -eq 1 ] && rm -rf ${TEMPDIR_ISO} +} + +########################################################################### +# burn recording +########################################################################### + +burn () { + +if [ "$BURN" -eq 1 ] ; then + + d2v_log_separator + d2v_log_force "using burn the DVD with '$GROWISOFS_BIN'" + + d2v_log "`echo && echo \$\> ls -l ${TEMPDIR} && ls -l ${TEMPDIR}`" + + # insert DVD and do some checks + + local DVDCHECK="0" + while [ "$DVDCHECK" -eq 0 ] ; do + #sleep $SLEEPTIME + d2v_mesg "${MESG_19[$LNG]}" + $EJECT_BIN $DVD_DEVICE + sleep $SLEEPTIME + $TCPROBE_BIN -i $DVD_DEVICE > /dev/null + $DVDSTATUS_BIN $DVD_DEVICE > ${TEMPDIR}/dvdstatus.log + DVDTYPE=`cat ${TEMPDIR}/dvdstatus.log |grep 'Mounted Media' | awk '{print $4}'` + DVDSTATUS=`cat ${TEMPDIR}/dvdstatus.log | grep 'Disc status' | awk '{print $3}'` + if [ $DVDTYPE = "DVD-RW" ] ; then + DVDTYPE="DVD+RW" + fi + if [ $DVDTYPE = "DVD-R" ] ; then + DVDTYPE="DVD+R" + fi + if [ $DVDTYPE = "DVD+R" -o $DVDTYPE = "DVD+RW" ] ; then + DVDCHECK="1" + else + d2v_mesg "${MESG_02[$LNG]}" + DVDCHECK="0" + fi + if [ $DVDSTATUS = "blank" ] ; then + DVDCHECK="1" + else + d2v_mesg "${MESG_02[$LNG]}" + DVDCHECK="0" + fi + done + + if [ "$RW_FORMAT" -eq 1 ] ; then + if [ "$DVDTYPE" = "DVD+RW" ] ; then + if [ "$DVDSTATUS" != "blank" ]; then + d2v_mesg "${MESG_20[$LNG]}" + sleep $SLEEPTIME + $DVDFORMAT_BIN $DVD_DEVICE + fi + fi + fi + + d2v_mesg "${MESG_21[$LNG]}" + + nice -n ${PRIO} $GROWISOFS_BIN $DVDFORMAT_OPT $DVD_DEVICE=${TEMPDIR}/001.iso + + local STATUS=$? + if [ $STATUS -eq 1 ] ; then + d2v_mesg "${MESG_23[$LNG]}" + cp $LOGFILE ${TEMPDIR}/$TITLE.log + d2v_error "${MAGENTA}$GROWISOFS_BIN ${RED}failed - exiting${NORMAL}" + fi + + d2v_mesg "${MESG_22[$LNG]}" + + $EJECT_BIN $DVD_DEVICE + + sleep $SLEEPTIME + +fi + +} + +########################################################################### +# move recording to video directory +########################################################################### + +move () { + if [ "$BURN" == "0" -o "$REMOVE_ISO" == "1" ] ; then + d2v_log_separator + d2v_log_force "using 'mv' to move recording to iso directory" + + mkdir -p ${ISODIR} >> $LOGFILE || d2v_error "${RED}failed to create {MAGENTA}'${ISODIR}'${NORMAL}" + d2v_log "'${ISODIR}' created" + + mv ${TEMPDIR}/001.iso ${ISODIR}/${TITLE}.iso + + d2v_log "`echo && echo \$\> ls -l ${TEMPDIR} ${ISODIR} && ls -l ${TEMPDIR} ${ISODIR}`" + fi + +} + + +########################################################################### +# do all the bits +########################################################################### + +readvars + +if [ $ACTION = "all" ] ; then + gettitle + test + copy + demux + encode + requant + mplex + dvdauthor + iso + burn + move +elif [ $ACTION = "copy" ] ; then + gettitle + test + eval $ACTION +fi + +writevars + + +########################################################################### +# yeeha, we did it +########################################################################### + +[ $ACTION = "all" -o $CLEAN = 1 ] && rm -rf $TEMPDIR && d2v_log "\$TEMPDIR '$TEMPDIR' deleted" + +rm -f $LOCKFILE + +d2v_log_separator +d2v_log_force END +d2v_log_separator diff --git a/plugins/dvdconvert/dvdconvert/dvd2vdr.sh b/plugins/dvdconvert/dvdconvert/dvd2vdr.sh new file mode 100755 index 0000000..ea08790 --- /dev/null +++ b/plugins/dvdconvert/dvdconvert/dvd2vdr.sh @@ -0,0 +1,1386 @@ +#! /bin/bash + +############################################################################ +# Copyright (C) 2006 by Ronny Frankowski (lini@lausitz.net) # +# & AngieSoft (vdr@angiesoft.de) # +# & Matthias Appel (private_tweety@gmx.net) # +# # +# This program is free software; you can redistribute it and#or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation; either version 2 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program; if not, write to the # +# Free Software Foundation, Inc., # +# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # +############################################################################ + + +########################################################################### +# define some variables +########################################################################### + +VERSION="1.0.1-xvdr" + +[ -r /etc/default/vdr ] && . /etc/default/vdr +[ -d "$VIDEODIR" ] || exit +[ -d "$VDRVARDIR" ] || exit +[ -d "$VDRBINDIR" ] || exit +[ -n "$DVDBURNER" ] || exit + +VIDEODIR="$VIDEODIR" # video directory of vdr +WORKDIR="$VDRVARDIR/dvdconvert/dvd2vdr" # working directory of dvd2vdr +DVD_DEVICE="$DVDBURNER" # dvd device + +LANGUAGE="de" # select preferred language + # "de", "en" + +RECORDING_LIFETIME=99 # lifetime from 00 to 99 +RECORDING_MAX_SIZE=2000000000 # max size (byte) for a single + # *.vdr file +RECORDING_MAX_CHUNKS=255 # max chunks for spliting + +#TITLE_MIN_LENGTH=60 # mimimun length in sec for + # a title on a DVD to be + # considered for conversion + +PRIO=19 # priority from 1 to 19 +SLEEPTIME=10 # wait for user action +VERBOSE=1 # be verbose - 0: off, 1: on +DEBUG=2 # debug info - 0: off, 1-3: level +FORCE=0 # force exec - 0: off, 1: on (erzwingen) +CLEAN=1 # clean dirs - 0: off, 1: on (abschliesendes loeschen) +REMOVE=1 # remove tmp file - 0: off, 1: on (temp. loeschen im Betrieb) + +OSDINFO=1 # svdrpsend - 0: off, 1: on + +A52DEC_GAIN="+5.0" # add gain in decibels +CREATE_MARKS=0 # create a marks.vdr for vdr - 0: off, 1: on + + +########################################################################### +# define required tools +########################################################################### + +PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin:~/bin + +SVDRPSEND_PL="$VDRBINDIR/svdrpsend.pl" + +VOBCOPY_BIN=vobcopy +EJECT_BIN=eject +TCPROBE_BIN=tcprobe +TCCAT_BIN=tccat +TCEXTRACT_BIN=tcextract +TCDEMUX_BIN=tcdemux + +A52DEC_BIN=a52dec +TOOLAME_BIN=toolame +MP2ENC_BIN=mp2enc + +JAVA_BIN=java +PROJECTX_JAR=$PROJECTX_HOME/ProjectX.jar +[ ! -f "$PROJECTX_JAR" ] && PROJECTX_JAR=/usr/bin/ProjectX/ProjectX.jar +PROJECTX_INI=$PROJECTX_HOME/ProjectX.ini +[ ! -f "$PROJECTX_INI" ] && PROJECTX_JAR=/usr/bin/ProjectX/ProjectX.ini +XVFB_BIN=Xvfb + +TCMPLEX_BIN=tcmplex +TCMPLEX_PANTELTJE_BIN=tcmplex-panteltje +MPLEX_BIN=mplex + +SPLIT_BIN=split + +GENINDEX_BIN=genindex +GENINDEX_MJPEGFIX_BIN=genindex-mjpegfix + +LOGDIR="$VDRVARDIR/dvdconvert/log" +LOGFILE=$LOGDIR/dvd2vdr.log +LOCKFILE=$LOGDIR/dvd2vdr.LOCK + + +########################################################################### +# print usage information +########################################################################### + +usage() { +test -n "$1" && echo "${RED} Error: $1${NORMAL}" && echo +echo " DVD2VDR Version ${MAGENTA}$VERSION${NORMAL}" +echo +echo " ${CYAN}Usage: ${GREEN}$0${NORMAL}" +echo " ${CYAN} or: ${GREEN}$0${NORMAL} <action> [options]" +echo +echo " DVD2VDR is intended to convert the main movie of a DVD into" +echo " a VDR recoring. If required the main movie will be demuxed" +echo " transcoded and remuxed again." +echo +echo " ${CYAN}Actions:${NORMAL}" +echo +echo "${GREEN} all${NORMAL}" +echo " Do all steps of the following" +echo "${GREEN} copy${NORMAL}" +echo " Copy the main movie to disk" +echo "${GREEN} demux${NORMAL}" +echo " Demultiplex the main movie in mpv and ac3" +echo "${GREEN} encode${NORMAL}" +echo " Encode ac3 to mp2" +echo "${GREEN} mplex${NORMAL}" +echo " Multiplex the parts to a VDR recording" +echo "${GREEN} split${NORMAL}" +echo " Split the VDR recording into chunks" +echo "${GREEN} genindex${NORMAL}" +echo " Create an index.vdr" +echo "${GREEN} move${NORMAL}" +echo " Move recording to video directory" +echo +echo " ${CYAN}Options:${NORMAL}" +echo +echo "${GREEN} -i | --device ${MAGENTA}<device>${NORMAL}" +echo " Read DVD structure from this device" +echo "${GREEN} -o ${MAGENTA}<dirname>${NORMAL}" +echo " Write output into this video directory" +echo "${GREEN} -w <dirname>${NORMAL}" +echo " Use working directory as base for temp directory" +echo "${GREEN} -t ${MAGENTA}<dirname>${NORMAL}" +echo " Use temp directory for temporary files" +echo "${GREEN} --preferred-language ${MAGENTA}<language>${NORMAL}" +echo " Choose preferred language for messages" +echo " and the main movie (default is \"de\")" +echo "${GREEN} --no-osd-info${NORMAL}" +echo " Don't send messages to the OSD of VDR" +echo "${GREEN} --set-title ${MAGENTA}<string>${NORMAL}" +echo " Set title of main movie to <string>" +echo "${GREEN} --read-title-num ${MAGENTA}<number>${NORMAL}" +echo " Read specific title set (1-99)" +echo "${GREEN} --use-tcextract${NORMAL}" +echo " Demux the main movie with tcextract (default)" +echo "${GREEN} --use-projectX${NORMAL}" +echo " Demux the main movie with projectX." +echo " Ensure to have a X server running" +echo "${GREEN} --projectX-ini ${MAGENTA}<filename>${NORMAL}" +echo " Use this X.ini for projectX" +echo "${GREEN} --use-Xvfb | --without-X${NORMAL}" +echo " Start a virtual X Server with Xvfb" +echo "${GREEN} --add-gain ${MAGENTA}<string>${NORMAL}" +echo " Add gain to mp2 audio (-96.0 to +96.0)" +echo "${GREEN} --use-mp2enc${NORMAL}" +echo " Encode the audio track with mp2enc" +echo "${GREEN} --use-toolame${NORMAL}" +echo " Encode the audio track with toolame (default)" +echo "${GREEN} --use-mp3gain${NORMAL}" +echo " Normalize ac3 (time consuming)" +echo "${GREEN} --use-tcmplex${NORMAL}" +echo " Remux with tcmplex (default)" +echo "${GREEN} --use-tcmplex-panteltje${NORMAL}" +echo " Remux with tcmplex-panteltje" +echo "${GREEN} --use-mplex${NORMAL}" +echo " Remux with mplex" +echo "${GREEN} --use-genindex${NORMAL}" +echo " Create index.vdr with genindex (default)" +echo "${GREEN} --use-genindex-mjpegfix${NORMAL}" +echo " Create index.vdr with genindex-mjpegfix" +echo "${GREEN} --force${NORMAL}" +echo " Force execution of <action>" +echo "${GREEN} --verbose${NORMAL}" +echo " Turns verbosity on" +echo "${GREEN} -V | --version${NORMAL}" +echo " Print version information and exit" +echo "${GREEN} --all-versions${NORMAL}" +echo " Print version information of most used tools" +echo "${GREEN} -h | -? | --help${NORMAL}" +echo " Print this usage information" +exit 1 +} + +########################################################################### +# set color parameters +########################################################################### + +# ANSI COLORS +CRE=" +[K" +NORMAL="[0;39m" +# RED: Failure or error message +RED="[1;31m" +# GREEN: Success message +GREEN="[1;32m" +# YELLOW: Descriptions +YELLOW="[1;33m" +# BLUE: System messages +BLUE="[1;34m" +# MAGENTA: Found devices or drivers (pink) +MAGENTA="[1;35m" +# CYAN: Questions (hellblau) +CYAN="[1;36m" +# BOLD WHITE: Hint +WHITE="[1;37m" + +########################################################################### +# check for given parameters +########################################################################### + +case $DEBUG in + 1) ;; + 2) set -x ;; + 3) set -xv ;; + *) LOGFILE=/dev/null ;; +esac + +ACTION="all" +OPTIONS=$@ +TEMPDIR="" +LANGUAGES=("de" "en") +TITLE="" +TITLENUM="AUTO" # AUTO = vobcopy-test; MAX = max. Frames; 1,2,3... DVD-Title +RECORDING="" +AUDIOTRACK=-1 +AUDIOFORMAT="" +TCEXTRACTOPTAUDIO="" +WITHOUT_X=1 +AC3_TRACK=1 + +GETTITLE_TOOLS=("user-input" "vobcopy") +COPY_TOOLS=("tccat") +DEMUX_TOOLS=("tcextract" "projectX") +ENCODE_TOOLS=("mp2enc" "toolame") +MPLEX_TOOLS=("tcmplex" "tcmplex-panteltje" "mplex") +SPLIT_TOOLS=("split") +GENINDEX_TOOLS=("genindex" "genindex-mjpegfix") + +ACTION_GETTITLE=${GETTITLE_TOOLS[1]} +ACTION_COPY=${COPY_TOOLS[0]} +ACTION_DEMUX=${DEMUX_TOOLS[0]} +ACTION_ENCODE=${ENCODE_TOOLS[0]} +ACTION_MPLEX=${MPLEX_TOOLS[1]} +ACTION_SPLIT=${SPLIT_TOOLS[0]} +ACTION_GENINDEX=${GENINDEX_TOOLS[0]} + +while [ $# -gt 0 ]; do + case $1 in + all|gettitle|copy|demux|encode|mplex|split|genindex|move) + ACTION="$1" + ;; + -i|--device) + [ -b "$2" ] || usage "${RED}unknown device ${MAGENTA}'$2'${NORMAL}" + DVD_DEVICE="$2" + shift + ;; + -o) + [ -d "$2" ] || usage "${RED}missing directory ${MAGENTA}'$2'${NORMAL}" + VIDEODIR="$2" + shift + ;; + -w) + [ -d "$2" ] || usage "${RED}missing directory ${MAGENTA}'$2'${NORMAL}" + WORKDIR="$2" + shift + ;; + -t) + [ -d "$2" ] || usage "${RED}missing directory ${MAGENTA}'$2'${NORMAL}" + TEMPDIR=`echo $2 | sed "s/\/$//"` + shift + ;; + --preferred-language) + [ $2 = "" ] || usage "${RED}missing language${NORMAL}" + LANGUAGE=$2 + shift + ;; + --no-osd-info) + OSDINFO=0 + ;; + --set-title) + TITLE=`echo $2 | sed "s/[^a-zA-Z0-9???????/:.#'&_-]/_/g"` + ACTION_GETTITLE=${GETTITLE_TOOLS[0]} + shift + ;; + --read-title-num) +# [ $2 -ge 1 -a $2 -le 99 ] || usage "${RED}invalid title number ${MAGENTA}'$2'${NORMAL}" + TITLENUM=$2 + shift + ;; + --use-tcextract) + ACTION_DEMUX=${DEMUX_TOOLS[0]} + ;; + --use-projectX) + ACTION_DEMUX=${DEMUX_TOOLS[1]} + ;; + --projectX-ini) + [ -e "$2" ] || usage "${RED}missing file ${MAGENTA}'$2'${NORMAL}" + PROJECTX_INI="$2" + shift + ;; + --use-Xvfb|--without-X) + WITHOUT_X=0 + ;; + --add-gain) + [ `echo $2 | \\ + grep -c "[+-][[:digit:]]\{1,2\}\.[[:digit:]]"` -eq 1 ] || \ + usage "${RED}invalid gain ${MAGENTA}'$2'${NORMAL}" + A52DEC_GAIN="$2" + shift + ;; + --use-mp2enc) + ACTION_ENCODE=${ENCODE_TOOLS[0]} + ;; + --use-toolame) + ACTION_ENCODE=${ENCODE_TOOLS[1]} + ;; + --use-tcmplex) + ACTION_MPLEX=${MPLEX_TOOLS[0]} + ;; + --use-tcmplex-panteltje) + ACTION_MPLEX=${MPLEX_TOOLS[1]} + ;; + --use-mplex) + ACTION_MPLEX=${MPLEX_TOOLS[2]} + ;; + --use-genindex) + ACTION_GENINDEX=${GENINDEX_TOOLS[0]} + ;; + --use-genindex-mjpegfix) + ACTION_GENINDEX=${GENINDEX_TOOLS[1]} + ;; + --force) + FORCE=1 + ;; + --clean) + CLEAN=1 + ;; + --verbose) + VERBOSE=1 + ;; + -V|--version) + echo "${GREEN}$0 ${MAGENTA}Version $VERSION${NORMAL}" + exit 1 + ;; + --all-versions) + echo "${GREEN}$0 ${MAGENTA}Version $VERSION${NORMAL}" + echo + $VOBCOPY_BIN --version + $TCPROBE_BIN -v + $TCCAT_BIN -v + $TCEXTRACT_BIN -v + $TCDEMUX_BIN -v + echo + $A52DEC_BIN - 2>&1|grep a52dec + $TOOLAME_BIN --version 2>&1|grep version + echo + $JAVA_BIN -version + echo + $MPLEX_BIN -? 2>&1|grep version + $TCMPLEX_BIN -v + $TCMPLEX_PANTELTJE_BIN -v + echo + $GENINDEX_BIN 2>&1|grep genindex + exit 1 + ;; + -h|-?|--help) + usage + ;; + *) + usage "${RED}unknown option ${MAGENTA}'$1'${NORMAL}" ;; + esac + shift +done + +[ -f "$DVD2VDR_CONF" ] && . "$DVD2VDR_CONF" + + +########################################################################### +# translation tables for user messages +########################################################################### + +LNG=0 +for i in 0 1 ; do + [ $LANGUAGE = ${LANGUAGES[$i]} ] && LNG=$i +done + +MESG_01=( \ +"Bitte die zu wandelne DVD einlegen" \ +"please insert DVD" \ +) + +MESG_02=( \ +"Keine DVD im Laufwerk erkannt" \ +"DVD not found" \ +) + +MESG_03=( \ +"Kopiere DVD auf Disk" \ +"Copy DVD to disk" \ +) + +MESG_04=( \ +"Videospur nicht gefunden - Abbruch" \ +"main movie not found - exiting" \ +) + +MESG_05=( \ +"Tonspur '$LANGUAGE' nicht gefunden - Abbruch" \ +"Audio track '$LANGUAGE' not found - exiting" \ +) + +MESG_06=( \ +"Kein unterstuetztes Audioformat auf der DVD gefunden - Abbruch" \ +"no supported audio format found - exiting" \ +) + +MESG_07=( \ +"Kopieren der DVD gescheitert - Abbruch" \ +"copying of main movie failed - exiting" \ +) + +MESG_08=( \ +"DVD auslesen beendet, bitte DVD entnehmen" \ +"main movie successfully read, please remove DVD" \ +) + +MESG_09=( \ +"Fehler bei der Umwandlung der DVD-Daten - Abbruch" \ +"failed to transcode the main movie - exiting" \ +) + +MESG_10=( \ +"DVD Daten werden mit '$ACTION_DEMUX' bearbeitet" \ +"" \ +) + +MESG_11=( \ +"DVD Daten werden mit '$ACTION_MPLEX' bearbeitet" \ +"" \ +) + +MESG_12=( \ +"DVD Daten werden gesplittet" \ +"" \ +) + +MESG_13=( \ +"DVD Daten werden mit '$ACTION_GENINDEX' bearbeitet" \ +"" \ +) + +MESG_14=( \ +"Alle temp. Daten geloescht" \ +"" \ +) + +MESG_15=( \ +"Daten befinden sich in ${VIDEODIR}" \ +"" \ +) + +MESG_16=( \ +"!!! GRATULATION , FERTIG !!!" \ +"" \ +) + +MESG_30=( \ +"textutils Fehler, update dein coreutils" \ +"error textutils, upgrade your coreutils" \ +) + +########################################################################### +# prepare to run +########################################################################### + +d2v_error () { + echo "${RED}ERROR: ${MAGENTA}$1${NORMAL}" + $EJECT_BIN $DVD_DEVICE + exit 255 +} + + +d2v_log () { + [ $VERBOSE -eq 1 -o "$2" = "force" ] && echo "`date +"%T"`: $1" + echo "`date +"%T"`: $1" >> $LOGFILE +} + + +d2v_log_separator () { + d2v_log "---------------------------------------------------------------" +} + + +d2v_log_force () { + d2v_log "$1" force +} + + +d2v_mesg () { + if [ $OSDINFO -eq 1 ] ; then + d2v_log "$SVDRPSEND_PL MESG $1" + $SVDRPSEND_PL MESG "$1" >> $LOGFILE + fi +} + + +if [ -e $LOCKFILE ] ; then + if [ $FORCE -eq 1 ] ; then + rm -f $LOCKFILE + else + PIDID=`cat $LOCKFILE` + RUNCHECK=`ps $PIDID | grep 'dvd2' | wc -l` + if [ $RUNCHECK -eq 0 ]; then + rm -f $LOCKFILE + d2v_log "dvd2vdr is not active, remove lockfile done" + else + d2v_error "$0 is already running" + fi + fi +fi + +echo "$0 $OPTIONS" > $LOGFILE || d2v_error "${RED}Cannot create \$LOGFILE ${MAGENTA}'$LOGFILE'${NORMAL}" +echo $$ > $LOCKFILE || d2v_error "${RED}Cannot create \$LOCKFILE ${MAGENTA}'$LOCKFILE'${NORMAL}" + +d2v_log_separator +d2v_log_force START + +[ -d $VIDEODIR ] || d2v_error "${RED}\$VIDEODIR ${MAGENTA}'$VIDEODIR' ${RED}not found${NORMAL}" + VIDEODIR=`echo $VIDEODIR | sed "s/\/$//"` +[ -d $WORKDIR ] || d2v_error "${RED}\$WORKDIR ${MAGENTA}'$WORKDIR' ${RED}not found${NORMAL}" + WORKDIR=`echo $WORKDIR | sed "s/\/$//"` +[ -b $DVD_DEVICE ] || d2v_error "${RED}\$DVD_DEVICE ${MAGENTA}'$DVD_DEVICE' ${RED}not found${NORMAL}" + +[ $PRIO -ge 1 -a $PRIO -le 19 ] || \ + d2v_error "${RED}\$PRIO ${MAGENTA}$PRIO ${RED}out of range${NORMAL}" +[ $VERBOSE -ge 0 -a $VERBOSE -le 1 ] || \ + d2v_error "${RED}\$VERBOSE ${MAGENTA}$VERBOSE ${RED}out of range${NORMAL}" + +########################################################################### +# check the temp directory +########################################################################### + +d2v_log_separator +d2v_log_force "checking the temp directory" + +if [ $ACTION = "all" -a -z "$TEMPDIR" ] ; then + TEMPDIR=`mktemp -dp ${WORKDIR}` + d2v_log "\$TEMPDIR='$TEMPDIR' created" +elif [ $ACTION != "all" -a -z "$TEMPDIR" ] ; then + HELP="`echo && echo \$\> ls -d1 ${WORKDIR} && \ + ls -d1 ${WORKDIR}/tmp.* 2> /dev/null`" + [ `ls -d1 ${WORKDIR}/tmp.* 2> /dev/null | wc -l` -ne 1 ] && \ + d2v_error "${RED}no unique temp directory found $HELP${NORMAL}" + TEMPDIR=`ls -d1 ${WORKDIR}/tmp.* | head -n 1` + d2v_log "\$TEMPDIR='$TEMPDIR' used" +else + d2v_log "\$TEMPDIR='$TEMPDIR' used" +fi + + + +########################################################################### +# read and write global variables to disk +########################################################################### + +VARIABLES="TITLE RECORDING TITLENUM AUDIOTRACK AUDIOFORMAT TCEXTRACTOPTAUDIO" + +readvars () { + local FILE=${TEMPDIR}/variables.info + + if [ -f $FILE ] ; then + d2v_log_separator + d2v_log_force "reading file '$FILE'" + + for i in $VARIABLES ; do + if [ "$i" != "TITLE" -o "$TITLE" = "" ] ; then + eval $i=\"`grep "^$i=" $FILE | awk -F = '{print $2}'`\" + eval d2v_log \"\\\$$i=\'$`echo $i`\'\" + fi + done + fi +} + +writevars () { + local FILE=${TEMPDIR}/variables.info + + if [ "$TITLE" != "" -a "$RECORDING" != "" ] ; then + d2v_log_separator + d2v_log_force "writing file '$FILE'" + + echo "LASTRUN=`date +"%Y-%m-%d %T"`" > $FILE || \ + d2v_error "${RED}Cannot create file ${MAGENTA}'$FILE'${NORMAL}" + + for i in $VARIABLES ; do + eval echo "$i=$`echo $i`" >> $FILE + done + fi +} + + +########################################################################### +# gettitle of the main movie +########################################################################### + +gettitle () { + d2v_log_separator + d2v_log_force \ + "using '$ACTION_GETTITLE' to get the title of the main movie" + + if [ "$TITLE" = "" -o "$RECORDING" = "" -o $FORCE -eq 1 ] ; then + + # insert DVD and do some checks + d2v_mesg "${MESG_01[$LNG]}" + $EJECT_BIN $DVD_DEVICE + sleep $SLEEPTIME + + local DVDSTATUS=1 + while [ "$DVDSTATUS" -gt 0 ] ; do + $TCPROBE_BIN -i $DVD_DEVICE -H 10 >> $LOGFILE 2>&1> /dev/null + DVDSTATUS=$? + if [ $DVDSTATUS -gt 0 ]; then + d2v_mesg "${MESG_02[$LNG]}" + # insert DVD + d2v_mesg "${MESG_01[$LNG]}" + $EJECT_BIN $DVD_DEVICE + sleep $SLEEPTIME + fi + done + + case $ACTION_GETTITLE in + ${GETTITLE_TOOLS[0]}) + ;; + ${GETTITLE_TOOLS[1]}) + d2v_log "`echo && echo \$\> $VOBCOPY_BIN -i $DVD_DEVICE \ + -v -v -I -L ${TEMPDIR} 2\> /dev/null`" + $VOBCOPY_BIN -i $DVD_DEVICE -v -v -I \ + -L ${TEMPDIR} 2> /dev/null && \ + TITLE=`cat ${TEMPDIR}/vobcopy_*.log | \ + grep 'Name of the dvd' | head -n 1 | awk '{print $6}'` && \ + cat ${TEMPDIR}/vobcopy_*.log >> $LOGFILE + if [ $TITLENUM = "AUTO" ] ; then + TITLENUM=`cat ${TEMPDIR}/vobcopy_*.log | \ + grep 'Using Title' | head -n 1 | awk '{print $4}'` + fi + ;; + esac + + d2v_log "`echo && echo \$\> ls -l ${TEMPDIR} && ls -l ${TEMPDIR}`" + + TITLE=`echo $TITLE | sed "s/[^a-zA-Z0-9???????/:.#'&_-]/_/g"` + [ `echo $TITLE | wc -m` -le 2 ] && TITLE="DVD`date +%Y-%m-%d-%M-%H`" + + RECORDING="`date +%Y-%m-%d.%H.%M`.99.$RECORDING_LIFETIME.rec" + fi + + d2v_log_force "\$TITLE='$TITLE'" + d2v_log_force "\$TITLENUM='$TITLENUM'" + d2v_log_force "\$RECORDING='$RECORDING'" +} + + +########################################################################### +# test for the main movie +########################################################################### + +test () { + d2v_log_separator + d2v_log_force \ + "using 'tcprobe' to test for the main movie" + + if [ ! -f ${TEMPDIR}/001.vob -o $FORCE -eq 1 -o \ + $AUDIOTRACK -lt 0 -o "$AUDIOFORMAT" = "" -o \ + "$TCEXTRACTOPTAUDIO" = "" ] ; then + + # find main movie + local MAX_TITLENUM=0 + + d2v_log "`echo && echo \$\> $TCPROBE_BIN -H 0 \ + -i $DVD_DEVICE 2\>\&1 \| grep 'title 1/' \| awk '{print $5}'`" + + MAX_TITLENUM=`$TCPROBE_BIN -H 0 -i $DVD_DEVICE 2>&1 | \ + grep 'title 1/' | awk '{print $5}'` + + if [ $MAX_TITLENUM -eq 0 ] ; then + d2v_mesg "${MESG_04[$LNG]}" + $TCPROBE_BIN -H 0 -i $DVD_DEVICE 2>&1 >> $LOGFILE + cp $LOGFILE ${TEMPDIR}/$TITLE.log + d2v_error "${RED}exiting${NORMAL}" + fi + + d2v_log "\$MAX_TITLENUM='$MAX_TITLENUM'" + + local i=0 + local FRAMES=0 + local MAX_FRAMES=0 + + if [ $TITLENUM = "MAX" ] ; then + while [ "$i" -lt $MAX_TITLENUM ] ; do + i=$((i+1)) + FRAMES=`$TCPROBE_BIN -i $DVD_DEVICE -H 10 -T $i \ + 2>/dev/null | grep 'frames' | awk '{print $3}'` + [ -z $FRAMES ] && FRAMES="0" + if [ $FRAMES -gt $MAX_FRAMES ] ; then + if [ $FRAMES -gt $((${TITLE_MIN_LENGTH}*25)) ]; then + TITLENUM="$i" + MAX_FRAMES="$FRAMES" + fi + fi + done + fi + + d2v_log "\$MAX_FRAMES='$MAX_FRAMES'" + + if [ $TITLENUM = "MAX" ]; then + d2v_mesg "${MESG_04[$LNG]}" + $TCPROBE_BIN -H 0 -i $DVD_DEVICE 2>&1 >> $LOGFILE + cp $LOGFILE ${TEMPDIR}/$TITLE.log + d2v_error "${RED}exiting${NORMAL}" + fi + + d2v_log "\$TITLENUM='$TITLENUM'" + + # create the marks.vdr + + if [ $CREATE_MARKS -eq 1 ]; then + d2v_log "`echo && echo \$\> $TCPROBE_BIN -i $DVD_DEVICE -H 10 \ + -T $TITLENUM 2\>\&1 \| grep Chapter \| cut -d \\\" \\\" -f 4 \ + \> ${TEMPDIR}/marks.vdr`" + $TCPROBE_BIN -i $DVD_DEVICE -H 10 -T $TITLENUM 2>&1 | \ + grep Chapter | cut -d " " -f 4 > ${TEMPDIR}/marks.vdr + fi + + # read audio track + local AUDIOTYPE="" + local AUDIOTYPELINES=0 + local AUDIOFORMATLINES=0 + + d2v_log "`echo && echo \$\> $TCPROBE_BIN -i $DVD_DEVICE -H 10 \ + -T $TITLENUM 2\> /dev/null \| grep dvd_reader.c \| grep kHz \| \ + cat -b - \> ${TEMPDIR}/transcode-audio.log`" + $TCPROBE_BIN -i $DVD_DEVICE -H 10 -T $TITLENUM 2> /dev/null | \ + grep dvd_reader.c | \ + grep kHz | cat -b - > ${TEMPDIR}/transcode-audio.log + + d2v_log "`echo && echo \$\> $TCPROBE_BIN -i $DVD_DEVICE -H 10 \ + -T $TITLENUM 2\> /dev/null \| grep "audio track:" \ + cat -b - \> ${TEMPDIR}/transcode-audio2.log`" + $TCPROBE_BIN -i $DVD_DEVICE -H 10 -T $TITLENUM 2> /dev/null | \ + grep "audio track:" | cat -b - > ${TEMPDIR}/transcode-audio2.log + + AUDIOTRACK=`cat ${TEMPDIR}/transcode-audio.log | \ + grep -n " "$LANGUAGE" " | grep "ac3" | head -n 1 | \ + awk '{print (($1-1))}'` + + if [ -z $AUDIOTRACK ] ; then + AUDIOTRACK=`cat ${TEMPDIR}/transcode-audio.log | grep -n " "$LANGUAGE" " | \ + head -n 1 | awk '{print (($1-1))}'` + if [ -z $AUDIOTRACK ] ; then + AUDIOTRACK=-1 + fi + fi + + AUDIOTYPE=`cat ${TEMPDIR}/transcode-audio.log | \ + grep " "$LANGUAGE" " | head -n 1 | awk '{print $3}'` + AUDIOTYPELINES=`cat ${TEMPDIR}/transcode-audio.log | \ + grep " "$LANGUAGE" " | head -n 1 | awk '{print $3}' | \ + wc -m | awk '{print $1}'` + AUDIOFORMATLINES=`cat ${TEMPDIR}/transcode-audio2.log | \ + grep "0x55"| head -n 1 | wc -m | awk '{print $1}'` + TRANSCODE_AUDIO=`cat ${TEMPDIR}/transcode-audio.log` + TRANSCODE_AUDIO2=`cat ${TEMPDIR}/transcode-audio2.log` + + if [ -z $AUDIOTYPELINES ] ; then + d2v_mesg "${MESG_30[$LNG]}" + $TRANSCODE_AUDIO >> $LOGFILE + $TRANSCODE_AUDIO2 >> $LOGFILE + cp $LOGFILE ${TEMPDIR}/$TITLE.log + d2v_error "${RED}exiting${NORMAL}" + fi + + if [ $AUDIOTYPELINES -eq 0 ] ; then + d2v_mesg "${MESG_05[$LNG]}" + $TRANSCODE_AUDIO >> $LOGFILE + $TRANSCODE_AUDIO2 >> $LOGFILE + cp $LOGFILE ${TEMPDIR}/$TITLE.log + d2v_error "${RED}exiting${NORMAL}" + fi + + + [ -z $AUDIOFORMATLINES ] && $AUDIOFORMATLINES="0" + if [ $AUDIOFORMATLINES -eq 0 ] ; then + AUDIOFORMAT="other" + else + AUDIOFORMAT="mp3" + fi + + if [ $DEBUG -gt 1 ] ; then + d2v_log_separator + d2v_log_force "write output from transcode-audio.log" + d2v_log "\$TRANSCODE_AUDIO='$TRANSCODE_AUDIO'" + d2v_log_separator + d2v_log_separator + d2v_log_force "write output from transcode-audio2.log" + d2v_log "\$TRANSCODE_AUDIO2='$TRANSCODE_AUDIO2'" + d2v_log_separator + fi + + d2v_log_force "\$AUDIOTRACK='$AUDIOTRACK'" + d2v_log "\$AUDIOTYPE='$AUDIOTYPE'" + d2v_log "\$AUDIOTYPELINES='$AUDIOTYPELINES'" + d2v_log_force "\$AUDIOFORMAT='$AUDIOFORMAT'" + d2v_log "\$AUDIOFORMATLINES='$AUDIOFORMATLINES'" + + case $AUDIOTYPE in + a??) + TCEXTRACTOPTAUDIO="ac3" + ;; + *pcm|raw) + TCEXTRACTOPTAUDIO="pcm" + if [ ACTION_ENCODE != ${ENCODE_TOOLS[1]} ] ; then + ACTION_ENCODE=${ENCODE_TOOLS[1]} + d2v_log "pcm audio track found - \ + forced the usage of '$ACTION_ENCODE'" + fi + ;; + mpeg?) + TCEXTRACTOPTAUDIO="mp2" + ;; + dts) + TCEXTRACTOPTAUDIO="dts" + ;; + *) + d2v_mesg "${MESG_06[$LNG]}" + cat $TRANSCODE_AUDIO >> $LOGFILE + cat $TRANSCODE_AUDIO2 >> $LOGFILE + cp $LOGFILE ${TEMPDIR}/$TITLE.log + d2v_error "${RED}exiting${NORMAL}" + ;; + esac + + d2v_log_force "\$TCEXTRACTOPTAUDIO='$TCEXTRACTOPTAUDIO'" + + d2v_log "`echo && echo \$\> ls -l ${TEMPDIR} && ls -l ${TEMPDIR}`" + else + d2v_log_force "\$AUDIOTRACK='$AUDIOTRACK'" + d2v_log_force "\$AUDIOFORMAT='$AUDIOFORMAT'" + d2v_log_force "\$TCEXTRACTOPTAUDIO='$TCEXTRACTOPTAUDIO'" + fi +} + + +########################################################################### +# copy the main movie to disk +########################################################################### + +copy () { + d2v_log_separator + d2v_log_force \ + "using '$ACTION_COPY' to copy the main movie to disk" + + if [ ! -f ${TEMPDIR}/001.vob -o $FORCE -eq 1 ] ; then + + # clean up + [ -f ${TEMPDIR}/001.vob ] && rm -f ${TEMPDIR}/001.vob + + # read main movie off the DVD + d2v_mesg "${MESG_03[$LNG]} TITEL: $TITLE NUM: $TITLENEM AUDIO: $TCEXTRACTOPTAUDIO" + + d2v_log "`echo && echo \$\> $TCCAT_BIN -t dvd -i $DVD_DEVICE \ + -T $TITLENUM,-1 -L 2\> /dev/null \> ${TEMPDIR}/001.vob`" + nice -n ${PRIO} $TCCAT_BIN -t dvd -i $DVD_DEVICE -T $TITLENUM,-1 \ + -L 2> /dev/null > ${TEMPDIR}/001.vob + + local STATUS=$? + if [ $STATUS -eq 1 ] ; then + d2v_mesg "${MESG_07[$LNG]}" + cp $LOGFILE ${TEMPDIR}/$TITLE.log + d2v_error "${MAGENTA}$TCCAT_BIN ${RED}failed - exiting${NORMAL}" + fi + + # eject DVD + d2v_mesg "${MESG_08[$LNG]}" + $EJECT_BIN $DVD_DEVICE + sleep $SLEEPTIME + + d2v_log "`echo && echo \$\> ls -l ${TEMPDIR} && ls -l ${TEMPDIR}`" + + if [ $AUDIOFORMAT = "mp3" ] ; then + d2v_log "`echo && echo \$\> mv ${TEMPDIR}/001.vob \ + ${TEMPDIR}/001.mpeg`" && \ + mv ${TEMPDIR}/001.vob ${TEMPDIR}/001.mpeg + d2v_log "`echo && echo \$\> ls -l ${TEMPDIR} && ls -l ${TEMPDIR}`" + fi + if [ $AUDIOFORMAT = "other" -a "$TCEXTRACTOPTAUDIO" = "mp2" ] ; then + d2v_log "cho && echo \$\> mv ${TEMPDIR}/001.vob \ + ${TEMPDIR}/001.mpeg" && \ + mv ${TEMPDIR}/001.vob ${TEMPDIR}/001.mpeg + d2v_log "cho && echo \$\> ls -l ${TEMPDIR} && ls -l ${TEMPDIR}" + fi + + + fi +} + + +########################################################################### +# demultiplex the main movie in mpv and ac3 +########################################################################### + +demux () { + d2v_log_separator + d2v_log_force \ + "using '$ACTION_DEMUX' to demultiplex the main movie in mpv and ac3" + + if [ ! -f ${TEMPDIR}/001.vob ] ; then + d2v_log "`echo && echo \$\> ls -l ${TEMPDIR} && ls -l ${TEMPDIR}`" + d2v_error "${MAGENTA}'${TEMPDIR}/001.vob' ${RED}not found${NORMAL}" + fi + + if [ ! -f ${TEMPDIR}/001.mpv -o ! -f ${TEMPDIR}/001.ac3 -o $FORCE -eq 1 ] ; then + + # clean up + [ -f ${TEMPDIR}/001.mpv ] && rm -f ${TEMPDIR}/001.mpv + [ -f ${TEMPDIR}/001.ac3 ] && rm -f ${TEMPDIR}/001.ac3 + rm -f ${TEMPDIR}/video.fifo + rm -f ${TEMPDIR}/audio.fifo + + local STATUS=1 + + if [ "$AUDIOFORMAT" != "mp3" ] ; then + case $ACTION_DEMUX in + ${DEMUX_TOOLS[0]}) + + # demux using fifos and tcextract + d2v_mesg "${MESG_10[$LNG]}" + mkfifo ${TEMPDIR}/video.fifo + mkfifo ${TEMPDIR}/audio.fifo + + d2v_log "`echo && echo \$\> $TCEXTRACT_BIN -i \ + ${TEMPDIR}/video.fifo -t vob -x mpeg2 -a 0xe0 \ + \> ${TEMPDIR}/001.mpv \&`" + + nice -n ${PRIO} $TCEXTRACT_BIN -i ${TEMPDIR}/video.fifo \ + -t vob -x mpeg2 -a 0xe0 \ + > ${TEMPDIR}/001.mpv & + + d2v_log "`echo && echo \$\> $TCEXTRACT_BIN -i \ + ${TEMPDIR}/audio.fifo -t vob -x ${TCEXTRACTOPTAUDIO} \ + -a $AUDIOTRACK \> ${TEMPDIR}/001.ac3 \&`" + nice -n ${PRIO} $TCEXTRACT_BIN -i ${TEMPDIR}/audio.fifo \ + -t vob -x ${TCEXTRACTOPTAUDIO} -a ${AUDIOTRACK} \ + > ${TEMPDIR}/001.ac3 & + + sleep 5 + d2v_log "`echo && echo \$\> cat ${TEMPDIR}/001.vob \| \ + tee ${TEMPDIR}/video.fifo ${TEMPDIR}/audio.fifo \ + \> /dev/null`" + nice -n ${PRIO} cat ${TEMPDIR}/001.vob | \ + tee ${TEMPDIR}/audio.fifo ${TEMPDIR}/video.fifo \ + > /dev/null + + STATUS=$? + ;; + ${DEMUX_TOOLS[1]}) + + if [ $WITHOUT_X -eq 0 ] ; then + # start virtual X server + $XVFB_BIN -once :4 >/dev/null 2>&1 & + export DISPLAY=localhost:4 + fi + + export LANG=de_DE@euro + + # demux using projectX + d2v_log "`echo && echo \$\> $JAVA_BIN -jar $PROJECTX_JAR \ + -c $PROJECTX_INI -o ${TEMPDIR} \ + ${TEMPDIR}/001.vob 2\>\&1 \>\> $LOGFILE`" + nice -n ${PRIO} $JAVA_BIN -jar $PROJECTX_JAR \ + -c $PROJECTX_INI -o ${TEMPDIR} \ + ${TEMPDIR}/001.vob 2>&1 >> $LOGFILE + + STATUS=$? + + if [ $WITHOUT_X -eq 0 ] ; then + # stop Virtual X server + /usr/bin/killall Xvfb + fi + ;; + esac + + if [ $STATUS -eq 1 ] ; then + d2v_mesg "${MESG_09[$LNG]}" + cp $LOGFILE ${TEMPDIR}/$TITLE.log + d2v_error "${MAGENTA}$ACTION_DEMUX ${RED}failed - exiting${NORMAL}" + fi + + d2v_log "`echo && echo \$\> ls -l ${TEMPDIR} && ls -l ${TEMPDIR}`" + else + d2v_log "demultiplexing not required - \ + main movie contains mp2 audio track" + fi + fi + [ $REMOVE -eq 1 ] && rm -f ${TEMPDIR}/001.vob +} + + +########################################################################### +# encode ac3 to mp2 +########################################################################### + +encode () { + d2v_log_separator + d2v_log_force \ + "using '$ACTION_ENCODE' to encode ac3 to mp2" + + if [ ! -f ${TEMPDIR}/001.ac3 ] ; then + d2v_log "`echo && echo \$\> ls -l ${TEMPDIR} && ls -l ${TEMPDIR}`" + d2v_error "${MAGENTA}'${TEMPDIR}/001.ac3' ${RED}not found${NORMAL}" + fi + + if [ ! -f ${TEMPDIR}/001.mp2 -o $FORCE -eq 1 ] ; then + + # clean up + [ -f ${TEMPDIR}/001.mp2 ] && rm -f ${TEMPDIR}/001.mp2 + + local STATUS=1 + + if [ "$AUDIOFORMAT" != "mp3" ] ; then + + if [ "$TCEXTRACTOPTAUDIO" = "pcm" ] ; then + d2v_log "pcm or raw audio track move to wav audio track" + mv ${TEMPDIR}/001.ac3 ${TEMPDIR}/001.wav + fi + + if [ "$TCEXTRACTOPTAUDIO" != "pcm" ] ; then + # encode with a52dec ... + d2v_log "`echo && echo \$\> $A52DEC_BIN -o wavdolby \ + -g "$A52DEC_GAIN" ${TEMPDIR}/001.ac3 \ + 2\>\&1 \> ${TEMPDIR}/001.wav \| grep -v \'last\' \ + \>\> $LOGFILE`" + nice -n ${PRIO} $A52DEC_BIN -o wavdolby \ + -g "$A52DEC_GAIN" ${TEMPDIR}/001.ac3 \ + 2>&1 > ${TEMPDIR}/001.wav | grep -v 'last' \ + >> $LOGFILE + STATUS=$? + if [ $STATUS -eq 1 ] ; then + d2v_mesg "${MESG_09[$LNG]}" + cp $LOGFILE ${TEMPDIR}/$TITLE.log + d2v_error "${MAGENTA}$A52DEC_BIN ${RED}failed - exiting${NORMAL}" + fi + fi + + d2v_log "`echo && echo \$\> ls -l ${TEMPDIR} && ls -l ${TEMPDIR}`" + + case $ACTION_ENCODE in + ${ENCODE_TOOLS[0]}) + + # ... and mp2enc + d2v_log "`echo && echo \$\> cat ${TEMPDIR}/001.wav \| \ + $MP2ENC_BIN -r 48000 -o ${TEMPDIR}/001.mp2 \ + \> /dev/null 2\>\> $LOGFILE`" + nice -n ${PRIO} cat ${TEMPDIR}/001.wav | \ + $MP2ENC_BIN -r 48000 -o ${TEMPDIR}/001.mp2 \ + > /dev/null 2>> $LOGFILE + STATUS=$? + ;; + ${ENCODE_TOOLS[1]}) + + # ... and toolame + d2v_log "`echo && echo \$\> cat ${TEMPDIR}/001.wav \| \ + $TOOLAME_BIN -s 48 /dev/stdin ${TEMPDIR}/001.mp2 \ + \> /dev/null 2\>\> $LOGFILE`" + nice -n ${PRIO} cat ${TEMPDIR}/001.wav | \ + $TOOLAME_BIN -s 48 /dev/stdin ${TEMPDIR}/001.mp2 \ + > /dev/null 2>> $LOGFILE + STATUS=$? + ;; + esac + + if [ $STATUS -eq 1 ] ; then + d2v_mesg "${MESG_09[$LNG]}" + cp $LOGFILE ${TEMPDIR}/$TITLE.log + d2v_error "${MAGENTA}$ACTION_ENCODE ${RED}failed - exiting${NORMAL}" + fi + + d2v_log "`echo && echo \$\> ls -l ${TEMPDIR} && ls -l ${TEMPDIR}`" + else + d2v_log "encoding not required - \ + main movie contains mp2 audio track" + fi + fi + [ $REMOVE -eq 1 ] && rm -f ${TEMPDIR}/001.wav +} + + +########################################################################### +# multiplex the parts to a VDR recording +########################################################################### + +mplex () { + d2v_log_separator + d2v_log_force \ + "using '$ACTION_MPLEX' to multiplex the part to a VDR recording" + + if [ ! -f ${TEMPDIR}/001.mpv ] ; then + d2v_log "`echo && echo \$\> ls -l ${TEMPDIR} && ls -l ${TEMPDIR}`" + d2v_error "${MAGENTA}'${TEMPDIR}/001.mpv' ${RED}not found${NORMAL}" + fi + + if [ ! -f ${TEMPDIR}/001.ac3 ] ; then + d2v_log "`echo && echo \$\> ls -l ${TEMPDIR} && ls -l ${TEMPDIR}`" + d2v_error "${MAGENTA}'${TEMPDIR}/001.ac3' ${RED}not found${NORMAL}" + fi + + if [ ! -f ${TEMPDIR}/001.mp2 ] ; then + d2v_log "`echo && echo \$\> ls -l ${TEMPDIR} && ls -l ${TEMPDIR}`" + d2v_error "${MAGENTA}'${TEMPDIR}/001.mp2' ${RED}not found${NORMAL}" + fi + + if [ ! -f ${TEMPDIR}/001.mpeg -o $FORCE -eq 1 ] ; then + + # clean up + [ -f ${TEMPDIR}/001.mpeg ] && rm -f ${TEMPDIR}/001.mpeg + + if [ "$AUDIOFORMAT" != "mp3" ] ; then + + local STATUS=1 + + d2v_mesg "${MESG_11[$LNG]}" + + case $ACTION_MPLEX in + ${MPLEX_TOOLS[0]}) + [ $AC3_TRACK -eq 1 ] && \ + INC_AC3_TRACK="-s ${TEMPDIR}/001.ac3" + + # tcmplex a MPEG file + d2v_log "`echo && echo \$\> $TCMPLEX_BIN -m 2 \ + -i ${TEMPDIR}/001.mpv -p ${TEMPDIR}/001.mp2 \ + $INC_AC3_TRACK -o ${TEMPDIR}/001.mpeg \ + 2\>\&1 \| grep -v \'%\' - \>\> $LOGFILE`" + nice -n ${PRIO} $TCMPLEX_BIN -m 2 \ + -i ${TEMPDIR}/001.mpv -p ${TEMPDIR}/001.mp2 \ + $INC_AC3_TRACK -o ${TEMPDIR}/001.mpeg \ + 2>&1 | grep -v '%' - >> $LOGFILE + STATUS=$? + ;; + ${MPLEX_TOOLS[1]}) + [ $AC3_TRACK -eq 1 ] && \ + INC_AC3_TRACK="-1 ${TEMPDIR}/001.ac3" + + # tcmplex-panteltje a MPEG file + d2v_log "`echo && echo \$\> $TCMPLEX_PANTELTJE_BIN -m 2 \ + -i ${TEMPDIR}/001.mpv -0 ${TEMPDIR}/001.mp2 \ + $INC_AC3_TRACK -o ${TEMPDIR}/001.mpeg \ + 2\>\&1 \| grep -v \'%\' - \>\> $LOGFILE`" + nice -n ${PRIO} $TCMPLEX_PANTELTJE_BIN -m 2 \ + -i ${TEMPDIR}/001.mpv -0 ${TEMPDIR}/001.mp2 \ + $INC_AC3_TRACK -o ${TEMPDIR}/001.mpeg \ + 2>&1 | grep -v '%' - >> $LOGFILE + STATUS=$? + ;; + ${MPLEX_TOOLS[2]}) + [ $AC3_TRACK -eq 1 ] && \ + INC_AC3_TRACK="${TEMPDIR}/001.ac3" + + # mplex a MPEG file + d2v_log "`echo && echo \$\> $MPLEX_BIN -f 9 \ + ${TEMPDIR}/001.mpv ${TEMPDIR}/001.mp2 \ + $INC_AC3_TRACK -o ${TEMPDIR}/001.mpeg \ + 2\>\&1 \| grep -v \'%\' - \>\> $LOGFILE`" + nice -n ${PRIO} $TCMPLEX_BIN -f 9 \ + ${TEMPDIR}/001.mpv ${TEMPDIR}/001.mp2 \ + $INC_AC3_TRACK -o ${TEMPDIR}/001.mpeg \ + 2>&1 | grep -v '%' - >> $LOGFILE + STATUS=$? + ;; + esac + + if [ $STATUS -eq 1 ] ; then + d2v_mesg "${MESG_09[$LNG]}" + cp $LOGFILE ${TEMPDIR}/$TITLE.log + d2v_error "${MAGENTA}$ACTION_MPLEX ${RED}failed - exiting${NORMAL}" + fi + + d2v_log "`echo && echo \$\> ls -l ${TEMPDIR} && ls -l ${TEMPDIR}`" + else + d2v_log "multiplexing not required - \ + main movie contains mp2 audio track" + fi + fi + [ $REMOVE -eq 1 ] && rm -f ${TEMPDIR}/001.mpv ${TEMPDIR}/001.ac3 ${TEMPDIR}/001.mp2 +} + + +########################################################################### +# split the VDR recording into chunks +########################################################################### + +split () { + d2v_log_separator + d2v_log_force \ + "using '$ACTION_SPLIT' to split the VDR recording into chunks" + + d2v_mesg "${MESG_12[$LNG]}" + + if [ ! -f ${TEMPDIR}/001.mpeg ] ; then + d2v_log "`echo && echo \$\> ls -l ${TEMPDIR} && ls -l ${TEMPDIR}`" + d2v_error "${MAGENTA}'${TEMPDIR}/001.mpeg' ${RED}not found${NORMAL}" + fi + + if [ ! -f ${TEMPDIR}/001.vdr -o $FORCE -eq 1 ] ; then + + # clean up + [ -f ${TEMPDIR}/002.vdr ] && rm -f ${TEMPDIR}/???.vdr + [ -f ${TEMPDIR}/001.mpeg.* ] && rm -f ${TEMPDIR}/001.mpeg.* + + local FILESIZE=`ls -l ${TEMPDIR}/001.mpeg | awk '{print $5}'` + + if [ $FILESIZE -gt $RECORDING_MAX_SIZE ] ; then + d2v_log "`echo && echo \$\> $SPLIT_BIN -b $RECORDING_MAX_SIZE \ + ${TEMPDIR}/001.mpeg ${TEMPDIR}/001.vdr.`" + nice -n ${PRIO} $SPLIT_BIN -b $RECORDING_MAX_SIZE \ + ${TEMPDIR}/001.mpeg ${TEMPDIR}/001.mpeg. + + local STATUS=$? + if [ $STATUS -eq 1 ] ; then + d2v_mesg "${MESG_09[$LNG]}" + cp $LOGFILE ${TEMPDIR}/$TITLE.log + d2v_error "${MAGENTA}$ACTION_SPLIT ${RED}failed - exiting${NORMAL}" + fi + + d2v_log "`echo && echo \$\> ls -l ${TEMPDIR} && \ + ls -l ${TEMPDIR}`" + + local NEWNAME=0 + for DNAME in ${TEMPDIR}/001.mpeg.* ; do + NEWNAME=`echo $NEWNAME | awk '{printf "%03d",$1+1}'` + mv $DNAME ${TEMPDIR}/$NEWNAME.vdr + + if [ $NEWNAME -gt $RECORDING_MAX_CHUNKS ] ; then + d2v_mesg "${MESG_09[$LNG]}" + cp $LOGFILE ${TEMPDIR}/$TITLE.log + d2v_error "${MAGENTA}$RECORDING_MAX_CHUNKS ${RED}to many chunks - exiting${NORMAL}" + fi + done + else + mv ${TEMPDIR}/001.mpeg ${TEMPDIR}/001.vdr + fi + fi + + d2v_log "`echo && echo \$\> ls -l ${TEMPDIR} && ls -l ${TEMPDIR}`" +} + + +########################################################################### +# create an index.vdr +########################################################################### + +genindex () { + d2v_log_separator + d2v_log_force \ + "using '$ACTION_GENINDEX' to create an index.vdr" + + if [ ! -f ${TEMPDIR}/001.vdr ] ; then + d2v_log "`echo && echo \$\> ls -l ${TEMPDIR} && ls -l ${TEMPDIR}`" + d2v_error "${MAGENTA}'${TEMPDIR}/001.vdr' ${RED}not found${NORMAL}" + fi + + if [ ! -f ${TEMPDIR}/index.vdr -o $FORCE -eq 1 ] ; then + + # clean up + [ -f ${TEMPDIR}/index.vdr ] && rm -f ${TEMPDIR}/index.vdr + + cd ${TEMPDIR} + + case $ACTION_GENINDEX in + ${GENINDEX_TOOLS[0]}) + d2v_log "`echo && echo \$\> $GENINDEX_BIN 2\>\&1 \| \ + grep -v \'%\' - \>\> $LOGFILE`" + nice -n ${PRIO} $GENINDEX_BIN 2>&1 | \ + grep -v '%' - >> $LOGFILE + ;; + ${GENINDEX_TOOLS[1]}) + d2v_log "`echo && echo \$\> $GENINDEX_MJPEGFIX_BIN 2\>\&1 \| \ + grep -v \'I-Frame\' - \>\> $LOGFILE`" + nice -n ${PRIO} $GENINDEX_MJPEGFIX_BIN 2>&1 | \ + grep -v 'I-Frame' - >> $LOGFILE + ;; + esac + fi + + d2v_log "`echo && echo \$\> ls -l ${TEMPDIR} && ls -l ${TEMPDIR}`" +} + + +########################################################################### +# move recording to video directory +########################################################################### + +move () { + d2v_log_separator + d2v_log_force \ + "using 'mv' to move recording to video directory" + + mkdir -p ${VIDEODIR}/${TITLE}/${RECORDING} >> $LOGFILE || \ + d2v_error "${RED}failed to create ${MAGENTA}'${VIDEODIR}/${TITLE}/${RECORDING}'${NORMAL}" + d2v_log "'${VIDEODIR}/${TITLE}/${RECORDING}' created" + + mv ${TEMPDIR}/*.vdr ${VIDEODIR}/${TITLE}/${RECORDING} + + d2v_log "`echo && echo \$\> ls -l ${TEMPDIR} && ls -l ${TEMPDIR}`" + d2v_log "`echo && echo \$\> ls -l ${VIDEODIR}/${TITLE}/${RECORDING} && \ + ls -l ${VIDEODIR}/${TITLE}/${RECORDING}`" +} + + +########################################################################### +# do all the bits +########################################################################### + +if [ $ACTION = "copy" ] ; then + gettitle + test + eval $ACTION +fi + + +if [ $ACTION = "all" ] ; then + readvars + gettitle + test + copy + if [ "$AUDIOFORMAT" = "mp3" ] ; then + split + genindex + move + elif [ "$AUDIOFORMAT" = "other" -a "$TCEXTRACTOPTAUDIO" = "mp2" ] ; then + split + genindex + move + else + demux + encode + mplex + split + genindex + move + fi +fi + +writevars + + +########################################################################### +# yeeha, we did it +########################################################################### + +[ $ACTION = "all" -a $CLEAN = 1 ] && rm -rf $TEMPDIR && d2v_log "\$TEMPDIR '$TEMPDIR' deleted" + +rm -f $LOCKFILE + +d2v_log_separator +d2v_log_force END +d2v_log_separator + +if [ "$?" = "0" ] ; then + touch $VIDEODIR/.update |at now && $SVDRPSEND_PL -d localhost "MESG ! Auftrag erfolgreich beendet !" && exit 0 +else + exit 1 +fi diff --git a/plugins/dvdconvert/dvdconvert/dvdconvert.sh b/plugins/dvdconvert/dvdconvert/dvdconvert.sh new file mode 100755 index 0000000..ffcc271 --- /dev/null +++ b/plugins/dvdconvert/dvdconvert/dvdconvert.sh @@ -0,0 +1,31 @@ +#!/bin/sh +[ -r /etc/default/vdr ] || exit +. /etc/default/vdr +CFG_FILE="$VDRCONFDIR/plugins/dvdconvert.conf" +CFG_SAVE="$VDRCONFDIR/plugins/dvdconvert.conf.save" + +TODO_FILE="/tmp/~dvdconvert.sh" +LOG_FILE="$VDRVARDIR/dvdconvert/log/dvdconvert.log" +rm -rf $TODO_FILE > /dev/null 2>&1 +echo "#!/bin/sh" > $TODO_FILE +if [ -s $CFG_SAVE ] ; then + ALL_SCRIPTS=`diff $CFG_FILE $CFG_SAVE | grep "^< /" | cut -b 3- | cut -d ":" -f 1` +else + ALL_SCRIPTS=`cat $CFG_FILE | grep "^/" | cut -d ":" -f 1` +fi +LAST_SCRIPT="" +for i in $ALL_SCRIPTS ; do + if [ "${i}" != "$LAST_SCRIPT" ] ; then + if [ -f ${i} ] ; then + echo "sh ${i} >> $LOG_FILE 2>&1" >> $TODO_FILE + else + echo "<${i}> not found" >> $LOG_FILE + echo "<${i}> not found" + fi + fi + LAST_SCRIPT=${i} +done +#echo 'echo "Fertig"' >> $TODO_FILE +cp -f $CFG_FILE $CFG_SAVE +chmod +x $TODO_FILE +sh $TODO_FILE diff --git a/plugins/dvdconvert/dvdconvert/getadmval.sh b/plugins/dvdconvert/dvdconvert/getadmval.sh new file mode 100755 index 0000000..28945d4 --- /dev/null +++ b/plugins/dvdconvert/dvdconvert/getadmval.sh @@ -0,0 +1,16 @@ +#!/bin/sh +[ -r /etc/default/vdr ] || exit +. /etc/default/vdr +CFG_FILE="$VDRCONFDIR/plugins/dvdconvert.conf" + +VAL=`cat $CFG_FILE | grep ":$1:" | cut -f 3 -d ":"` +TYPE=`cat $CFG_FILE | grep ":$1:" | cut -f 4 -d ":"` +if [ "$TYPE" = "L" ] ; then + ALL_VAL=`cat $CFG_FILE | grep ":$1:" | cut -f 6 -d ":" | grep ","` + VAL=$(($VAL+1)) + SET_VAL=`echo $ALL_VAL | cut -f $VAL -d ","` +else + SET_VAL=$VAL +fi + +echo `echo $SET_VAL | sed 's/^ //'g` diff --git a/plugins/dvdconvert/dvdconvert/setadmval.sh b/plugins/dvdconvert/dvdconvert/setadmval.sh new file mode 100755 index 0000000..9964f17 --- /dev/null +++ b/plugins/dvdconvert/dvdconvert/setadmval.sh @@ -0,0 +1,26 @@ +#!/bin/sh +[ -r /etc/default/vdr ] || exit +. /etc/default/vdr +CFG_FILE="$VDRCONFDIR/plugins/dvdconvert.conf" + +VAL=$2 +NAME=$1 + +mv -f $CFG_FILE $CFG_FILE.org + +NLINE=`cat $CFG_FILE.org | grep ":$NAME:"` + +TYPE=`echo $NLINE | cut -f 4 -d ":"` +OLDVAL=`echo $NLINE | cut -f 3 -d ":"` +if [ "$TYPE" = "L" ] ; then + ALL_VAL=`echo $NLINE | cut -f 6 -d ":" | sed 's/,/ /g'` + IDX=0 + for i in $ALL_VAL ; do + if [ "${i}" = "$VAL" ] ; then + VAL=$IDX + fi + IDX=$(($IDX+1)) + done +fi + +cat $CFG_FILE.org | sed 's/:'$NAME':'$OLDVAL':/:'$NAME':'$VAL':/' > $CFG_FILE diff --git a/plugins/dvdconvert/dvdconvert/start_dvd2dvd.sh b/plugins/dvdconvert/dvdconvert/start_dvd2dvd.sh new file mode 100755 index 0000000..6eda409 --- /dev/null +++ b/plugins/dvdconvert/dvdconvert/start_dvd2dvd.sh @@ -0,0 +1,63 @@ +#!/bin/bash +[ -r /etc/default/vdr ] || exit +. /etc/default/vdr + +GETVAL="sh $VDRSCRIPTDIR/dvdconvert/getadmval.sh" +SETVAL="sh $VDRSCRIPTDIR/dvdconvert/setadmval.sh" +DVD2DVD="$VDRSCRIPTDIR/dvdconvert/dvd2dvd.sh" +DVD2DVD_CFG="$VDRCONFDIR/plugins/dvd2dvd.conf" +LOG_FILE="$VDRVARDIR/dvdconvert/log/dvd2dvd.log" + +ACTION=`$GETVAL ACTION1` +echo "ACTION="$ACTION > $DVD2DVD_CFG + +LANGUAGE=`$GETVAL LANGUAGE1` +echo "LANGUAGE="$LANGUAGE >> $DVD2DVD_CFG + +OSDINFO=`$GETVAL OSDINFO1` +echo "OSDINFO="$OSDINFO >> $DVD2DVD_CFG + +TITLE=`$GETVAL TITLE1` +echo "TITLE="$TITLE >> $DVD2DVD_CFG + +TITLENUM=`$GETVAL TITLENUM1` +echo "TITLENUM="$TITLENUM >> $DVD2DVD_CFG + +ACTION_DEMUX=`$GETVAL ACTION_DEMUX1` +echo "ACTION_DEMUX="$ACTION_DEMUX >> $DVD2DVD_CFG + +WITHOUT_X=`$GETVAL WITHOUT_X1` +echo "WITHOUT_X="$WITHOUT_X >> $DVD2DVD_CFG + +A52DEC_GAIN=`$GETVAL A52DEC_GAIN1` +echo "A52DEC_GAIN="$A52DEC_GAIN >> $DVD2DVD_CFG + +ACTION_ENCODE=`$GETVAL ACTION_ENCODE1` +echo "ACTION_ENCODE="$ACTION_ENCODE >> $DVD2DVD_CFG + +ACTION_MPLEX=`$GETVAL ACTION_MPLEX1` +echo "ACTION_MPLEX="$ACTION_MPLEX >> $DVD2DVD_CFG + +BURN=`$GETVAL BURN1` +echo "BURN="$BURN >> $DVD2DVD_CFG + +RW_FORMAT=`$GETVAL RW_FORMAT1` +echo "RW_FORMAT="$RW_FORMAT >> $DVD2DVD_CFG + +REMOVE_ISO=`$GETVAL REMOVE_ISO1` +echo "REMOVE_ISO="$REMOVE_ISO >> $DVD2DVD_CFG + +REMOVE=`$GETVAL REMOVE1` +echo "REMOVE="$REMOVE >> $DVD2DVD_CFG + +CLEAN=`$GETVAL CLEAN1` +echo "CLEAN="$CLEAN >> $DVD2DVD_CFG + +VERBOSE=`$GETVAL VERBOSE1` +echo "VERBOSE="$VERBOSE >> $DVD2DVD_CFG + +sh $DVD2DVD >> $LOG_FILE 2>&1& + +exit 0 + + diff --git a/plugins/dvdconvert/dvdconvert/start_dvd2vdr.sh b/plugins/dvdconvert/dvdconvert/start_dvd2vdr.sh new file mode 100755 index 0000000..39d3fde --- /dev/null +++ b/plugins/dvdconvert/dvdconvert/start_dvd2vdr.sh @@ -0,0 +1,57 @@ +#!/bin/bash +[ -r /etc/default/vdr ] || exit +. /etc/default/vdr + +GETVAL="sh $VDRSCRIPTDIR/dvdconvert/getadmval.sh" +SETVAL="sh $VDRSCRIPTDIR/dvdconvert/setadmval.sh" +DVD2VDR="$VDRSCRIPTDIR/dvdconvert/dvd2vdr.sh" +DVD2VDR_CFG="$VDRCONFDIR/plugins/dvd2vdr.conf" +LOG_FILE="$VDRVARDIR/dvdconvert/log/dvd2vdr.log" + +ACTION=`$GETVAL ACTION` +echo "ACTION="$ACTION > $DVD2VDR_CFG + +LANGUAGE=`$GETVAL LANGUAGE` +echo "LANGUAGE="$LANGUAGE >> $DVD2VDR_CFG + +OSDINFO=`$GETVAL OSDINFO` +echo "OSDINFO="$OSDINFO >> $DVD2VDR_CFG + +TITLE=`$GETVAL TITLE` +echo "TITLE="$TITLE >> $DVD2VDR_CFG + +TITLENUM=`$GETVAL TITLENUM` +echo "TITLENUM="$TITLENUM >> $DVD2VDR_CFG + +ACTION_DEMUX=`$GETVAL ACTION_DEMUX` +echo "ACTION_DEMUX="$ACTION_DEMUX >> $DVD2VDR_CFG + +WITHOUT_X=`$GETVAL WITHOUT_X` +echo "WITHOUT_X="$WITHOUT_X >> $DVD2VDR_CFG + +A52DEC_GAIN=`$GETVAL A52DEC_GAIN` +echo "A52DEC_GAIN="$A52DEC_GAIN >> $DVD2VDR_CFG + +ACTION_ENCODE=`$GETVAL ACTION_ENCODE` +echo "ACTION_ENCODE="$ACTION_ENCODE >> $DVD2VDR_CFG + +ACTION_MPLEX=`$GETVAL ACTION_MPLEX` +echo "ACTION_MPLEX="$ACTION_MPLEX >> $DVD2VDR_CFG + +ACTION_GENINDEX=`$GETVAL ACTION_GENINDEX` +echo "ACTION_GENINDEX="$ACTION_GENINDEX >> $DVD2VDR_CFG + +REMOVE=`$GETVAL REMOVE` +echo "REMOVE="$REMOVE >> $DVD2VDR_CFG + +CLEAN=`$GETVAL CLEAN` +echo "CLEAN="$CLEAN >> $DVD2VDR_CFG + +VERBOSE=`$GETVAL VERBOSE` +echo "VERBOSE="$VERBOSE >> $DVD2VDR_CFG + +sh $DVD2VDR >> $LOG_FILE 2>&1& + +exit 0 + + diff --git a/plugins/dvdconvert/patches/dvdconvert-1.0.2_versnum-fix.diff b/plugins/dvdconvert/patches/dvdconvert-1.0.2_versnum-fix.diff new file mode 100644 index 0000000..7a026ae --- /dev/null +++ b/plugins/dvdconvert/patches/dvdconvert-1.0.2_versnum-fix.diff @@ -0,0 +1,39 @@ +diff -ruN dvdconvert-1.0.2/dvdconvert.c~ dvdconvert-1.0.2/dvdconvert.c +--- dvdconvert-1.0.2/dvdconvert.c~ 2006-11-02 22:37:34.000000000 +0100 ++++ dvdconvert-1.0.2/dvdconvert.c 2009-03-17 20:52:20.000000000 +0100 +@@ -19,7 +19,7 @@ + #define STATE_SAVE 999 + #define DEFAULT_CHARS "abcdefghijklmnopqrstuvwxyz0123456789-/_ABCDEFGHIJKLMNOPQRSTUVWXYZ" + +-static const char *VERSION = "1.0.1"; ++static const char *VERSION = "1.0.2"; + static const char *DESCRIPTION = "Plugin for dvdconvert with dvd2vdr dvd2dvd"; + static const char *MAINMENUENTRY = NULL; + +diff -ruN dvdconvert-1.0.2/Makefile~ dvdconvert-1.0.2/Makefile +--- dvdconvert-1.0.2/Makefile~ 2004-08-16 07:21:36.000000000 +0200 ++++ dvdconvert-1.0.2/Makefile 2009-03-17 20:45:42.000000000 +0100 +@@ -29,9 +29,9 @@ + + -include $(VDRDIR)/Make.config + +-### The version number of VDR (taken from VDR's "config.h"): ++### The version number of VDR's plugin API (taken from VDR's "config.h"): + +-VDRVERSION = $(shell grep 'define VDRVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g') ++APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h) + + ### The name of the distribution archive: + +@@ -68,8 +68,8 @@ + + libvdr-$(PLUGIN).so: $(OBJS) + $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@ +- echo "cp $@ $(LIBDIR)/$@.$(VDRVERSION)" +- @cp $@ $(LIBDIR)/$@.$(VDRVERSION) ++ echo "cp $@ $(LIBDIR)/$@.$(APIVERSION)" ++ @cp $@ $(LIBDIR)/$@.$(APIVERSION) + + dist: clean + @-rm -rf $(TMPDIR)/$(ARCHIVE) + diff --git a/plugins/dvdconvert/plugin.sh b/plugins/dvdconvert/plugin.sh new file mode 100755 index 0000000..d4ca3d9 --- /dev/null +++ b/plugins/dvdconvert/plugin.sh @@ -0,0 +1,161 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 23.03.2009 +# +# vdr-dvdconvert + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://vdr-wiki.de/vdr/vdr-dvdconvert/vdr-dvdconvert-1.0.2.tar.bz2" +VERSION="dvdconvert-1.0.2" +LINK="dvdconvert" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" + [ "$VDRUPDATE" = "on" ] && return + rm -r $VDRSCRIPTDIR/dvdconvert + rm -f $VDRCONFDIR/plugins/dvdconvert.conf + rm -f $VDRCONFDIR/plugins/dvdconvert.conf.save +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + # dirs + mkdir -p $VDRVARDIR/dvdconvert/dvd2vdr + mkdir -p $VDRVARDIR/dvdconvert/dvd2dvd + mkdir -p $VDRVARDIR/dvdconvert/log + chown -R $VDRUSER:$VDRGROUP $VDRVARDIR/dvdconvert + + # scripts + [ "$VDRUPDATE" = "on" ] && [ -d $VDRSCRIPTDIR/dvdconvert ] && return + if [ -d $DIR/dvdconvert ]; then + cp -r $DIR/dvdconvert $VDRSCRIPTDIR/ + chown -R $VDRUSER:$VDRGROUP $VDRSCRIPTDIR/dvdconvert + chmod 0744 $VDRSCRIPTDIR/dvdconvert/* + fi + + # config +echo "# This file contains the tasks for the dvdconvert plugin +# Syntax: +# <script>:<name>:<value>:<type>:<length>:<choices>:<description>: +# +:dvd2vdr +--- Einstellungen_dvd2vdr --- +$VDRSCRIPTDIR/dvdconvert/start_dvd2vdr.sh:ACTION:0:L:1:all,copy,demux,encode,mplex,split,move:Actions: +$VDRSCRIPTDIR/dvdconvert/start_dvd2vdr.sh:LANGUAGE:0:L:1:de,en:Language: +$VDRSCRIPTDIR/dvdconvert/start_dvd2vdr.sh:OSDINFO:1:B:0:Nein,Ja:OSD-Info: +$VDRSCRIPTDIR/dvdconvert/start_dvd2vdr.sh:TITLE: :A:15:abcdefghijklmnopqrstuvwxyz0123456789-_ABCDEFGHIJKLMNOPQRSTUVWXYZ:Title (optional): +$VDRSCRIPTDIR/dvdconvert/start_dvd2vdr.sh:TITLENUM: :A:3:0,99,MAX,AUTO:Specific title (00-99) or (MAX = max. Frames) or (AUTO = vobcopy-test)(optional): +$VDRSCRIPTDIR/dvdconvert/start_dvd2vdr.sh:ACTION_DEMUX:0:L:0:tcextract,projectX:Demuxer: +$VDRSCRIPTDIR/dvdconvert/start_dvd2vdr.sh:WITHOUT_X:0:B:1:Nein,Ja:Start Xvfb (optional): +$VDRSCRIPTDIR/dvdconvert/start_dvd2vdr.sh:A52DEC_GAIN:00:I:2:-96,96:Audio gain (-96.0 to +96.0)(optional): +$VDRSCRIPTDIR/dvdconvert/start_dvd2vdr.sh:ACTION_ENCODE:0:L:0:toolame,mp2enc:Encoder: +$VDRSCRIPTDIR/dvdconvert/start_dvd2vdr.sh:ACTION_MPLEX:0:L:0:mplex,tcmplex,tcmplex-panteltje:Remuxer: +$VDRSCRIPTDIR/dvdconvert/start_dvd2vdr.sh:ACTION_GENINDEX:1:L:0:genindex-mjpegfix,genindex:Write index.vdr: +$VDRSCRIPTDIR/dvdconvert/start_dvd2vdr.sh:REMOVE:1:B:1:Nein,Ja:Remove tmp files: +$VDRSCRIPTDIR/dvdconvert/start_dvd2vdr.sh:CLEAN:0:B:1:Nein,Ja:Clean dirs: +$VDRSCRIPTDIR/dvdconvert/start_dvd2vdr.sh:VERBOSE:1:B:1:Nein,Ja:Turns verbosity on: +: +--- +# +--- +:dvd2dvd +--- Einstellungen_dvd2dvd --- +$VDRSCRIPTDIR/dvdconvert/start_dvd2dvd.sh:ACTION1:0:L:1:all,copy,demux,encode,reqant,mplex,dvdauthor,iso,move:Actions: +$VDRSCRIPTDIR/dvdconvert/start_dvd2dvd.sh:LANGUAGE1:0:L:1:de,en:Language: +$VDRSCRIPTDIR/dvdconvert/start_dvd2dvd.sh:OSDINFO1:1:B:0:Nein,Ja:OSD-Info: +$VDRSCRIPTDIR/dvdconvert/start_dvd2dvd.sh:TITLE1: :A:15:abcdefghijklmnopqrstuvwxyz0123456789-_ABCDEFGHIJKLMNOPQRSTUVWXYZ:Title (optional): +$VDRSCRIPTDIR/dvdconvert/start_dvd2dvd.sh:TITLENUM1: :A:3:0,99,MAX,AUTO:Specific title (00-99) or (MAX = max. Frames) or (AUTO = vobcopy-test)(optional): +$VDRSCRIPTDIR/dvdconvert/start_dvd2dvd.sh:ACTION_DEMUX1:0:L:0:tcextract,projectX:Demuxer: +$VDRSCRIPTDIR/dvdconvert/start_dvd2dvd.sh:WITHOUT_X1:0:B:1:Nein,Ja:Start Xvfb (optional): +$VDRSCRIPTDIR/dvdconvert/start_dvd2dvd.sh:A52DEC_GAIN1:00:I:2:-96,96:Audio gain (-96.0 to +96.0)(optional): +$VDRSCRIPTDIR/dvdconvert/start_dvd2dvd.sh:ACTION_ENCODE1:0:L:0:toolame,mp2enc:Encoder: +$VDRSCRIPTDIR/dvdconvert/start_dvd2dvd.sh:ACTION_MPLEX1:1:L:0:mplex,tcmplex,tcmplex-panteltje:Remuxer: +$VDRSCRIPTDIR/dvdconvert/start_dvd2dvd.sh:BURN1:1:B:1:Nein,Ja:Burn DVD: +$VDRSCRIPTDIR/dvdconvert/start_dvd2dvd.sh:RW_FORMAT1:0:B:1:Nein,Ja:Format DVD-RW: +$VDRSCRIPTDIR/dvdconvert/start_dvd2dvd.sh:REMOVE_ISO1:0:B:1:Nein,Ja:Remove this iso file: +$VDRSCRIPTDIR/dvdconvert/start_dvd2dvd.sh:REMOVE1:0:B:1:Nein,Ja:Remove tmp files: +$VDRSCRIPTDIR/dvdconvert/start_dvd2dvd.sh:CLEAN1:0:B:1:Nein,Ja:Clean dirs: +$VDRSCRIPTDIR/dvdconvert/start_dvd2dvd.sh:VERBOSE1:1:B:1:Nein,Ja:Turns verbosity on: +" > $VDRCONFDIR/plugins/dvdconvert.conf + + +echo "# This file contains the tasks for the dvdconvert plugin +# Syntax: +# <script>:<name>:<value>:<type>:<length>:<choices>:<description>: +# +:dvd2vdr +--- Einstellungen_dvd2vdr --- +$VDRSCRIPTDIR/dvdconvert/start_dvd2vdr.sh:ACTION:0:L:1:all,copy,demux,encode,mplex,split,move:Actions: +$VDRSCRIPTDIR/dvdconvert/start_dvd2vdr.sh:LANGUAGE:0:L:1:de,en:Language: +$VDRSCRIPTDIR/dvdconvert/start_dvd2vdr.sh:OSDINFO:1:B:0:Nein,Ja:OSD-Info: +$VDRSCRIPTDIR/dvdconvert/start_dvd2vdr.sh:TITLE: :A:15:abcdefghijklmnopqrstuvwxyz0123456789-_ABCDEFGHIJKLMNOPQRSTUVWXYZ:Title (optional): +$VDRSCRIPTDIR/dvdconvert/start_dvd2vdr.sh:TITLENUM: :A:3:0,99,MAX,AUTO:Specific title (00-99) or (MAX = max. Frames) or (AUTO = vobcopy-test)(optional): +$VDRSCRIPTDIR/dvdconvert/start_dvd2vdr.sh:ACTION_DEMUX:0:L:0:tcextract,projectX:Demuxer: +$VDRSCRIPTDIR/dvdconvert/start_dvd2vdr.sh:WITHOUT_X:0:B:1:Nein,Ja:Start Xvfb (optional): +$VDRSCRIPTDIR/dvdconvert/start_dvd2vdr.sh:A52DEC_GAIN: :I:2:-96,96:Audio gain (-96.0 to +96.0)(optional): +$VDRSCRIPTDIR/dvdconvert/start_dvd2vdr.sh:ACTION_ENCODE:0:L:0:toolame,mp2enc:Encoder: +$VDRSCRIPTDIR/dvdconvert/start_dvd2vdr.sh:ACTION_MPLEX:0:L:0:mplex,tcmplex,tcmplex-panteltje:Remuxer: +$VDRSCRIPTDIR/dvdconvert/start_dvd2vdr.sh:ACTION_GENINDEX:0:L:0:genindex-mjpegfix,genindex:Write index.vdr: +$VDRSCRIPTDIR/dvdconvert/start_dvd2vdr.sh:REMOVE:0:B:1:Nein,Ja:Remove tmp files: +$VDRSCRIPTDIR/dvdconvert/start_dvd2vdr.sh:CLEAN:0:B:1:Nein,Ja:Clean dirs: +$VDRSCRIPTDIR/dvdconvert/start_dvd2vdr.sh:VERBOSE:1:B:1:Nein,Ja:Turns verbosity on: +: +--- +# +--- +:dvd2dvd +--- Einstellungen_dvd2dvd --- +$VDRSCRIPTDIR/dvdconvert/start_dvd2dvd.sh:ACTION1:0:L:1:all,copy,demux,encode,reqant,mplex,dvdauthor,iso,move:Actions: +$VDRSCRIPTDIR/dvdconvert/start_dvd2dvd.sh:LANGUAGE1:0:L:1:de,en:Language: +$VDRSCRIPTDIR/dvdconvert/start_dvd2dvd.sh:OSDINFO1:1:B:0:Nein,Ja:OSD-Info: +$VDRSCRIPTDIR/dvdconvert/start_dvd2dvd.sh:TITLE1: :A:15:abcdefghijklmnopqrstuvwxyz0123456789-_ABCDEFGHIJKLMNOPQRSTUVWXYZ:Title (optional): +$VDRSCRIPTDIR/dvdconvert/start_dvd2dvd.sh:TITLENUM1: :A:3:0,99,MAX,AUTO:Specific title (00-99) or (MAX = max. Frames) or (AUTO = vobcopy-test)(optional): +$VDRSCRIPTDIR/dvdconvert/start_dvd2dvd.sh:ACTION_DEMUX1:0:L:0:tcextract,projectX:Demuxer: +$VDRSCRIPTDIR/dvdconvert/start_dvd2dvd.sh:WITHOUT_X1:0:B:1:Nein,Ja:Start Xvfb (optional): +$VDRSCRIPTDIR/dvdconvert/start_dvd2dvd.sh:A52DEC_GAIN1: :I:2:-96,96:Audio gain (-96.0 to +96.0)(optional): +$VDRSCRIPTDIR/dvdconvert/start_dvd2dvd.sh:ACTION_ENCODE1:0:L:0:toolame,mp2enc:Encoder: +$VDRSCRIPTDIR/dvdconvert/start_dvd2dvd.sh:ACTION_MPLEX1:1:L:0:mplex,tcmplex,tcmplex-panteltje:Remuxer: +$VDRSCRIPTDIR/dvdconvert/start_dvd2dvd.sh:BURN1:1:B:1:Nein,Ja:Burn DVD: +$VDRSCRIPTDIR/dvdconvert/start_dvd2dvd.sh:RW_FORMAT1:0:B:1:Nein,Ja:Format DVD-RW: +$VDRSCRIPTDIR/dvdconvert/start_dvd2dvd.sh:REMOVE_ISO1:0:B:1:Nein,Ja:Remove this iso file: +$VDRSCRIPTDIR/dvdconvert/start_dvd2dvd.sh:REMOVE1:0:B:1:Nein,Ja:Remove tmp files: +$VDRSCRIPTDIR/dvdconvert/start_dvd2dvd.sh:CLEAN1:0:B:1:Nein,Ja:Clean dirs: +$VDRSCRIPTDIR/dvdconvert/start_dvd2dvd.sh:VERBOSE1:1:B:1:Nein,Ja:Turns verbosity on: +" > $VDRCONFDIR/plugins/dvdconvert.conf.save + + chown $VDRUSER:$VDRGROUP $VDRCONFDIR/plugins/dvdconvert.conf $VDRCONFDIR/plugins/dvdconvert.conf.save + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/dvdselect/patches/vdr-dvdselect-0.7a-spezial.diff b/plugins/dvdselect/patches/vdr-dvdselect-0.7a-spezial.diff new file mode 100644 index 0000000..fdcd21b --- /dev/null +++ b/plugins/dvdselect/patches/vdr-dvdselect-0.7a-spezial.diff @@ -0,0 +1,206 @@ +diff -Nur ./dvdselect-0.7a/config.c /usr/src/VDR/PLUGINS/src/dvdselect/config.c +--- ./dvdselect-0.7a/config.c 2004-05-21 02:17:06.000000000 +0200 ++++ /usr/src/VDR/PLUGINS/src/dvdselect/config.c 2005-04-24 19:37:37.607017176 +0200 +@@ -26,6 +26,7 @@ + strcpy(DVDOutputDir, "/video/dvd"); + strcpy(DVDReadScript, "/video/config/plugins/dvdselect_readdvd.sh"); + strcpy(DVDWriteScript, "/video/config/plugins/dvdselect_writedvd.sh"); ++ ResetDVDLink = true; + } + + bool cDVDSelectSetup::SetupParse(const char *Name, const char *Value) +@@ -37,6 +38,7 @@ + else if (!strcasecmp(Name, "DVDOutputDir")) strn0cpy(DVDOutputDir, Value , MaxFileName); + else if (!strcasecmp(Name, "DVDReadScript")) strn0cpy(DVDReadScript, Value , MaxFileName); + else if (!strcasecmp(Name, "DVDWriteScript")) strn0cpy(DVDWriteScript, Value , MaxFileName); ++ else if (!strcasecmp(Name, "ResetDVDLink")) ResetDVDLink = atoi(Value); + else + return false; + return true; +@@ -79,6 +81,9 @@ + MaxFileName, + tr(" abcdefghijklmnopqrstuvwxyz0123456789-./") + )); ++ Add(new cMenuEditBoolItem( tr("Reset DVD Link by Start/Stop VDR"), ++ &data.ResetDVDLink ++ )); + } + + void cMenuSetupDVDSelect::Store(void) +@@ -89,4 +95,6 @@ + SetupStore( "ImageDir", data.ImageDir ); + SetupStore( "DVDReadScript", data.DVDReadScript ); + SetupStore( "DVDWriteScript", data.DVDWriteScript ); ++ SetupStore( "ResetDVDLink", data.ResetDVDLink ); ++ SetupStore( "DVDOutputDir", data.DVDOutputDir ); + } +diff -Nur ./dvdselect-0.7a/config.h /usr/src/VDR/PLUGINS/src/dvdselect/config.h +--- ./dvdselect-0.7a/config.h 2004-05-21 02:12:19.000000000 +0200 ++++ /usr/src/VDR/PLUGINS/src/dvdselect/config.h 2005-04-24 19:29:14.390517712 +0200 +@@ -11,6 +11,17 @@ + + #include <vdr/menuitems.h> + ++#define ISOEXT "*.ISO" ++//#define FINDCMD "cd '%s' && find '%s' -follow -type f -iname '%s' 2> /dev/null" ++#define TSDIR "video_ts" ++#define FINDCMD "cd '%s' && find '%s' -follow -iname '%s' -printf '%%p\n' -o -iname '%s' -printf '%%h\n' | sort -d 2> /dev/null" ++ ++#define SCRIPT_DVDWRITE_CMD "%s '%s'" ++#define SCRIPT_DVDREAD_CMD "%s '%s' '%s' '%s'" ++#define RMCMD "rm '%s' 2> /dev/null" ++#define MOUNTCMD "sudo ln -nfs '%s' '%s' 2> /dev/null" ++#define RESETCMD "sudo ln -nfs '%s' '%s' 2> /dev/null" ++ + class cDVDSelectSetup { + public: + char NameDevice[MaxFileName]; +@@ -19,7 +30,8 @@ + char DVDReadScript[MaxFileName]; + char DVDWriteScript[MaxFileName]; + char DVDOutputDir[MaxFileName]; +- ++ int ResetDVDLink; ++ + public: + cDVDSelectSetup(void); + bool SetupParse(const char *Name, const char *Value); +diff -Nur ./dvdselect-0.7a/dvdselect.c /usr/src/VDR/PLUGINS/src/dvdselect/dvdselect.c +--- ./dvdselect-0.7a/dvdselect.c 2004-05-22 23:57:53.000000000 +0200 ++++ /usr/src/VDR/PLUGINS/src/dvdselect/dvdselect.c 2005-04-24 19:50:12.998180264 +0200 +@@ -21,6 +21,7 @@ + class cPluginDVDSelect : public cPlugin { + private: + // Add any member variables or functions you may need here. ++ void Reset(void); + public: + cPluginDVDSelect(void); + virtual ~cPluginDVDSelect(); +@@ -29,6 +30,7 @@ + virtual const char *CommandLineHelp(void); + virtual bool ProcessArgs(int argc, char *argv[]); + virtual bool Start(void); ++ virtual void Stop(void); + virtual bool Initialize(void); + virtual void Housekeeping(void); + virtual const char *MainMenuEntry(void) { return tr(MAINMENUENTRY); } +@@ -75,9 +77,17 @@ + { + // Start any background activities the plugin shall perform. + // none needed ++ if (DVDSelectSetup.ResetDVDLink) ++ Reset(); + return true; + } + ++void cPluginDVDSelect::Stop(void) ++{ ++ if (DVDSelectSetup.ResetDVDLink) ++ Reset(); ++} ++ + void cPluginDVDSelect::Housekeeping(void) + { + // Perform any cleanup or other regular tasks. +@@ -100,4 +110,18 @@ + return DVDSelectSetup.SetupParse(Name, Value); + } + ++void cPluginDVDSelect::Reset(void) ++{ ++ char *device = NULL; ++ char *orgDevice = NULL; ++ char *cmd = NULL; ++ ++ asprintf(&device, "%s",DVDSelectSetup.NameDevice); ++ asprintf(&orgDevice, "%s",DVDSelectSetup.NameOrgDevice); ++ asprintf(&cmd, RESETCMD, orgDevice, device); ++ ++ esyslog(cmd); ++ system(cmd); ++} ++ + VDRPLUGINCREATOR(cPluginDVDSelect); // Don't touch this! +diff -Nur ./dvdselect-0.7a/i18n.c /usr/src/VDR/PLUGINS/src/dvdselect/i18n.c +--- ./dvdselect-0.7a/i18n.c 2004-05-21 02:23:52.000000000 +0200 ++++ /usr/src/VDR/PLUGINS/src/dvdselect/i18n.c 2005-04-24 19:35:22.540550400 +0200 +@@ -282,5 +282,21 @@ + "",// TODO + "",// TODO + }, ++ { "Reset DVD Link by Start/Stop VDR", ++ "DVD-Link bei Start/Stop VDR zurücksetzen", ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ }, + { NULL } + }; +diff -Nur ./dvdselect-0.7a/menu.c /usr/src/VDR/PLUGINS/src/dvdselect/menu.c +--- ./dvdselect-0.7a/menu.c 2004-05-23 00:04:37.000000000 +0200 ++++ /usr/src/VDR/PLUGINS/src/dvdselect/menu.c 2005-04-24 19:07:50.300729032 +0200 +@@ -11,22 +11,10 @@ + #include "config.h" + #include "menuitem.h" + +-#define ISOEXT "*.ISO" +-//#define FINDCMD "cd '%s' && find '%s' -follow -type f -iname '%s' 2> /dev/null" +-#define TSDIR "video_ts" +-#define FINDCMD "cd '%s' && find '%s' -follow -iname '%s' -printf '%%p\n' -o -iname '%s' -printf '%%h\n' 2> /dev/null" +- +-#define SCRIPT_DVDWRITE_CMD "%s '%s'" +-#define SCRIPT_DVDREAD_CMD "%s '%s' '%s' '%s'" +-#define RMCMD "rm '%s' 2> /dev/null" +-#define MOUNTCMD "ln -nfs '%s' '%s' 2> /dev/null" +-#define RESETCMD "ln -nfs '%s' '%s' 2> /dev/null" +- +- + // --- cDVDList ------------------------------------------------------------- + cDVDList::cDVDList(void) : cOsdMenu(tr("DVDSelect"), 12, 6) + { +- int i; ++ int i = 0; + char *cmd = NULL; + + SetHelp(); +@@ -34,9 +22,15 @@ + asprintf(&cmd, FINDCMD, DVDSelectSetup.ImageDir, DVDSelectSetup.ImageDir, ISOEXT,TSDIR); + FILE *p = popen(cmd, "r"); + if (p) { ++ cReadLine ReadLine; + char *s; +- while ((s = readline(p)) != NULL) { +- Add(new cMenuDVDItem(s,DVDSelectSetup.ImageDir), &i); ++ while ((s = ReadLine.Read(p)) != NULL) { ++ i++; ++ //Add(new cMenuDVDItem(s,DVDSelectSetup.ImageDir), &i); ++ if (i == 1) ++ Add(new cMenuDVDItem(s,DVDSelectSetup.ImageDir), true); ++ else ++ Add(new cMenuDVDItem(s,DVDSelectSetup.ImageDir), false); + }//while + pclose(p); + Sort(); +diff -Nur ./dvdselect-0.7a/menuitem.c /usr/src/VDR/PLUGINS/src/dvdselect/menuitem.c +--- ./dvdselect-0.7a/menuitem.c 2003-12-12 17:24:32.000000000 +0100 ++++ /usr/src/VDR/PLUGINS/src/dvdselect/menuitem.c 2005-04-24 19:07:50.300729032 +0200 +@@ -25,7 +25,8 @@ + cMenuDVDItem::cMenuDVDItem(char *name,char *dir) { + + asprintf(&dateiname,"%s", name); +- SetText(substring(name,strlen(dir)+1,strlen(name)-1), true); ++ //SetText(substring(name,strlen(dir)+1,strlen(name)-1), true); ++ SetText(substring(name,strlen(dir)+1,strlen(name)-5), true); + } + + diff --git a/plugins/dvdselect/plugin.sh b/plugins/dvdselect/plugin.sh new file mode 100644 index 0000000..827c882 --- /dev/null +++ b/plugins/dvdselect/plugin.sh @@ -0,0 +1,50 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 08.08.2006 +# +# vdr-dvdselect + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://vdr.bluox.org/download/vdr-dvdselect/vdr-dvdselect-0.7a.tgz" +VERSION="dvdselect-0.7a" +LINK="dvdselect" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/dvdswitch/patches/dvdswitch-0.1.3-1.5.4.diff b/plugins/dvdswitch/patches/dvdswitch-0.1.3-1.5.4.diff new file mode 100644 index 0000000..301df7e --- /dev/null +++ b/plugins/dvdswitch/patches/dvdswitch-0.1.3-1.5.4.diff @@ -0,0 +1,19 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 90_dvdswitch-0.1.3-1.5.4.dpatch by Thomas Günther <tom@toms-cafe.de> +## http://toms-cafe.de/vdr/download/dvdswitch-0.1.3-1.5.4.diff +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Changes for VDR >= 1.5.4. + +@DPATCH@ +--- dvdswitch-0.1.3/helpers.h ++++ dvdswitch-0.1.3/helpers.h +@@ -80,7 +80,7 @@ class cStringListItem : public cListObje + char *Value(void) { return String; } + }; + +-class cStringList : public cList<cStringListItem> {}; ++//class cStringList : public cList<cStringListItem> {}; + + // --- cTokenizer --------------------------------------- + diff --git a/plugins/dvdswitch/patches/p1/dvdswitch-0.1.3-gettext-i18n.diff b/plugins/dvdswitch/patches/p1/dvdswitch-0.1.3-gettext-i18n.diff new file mode 100644 index 0000000..b8fd9d2 --- /dev/null +++ b/plugins/dvdswitch/patches/p1/dvdswitch-0.1.3-gettext-i18n.diff @@ -0,0 +1,11830 @@ +diff -Nru dvdswitch-0.1.3/dvdswitch.c dvdswitch-0.1.3-gettext-i18n/dvdswitch.c +--- dvdswitch-0.1.3/dvdswitch.c 2006-05-01 19:05:39.000000000 +0200 ++++ dvdswitch-0.1.3-gettext-i18n/dvdswitch.c 2008-03-31 04:59:34.000000000 +0200 +@@ -18,8 +18,8 @@ + //#include "dvdlist.h" + + static const char *VERSION = "0.1.3"; +-static const char *DESCRIPTION = "allowed to play DVD-Images"; +-//static const char *MAINMENUENTRY = "DVDSwitch"; ++static const char *DESCRIPTION = trNOOP("allowed to play DVD-Images"); ++//static const char *MAINMENUENTRY = tr("DVDSwitch"); + + class cPluginDvdswitch : public cPlugin { + private: +@@ -65,11 +65,11 @@ + //12345678901234567890123456789012345678901234567890123456789012345678901234567890| + return + " -D LOGFILE, --debug=LOGFILE write Debug-Info's in LOGFILE\n" +- " -r SCRIPT, --readscript=SCRIPT SCRIPT = scriptname with path for reading" +- " DVD as a ISO Image File" +- " -w SCRIPT, --writescript=SCRIPT SCRIPT = scriptname with path to writing" +- " selected DVD Image" +- " -i PATH, --imagedir=PATH Path to DVD-Images. This Option can set" ++ " -r SCRIPT, --readscript=SCRIPT SCRIPT = scriptname with path for reading\n" ++ " DVD as a ISO Image File\n" ++ " -w SCRIPT, --writescript=SCRIPT SCRIPT = scriptname with path to writing\n" ++ " selected DVD Image\n" ++ " -i PATH, --imagedir=PATH Path to DVD-Images. This Option can set\n" + " in SetupMenu optional"; + } + +diff -Nru dvdswitch-0.1.3/Makefile dvdswitch-0.1.3-gettext-i18n/Makefile +--- dvdswitch-0.1.3/Makefile 2006-05-01 19:05:39.000000000 +0200 ++++ dvdswitch-0.1.3-gettext-i18n/Makefile 2008-03-31 04:59:34.000000000 +0200 +@@ -16,7 +16,7 @@ + ### The C++ compiler and options: + + CXX ?= g++ +-CXXFLAGS ?= -O2 -Wall -Woverloaded-virtual ++CXXFLAGS ?= -fPIC -O2 -Wall -Woverloaded-virtual -Wno-parentheses + + ### The directory environment: + +@@ -62,9 +62,34 @@ + + -include $(DEPFILE) + ++### Internationalization (I18N): ++ ++PODIR = po ++LOCALEDIR = $(VDRDIR)/locale ++I18Npo = $(wildcard $(PODIR)/*.po) ++I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file)))))) ++I18Npot = $(PODIR)/$(PLUGIN).pot ++ ++%.mo: %.po ++ msgfmt -c -o $@ $< ++ ++$(I18Npot): $(wildcard *.c) ++ xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='<micky979@free.fr>' -o $@ $^ ++ ++%.po: $(I18Npot) ++ msgmerge -U --no-wrap --no-location --backup=none -q $@ $< ++ @touch $@ ++ ++$(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo ++ @mkdir -p $(dir $@) ++ cp $< $@ ++ ++.PHONY: i18n ++i18n: $(I18Nmsgs) ++ + ### Targets: + +-all: libvdr-$(PLUGIN).so ++all: libvdr-$(PLUGIN).so i18n + + libvdr-$(PLUGIN).so: $(OBJS) + $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@ +@@ -79,4 +104,5 @@ + @echo Distribution package created as $(PACKAGE).tgz + + clean: ++ @-rm -f $(PODIR)/*.mo $(PODIR)/*.pot + @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ +diff -Nru dvdswitch-0.1.3/po/ca_ES.po dvdswitch-0.1.3-gettext-i18n/po/ca_ES.po +--- dvdswitch-0.1.3/po/ca_ES.po 1970-01-01 01:00:00.000000000 +0100 ++++ dvdswitch-0.1.3-gettext-i18n/po/ca_ES.po 2008-03-31 04:59:34.000000000 +0200 +@@ -0,0 +1,531 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Marc Rovira Vall <tm05462@salleURL.edu>, 2003 ++# Ramon Roca <ramon.roca@xcombo.com>, 2003 ++# Jordi Vilà <jvila@tinet.org>, 2003 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 14:49+0200\n" ++"PO-Revision-Date: 2008-03-30 14:49+0200\n" ++"Last-Translator: Jordi Vilà <jvila@tinet.org>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-1\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: commands.c:43 setup.c:94 setup.c:106 ++msgid "Commands" ++msgstr "" ++ ++#: commands.c:49 commands.c:98 commands.c:169 ++msgid "Directory Management" ++msgstr "" ++ ++#: commands.c:50 commands.c:100 ++msgid "DVD-Tray open" ++msgstr "" ++ ++#: commands.c:51 commands.c:102 ++msgid "DVD-Tray close" ++msgstr "" ++ ++#: commands.c:52 commands.c:104 setup.c:88 setup.c:100 ++msgid "Play" ++msgstr "" ++ ++#: commands.c:58 commands.c:106 setup.c:89 ++msgid "Image rename" ++msgstr "" ++ ++#: commands.c:64 commands.c:108 setup.c:90 ++msgid "Image move" ++msgstr "" ++ ++#: commands.c:70 commands.c:110 setup.c:91 ++msgid "Image delete" ++msgstr "" ++ ++#: commands.c:76 commands.c:112 setup.c:92 ++msgid "Image burn" ++msgstr "" ++ ++#: commands.c:82 commands.c:114 ++msgid "Image to create from DVD" ++msgstr "" ++ ++#: commands.c:183 ++msgid "Select Directory" ++msgstr "" ++ ++#: commands.c:200 commands.c:202 commands.c:204 setup-itypes.c:58 ++#: setup-itypes.c:60 setup-itypes.c:63 setup-itypes.c:143 ++msgid "New" ++msgstr "" ++ ++#: commands.c:200 commands.c:761 setup-itypes.c:58 ++msgid "Select" ++msgstr "" ++ ++#: commands.c:202 setup-itypes.c:60 setup.c:103 ++msgid "Delete" ++msgstr "" ++ ++#: commands.c:202 commands.c:526 setup.c:102 ++msgid "Move" ++msgstr "" ++ ++#: commands.c:202 setup.c:101 ++msgid "Rename" ++msgstr "" ++ ++#: commands.c:222 ++msgid "Edit Directories" ++msgstr "" ++ ++#: commands.c:264 commands.c:312 menu.c:782 ++msgid "no Rights!" ++msgstr "" ++ ++#: commands.c:282 commands.c:658 ++msgid "really delete?" ++msgstr "" ++ ++#: commands.c:286 ++msgid "Directory not empty. however delete?" ++msgstr "" ++ ++#: commands.c:369 ++msgid "no Rights to create" ++msgstr "" ++ ++#: commands.c:379 setup.c:252 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~" ++msgstr "" ++ ++#: commands.c:379 ++msgid "New:" ++msgstr "" ++ ++#: commands.c:408 commands.c:497 ++msgid "Directory exists" ++msgstr "" ++ ++#: commands.c:446 menu.c:1048 ++msgid "no Rights to rename" ++msgstr "" ++ ++#: commands.c:466 commands.c:741 commands.c:742 commands.c:743 menu.c:1075 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-_.#~" ++msgstr "" ++ ++#: commands.c:466 menu.c:1075 ++msgid "Rename:" ++msgstr "" ++ ++#: commands.c:544 ++msgid "Insert" ++msgstr "" ++ ++#: commands.c:685 ++msgid "Specified Writescript not exist!" ++msgstr "" ++ ++#: commands.c:692 ++msgid "Cannot execute Writescript!" ++msgstr "" ++ ++#: commands.c:700 ++msgid "Burn Now?" ++msgstr "" ++ ++#: commands.c:713 ++msgid "Read DVD" ++msgstr "" ++ ++#: commands.c:723 ++msgid "Specified Readscript not exist!" ++msgstr "" ++ ++#: commands.c:730 ++msgid "Cannot execute Readscript!" ++msgstr "" ++ ++#: commands.c:741 ++msgid "Name:" ++msgstr "" ++ ++#: commands.c:742 ++msgid "Directory:" ++msgstr "" ++ ++#: commands.c:743 ++msgid "Imagetype:" ++msgstr "" ++ ++#: commands.c:761 commands.c:764 ++msgid "read in" ++msgstr "" ++ ++#: commands.c:796 ++msgid "invalid file name for DVD-Image" ++msgstr "" ++ ++#: commands.c:801 ++msgid "No Imagetype selected" ++msgstr "" ++ ++#: commands.c:806 ++msgid "No Directory selected. Use Standard?" ++msgstr "" ++ ++#: commands.c:809 ++msgid "Now Read?" ++msgstr "" ++ ++#: dvdswitch.c:21 ++msgid "allowed to play DVD-Images" ++msgstr "" ++ ++#: dvdswitch.c:22 ++msgid "DVDSwitch" ++msgstr "" ++ ++#: dvdswitch.c:195 ++msgid "Image Directory not readable or not exist" ++msgstr "" ++ ++#: dvdswitch.c:203 ++msgid "DVD-Plugin not found! Function deactivated!" ++msgstr "" ++ ++#: imagelist.c:19 ++msgid "Directory with 'VIDEO_TS' Folder" ++msgstr "" ++ ++#: imagelist.c:20 setup-itypes.c:164 ++msgid "Directory" ++msgstr "" ++ ++#: imagelist.c:24 ++msgid "File with '.iso' Extension" ++msgstr "" ++ ++#: imagelist.c:25 ++msgid "Iso-Image" ++msgstr "" ++ ++#: menu.c:272 ++msgid "Image-File" ++msgstr "" ++ ++#: menu.c:294 ++msgid "Image-Directory" ++msgstr "" ++ ++#: menu.c:388 menu.c:419 menu.c:450 menu.c:481 ++msgid "to change" ++msgstr "" ++ ++#: menu.c:550 ++msgid "File exists in Directory" ++msgstr "" ++ ++#: menu.c:955 ++msgid "without Catergory" ++msgstr "" ++ ++#: menu.c:1002 ++msgid "DVD-Drive" ++msgstr "" ++ ++#: setup-itypes.c:6 ++msgid "Imagetypes" ++msgstr "" ++ ++#: setup-itypes.c:60 setup-itypes.c:147 ++msgid "Edit" ++msgstr "" ++ ++#: setup-itypes.c:83 ++msgid "really delete Entry?" ++msgstr "" ++ ++#: setup-itypes.c:165 ++msgid "File" ++msgstr "" ++ ++#: setup-itypes.c:176 ++msgid "Description:" ++msgstr "" ++ ++#: setup-itypes.c:180 ++msgid "Type-Title:" ++msgstr "" ++ ++#: setup-itypes.c:184 ++msgid "Image Type" ++msgstr "" ++ ++#: setup-itypes.c:185 ++msgid "Directory contains:" ++msgstr "" ++ ++#: setup-itypes.c:185 ++msgid "File Extension:" ++msgstr "" ++ ++#: setup-itypes.c:190 ++msgid "Hide Extension" ++msgstr "" ++ ++#: setup-itypes.c:215 ++msgid "'Description' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:220 ++msgid "'Type-Title' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:226 ++msgid "'Directory contains' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:228 ++msgid "'File Extension' must not empty!" ++msgstr "" ++ ++#: setup.c:69 ++msgid "All Images" ++msgstr "" ++ ++#: setup.c:70 ++msgid "All with Cat." ++msgstr "" ++ ++#: setup.c:71 setup.c:75 ++msgid "Directories" ++msgstr "" ++ ++#: setup.c:74 ++msgid "Image-Type" ++msgstr "" ++ ++#: setup.c:76 ++msgid "File-Type" ++msgstr "" ++ ++#: setup.c:79 ++msgid "none" ++msgstr "" ++ ++#: setup.c:80 ++msgid "ascending" ++msgstr "" ++ ++#: setup.c:81 ++msgid "descending" ++msgstr "" ++ ++#: setup.c:84 ++msgid "none Function" ++msgstr "" ++ ++#: setup.c:85 ++msgid "Dir. Management" ++msgstr "" ++ ++#: setup.c:86 ++msgid "Tray open" ++msgstr "" ++ ++#: setup.c:87 ++msgid "Tray close" ++msgstr "" ++ ++#: setup.c:93 ++msgid "Image create" ++msgstr "" ++ ++#: setup.c:97 ++msgid "Dir.Mgmt." ++msgstr "" ++ ++#: setup.c:98 ++msgid "Open" ++msgstr "" ++ ++#: setup.c:99 ++msgid "Close" ++msgstr "" ++ ++#: setup.c:104 ++msgid "Burn" ++msgstr "" ++ ++#: setup.c:105 ++msgid "Create" ++msgstr "" ++ ++#: setup.c:243 ++msgid "Generic Settings" ++msgstr "" ++ ++#: setup.c:247 ++msgid "\tHide Mainmenu Entry" ++msgstr "" ++ ++#: setup.c:249 ++msgid "\t Name" ++msgstr "" ++ ++#: setup.c:254 ++msgid "\tImage Dir." ++msgstr "" ++ ++#: setup.c:258 setup.c:431 setup.c:437 ++msgid "\tImagetypes" ++msgstr "" ++ ++#: setup.c:259 ++msgid "\tView free DiskSpace" ++msgstr "" ++ ++#: setup.c:265 ++msgid "Display Settings" ++msgstr "" ++ ++#: setup.c:269 ++msgid "\tDisplay Mode" ++msgstr "" ++ ++#: setup.c:271 ++msgid "\t Category Type" ++msgstr "" ++ ++#: setup.c:273 ++msgid "\t invisible empty Dir's/Cat." ++msgstr "" ++ ++#: setup.c:274 ++msgid "\tAlphabetic Sort" ++msgstr "" ++ ++#: setup.c:275 ++msgid "\tvisible DVD-Drive" ++msgstr "" ++ ++#: setup.c:281 ++msgid "Special Display Settings" ++msgstr "" ++ ++#: setup.c:285 ++msgid "\tvisible Image-Type Col" ++msgstr "" ++ ++#: setup.c:287 ++msgid "\t Width for Image-Col" ++msgstr "" ++ ++#: setup.c:288 ++msgid "\tvisible Image-Size Col" ++msgstr "" ++ ++#: setup.c:289 ++msgid "\tchange Character" ++msgstr "" ++ ++#: setup.c:297 ++msgid "\tchar for Cat.Line" ++msgstr "" ++ ++#: setup.c:300 ++msgid "\t Count before Cat.Name" ++msgstr "" ++ ++#: setup.c:301 ++msgid "\tSpaces before/after Cat.Name" ++msgstr "" ++ ++#: setup.c:303 ++msgid "\tCutText for Subcat" ++msgstr "" ++ ++#: setup.c:315 ++msgid "Navigation" ++msgstr "" ++ ++#: setup.c:319 ++msgid "\tCat.Jump by Left/Right" ++msgstr "" ++ ++#: setup.c:326 ++msgid "Key allocation" ++msgstr "" ++ ++#: setup.c:330 ++msgid "\tKey 1" ++msgstr "" ++ ++#: setup.c:331 ++msgid "\tKey 2" ++msgstr "" ++ ++#: setup.c:332 ++msgid "\tKey 3" ++msgstr "" ++ ++#: setup.c:333 ++msgid "\tKey 4" ++msgstr "" ++ ++#: setup.c:334 ++msgid "\tKey 5" ++msgstr "" ++ ++#: setup.c:335 ++msgid "\tKey 6" ++msgstr "" ++ ++#: setup.c:336 ++msgid "\tKey 7" ++msgstr "" ++ ++#: setup.c:337 ++msgid "\tKey 8" ++msgstr "" ++ ++#: setup.c:338 ++msgid "\tKey 9" ++msgstr "" ++ ++#: setup.c:339 ++msgid "\tKey 0" ++msgstr "" ++ ++#: setup.c:340 ++msgid "\tKey Red" ++msgstr "" ++ ++#: setup.c:341 ++msgid "\tKey Green" ++msgstr "" ++ ++#: setup.c:342 ++msgid "\tKey Yellow" ++msgstr "" ++ ++#: setup.c:343 ++msgid "\tKey Blue" ++msgstr "" ++ ++#: setup.c:344 ++msgid "\tKey OK" ++msgstr "" ++ ++#: setup.c:432 ++msgid "to adjust" ++msgstr "" +diff -Nru dvdswitch-0.1.3/po/cs_CZ.po dvdswitch-0.1.3-gettext-i18n/po/cs_CZ.po +--- dvdswitch-0.1.3/po/cs_CZ.po 1970-01-01 01:00:00.000000000 +0100 ++++ dvdswitch-0.1.3-gettext-i18n/po/cs_CZ.po 2008-03-31 04:59:34.000000000 +0200 +@@ -0,0 +1,529 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Vladimír Bárta <vladimir.barta@k2atmitec.cz>, 2006 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 14:49+0200\n" ++"PO-Revision-Date: 2008-03-30 14:49+0200\n" ++"Last-Translator: Vladimír Bárta <vladimir.barta@k2atmitec.cz>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-2\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: commands.c:43 setup.c:94 setup.c:106 ++msgid "Commands" ++msgstr "" ++ ++#: commands.c:49 commands.c:98 commands.c:169 ++msgid "Directory Management" ++msgstr "" ++ ++#: commands.c:50 commands.c:100 ++msgid "DVD-Tray open" ++msgstr "" ++ ++#: commands.c:51 commands.c:102 ++msgid "DVD-Tray close" ++msgstr "" ++ ++#: commands.c:52 commands.c:104 setup.c:88 setup.c:100 ++msgid "Play" ++msgstr "" ++ ++#: commands.c:58 commands.c:106 setup.c:89 ++msgid "Image rename" ++msgstr "" ++ ++#: commands.c:64 commands.c:108 setup.c:90 ++msgid "Image move" ++msgstr "" ++ ++#: commands.c:70 commands.c:110 setup.c:91 ++msgid "Image delete" ++msgstr "" ++ ++#: commands.c:76 commands.c:112 setup.c:92 ++msgid "Image burn" ++msgstr "" ++ ++#: commands.c:82 commands.c:114 ++msgid "Image to create from DVD" ++msgstr "" ++ ++#: commands.c:183 ++msgid "Select Directory" ++msgstr "" ++ ++#: commands.c:200 commands.c:202 commands.c:204 setup-itypes.c:58 ++#: setup-itypes.c:60 setup-itypes.c:63 setup-itypes.c:143 ++msgid "New" ++msgstr "" ++ ++#: commands.c:200 commands.c:761 setup-itypes.c:58 ++msgid "Select" ++msgstr "" ++ ++#: commands.c:202 setup-itypes.c:60 setup.c:103 ++msgid "Delete" ++msgstr "" ++ ++#: commands.c:202 commands.c:526 setup.c:102 ++msgid "Move" ++msgstr "" ++ ++#: commands.c:202 setup.c:101 ++msgid "Rename" ++msgstr "" ++ ++#: commands.c:222 ++msgid "Edit Directories" ++msgstr "" ++ ++#: commands.c:264 commands.c:312 menu.c:782 ++msgid "no Rights!" ++msgstr "" ++ ++#: commands.c:282 commands.c:658 ++msgid "really delete?" ++msgstr "" ++ ++#: commands.c:286 ++msgid "Directory not empty. however delete?" ++msgstr "" ++ ++#: commands.c:369 ++msgid "no Rights to create" ++msgstr "" ++ ++#: commands.c:379 setup.c:252 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~" ++msgstr "" ++ ++#: commands.c:379 ++msgid "New:" ++msgstr "" ++ ++#: commands.c:408 commands.c:497 ++msgid "Directory exists" ++msgstr "" ++ ++#: commands.c:446 menu.c:1048 ++msgid "no Rights to rename" ++msgstr "" ++ ++#: commands.c:466 commands.c:741 commands.c:742 commands.c:743 menu.c:1075 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-_.#~" ++msgstr "" ++ ++#: commands.c:466 menu.c:1075 ++msgid "Rename:" ++msgstr "" ++ ++#: commands.c:544 ++msgid "Insert" ++msgstr "" ++ ++#: commands.c:685 ++msgid "Specified Writescript not exist!" ++msgstr "" ++ ++#: commands.c:692 ++msgid "Cannot execute Writescript!" ++msgstr "" ++ ++#: commands.c:700 ++msgid "Burn Now?" ++msgstr "" ++ ++#: commands.c:713 ++msgid "Read DVD" ++msgstr "" ++ ++#: commands.c:723 ++msgid "Specified Readscript not exist!" ++msgstr "" ++ ++#: commands.c:730 ++msgid "Cannot execute Readscript!" ++msgstr "" ++ ++#: commands.c:741 ++msgid "Name:" ++msgstr "" ++ ++#: commands.c:742 ++msgid "Directory:" ++msgstr "" ++ ++#: commands.c:743 ++msgid "Imagetype:" ++msgstr "" ++ ++#: commands.c:761 commands.c:764 ++msgid "read in" ++msgstr "" ++ ++#: commands.c:796 ++msgid "invalid file name for DVD-Image" ++msgstr "" ++ ++#: commands.c:801 ++msgid "No Imagetype selected" ++msgstr "" ++ ++#: commands.c:806 ++msgid "No Directory selected. Use Standard?" ++msgstr "" ++ ++#: commands.c:809 ++msgid "Now Read?" ++msgstr "" ++ ++#: dvdswitch.c:21 ++msgid "allowed to play DVD-Images" ++msgstr "" ++ ++#: dvdswitch.c:22 ++msgid "DVDSwitch" ++msgstr "" ++ ++#: dvdswitch.c:195 ++msgid "Image Directory not readable or not exist" ++msgstr "" ++ ++#: dvdswitch.c:203 ++msgid "DVD-Plugin not found! Function deactivated!" ++msgstr "" ++ ++#: imagelist.c:19 ++msgid "Directory with 'VIDEO_TS' Folder" ++msgstr "" ++ ++#: imagelist.c:20 setup-itypes.c:164 ++msgid "Directory" ++msgstr "" ++ ++#: imagelist.c:24 ++msgid "File with '.iso' Extension" ++msgstr "" ++ ++#: imagelist.c:25 ++msgid "Iso-Image" ++msgstr "" ++ ++#: menu.c:272 ++msgid "Image-File" ++msgstr "" ++ ++#: menu.c:294 ++msgid "Image-Directory" ++msgstr "" ++ ++#: menu.c:388 menu.c:419 menu.c:450 menu.c:481 ++msgid "to change" ++msgstr "" ++ ++#: menu.c:550 ++msgid "File exists in Directory" ++msgstr "" ++ ++#: menu.c:955 ++msgid "without Catergory" ++msgstr "" ++ ++#: menu.c:1002 ++msgid "DVD-Drive" ++msgstr "" ++ ++#: setup-itypes.c:6 ++msgid "Imagetypes" ++msgstr "" ++ ++#: setup-itypes.c:60 setup-itypes.c:147 ++msgid "Edit" ++msgstr "" ++ ++#: setup-itypes.c:83 ++msgid "really delete Entry?" ++msgstr "" ++ ++#: setup-itypes.c:165 ++msgid "File" ++msgstr "" ++ ++#: setup-itypes.c:176 ++msgid "Description:" ++msgstr "" ++ ++#: setup-itypes.c:180 ++msgid "Type-Title:" ++msgstr "" ++ ++#: setup-itypes.c:184 ++msgid "Image Type" ++msgstr "" ++ ++#: setup-itypes.c:185 ++msgid "Directory contains:" ++msgstr "" ++ ++#: setup-itypes.c:185 ++msgid "File Extension:" ++msgstr "" ++ ++#: setup-itypes.c:190 ++msgid "Hide Extension" ++msgstr "" ++ ++#: setup-itypes.c:215 ++msgid "'Description' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:220 ++msgid "'Type-Title' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:226 ++msgid "'Directory contains' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:228 ++msgid "'File Extension' must not empty!" ++msgstr "" ++ ++#: setup.c:69 ++msgid "All Images" ++msgstr "" ++ ++#: setup.c:70 ++msgid "All with Cat." ++msgstr "" ++ ++#: setup.c:71 setup.c:75 ++msgid "Directories" ++msgstr "" ++ ++#: setup.c:74 ++msgid "Image-Type" ++msgstr "" ++ ++#: setup.c:76 ++msgid "File-Type" ++msgstr "" ++ ++#: setup.c:79 ++msgid "none" ++msgstr "" ++ ++#: setup.c:80 ++msgid "ascending" ++msgstr "" ++ ++#: setup.c:81 ++msgid "descending" ++msgstr "" ++ ++#: setup.c:84 ++msgid "none Function" ++msgstr "" ++ ++#: setup.c:85 ++msgid "Dir. Management" ++msgstr "" ++ ++#: setup.c:86 ++msgid "Tray open" ++msgstr "" ++ ++#: setup.c:87 ++msgid "Tray close" ++msgstr "" ++ ++#: setup.c:93 ++msgid "Image create" ++msgstr "" ++ ++#: setup.c:97 ++msgid "Dir.Mgmt." ++msgstr "" ++ ++#: setup.c:98 ++msgid "Open" ++msgstr "" ++ ++#: setup.c:99 ++msgid "Close" ++msgstr "" ++ ++#: setup.c:104 ++msgid "Burn" ++msgstr "" ++ ++#: setup.c:105 ++msgid "Create" ++msgstr "" ++ ++#: setup.c:243 ++msgid "Generic Settings" ++msgstr "" ++ ++#: setup.c:247 ++msgid "\tHide Mainmenu Entry" ++msgstr "" ++ ++#: setup.c:249 ++msgid "\t Name" ++msgstr "" ++ ++#: setup.c:254 ++msgid "\tImage Dir." ++msgstr "" ++ ++#: setup.c:258 setup.c:431 setup.c:437 ++msgid "\tImagetypes" ++msgstr "" ++ ++#: setup.c:259 ++msgid "\tView free DiskSpace" ++msgstr "" ++ ++#: setup.c:265 ++msgid "Display Settings" ++msgstr "" ++ ++#: setup.c:269 ++msgid "\tDisplay Mode" ++msgstr "" ++ ++#: setup.c:271 ++msgid "\t Category Type" ++msgstr "" ++ ++#: setup.c:273 ++msgid "\t invisible empty Dir's/Cat." ++msgstr "" ++ ++#: setup.c:274 ++msgid "\tAlphabetic Sort" ++msgstr "" ++ ++#: setup.c:275 ++msgid "\tvisible DVD-Drive" ++msgstr "" ++ ++#: setup.c:281 ++msgid "Special Display Settings" ++msgstr "" ++ ++#: setup.c:285 ++msgid "\tvisible Image-Type Col" ++msgstr "" ++ ++#: setup.c:287 ++msgid "\t Width for Image-Col" ++msgstr "" ++ ++#: setup.c:288 ++msgid "\tvisible Image-Size Col" ++msgstr "" ++ ++#: setup.c:289 ++msgid "\tchange Character" ++msgstr "" ++ ++#: setup.c:297 ++msgid "\tchar for Cat.Line" ++msgstr "" ++ ++#: setup.c:300 ++msgid "\t Count before Cat.Name" ++msgstr "" ++ ++#: setup.c:301 ++msgid "\tSpaces before/after Cat.Name" ++msgstr "" ++ ++#: setup.c:303 ++msgid "\tCutText for Subcat" ++msgstr "" ++ ++#: setup.c:315 ++msgid "Navigation" ++msgstr "" ++ ++#: setup.c:319 ++msgid "\tCat.Jump by Left/Right" ++msgstr "" ++ ++#: setup.c:326 ++msgid "Key allocation" ++msgstr "" ++ ++#: setup.c:330 ++msgid "\tKey 1" ++msgstr "" ++ ++#: setup.c:331 ++msgid "\tKey 2" ++msgstr "" ++ ++#: setup.c:332 ++msgid "\tKey 3" ++msgstr "" ++ ++#: setup.c:333 ++msgid "\tKey 4" ++msgstr "" ++ ++#: setup.c:334 ++msgid "\tKey 5" ++msgstr "" ++ ++#: setup.c:335 ++msgid "\tKey 6" ++msgstr "" ++ ++#: setup.c:336 ++msgid "\tKey 7" ++msgstr "" ++ ++#: setup.c:337 ++msgid "\tKey 8" ++msgstr "" ++ ++#: setup.c:338 ++msgid "\tKey 9" ++msgstr "" ++ ++#: setup.c:339 ++msgid "\tKey 0" ++msgstr "" ++ ++#: setup.c:340 ++msgid "\tKey Red" ++msgstr "" ++ ++#: setup.c:341 ++msgid "\tKey Green" ++msgstr "" ++ ++#: setup.c:342 ++msgid "\tKey Yellow" ++msgstr "" ++ ++#: setup.c:343 ++msgid "\tKey Blue" ++msgstr "" ++ ++#: setup.c:344 ++msgid "\tKey OK" ++msgstr "" ++ ++#: setup.c:432 ++msgid "to adjust" ++msgstr "" +diff -Nru dvdswitch-0.1.3/po/da_DK.po dvdswitch-0.1.3-gettext-i18n/po/da_DK.po +--- dvdswitch-0.1.3/po/da_DK.po 1970-01-01 01:00:00.000000000 +0100 ++++ dvdswitch-0.1.3-gettext-i18n/po/da_DK.po 2008-03-31 04:59:34.000000000 +0200 +@@ -0,0 +1,529 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Mogens Elneff <mogens@elneff.dk>, 2004 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 14:49+0200\n" ++"PO-Revision-Date: 2008-03-30 14:49+0200\n" ++"Last-Translator: Mogens Elneff <mogens@elneff.dk>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-15\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: commands.c:43 setup.c:94 setup.c:106 ++msgid "Commands" ++msgstr "" ++ ++#: commands.c:49 commands.c:98 commands.c:169 ++msgid "Directory Management" ++msgstr "" ++ ++#: commands.c:50 commands.c:100 ++msgid "DVD-Tray open" ++msgstr "" ++ ++#: commands.c:51 commands.c:102 ++msgid "DVD-Tray close" ++msgstr "" ++ ++#: commands.c:52 commands.c:104 setup.c:88 setup.c:100 ++msgid "Play" ++msgstr "" ++ ++#: commands.c:58 commands.c:106 setup.c:89 ++msgid "Image rename" ++msgstr "" ++ ++#: commands.c:64 commands.c:108 setup.c:90 ++msgid "Image move" ++msgstr "" ++ ++#: commands.c:70 commands.c:110 setup.c:91 ++msgid "Image delete" ++msgstr "" ++ ++#: commands.c:76 commands.c:112 setup.c:92 ++msgid "Image burn" ++msgstr "" ++ ++#: commands.c:82 commands.c:114 ++msgid "Image to create from DVD" ++msgstr "" ++ ++#: commands.c:183 ++msgid "Select Directory" ++msgstr "" ++ ++#: commands.c:200 commands.c:202 commands.c:204 setup-itypes.c:58 ++#: setup-itypes.c:60 setup-itypes.c:63 setup-itypes.c:143 ++msgid "New" ++msgstr "" ++ ++#: commands.c:200 commands.c:761 setup-itypes.c:58 ++msgid "Select" ++msgstr "" ++ ++#: commands.c:202 setup-itypes.c:60 setup.c:103 ++msgid "Delete" ++msgstr "" ++ ++#: commands.c:202 commands.c:526 setup.c:102 ++msgid "Move" ++msgstr "" ++ ++#: commands.c:202 setup.c:101 ++msgid "Rename" ++msgstr "" ++ ++#: commands.c:222 ++msgid "Edit Directories" ++msgstr "" ++ ++#: commands.c:264 commands.c:312 menu.c:782 ++msgid "no Rights!" ++msgstr "" ++ ++#: commands.c:282 commands.c:658 ++msgid "really delete?" ++msgstr "" ++ ++#: commands.c:286 ++msgid "Directory not empty. however delete?" ++msgstr "" ++ ++#: commands.c:369 ++msgid "no Rights to create" ++msgstr "" ++ ++#: commands.c:379 setup.c:252 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~" ++msgstr "" ++ ++#: commands.c:379 ++msgid "New:" ++msgstr "" ++ ++#: commands.c:408 commands.c:497 ++msgid "Directory exists" ++msgstr "" ++ ++#: commands.c:446 menu.c:1048 ++msgid "no Rights to rename" ++msgstr "" ++ ++#: commands.c:466 commands.c:741 commands.c:742 commands.c:743 menu.c:1075 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-_.#~" ++msgstr "" ++ ++#: commands.c:466 menu.c:1075 ++msgid "Rename:" ++msgstr "" ++ ++#: commands.c:544 ++msgid "Insert" ++msgstr "" ++ ++#: commands.c:685 ++msgid "Specified Writescript not exist!" ++msgstr "" ++ ++#: commands.c:692 ++msgid "Cannot execute Writescript!" ++msgstr "" ++ ++#: commands.c:700 ++msgid "Burn Now?" ++msgstr "" ++ ++#: commands.c:713 ++msgid "Read DVD" ++msgstr "" ++ ++#: commands.c:723 ++msgid "Specified Readscript not exist!" ++msgstr "" ++ ++#: commands.c:730 ++msgid "Cannot execute Readscript!" ++msgstr "" ++ ++#: commands.c:741 ++msgid "Name:" ++msgstr "" ++ ++#: commands.c:742 ++msgid "Directory:" ++msgstr "" ++ ++#: commands.c:743 ++msgid "Imagetype:" ++msgstr "" ++ ++#: commands.c:761 commands.c:764 ++msgid "read in" ++msgstr "" ++ ++#: commands.c:796 ++msgid "invalid file name for DVD-Image" ++msgstr "" ++ ++#: commands.c:801 ++msgid "No Imagetype selected" ++msgstr "" ++ ++#: commands.c:806 ++msgid "No Directory selected. Use Standard?" ++msgstr "" ++ ++#: commands.c:809 ++msgid "Now Read?" ++msgstr "" ++ ++#: dvdswitch.c:21 ++msgid "allowed to play DVD-Images" ++msgstr "" ++ ++#: dvdswitch.c:22 ++msgid "DVDSwitch" ++msgstr "" ++ ++#: dvdswitch.c:195 ++msgid "Image Directory not readable or not exist" ++msgstr "" ++ ++#: dvdswitch.c:203 ++msgid "DVD-Plugin not found! Function deactivated!" ++msgstr "" ++ ++#: imagelist.c:19 ++msgid "Directory with 'VIDEO_TS' Folder" ++msgstr "" ++ ++#: imagelist.c:20 setup-itypes.c:164 ++msgid "Directory" ++msgstr "" ++ ++#: imagelist.c:24 ++msgid "File with '.iso' Extension" ++msgstr "" ++ ++#: imagelist.c:25 ++msgid "Iso-Image" ++msgstr "" ++ ++#: menu.c:272 ++msgid "Image-File" ++msgstr "" ++ ++#: menu.c:294 ++msgid "Image-Directory" ++msgstr "" ++ ++#: menu.c:388 menu.c:419 menu.c:450 menu.c:481 ++msgid "to change" ++msgstr "" ++ ++#: menu.c:550 ++msgid "File exists in Directory" ++msgstr "" ++ ++#: menu.c:955 ++msgid "without Catergory" ++msgstr "" ++ ++#: menu.c:1002 ++msgid "DVD-Drive" ++msgstr "" ++ ++#: setup-itypes.c:6 ++msgid "Imagetypes" ++msgstr "" ++ ++#: setup-itypes.c:60 setup-itypes.c:147 ++msgid "Edit" ++msgstr "" ++ ++#: setup-itypes.c:83 ++msgid "really delete Entry?" ++msgstr "" ++ ++#: setup-itypes.c:165 ++msgid "File" ++msgstr "" ++ ++#: setup-itypes.c:176 ++msgid "Description:" ++msgstr "" ++ ++#: setup-itypes.c:180 ++msgid "Type-Title:" ++msgstr "" ++ ++#: setup-itypes.c:184 ++msgid "Image Type" ++msgstr "" ++ ++#: setup-itypes.c:185 ++msgid "Directory contains:" ++msgstr "" ++ ++#: setup-itypes.c:185 ++msgid "File Extension:" ++msgstr "" ++ ++#: setup-itypes.c:190 ++msgid "Hide Extension" ++msgstr "" ++ ++#: setup-itypes.c:215 ++msgid "'Description' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:220 ++msgid "'Type-Title' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:226 ++msgid "'Directory contains' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:228 ++msgid "'File Extension' must not empty!" ++msgstr "" ++ ++#: setup.c:69 ++msgid "All Images" ++msgstr "" ++ ++#: setup.c:70 ++msgid "All with Cat." ++msgstr "" ++ ++#: setup.c:71 setup.c:75 ++msgid "Directories" ++msgstr "" ++ ++#: setup.c:74 ++msgid "Image-Type" ++msgstr "" ++ ++#: setup.c:76 ++msgid "File-Type" ++msgstr "" ++ ++#: setup.c:79 ++msgid "none" ++msgstr "" ++ ++#: setup.c:80 ++msgid "ascending" ++msgstr "" ++ ++#: setup.c:81 ++msgid "descending" ++msgstr "" ++ ++#: setup.c:84 ++msgid "none Function" ++msgstr "" ++ ++#: setup.c:85 ++msgid "Dir. Management" ++msgstr "" ++ ++#: setup.c:86 ++msgid "Tray open" ++msgstr "" ++ ++#: setup.c:87 ++msgid "Tray close" ++msgstr "" ++ ++#: setup.c:93 ++msgid "Image create" ++msgstr "" ++ ++#: setup.c:97 ++msgid "Dir.Mgmt." ++msgstr "" ++ ++#: setup.c:98 ++msgid "Open" ++msgstr "" ++ ++#: setup.c:99 ++msgid "Close" ++msgstr "" ++ ++#: setup.c:104 ++msgid "Burn" ++msgstr "" ++ ++#: setup.c:105 ++msgid "Create" ++msgstr "" ++ ++#: setup.c:243 ++msgid "Generic Settings" ++msgstr "" ++ ++#: setup.c:247 ++msgid "\tHide Mainmenu Entry" ++msgstr "" ++ ++#: setup.c:249 ++msgid "\t Name" ++msgstr "" ++ ++#: setup.c:254 ++msgid "\tImage Dir." ++msgstr "" ++ ++#: setup.c:258 setup.c:431 setup.c:437 ++msgid "\tImagetypes" ++msgstr "" ++ ++#: setup.c:259 ++msgid "\tView free DiskSpace" ++msgstr "" ++ ++#: setup.c:265 ++msgid "Display Settings" ++msgstr "" ++ ++#: setup.c:269 ++msgid "\tDisplay Mode" ++msgstr "" ++ ++#: setup.c:271 ++msgid "\t Category Type" ++msgstr "" ++ ++#: setup.c:273 ++msgid "\t invisible empty Dir's/Cat." ++msgstr "" ++ ++#: setup.c:274 ++msgid "\tAlphabetic Sort" ++msgstr "" ++ ++#: setup.c:275 ++msgid "\tvisible DVD-Drive" ++msgstr "" ++ ++#: setup.c:281 ++msgid "Special Display Settings" ++msgstr "" ++ ++#: setup.c:285 ++msgid "\tvisible Image-Type Col" ++msgstr "" ++ ++#: setup.c:287 ++msgid "\t Width for Image-Col" ++msgstr "" ++ ++#: setup.c:288 ++msgid "\tvisible Image-Size Col" ++msgstr "" ++ ++#: setup.c:289 ++msgid "\tchange Character" ++msgstr "" ++ ++#: setup.c:297 ++msgid "\tchar for Cat.Line" ++msgstr "" ++ ++#: setup.c:300 ++msgid "\t Count before Cat.Name" ++msgstr "" ++ ++#: setup.c:301 ++msgid "\tSpaces before/after Cat.Name" ++msgstr "" ++ ++#: setup.c:303 ++msgid "\tCutText for Subcat" ++msgstr "" ++ ++#: setup.c:315 ++msgid "Navigation" ++msgstr "" ++ ++#: setup.c:319 ++msgid "\tCat.Jump by Left/Right" ++msgstr "" ++ ++#: setup.c:326 ++msgid "Key allocation" ++msgstr "" ++ ++#: setup.c:330 ++msgid "\tKey 1" ++msgstr "" ++ ++#: setup.c:331 ++msgid "\tKey 2" ++msgstr "" ++ ++#: setup.c:332 ++msgid "\tKey 3" ++msgstr "" ++ ++#: setup.c:333 ++msgid "\tKey 4" ++msgstr "" ++ ++#: setup.c:334 ++msgid "\tKey 5" ++msgstr "" ++ ++#: setup.c:335 ++msgid "\tKey 6" ++msgstr "" ++ ++#: setup.c:336 ++msgid "\tKey 7" ++msgstr "" ++ ++#: setup.c:337 ++msgid "\tKey 8" ++msgstr "" ++ ++#: setup.c:338 ++msgid "\tKey 9" ++msgstr "" ++ ++#: setup.c:339 ++msgid "\tKey 0" ++msgstr "" ++ ++#: setup.c:340 ++msgid "\tKey Red" ++msgstr "" ++ ++#: setup.c:341 ++msgid "\tKey Green" ++msgstr "" ++ ++#: setup.c:342 ++msgid "\tKey Yellow" ++msgstr "" ++ ++#: setup.c:343 ++msgid "\tKey Blue" ++msgstr "" ++ ++#: setup.c:344 ++msgid "\tKey OK" ++msgstr "" ++ ++#: setup.c:432 ++msgid "to adjust" ++msgstr "" +diff -Nru dvdswitch-0.1.3/po/de_DE.po dvdswitch-0.1.3-gettext-i18n/po/de_DE.po +--- dvdswitch-0.1.3/po/de_DE.po 1970-01-01 01:00:00.000000000 +0100 ++++ dvdswitch-0.1.3-gettext-i18n/po/de_DE.po 2008-03-31 04:59:34.000000000 +0200 +@@ -0,0 +1,529 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Klaus Schmidinger <kls@cadsoft.de>, 2000 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 14:49+0200\n" ++"PO-Revision-Date: 2008-03-30 14:49+0200\n" ++"Last-Translator: Klaus Schmidinger <kls@cadsoft.de>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-15\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: commands.c:43 setup.c:94 setup.c:106 ++msgid "Commands" ++msgstr "Befehle" ++ ++#: commands.c:49 commands.c:98 commands.c:169 ++msgid "Directory Management" ++msgstr "Verzeichnis Management" ++ ++#: commands.c:50 commands.c:100 ++msgid "DVD-Tray open" ++msgstr "DVD Schublade öffnen" ++ ++#: commands.c:51 commands.c:102 ++msgid "DVD-Tray close" ++msgstr "DVD Schublade schließen" ++ ++#: commands.c:52 commands.c:104 setup.c:88 setup.c:100 ++msgid "Play" ++msgstr "Wiedergabe" ++ ++#: commands.c:58 commands.c:106 setup.c:89 ++msgid "Image rename" ++msgstr "Image umbenennen" ++ ++#: commands.c:64 commands.c:108 setup.c:90 ++msgid "Image move" ++msgstr "Image verschieben" ++ ++#: commands.c:70 commands.c:110 setup.c:91 ++msgid "Image delete" ++msgstr "Image löschen" ++ ++#: commands.c:76 commands.c:112 setup.c:92 ++msgid "Image burn" ++msgstr "Image brennen" ++ ++#: commands.c:82 commands.c:114 ++msgid "Image to create from DVD" ++msgstr "Image von DVD erstellen" ++ ++#: commands.c:183 ++msgid "Select Directory" ++msgstr "Verzeichnis auswählen" ++ ++#: commands.c:200 commands.c:202 commands.c:204 setup-itypes.c:58 ++#: setup-itypes.c:60 setup-itypes.c:63 setup-itypes.c:143 ++msgid "New" ++msgstr "Neu" ++ ++#: commands.c:200 commands.c:761 setup-itypes.c:58 ++msgid "Select" ++msgstr "Auswählen" ++ ++#: commands.c:202 setup-itypes.c:60 setup.c:103 ++msgid "Delete" ++msgstr "Löschen" ++ ++#: commands.c:202 commands.c:526 setup.c:102 ++msgid "Move" ++msgstr "Verschieben" ++ ++#: commands.c:202 setup.c:101 ++msgid "Rename" ++msgstr "Umbenennen" ++ ++#: commands.c:222 ++msgid "Edit Directories" ++msgstr "Verzeichnisse bearbeiten" ++ ++#: commands.c:264 commands.c:312 menu.c:782 ++msgid "no Rights!" ++msgstr "keine Berechtigung!" ++ ++#: commands.c:282 commands.c:658 ++msgid "really delete?" ++msgstr "Wirklich löschen?" ++ ++#: commands.c:286 ++msgid "Directory not empty. however delete?" ++msgstr "Verzeichnis ist nicht leer. Dennoch löschen?" ++ ++#: commands.c:369 ++msgid "no Rights to create" ++msgstr "keine Berechtigung zum Erstellen" ++ ++#: commands.c:379 setup.c:252 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~" ++msgstr " abcdefghijklmnopqrstuvwxyz0123456789-.#~" ++ ++#: commands.c:379 ++msgid "New:" ++msgstr "Neu:" ++ ++#: commands.c:408 commands.c:497 ++msgid "Directory exists" ++msgstr "Verzeichnis existiert bereits" ++ ++#: commands.c:446 menu.c:1048 ++msgid "no Rights to rename" ++msgstr "keine Berechtigung zum schreiben" ++ ++#: commands.c:466 commands.c:741 commands.c:742 commands.c:743 menu.c:1075 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-_.#~" ++msgstr "" ++ ++#: commands.c:466 menu.c:1075 ++msgid "Rename:" ++msgstr "Umbenenen:" ++ ++#: commands.c:544 ++msgid "Insert" ++msgstr "Einfügen" ++ ++#: commands.c:685 ++msgid "Specified Writescript not exist!" ++msgstr "Angegebenes Writescript existiert nicht!" ++ ++#: commands.c:692 ++msgid "Cannot execute Writescript!" ++msgstr "Kann Writescript nicht ausführen!" ++ ++#: commands.c:700 ++msgid "Burn Now?" ++msgstr "Jetzt brennen?" ++ ++#: commands.c:713 ++msgid "Read DVD" ++msgstr "Lies DVD" ++ ++#: commands.c:723 ++msgid "Specified Readscript not exist!" ++msgstr "Angegebenes Readscript existiert nicht!" ++ ++#: commands.c:730 ++msgid "Cannot execute Readscript!" ++msgstr "Kann Readscript nicht ausführen!" ++ ++#: commands.c:741 ++msgid "Name:" ++msgstr "Name:" ++ ++#: commands.c:742 ++msgid "Directory:" ++msgstr "Verzeichnis:" ++ ++#: commands.c:743 ++msgid "Imagetype:" ++msgstr "ImageTyp:" ++ ++#: commands.c:761 commands.c:764 ++msgid "read in" ++msgstr "Einlesen" ++ ++#: commands.c:796 ++msgid "invalid file name for DVD-Image" ++msgstr "ungültiger Dateiname für das DVD-Image" ++ ++#: commands.c:801 ++msgid "No Imagetype selected" ++msgstr "Es wurde kein Imagetyp ausgewählt!" ++ ++#: commands.c:806 ++msgid "No Directory selected. Use Standard?" ++msgstr "Es wurde kein Verzeichnis ausgewählt. Standard benutzen?" ++ ++#: commands.c:809 ++msgid "Now Read?" ++msgstr "Jetzt einlesen?" ++ ++#: dvdswitch.c:21 ++msgid "allowed to play DVD-Images" ++msgstr "ermöglicht DVD-Images abzuspielen" ++ ++#: dvdswitch.c:22 ++msgid "DVDSwitch" ++msgstr "DVDSwitch" ++ ++#: dvdswitch.c:195 ++msgid "Image Directory not readable or not exist" ++msgstr "Image Verzeichnis ist nicht lesbar oder existiert nicht" ++ ++#: dvdswitch.c:203 ++msgid "DVD-Plugin not found! Function deactivated!" ++msgstr "DVD Plugin nicht gefunden! Funktion deaktiviert!" ++ ++#: imagelist.c:19 ++msgid "Directory with 'VIDEO_TS' Folder" ++msgstr "Verzeichnis mit 'VIDEO_TS' Ordner" ++ ++#: imagelist.c:20 setup-itypes.c:164 ++msgid "Directory" ++msgstr "Verzeichnis" ++ ++#: imagelist.c:24 ++msgid "File with '.iso' Extension" ++msgstr "Datei mit '.iso' Extension" ++ ++#: imagelist.c:25 ++msgid "Iso-Image" ++msgstr "Iso-Image" ++ ++#: menu.c:272 ++msgid "Image-File" ++msgstr "Image-Datei" ++ ++#: menu.c:294 ++msgid "Image-Directory" ++msgstr "Image-Verzeichnis" ++ ++#: menu.c:388 menu.c:419 menu.c:450 menu.c:481 ++msgid "to change" ++msgstr "Wechseln" ++ ++#: menu.c:550 ++msgid "File exists in Directory" ++msgstr "Datei existiert bereits im Verzeichnis" ++ ++#: menu.c:955 ++msgid "without Catergory" ++msgstr "ohne Kategorie" ++ ++#: menu.c:1002 ++msgid "DVD-Drive" ++msgstr "DVD-Laufwerk" ++ ++#: setup-itypes.c:6 ++msgid "Imagetypes" ++msgstr "Imagetypen" ++ ++#: setup-itypes.c:60 setup-itypes.c:147 ++msgid "Edit" ++msgstr "" ++ ++#: setup-itypes.c:83 ++msgid "really delete Entry?" ++msgstr "Eintrag wirklich löschen?" ++ ++#: setup-itypes.c:165 ++msgid "File" ++msgstr "Datei" ++ ++#: setup-itypes.c:176 ++msgid "Description:" ++msgstr "Beschreibung:" ++ ++#: setup-itypes.c:180 ++msgid "Type-Title:" ++msgstr "Typ-Bezeichnung:" ++ ++#: setup-itypes.c:184 ++msgid "Image Type" ++msgstr "Image Typ" ++ ++#: setup-itypes.c:185 ++msgid "Directory contains:" ++msgstr "Verzeichnis enthält:" ++ ++#: setup-itypes.c:185 ++msgid "File Extension:" ++msgstr "Datei-Erweiterung:" ++ ++#: setup-itypes.c:190 ++msgid "Hide Extension" ++msgstr "Erweiterung ausblenden" ++ ++#: setup-itypes.c:215 ++msgid "'Description' must not empty!" ++msgstr "'Beschreibung' darf nicht leer sein!" ++ ++#: setup-itypes.c:220 ++msgid "'Type-Title' must not empty!" ++msgstr "'Typ Bezeichnung' darf nicht leer sein!" ++ ++#: setup-itypes.c:226 ++msgid "'Directory contains' must not empty!" ++msgstr "'Verzeichnis enthält' darf nicht leer sein!" ++ ++#: setup-itypes.c:228 ++msgid "'File Extension' must not empty!" ++msgstr "'Datei Erweiterung' darf nicht leer sein!" ++ ++#: setup.c:69 ++msgid "All Images" ++msgstr "Alle Images" ++ ++#: setup.c:70 ++msgid "All with Cat." ++msgstr "Alle mit Kat." ++ ++#: setup.c:71 setup.c:75 ++msgid "Directories" ++msgstr "Verzeichnisse" ++ ++#: setup.c:74 ++msgid "Image-Type" ++msgstr "Image-Typ" ++ ++#: setup.c:76 ++msgid "File-Type" ++msgstr "Datei-Typ" ++ ++#: setup.c:79 ++msgid "none" ++msgstr "Keine" ++ ++#: setup.c:80 ++msgid "ascending" ++msgstr "Aufsteigend" ++ ++#: setup.c:81 ++msgid "descending" ++msgstr "Absteigend" ++ ++#: setup.c:84 ++msgid "none Function" ++msgstr "keine Funktion" ++ ++#: setup.c:85 ++msgid "Dir. Management" ++msgstr "Verz. Management" ++ ++#: setup.c:86 ++msgid "Tray open" ++msgstr "DVD öffnen" ++ ++#: setup.c:87 ++msgid "Tray close" ++msgstr "DVD schließen" ++ ++#: setup.c:93 ++msgid "Image create" ++msgstr "Image erstellen" ++ ++#: setup.c:97 ++msgid "Dir.Mgmt." ++msgstr "Verz.Mgmt." ++ ++#: setup.c:98 ++msgid "Open" ++msgstr "" ++ ++#: setup.c:99 ++msgid "Close" ++msgstr "Schließen" ++ ++#: setup.c:104 ++msgid "Burn" ++msgstr "Brennen" ++ ++#: setup.c:105 ++msgid "Create" ++msgstr "Erstellen" ++ ++#: setup.c:243 ++msgid "Generic Settings" ++msgstr "Allgemeine Einstellungen" ++ ++#: setup.c:247 ++msgid "\tHide Mainmenu Entry" ++msgstr "\tVerstecke Hauptmenüeintrag" ++ ++#: setup.c:249 ++msgid "\t Name" ++msgstr "\t Name" ++ ++#: setup.c:254 ++msgid "\tImage Dir." ++msgstr "\tImage Verz." ++ ++#: setup.c:258 setup.c:431 setup.c:437 ++msgid "\tImagetypes" ++msgstr "\tImagetypen" ++ ++#: setup.c:259 ++msgid "\tView free DiskSpace" ++msgstr "\tZeige freien Plattenplatz" ++ ++#: setup.c:265 ++msgid "Display Settings" ++msgstr "Anzeige Einstellungen" ++ ++#: setup.c:269 ++msgid "\tDisplay Mode" ++msgstr "\tAnzeige Modus" ++ ++#: setup.c:271 ++msgid "\t Category Type" ++msgstr "\t Art der Kategorie" ++ ++#: setup.c:273 ++msgid "\t invisible empty Dir's/Cat." ++msgstr "\t Blende leere Verz./Kat. aus" ++ ++#: setup.c:274 ++msgid "\tAlphabetic Sort" ++msgstr "\talphabetische Sortierung" ++ ++#: setup.c:275 ++msgid "\tvisible DVD-Drive" ++msgstr "\tDVD-LW einblenden" ++ ++#: setup.c:281 ++msgid "Special Display Settings" ++msgstr "Detailierte Anzeige Einstellungen" ++ ++#: setup.c:285 ++msgid "\tvisible Image-Type Col" ++msgstr "\tZeige Spalte Image-Typ" ++ ++#: setup.c:287 ++msgid "\t Width for Image-Col" ++msgstr "\t Breite für Image-Spalte" ++ ++#: setup.c:288 ++msgid "\tvisible Image-Size Col" ++msgstr "\tZeige Spalte Image Größe" ++ ++#: setup.c:289 ++msgid "\tchange Character" ++msgstr "\tZeichen ändern" ++ ++#: setup.c:297 ++msgid "\tchar for Cat.Line" ++msgstr "\tZeichen für Kat.Linie" ++ ++#: setup.c:300 ++msgid "\t Count before Cat.Name" ++msgstr "\t Anzahl vorm Kat.Namen" ++ ++#: setup.c:301 ++msgid "\tSpaces before/after Cat.Name" ++msgstr "\tLeerzeichen vor/nach Kat.Name" ++ ++#: setup.c:303 ++msgid "\tCutText for Subcat" ++msgstr "\tTrenntext für Subkat." ++ ++#: setup.c:315 ++msgid "Navigation" ++msgstr "Navigation" ++ ++#: setup.c:319 ++msgid "\tCat.Jump by Left/Right" ++msgstr "\tKat.sprung bei Links/Rechts" ++ ++#: setup.c:326 ++msgid "Key allocation" ++msgstr "Tastenbelegung" ++ ++#: setup.c:330 ++msgid "\tKey 1" ++msgstr "\tTaste 1" ++ ++#: setup.c:331 ++msgid "\tKey 2" ++msgstr "\tTaste 2" ++ ++#: setup.c:332 ++msgid "\tKey 3" ++msgstr "\tTaste 3" ++ ++#: setup.c:333 ++msgid "\tKey 4" ++msgstr "\tTaste 4" ++ ++#: setup.c:334 ++msgid "\tKey 5" ++msgstr "\tTaste 5" ++ ++#: setup.c:335 ++msgid "\tKey 6" ++msgstr "\tTaste 6" ++ ++#: setup.c:336 ++msgid "\tKey 7" ++msgstr "\tTaste 7" ++ ++#: setup.c:337 ++msgid "\tKey 8" ++msgstr "\tTaste 8" ++ ++#: setup.c:338 ++msgid "\tKey 9" ++msgstr "\tTaste 9" ++ ++#: setup.c:339 ++msgid "\tKey 0" ++msgstr "\tTaste 0" ++ ++#: setup.c:340 ++msgid "\tKey Red" ++msgstr "\tTaste Rot" ++ ++#: setup.c:341 ++msgid "\tKey Green" ++msgstr "\tTaste Grün" ++ ++#: setup.c:342 ++msgid "\tKey Yellow" ++msgstr "\tTaste Gelb" ++ ++#: setup.c:343 ++msgid "\tKey Blue" ++msgstr "\tTaste Blau" ++ ++#: setup.c:344 ++msgid "\tKey OK" ++msgstr "\tTaste OK" ++ ++#: setup.c:432 ++msgid "to adjust" ++msgstr "Einstellen" +diff -Nru dvdswitch-0.1.3/po/dvdswitch.pot dvdswitch-0.1.3-gettext-i18n/po/dvdswitch.pot +--- dvdswitch-0.1.3/po/dvdswitch.pot 1970-01-01 01:00:00.000000000 +0100 ++++ dvdswitch-0.1.3-gettext-i18n/po/dvdswitch.pot 2008-03-31 04:59:34.000000000 +0200 +@@ -0,0 +1,530 @@ ++# SOME DESCRIPTIVE TITLE. ++# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER ++# This file is distributed under the same license as the PACKAGE package. ++# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. ++# ++#, fuzzy ++msgid "" ++msgstr "" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 14:49+0200\n" ++"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" ++"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" ++"Language-Team: LANGUAGE <LL@li.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=CHARSET\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: commands.c:43 setup.c:94 setup.c:106 ++msgid "Commands" ++msgstr "" ++ ++#: commands.c:49 commands.c:98 commands.c:169 ++msgid "Directory Management" ++msgstr "" ++ ++#: commands.c:50 commands.c:100 ++msgid "DVD-Tray open" ++msgstr "" ++ ++#: commands.c:51 commands.c:102 ++msgid "DVD-Tray close" ++msgstr "" ++ ++#: commands.c:52 commands.c:104 setup.c:88 setup.c:100 ++msgid "Play" ++msgstr "" ++ ++#: commands.c:58 commands.c:106 setup.c:89 ++msgid "Image rename" ++msgstr "" ++ ++#: commands.c:64 commands.c:108 setup.c:90 ++msgid "Image move" ++msgstr "" ++ ++#: commands.c:70 commands.c:110 setup.c:91 ++msgid "Image delete" ++msgstr "" ++ ++#: commands.c:76 commands.c:112 setup.c:92 ++msgid "Image burn" ++msgstr "" ++ ++#: commands.c:82 commands.c:114 ++msgid "Image to create from DVD" ++msgstr "" ++ ++#: commands.c:183 ++msgid "Select Directory" ++msgstr "" ++ ++#: commands.c:200 commands.c:202 commands.c:204 setup-itypes.c:58 ++#: setup-itypes.c:60 setup-itypes.c:63 setup-itypes.c:143 ++msgid "New" ++msgstr "" ++ ++#: commands.c:200 commands.c:761 setup-itypes.c:58 ++msgid "Select" ++msgstr "" ++ ++#: commands.c:202 setup-itypes.c:60 setup.c:103 ++msgid "Delete" ++msgstr "" ++ ++#: commands.c:202 commands.c:526 setup.c:102 ++msgid "Move" ++msgstr "" ++ ++#: commands.c:202 setup.c:101 ++msgid "Rename" ++msgstr "" ++ ++#: commands.c:222 ++msgid "Edit Directories" ++msgstr "" ++ ++#: commands.c:264 commands.c:312 menu.c:782 ++msgid "no Rights!" ++msgstr "" ++ ++#: commands.c:282 commands.c:658 ++msgid "really delete?" ++msgstr "" ++ ++#: commands.c:286 ++msgid "Directory not empty. however delete?" ++msgstr "" ++ ++#: commands.c:369 ++msgid "no Rights to create" ++msgstr "" ++ ++#: commands.c:379 setup.c:252 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~" ++msgstr "" ++ ++#: commands.c:379 ++msgid "New:" ++msgstr "" ++ ++#: commands.c:408 commands.c:497 ++msgid "Directory exists" ++msgstr "" ++ ++#: commands.c:446 menu.c:1048 ++msgid "no Rights to rename" ++msgstr "" ++ ++#: commands.c:466 commands.c:741 commands.c:742 commands.c:743 menu.c:1075 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-_.#~" ++msgstr "" ++ ++#: commands.c:466 menu.c:1075 ++msgid "Rename:" ++msgstr "" ++ ++#: commands.c:544 ++msgid "Insert" ++msgstr "" ++ ++#: commands.c:685 ++msgid "Specified Writescript not exist!" ++msgstr "" ++ ++#: commands.c:692 ++msgid "Cannot execute Writescript!" ++msgstr "" ++ ++#: commands.c:700 ++msgid "Burn Now?" ++msgstr "" ++ ++#: commands.c:713 ++msgid "Read DVD" ++msgstr "" ++ ++#: commands.c:723 ++msgid "Specified Readscript not exist!" ++msgstr "" ++ ++#: commands.c:730 ++msgid "Cannot execute Readscript!" ++msgstr "" ++ ++#: commands.c:741 ++msgid "Name:" ++msgstr "" ++ ++#: commands.c:742 ++msgid "Directory:" ++msgstr "" ++ ++#: commands.c:743 ++msgid "Imagetype:" ++msgstr "" ++ ++#: commands.c:761 commands.c:764 ++msgid "read in" ++msgstr "" ++ ++#: commands.c:796 ++msgid "invalid file name for DVD-Image" ++msgstr "" ++ ++#: commands.c:801 ++msgid "No Imagetype selected" ++msgstr "" ++ ++#: commands.c:806 ++msgid "No Directory selected. Use Standard?" ++msgstr "" ++ ++#: commands.c:809 ++msgid "Now Read?" ++msgstr "" ++ ++#: dvdswitch.c:21 ++msgid "allowed to play DVD-Images" ++msgstr "" ++ ++#: dvdswitch.c:22 ++msgid "DVDSwitch" ++msgstr "" ++ ++#: dvdswitch.c:195 ++msgid "Image Directory not readable or not exist" ++msgstr "" ++ ++#: dvdswitch.c:203 ++msgid "DVD-Plugin not found! Function deactivated!" ++msgstr "" ++ ++#: imagelist.c:19 ++msgid "Directory with 'VIDEO_TS' Folder" ++msgstr "" ++ ++#: imagelist.c:20 setup-itypes.c:164 ++msgid "Directory" ++msgstr "" ++ ++#: imagelist.c:24 ++msgid "File with '.iso' Extension" ++msgstr "" ++ ++#: imagelist.c:25 ++msgid "Iso-Image" ++msgstr "" ++ ++#: menu.c:272 ++msgid "Image-File" ++msgstr "" ++ ++#: menu.c:294 ++msgid "Image-Directory" ++msgstr "" ++ ++#: menu.c:388 menu.c:419 menu.c:450 menu.c:481 ++msgid "to change" ++msgstr "" ++ ++#: menu.c:550 ++msgid "File exists in Directory" ++msgstr "" ++ ++#: menu.c:955 ++msgid "without Catergory" ++msgstr "" ++ ++#: menu.c:1002 ++msgid "DVD-Drive" ++msgstr "" ++ ++#: setup-itypes.c:6 ++msgid "Imagetypes" ++msgstr "" ++ ++#: setup-itypes.c:60 setup-itypes.c:147 ++msgid "Edit" ++msgstr "" ++ ++#: setup-itypes.c:83 ++msgid "really delete Entry?" ++msgstr "" ++ ++#: setup-itypes.c:165 ++msgid "File" ++msgstr "" ++ ++#: setup-itypes.c:176 ++msgid "Description:" ++msgstr "" ++ ++#: setup-itypes.c:180 ++msgid "Type-Title:" ++msgstr "" ++ ++#: setup-itypes.c:184 ++msgid "Image Type" ++msgstr "" ++ ++#: setup-itypes.c:185 ++msgid "Directory contains:" ++msgstr "" ++ ++#: setup-itypes.c:185 ++msgid "File Extension:" ++msgstr "" ++ ++#: setup-itypes.c:190 ++msgid "Hide Extension" ++msgstr "" ++ ++#: setup-itypes.c:215 ++msgid "'Description' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:220 ++msgid "'Type-Title' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:226 ++msgid "'Directory contains' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:228 ++msgid "'File Extension' must not empty!" ++msgstr "" ++ ++#: setup.c:69 ++msgid "All Images" ++msgstr "" ++ ++#: setup.c:70 ++msgid "All with Cat." ++msgstr "" ++ ++#: setup.c:71 setup.c:75 ++msgid "Directories" ++msgstr "" ++ ++#: setup.c:74 ++msgid "Image-Type" ++msgstr "" ++ ++#: setup.c:76 ++msgid "File-Type" ++msgstr "" ++ ++#: setup.c:79 ++msgid "none" ++msgstr "" ++ ++#: setup.c:80 ++msgid "ascending" ++msgstr "" ++ ++#: setup.c:81 ++msgid "descending" ++msgstr "" ++ ++#: setup.c:84 ++msgid "none Function" ++msgstr "" ++ ++#: setup.c:85 ++msgid "Dir. Management" ++msgstr "" ++ ++#: setup.c:86 ++msgid "Tray open" ++msgstr "" ++ ++#: setup.c:87 ++msgid "Tray close" ++msgstr "" ++ ++#: setup.c:93 ++msgid "Image create" ++msgstr "" ++ ++#: setup.c:97 ++msgid "Dir.Mgmt." ++msgstr "" ++ ++#: setup.c:98 ++msgid "Open" ++msgstr "" ++ ++#: setup.c:99 ++msgid "Close" ++msgstr "" ++ ++#: setup.c:104 ++msgid "Burn" ++msgstr "" ++ ++#: setup.c:105 ++msgid "Create" ++msgstr "" ++ ++#: setup.c:243 ++msgid "Generic Settings" ++msgstr "" ++ ++#: setup.c:247 ++msgid "\tHide Mainmenu Entry" ++msgstr "" ++ ++#: setup.c:249 ++msgid "\t Name" ++msgstr "" ++ ++#: setup.c:254 ++msgid "\tImage Dir." ++msgstr "" ++ ++#: setup.c:258 setup.c:431 setup.c:437 ++msgid "\tImagetypes" ++msgstr "" ++ ++#: setup.c:259 ++msgid "\tView free DiskSpace" ++msgstr "" ++ ++#: setup.c:265 ++msgid "Display Settings" ++msgstr "" ++ ++#: setup.c:269 ++msgid "\tDisplay Mode" ++msgstr "" ++ ++#: setup.c:271 ++msgid "\t Category Type" ++msgstr "" ++ ++#: setup.c:273 ++msgid "\t invisible empty Dir's/Cat." ++msgstr "" ++ ++#: setup.c:274 ++msgid "\tAlphabetic Sort" ++msgstr "" ++ ++#: setup.c:275 ++msgid "\tvisible DVD-Drive" ++msgstr "" ++ ++#: setup.c:281 ++msgid "Special Display Settings" ++msgstr "" ++ ++#: setup.c:285 ++msgid "\tvisible Image-Type Col" ++msgstr "" ++ ++#: setup.c:287 ++msgid "\t Width for Image-Col" ++msgstr "" ++ ++#: setup.c:288 ++msgid "\tvisible Image-Size Col" ++msgstr "" ++ ++#: setup.c:289 ++msgid "\tchange Character" ++msgstr "" ++ ++#: setup.c:297 ++msgid "\tchar for Cat.Line" ++msgstr "" ++ ++#: setup.c:300 ++msgid "\t Count before Cat.Name" ++msgstr "" ++ ++#: setup.c:301 ++msgid "\tSpaces before/after Cat.Name" ++msgstr "" ++ ++#: setup.c:303 ++msgid "\tCutText for Subcat" ++msgstr "" ++ ++#: setup.c:315 ++msgid "Navigation" ++msgstr "" ++ ++#: setup.c:319 ++msgid "\tCat.Jump by Left/Right" ++msgstr "" ++ ++#: setup.c:326 ++msgid "Key allocation" ++msgstr "" ++ ++#: setup.c:330 ++msgid "\tKey 1" ++msgstr "" ++ ++#: setup.c:331 ++msgid "\tKey 2" ++msgstr "" ++ ++#: setup.c:332 ++msgid "\tKey 3" ++msgstr "" ++ ++#: setup.c:333 ++msgid "\tKey 4" ++msgstr "" ++ ++#: setup.c:334 ++msgid "\tKey 5" ++msgstr "" ++ ++#: setup.c:335 ++msgid "\tKey 6" ++msgstr "" ++ ++#: setup.c:336 ++msgid "\tKey 7" ++msgstr "" ++ ++#: setup.c:337 ++msgid "\tKey 8" ++msgstr "" ++ ++#: setup.c:338 ++msgid "\tKey 9" ++msgstr "" ++ ++#: setup.c:339 ++msgid "\tKey 0" ++msgstr "" ++ ++#: setup.c:340 ++msgid "\tKey Red" ++msgstr "" ++ ++#: setup.c:341 ++msgid "\tKey Green" ++msgstr "" ++ ++#: setup.c:342 ++msgid "\tKey Yellow" ++msgstr "" ++ ++#: setup.c:343 ++msgid "\tKey Blue" ++msgstr "" ++ ++#: setup.c:344 ++msgid "\tKey OK" ++msgstr "" ++ ++#: setup.c:432 ++msgid "to adjust" ++msgstr "" +diff -Nru dvdswitch-0.1.3/po/el_GR.po dvdswitch-0.1.3-gettext-i18n/po/el_GR.po +--- dvdswitch-0.1.3/po/el_GR.po 1970-01-01 01:00:00.000000000 +0100 ++++ dvdswitch-0.1.3-gettext-i18n/po/el_GR.po 2008-03-31 04:59:34.000000000 +0200 +@@ -0,0 +1,529 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Dimitrios Dimitrakos <mail@dimitrios.de>, 2002 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 14:49+0200\n" ++"PO-Revision-Date: 2008-03-30 14:49+0200\n" ++"Last-Translator: Dimitrios Dimitrakos <mail@dimitrios.de>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-7\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: commands.c:43 setup.c:94 setup.c:106 ++msgid "Commands" ++msgstr "" ++ ++#: commands.c:49 commands.c:98 commands.c:169 ++msgid "Directory Management" ++msgstr "" ++ ++#: commands.c:50 commands.c:100 ++msgid "DVD-Tray open" ++msgstr "" ++ ++#: commands.c:51 commands.c:102 ++msgid "DVD-Tray close" ++msgstr "" ++ ++#: commands.c:52 commands.c:104 setup.c:88 setup.c:100 ++msgid "Play" ++msgstr "" ++ ++#: commands.c:58 commands.c:106 setup.c:89 ++msgid "Image rename" ++msgstr "" ++ ++#: commands.c:64 commands.c:108 setup.c:90 ++msgid "Image move" ++msgstr "" ++ ++#: commands.c:70 commands.c:110 setup.c:91 ++msgid "Image delete" ++msgstr "" ++ ++#: commands.c:76 commands.c:112 setup.c:92 ++msgid "Image burn" ++msgstr "" ++ ++#: commands.c:82 commands.c:114 ++msgid "Image to create from DVD" ++msgstr "" ++ ++#: commands.c:183 ++msgid "Select Directory" ++msgstr "" ++ ++#: commands.c:200 commands.c:202 commands.c:204 setup-itypes.c:58 ++#: setup-itypes.c:60 setup-itypes.c:63 setup-itypes.c:143 ++msgid "New" ++msgstr "" ++ ++#: commands.c:200 commands.c:761 setup-itypes.c:58 ++msgid "Select" ++msgstr "" ++ ++#: commands.c:202 setup-itypes.c:60 setup.c:103 ++msgid "Delete" ++msgstr "" ++ ++#: commands.c:202 commands.c:526 setup.c:102 ++msgid "Move" ++msgstr "" ++ ++#: commands.c:202 setup.c:101 ++msgid "Rename" ++msgstr "" ++ ++#: commands.c:222 ++msgid "Edit Directories" ++msgstr "" ++ ++#: commands.c:264 commands.c:312 menu.c:782 ++msgid "no Rights!" ++msgstr "" ++ ++#: commands.c:282 commands.c:658 ++msgid "really delete?" ++msgstr "" ++ ++#: commands.c:286 ++msgid "Directory not empty. however delete?" ++msgstr "" ++ ++#: commands.c:369 ++msgid "no Rights to create" ++msgstr "" ++ ++#: commands.c:379 setup.c:252 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~" ++msgstr "" ++ ++#: commands.c:379 ++msgid "New:" ++msgstr "" ++ ++#: commands.c:408 commands.c:497 ++msgid "Directory exists" ++msgstr "" ++ ++#: commands.c:446 menu.c:1048 ++msgid "no Rights to rename" ++msgstr "" ++ ++#: commands.c:466 commands.c:741 commands.c:742 commands.c:743 menu.c:1075 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-_.#~" ++msgstr "" ++ ++#: commands.c:466 menu.c:1075 ++msgid "Rename:" ++msgstr "" ++ ++#: commands.c:544 ++msgid "Insert" ++msgstr "" ++ ++#: commands.c:685 ++msgid "Specified Writescript not exist!" ++msgstr "" ++ ++#: commands.c:692 ++msgid "Cannot execute Writescript!" ++msgstr "" ++ ++#: commands.c:700 ++msgid "Burn Now?" ++msgstr "" ++ ++#: commands.c:713 ++msgid "Read DVD" ++msgstr "" ++ ++#: commands.c:723 ++msgid "Specified Readscript not exist!" ++msgstr "" ++ ++#: commands.c:730 ++msgid "Cannot execute Readscript!" ++msgstr "" ++ ++#: commands.c:741 ++msgid "Name:" ++msgstr "" ++ ++#: commands.c:742 ++msgid "Directory:" ++msgstr "" ++ ++#: commands.c:743 ++msgid "Imagetype:" ++msgstr "" ++ ++#: commands.c:761 commands.c:764 ++msgid "read in" ++msgstr "" ++ ++#: commands.c:796 ++msgid "invalid file name for DVD-Image" ++msgstr "" ++ ++#: commands.c:801 ++msgid "No Imagetype selected" ++msgstr "" ++ ++#: commands.c:806 ++msgid "No Directory selected. Use Standard?" ++msgstr "" ++ ++#: commands.c:809 ++msgid "Now Read?" ++msgstr "" ++ ++#: dvdswitch.c:21 ++msgid "allowed to play DVD-Images" ++msgstr "" ++ ++#: dvdswitch.c:22 ++msgid "DVDSwitch" ++msgstr "" ++ ++#: dvdswitch.c:195 ++msgid "Image Directory not readable or not exist" ++msgstr "" ++ ++#: dvdswitch.c:203 ++msgid "DVD-Plugin not found! Function deactivated!" ++msgstr "" ++ ++#: imagelist.c:19 ++msgid "Directory with 'VIDEO_TS' Folder" ++msgstr "" ++ ++#: imagelist.c:20 setup-itypes.c:164 ++msgid "Directory" ++msgstr "" ++ ++#: imagelist.c:24 ++msgid "File with '.iso' Extension" ++msgstr "" ++ ++#: imagelist.c:25 ++msgid "Iso-Image" ++msgstr "" ++ ++#: menu.c:272 ++msgid "Image-File" ++msgstr "" ++ ++#: menu.c:294 ++msgid "Image-Directory" ++msgstr "" ++ ++#: menu.c:388 menu.c:419 menu.c:450 menu.c:481 ++msgid "to change" ++msgstr "" ++ ++#: menu.c:550 ++msgid "File exists in Directory" ++msgstr "" ++ ++#: menu.c:955 ++msgid "without Catergory" ++msgstr "" ++ ++#: menu.c:1002 ++msgid "DVD-Drive" ++msgstr "" ++ ++#: setup-itypes.c:6 ++msgid "Imagetypes" ++msgstr "" ++ ++#: setup-itypes.c:60 setup-itypes.c:147 ++msgid "Edit" ++msgstr "" ++ ++#: setup-itypes.c:83 ++msgid "really delete Entry?" ++msgstr "" ++ ++#: setup-itypes.c:165 ++msgid "File" ++msgstr "" ++ ++#: setup-itypes.c:176 ++msgid "Description:" ++msgstr "" ++ ++#: setup-itypes.c:180 ++msgid "Type-Title:" ++msgstr "" ++ ++#: setup-itypes.c:184 ++msgid "Image Type" ++msgstr "" ++ ++#: setup-itypes.c:185 ++msgid "Directory contains:" ++msgstr "" ++ ++#: setup-itypes.c:185 ++msgid "File Extension:" ++msgstr "" ++ ++#: setup-itypes.c:190 ++msgid "Hide Extension" ++msgstr "" ++ ++#: setup-itypes.c:215 ++msgid "'Description' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:220 ++msgid "'Type-Title' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:226 ++msgid "'Directory contains' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:228 ++msgid "'File Extension' must not empty!" ++msgstr "" ++ ++#: setup.c:69 ++msgid "All Images" ++msgstr "" ++ ++#: setup.c:70 ++msgid "All with Cat." ++msgstr "" ++ ++#: setup.c:71 setup.c:75 ++msgid "Directories" ++msgstr "" ++ ++#: setup.c:74 ++msgid "Image-Type" ++msgstr "" ++ ++#: setup.c:76 ++msgid "File-Type" ++msgstr "" ++ ++#: setup.c:79 ++msgid "none" ++msgstr "" ++ ++#: setup.c:80 ++msgid "ascending" ++msgstr "" ++ ++#: setup.c:81 ++msgid "descending" ++msgstr "" ++ ++#: setup.c:84 ++msgid "none Function" ++msgstr "" ++ ++#: setup.c:85 ++msgid "Dir. Management" ++msgstr "" ++ ++#: setup.c:86 ++msgid "Tray open" ++msgstr "" ++ ++#: setup.c:87 ++msgid "Tray close" ++msgstr "" ++ ++#: setup.c:93 ++msgid "Image create" ++msgstr "" ++ ++#: setup.c:97 ++msgid "Dir.Mgmt." ++msgstr "" ++ ++#: setup.c:98 ++msgid "Open" ++msgstr "" ++ ++#: setup.c:99 ++msgid "Close" ++msgstr "" ++ ++#: setup.c:104 ++msgid "Burn" ++msgstr "" ++ ++#: setup.c:105 ++msgid "Create" ++msgstr "" ++ ++#: setup.c:243 ++msgid "Generic Settings" ++msgstr "" ++ ++#: setup.c:247 ++msgid "\tHide Mainmenu Entry" ++msgstr "" ++ ++#: setup.c:249 ++msgid "\t Name" ++msgstr "" ++ ++#: setup.c:254 ++msgid "\tImage Dir." ++msgstr "" ++ ++#: setup.c:258 setup.c:431 setup.c:437 ++msgid "\tImagetypes" ++msgstr "" ++ ++#: setup.c:259 ++msgid "\tView free DiskSpace" ++msgstr "" ++ ++#: setup.c:265 ++msgid "Display Settings" ++msgstr "" ++ ++#: setup.c:269 ++msgid "\tDisplay Mode" ++msgstr "" ++ ++#: setup.c:271 ++msgid "\t Category Type" ++msgstr "" ++ ++#: setup.c:273 ++msgid "\t invisible empty Dir's/Cat." ++msgstr "" ++ ++#: setup.c:274 ++msgid "\tAlphabetic Sort" ++msgstr "" ++ ++#: setup.c:275 ++msgid "\tvisible DVD-Drive" ++msgstr "" ++ ++#: setup.c:281 ++msgid "Special Display Settings" ++msgstr "" ++ ++#: setup.c:285 ++msgid "\tvisible Image-Type Col" ++msgstr "" ++ ++#: setup.c:287 ++msgid "\t Width for Image-Col" ++msgstr "" ++ ++#: setup.c:288 ++msgid "\tvisible Image-Size Col" ++msgstr "" ++ ++#: setup.c:289 ++msgid "\tchange Character" ++msgstr "" ++ ++#: setup.c:297 ++msgid "\tchar for Cat.Line" ++msgstr "" ++ ++#: setup.c:300 ++msgid "\t Count before Cat.Name" ++msgstr "" ++ ++#: setup.c:301 ++msgid "\tSpaces before/after Cat.Name" ++msgstr "" ++ ++#: setup.c:303 ++msgid "\tCutText for Subcat" ++msgstr "" ++ ++#: setup.c:315 ++msgid "Navigation" ++msgstr "" ++ ++#: setup.c:319 ++msgid "\tCat.Jump by Left/Right" ++msgstr "" ++ ++#: setup.c:326 ++msgid "Key allocation" ++msgstr "" ++ ++#: setup.c:330 ++msgid "\tKey 1" ++msgstr "" ++ ++#: setup.c:331 ++msgid "\tKey 2" ++msgstr "" ++ ++#: setup.c:332 ++msgid "\tKey 3" ++msgstr "" ++ ++#: setup.c:333 ++msgid "\tKey 4" ++msgstr "" ++ ++#: setup.c:334 ++msgid "\tKey 5" ++msgstr "" ++ ++#: setup.c:335 ++msgid "\tKey 6" ++msgstr "" ++ ++#: setup.c:336 ++msgid "\tKey 7" ++msgstr "" ++ ++#: setup.c:337 ++msgid "\tKey 8" ++msgstr "" ++ ++#: setup.c:338 ++msgid "\tKey 9" ++msgstr "" ++ ++#: setup.c:339 ++msgid "\tKey 0" ++msgstr "" ++ ++#: setup.c:340 ++msgid "\tKey Red" ++msgstr "" ++ ++#: setup.c:341 ++msgid "\tKey Green" ++msgstr "" ++ ++#: setup.c:342 ++msgid "\tKey Yellow" ++msgstr "" ++ ++#: setup.c:343 ++msgid "\tKey Blue" ++msgstr "" ++ ++#: setup.c:344 ++msgid "\tKey OK" ++msgstr "" ++ ++#: setup.c:432 ++msgid "to adjust" ++msgstr "" +diff -Nru dvdswitch-0.1.3/po/es_ES.po dvdswitch-0.1.3-gettext-i18n/po/es_ES.po +--- dvdswitch-0.1.3/po/es_ES.po 1970-01-01 01:00:00.000000000 +0100 ++++ dvdswitch-0.1.3-gettext-i18n/po/es_ES.po 2008-03-31 04:59:34.000000000 +0200 +@@ -0,0 +1,529 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Ruben Nunez Francisco <ruben.nunez@tang-it.com>, 2002 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 14:49+0200\n" ++"PO-Revision-Date: 2008-03-30 14:49+0200\n" ++"Last-Translator: Ruben Nunez Francisco <ruben.nunez@tang-it.com>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-15\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: commands.c:43 setup.c:94 setup.c:106 ++msgid "Commands" ++msgstr "" ++ ++#: commands.c:49 commands.c:98 commands.c:169 ++msgid "Directory Management" ++msgstr "" ++ ++#: commands.c:50 commands.c:100 ++msgid "DVD-Tray open" ++msgstr "" ++ ++#: commands.c:51 commands.c:102 ++msgid "DVD-Tray close" ++msgstr "" ++ ++#: commands.c:52 commands.c:104 setup.c:88 setup.c:100 ++msgid "Play" ++msgstr "" ++ ++#: commands.c:58 commands.c:106 setup.c:89 ++msgid "Image rename" ++msgstr "" ++ ++#: commands.c:64 commands.c:108 setup.c:90 ++msgid "Image move" ++msgstr "" ++ ++#: commands.c:70 commands.c:110 setup.c:91 ++msgid "Image delete" ++msgstr "" ++ ++#: commands.c:76 commands.c:112 setup.c:92 ++msgid "Image burn" ++msgstr "" ++ ++#: commands.c:82 commands.c:114 ++msgid "Image to create from DVD" ++msgstr "" ++ ++#: commands.c:183 ++msgid "Select Directory" ++msgstr "" ++ ++#: commands.c:200 commands.c:202 commands.c:204 setup-itypes.c:58 ++#: setup-itypes.c:60 setup-itypes.c:63 setup-itypes.c:143 ++msgid "New" ++msgstr "" ++ ++#: commands.c:200 commands.c:761 setup-itypes.c:58 ++msgid "Select" ++msgstr "" ++ ++#: commands.c:202 setup-itypes.c:60 setup.c:103 ++msgid "Delete" ++msgstr "" ++ ++#: commands.c:202 commands.c:526 setup.c:102 ++msgid "Move" ++msgstr "" ++ ++#: commands.c:202 setup.c:101 ++msgid "Rename" ++msgstr "" ++ ++#: commands.c:222 ++msgid "Edit Directories" ++msgstr "" ++ ++#: commands.c:264 commands.c:312 menu.c:782 ++msgid "no Rights!" ++msgstr "" ++ ++#: commands.c:282 commands.c:658 ++msgid "really delete?" ++msgstr "" ++ ++#: commands.c:286 ++msgid "Directory not empty. however delete?" ++msgstr "" ++ ++#: commands.c:369 ++msgid "no Rights to create" ++msgstr "" ++ ++#: commands.c:379 setup.c:252 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~" ++msgstr "" ++ ++#: commands.c:379 ++msgid "New:" ++msgstr "" ++ ++#: commands.c:408 commands.c:497 ++msgid "Directory exists" ++msgstr "" ++ ++#: commands.c:446 menu.c:1048 ++msgid "no Rights to rename" ++msgstr "" ++ ++#: commands.c:466 commands.c:741 commands.c:742 commands.c:743 menu.c:1075 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-_.#~" ++msgstr "" ++ ++#: commands.c:466 menu.c:1075 ++msgid "Rename:" ++msgstr "" ++ ++#: commands.c:544 ++msgid "Insert" ++msgstr "" ++ ++#: commands.c:685 ++msgid "Specified Writescript not exist!" ++msgstr "" ++ ++#: commands.c:692 ++msgid "Cannot execute Writescript!" ++msgstr "" ++ ++#: commands.c:700 ++msgid "Burn Now?" ++msgstr "" ++ ++#: commands.c:713 ++msgid "Read DVD" ++msgstr "" ++ ++#: commands.c:723 ++msgid "Specified Readscript not exist!" ++msgstr "" ++ ++#: commands.c:730 ++msgid "Cannot execute Readscript!" ++msgstr "" ++ ++#: commands.c:741 ++msgid "Name:" ++msgstr "" ++ ++#: commands.c:742 ++msgid "Directory:" ++msgstr "" ++ ++#: commands.c:743 ++msgid "Imagetype:" ++msgstr "" ++ ++#: commands.c:761 commands.c:764 ++msgid "read in" ++msgstr "" ++ ++#: commands.c:796 ++msgid "invalid file name for DVD-Image" ++msgstr "" ++ ++#: commands.c:801 ++msgid "No Imagetype selected" ++msgstr "" ++ ++#: commands.c:806 ++msgid "No Directory selected. Use Standard?" ++msgstr "" ++ ++#: commands.c:809 ++msgid "Now Read?" ++msgstr "" ++ ++#: dvdswitch.c:21 ++msgid "allowed to play DVD-Images" ++msgstr "" ++ ++#: dvdswitch.c:22 ++msgid "DVDSwitch" ++msgstr "" ++ ++#: dvdswitch.c:195 ++msgid "Image Directory not readable or not exist" ++msgstr "" ++ ++#: dvdswitch.c:203 ++msgid "DVD-Plugin not found! Function deactivated!" ++msgstr "" ++ ++#: imagelist.c:19 ++msgid "Directory with 'VIDEO_TS' Folder" ++msgstr "" ++ ++#: imagelist.c:20 setup-itypes.c:164 ++msgid "Directory" ++msgstr "" ++ ++#: imagelist.c:24 ++msgid "File with '.iso' Extension" ++msgstr "" ++ ++#: imagelist.c:25 ++msgid "Iso-Image" ++msgstr "" ++ ++#: menu.c:272 ++msgid "Image-File" ++msgstr "" ++ ++#: menu.c:294 ++msgid "Image-Directory" ++msgstr "" ++ ++#: menu.c:388 menu.c:419 menu.c:450 menu.c:481 ++msgid "to change" ++msgstr "" ++ ++#: menu.c:550 ++msgid "File exists in Directory" ++msgstr "" ++ ++#: menu.c:955 ++msgid "without Catergory" ++msgstr "" ++ ++#: menu.c:1002 ++msgid "DVD-Drive" ++msgstr "" ++ ++#: setup-itypes.c:6 ++msgid "Imagetypes" ++msgstr "" ++ ++#: setup-itypes.c:60 setup-itypes.c:147 ++msgid "Edit" ++msgstr "" ++ ++#: setup-itypes.c:83 ++msgid "really delete Entry?" ++msgstr "" ++ ++#: setup-itypes.c:165 ++msgid "File" ++msgstr "" ++ ++#: setup-itypes.c:176 ++msgid "Description:" ++msgstr "" ++ ++#: setup-itypes.c:180 ++msgid "Type-Title:" ++msgstr "" ++ ++#: setup-itypes.c:184 ++msgid "Image Type" ++msgstr "" ++ ++#: setup-itypes.c:185 ++msgid "Directory contains:" ++msgstr "" ++ ++#: setup-itypes.c:185 ++msgid "File Extension:" ++msgstr "" ++ ++#: setup-itypes.c:190 ++msgid "Hide Extension" ++msgstr "" ++ ++#: setup-itypes.c:215 ++msgid "'Description' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:220 ++msgid "'Type-Title' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:226 ++msgid "'Directory contains' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:228 ++msgid "'File Extension' must not empty!" ++msgstr "" ++ ++#: setup.c:69 ++msgid "All Images" ++msgstr "" ++ ++#: setup.c:70 ++msgid "All with Cat." ++msgstr "" ++ ++#: setup.c:71 setup.c:75 ++msgid "Directories" ++msgstr "" ++ ++#: setup.c:74 ++msgid "Image-Type" ++msgstr "" ++ ++#: setup.c:76 ++msgid "File-Type" ++msgstr "" ++ ++#: setup.c:79 ++msgid "none" ++msgstr "" ++ ++#: setup.c:80 ++msgid "ascending" ++msgstr "" ++ ++#: setup.c:81 ++msgid "descending" ++msgstr "" ++ ++#: setup.c:84 ++msgid "none Function" ++msgstr "" ++ ++#: setup.c:85 ++msgid "Dir. Management" ++msgstr "" ++ ++#: setup.c:86 ++msgid "Tray open" ++msgstr "" ++ ++#: setup.c:87 ++msgid "Tray close" ++msgstr "" ++ ++#: setup.c:93 ++msgid "Image create" ++msgstr "" ++ ++#: setup.c:97 ++msgid "Dir.Mgmt." ++msgstr "" ++ ++#: setup.c:98 ++msgid "Open" ++msgstr "" ++ ++#: setup.c:99 ++msgid "Close" ++msgstr "" ++ ++#: setup.c:104 ++msgid "Burn" ++msgstr "" ++ ++#: setup.c:105 ++msgid "Create" ++msgstr "" ++ ++#: setup.c:243 ++msgid "Generic Settings" ++msgstr "" ++ ++#: setup.c:247 ++msgid "\tHide Mainmenu Entry" ++msgstr "" ++ ++#: setup.c:249 ++msgid "\t Name" ++msgstr "" ++ ++#: setup.c:254 ++msgid "\tImage Dir." ++msgstr "" ++ ++#: setup.c:258 setup.c:431 setup.c:437 ++msgid "\tImagetypes" ++msgstr "" ++ ++#: setup.c:259 ++msgid "\tView free DiskSpace" ++msgstr "" ++ ++#: setup.c:265 ++msgid "Display Settings" ++msgstr "" ++ ++#: setup.c:269 ++msgid "\tDisplay Mode" ++msgstr "" ++ ++#: setup.c:271 ++msgid "\t Category Type" ++msgstr "" ++ ++#: setup.c:273 ++msgid "\t invisible empty Dir's/Cat." ++msgstr "" ++ ++#: setup.c:274 ++msgid "\tAlphabetic Sort" ++msgstr "" ++ ++#: setup.c:275 ++msgid "\tvisible DVD-Drive" ++msgstr "" ++ ++#: setup.c:281 ++msgid "Special Display Settings" ++msgstr "" ++ ++#: setup.c:285 ++msgid "\tvisible Image-Type Col" ++msgstr "" ++ ++#: setup.c:287 ++msgid "\t Width for Image-Col" ++msgstr "" ++ ++#: setup.c:288 ++msgid "\tvisible Image-Size Col" ++msgstr "" ++ ++#: setup.c:289 ++msgid "\tchange Character" ++msgstr "" ++ ++#: setup.c:297 ++msgid "\tchar for Cat.Line" ++msgstr "" ++ ++#: setup.c:300 ++msgid "\t Count before Cat.Name" ++msgstr "" ++ ++#: setup.c:301 ++msgid "\tSpaces before/after Cat.Name" ++msgstr "" ++ ++#: setup.c:303 ++msgid "\tCutText for Subcat" ++msgstr "" ++ ++#: setup.c:315 ++msgid "Navigation" ++msgstr "" ++ ++#: setup.c:319 ++msgid "\tCat.Jump by Left/Right" ++msgstr "" ++ ++#: setup.c:326 ++msgid "Key allocation" ++msgstr "" ++ ++#: setup.c:330 ++msgid "\tKey 1" ++msgstr "" ++ ++#: setup.c:331 ++msgid "\tKey 2" ++msgstr "" ++ ++#: setup.c:332 ++msgid "\tKey 3" ++msgstr "" ++ ++#: setup.c:333 ++msgid "\tKey 4" ++msgstr "" ++ ++#: setup.c:334 ++msgid "\tKey 5" ++msgstr "" ++ ++#: setup.c:335 ++msgid "\tKey 6" ++msgstr "" ++ ++#: setup.c:336 ++msgid "\tKey 7" ++msgstr "" ++ ++#: setup.c:337 ++msgid "\tKey 8" ++msgstr "" ++ ++#: setup.c:338 ++msgid "\tKey 9" ++msgstr "" ++ ++#: setup.c:339 ++msgid "\tKey 0" ++msgstr "" ++ ++#: setup.c:340 ++msgid "\tKey Red" ++msgstr "" ++ ++#: setup.c:341 ++msgid "\tKey Green" ++msgstr "" ++ ++#: setup.c:342 ++msgid "\tKey Yellow" ++msgstr "" ++ ++#: setup.c:343 ++msgid "\tKey Blue" ++msgstr "" ++ ++#: setup.c:344 ++msgid "\tKey OK" ++msgstr "" ++ ++#: setup.c:432 ++msgid "to adjust" ++msgstr "" +diff -Nru dvdswitch-0.1.3/po/et_EE.po dvdswitch-0.1.3-gettext-i18n/po/et_EE.po +--- dvdswitch-0.1.3/po/et_EE.po 1970-01-01 01:00:00.000000000 +0100 ++++ dvdswitch-0.1.3-gettext-i18n/po/et_EE.po 2008-03-31 04:59:34.000000000 +0200 +@@ -0,0 +1,529 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Arthur Konovalov <kasjas@hot.ee>, 2004 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 14:49+0200\n" ++"PO-Revision-Date: 2008-03-30 14:49+0200\n" ++"Last-Translator: Arthur Konovalov <kasjas@hot.ee>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-13\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: commands.c:43 setup.c:94 setup.c:106 ++msgid "Commands" ++msgstr "" ++ ++#: commands.c:49 commands.c:98 commands.c:169 ++msgid "Directory Management" ++msgstr "" ++ ++#: commands.c:50 commands.c:100 ++msgid "DVD-Tray open" ++msgstr "" ++ ++#: commands.c:51 commands.c:102 ++msgid "DVD-Tray close" ++msgstr "" ++ ++#: commands.c:52 commands.c:104 setup.c:88 setup.c:100 ++msgid "Play" ++msgstr "" ++ ++#: commands.c:58 commands.c:106 setup.c:89 ++msgid "Image rename" ++msgstr "" ++ ++#: commands.c:64 commands.c:108 setup.c:90 ++msgid "Image move" ++msgstr "" ++ ++#: commands.c:70 commands.c:110 setup.c:91 ++msgid "Image delete" ++msgstr "" ++ ++#: commands.c:76 commands.c:112 setup.c:92 ++msgid "Image burn" ++msgstr "" ++ ++#: commands.c:82 commands.c:114 ++msgid "Image to create from DVD" ++msgstr "" ++ ++#: commands.c:183 ++msgid "Select Directory" ++msgstr "" ++ ++#: commands.c:200 commands.c:202 commands.c:204 setup-itypes.c:58 ++#: setup-itypes.c:60 setup-itypes.c:63 setup-itypes.c:143 ++msgid "New" ++msgstr "" ++ ++#: commands.c:200 commands.c:761 setup-itypes.c:58 ++msgid "Select" ++msgstr "" ++ ++#: commands.c:202 setup-itypes.c:60 setup.c:103 ++msgid "Delete" ++msgstr "" ++ ++#: commands.c:202 commands.c:526 setup.c:102 ++msgid "Move" ++msgstr "" ++ ++#: commands.c:202 setup.c:101 ++msgid "Rename" ++msgstr "" ++ ++#: commands.c:222 ++msgid "Edit Directories" ++msgstr "" ++ ++#: commands.c:264 commands.c:312 menu.c:782 ++msgid "no Rights!" ++msgstr "" ++ ++#: commands.c:282 commands.c:658 ++msgid "really delete?" ++msgstr "" ++ ++#: commands.c:286 ++msgid "Directory not empty. however delete?" ++msgstr "" ++ ++#: commands.c:369 ++msgid "no Rights to create" ++msgstr "" ++ ++#: commands.c:379 setup.c:252 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~" ++msgstr "" ++ ++#: commands.c:379 ++msgid "New:" ++msgstr "" ++ ++#: commands.c:408 commands.c:497 ++msgid "Directory exists" ++msgstr "" ++ ++#: commands.c:446 menu.c:1048 ++msgid "no Rights to rename" ++msgstr "" ++ ++#: commands.c:466 commands.c:741 commands.c:742 commands.c:743 menu.c:1075 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-_.#~" ++msgstr "" ++ ++#: commands.c:466 menu.c:1075 ++msgid "Rename:" ++msgstr "" ++ ++#: commands.c:544 ++msgid "Insert" ++msgstr "" ++ ++#: commands.c:685 ++msgid "Specified Writescript not exist!" ++msgstr "" ++ ++#: commands.c:692 ++msgid "Cannot execute Writescript!" ++msgstr "" ++ ++#: commands.c:700 ++msgid "Burn Now?" ++msgstr "" ++ ++#: commands.c:713 ++msgid "Read DVD" ++msgstr "" ++ ++#: commands.c:723 ++msgid "Specified Readscript not exist!" ++msgstr "" ++ ++#: commands.c:730 ++msgid "Cannot execute Readscript!" ++msgstr "" ++ ++#: commands.c:741 ++msgid "Name:" ++msgstr "" ++ ++#: commands.c:742 ++msgid "Directory:" ++msgstr "" ++ ++#: commands.c:743 ++msgid "Imagetype:" ++msgstr "" ++ ++#: commands.c:761 commands.c:764 ++msgid "read in" ++msgstr "" ++ ++#: commands.c:796 ++msgid "invalid file name for DVD-Image" ++msgstr "" ++ ++#: commands.c:801 ++msgid "No Imagetype selected" ++msgstr "" ++ ++#: commands.c:806 ++msgid "No Directory selected. Use Standard?" ++msgstr "" ++ ++#: commands.c:809 ++msgid "Now Read?" ++msgstr "" ++ ++#: dvdswitch.c:21 ++msgid "allowed to play DVD-Images" ++msgstr "" ++ ++#: dvdswitch.c:22 ++msgid "DVDSwitch" ++msgstr "" ++ ++#: dvdswitch.c:195 ++msgid "Image Directory not readable or not exist" ++msgstr "" ++ ++#: dvdswitch.c:203 ++msgid "DVD-Plugin not found! Function deactivated!" ++msgstr "" ++ ++#: imagelist.c:19 ++msgid "Directory with 'VIDEO_TS' Folder" ++msgstr "" ++ ++#: imagelist.c:20 setup-itypes.c:164 ++msgid "Directory" ++msgstr "" ++ ++#: imagelist.c:24 ++msgid "File with '.iso' Extension" ++msgstr "" ++ ++#: imagelist.c:25 ++msgid "Iso-Image" ++msgstr "" ++ ++#: menu.c:272 ++msgid "Image-File" ++msgstr "" ++ ++#: menu.c:294 ++msgid "Image-Directory" ++msgstr "" ++ ++#: menu.c:388 menu.c:419 menu.c:450 menu.c:481 ++msgid "to change" ++msgstr "" ++ ++#: menu.c:550 ++msgid "File exists in Directory" ++msgstr "" ++ ++#: menu.c:955 ++msgid "without Catergory" ++msgstr "" ++ ++#: menu.c:1002 ++msgid "DVD-Drive" ++msgstr "" ++ ++#: setup-itypes.c:6 ++msgid "Imagetypes" ++msgstr "" ++ ++#: setup-itypes.c:60 setup-itypes.c:147 ++msgid "Edit" ++msgstr "" ++ ++#: setup-itypes.c:83 ++msgid "really delete Entry?" ++msgstr "" ++ ++#: setup-itypes.c:165 ++msgid "File" ++msgstr "" ++ ++#: setup-itypes.c:176 ++msgid "Description:" ++msgstr "" ++ ++#: setup-itypes.c:180 ++msgid "Type-Title:" ++msgstr "" ++ ++#: setup-itypes.c:184 ++msgid "Image Type" ++msgstr "" ++ ++#: setup-itypes.c:185 ++msgid "Directory contains:" ++msgstr "" ++ ++#: setup-itypes.c:185 ++msgid "File Extension:" ++msgstr "" ++ ++#: setup-itypes.c:190 ++msgid "Hide Extension" ++msgstr "" ++ ++#: setup-itypes.c:215 ++msgid "'Description' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:220 ++msgid "'Type-Title' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:226 ++msgid "'Directory contains' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:228 ++msgid "'File Extension' must not empty!" ++msgstr "" ++ ++#: setup.c:69 ++msgid "All Images" ++msgstr "" ++ ++#: setup.c:70 ++msgid "All with Cat." ++msgstr "" ++ ++#: setup.c:71 setup.c:75 ++msgid "Directories" ++msgstr "" ++ ++#: setup.c:74 ++msgid "Image-Type" ++msgstr "" ++ ++#: setup.c:76 ++msgid "File-Type" ++msgstr "" ++ ++#: setup.c:79 ++msgid "none" ++msgstr "" ++ ++#: setup.c:80 ++msgid "ascending" ++msgstr "" ++ ++#: setup.c:81 ++msgid "descending" ++msgstr "" ++ ++#: setup.c:84 ++msgid "none Function" ++msgstr "" ++ ++#: setup.c:85 ++msgid "Dir. Management" ++msgstr "" ++ ++#: setup.c:86 ++msgid "Tray open" ++msgstr "" ++ ++#: setup.c:87 ++msgid "Tray close" ++msgstr "" ++ ++#: setup.c:93 ++msgid "Image create" ++msgstr "" ++ ++#: setup.c:97 ++msgid "Dir.Mgmt." ++msgstr "" ++ ++#: setup.c:98 ++msgid "Open" ++msgstr "" ++ ++#: setup.c:99 ++msgid "Close" ++msgstr "" ++ ++#: setup.c:104 ++msgid "Burn" ++msgstr "" ++ ++#: setup.c:105 ++msgid "Create" ++msgstr "" ++ ++#: setup.c:243 ++msgid "Generic Settings" ++msgstr "" ++ ++#: setup.c:247 ++msgid "\tHide Mainmenu Entry" ++msgstr "" ++ ++#: setup.c:249 ++msgid "\t Name" ++msgstr "" ++ ++#: setup.c:254 ++msgid "\tImage Dir." ++msgstr "" ++ ++#: setup.c:258 setup.c:431 setup.c:437 ++msgid "\tImagetypes" ++msgstr "" ++ ++#: setup.c:259 ++msgid "\tView free DiskSpace" ++msgstr "" ++ ++#: setup.c:265 ++msgid "Display Settings" ++msgstr "" ++ ++#: setup.c:269 ++msgid "\tDisplay Mode" ++msgstr "" ++ ++#: setup.c:271 ++msgid "\t Category Type" ++msgstr "" ++ ++#: setup.c:273 ++msgid "\t invisible empty Dir's/Cat." ++msgstr "" ++ ++#: setup.c:274 ++msgid "\tAlphabetic Sort" ++msgstr "" ++ ++#: setup.c:275 ++msgid "\tvisible DVD-Drive" ++msgstr "" ++ ++#: setup.c:281 ++msgid "Special Display Settings" ++msgstr "" ++ ++#: setup.c:285 ++msgid "\tvisible Image-Type Col" ++msgstr "" ++ ++#: setup.c:287 ++msgid "\t Width for Image-Col" ++msgstr "" ++ ++#: setup.c:288 ++msgid "\tvisible Image-Size Col" ++msgstr "" ++ ++#: setup.c:289 ++msgid "\tchange Character" ++msgstr "" ++ ++#: setup.c:297 ++msgid "\tchar for Cat.Line" ++msgstr "" ++ ++#: setup.c:300 ++msgid "\t Count before Cat.Name" ++msgstr "" ++ ++#: setup.c:301 ++msgid "\tSpaces before/after Cat.Name" ++msgstr "" ++ ++#: setup.c:303 ++msgid "\tCutText for Subcat" ++msgstr "" ++ ++#: setup.c:315 ++msgid "Navigation" ++msgstr "" ++ ++#: setup.c:319 ++msgid "\tCat.Jump by Left/Right" ++msgstr "" ++ ++#: setup.c:326 ++msgid "Key allocation" ++msgstr "" ++ ++#: setup.c:330 ++msgid "\tKey 1" ++msgstr "" ++ ++#: setup.c:331 ++msgid "\tKey 2" ++msgstr "" ++ ++#: setup.c:332 ++msgid "\tKey 3" ++msgstr "" ++ ++#: setup.c:333 ++msgid "\tKey 4" ++msgstr "" ++ ++#: setup.c:334 ++msgid "\tKey 5" ++msgstr "" ++ ++#: setup.c:335 ++msgid "\tKey 6" ++msgstr "" ++ ++#: setup.c:336 ++msgid "\tKey 7" ++msgstr "" ++ ++#: setup.c:337 ++msgid "\tKey 8" ++msgstr "" ++ ++#: setup.c:338 ++msgid "\tKey 9" ++msgstr "" ++ ++#: setup.c:339 ++msgid "\tKey 0" ++msgstr "" ++ ++#: setup.c:340 ++msgid "\tKey Red" ++msgstr "" ++ ++#: setup.c:341 ++msgid "\tKey Green" ++msgstr "" ++ ++#: setup.c:342 ++msgid "\tKey Yellow" ++msgstr "" ++ ++#: setup.c:343 ++msgid "\tKey Blue" ++msgstr "" ++ ++#: setup.c:344 ++msgid "\tKey OK" ++msgstr "" ++ ++#: setup.c:432 ++msgid "to adjust" ++msgstr "" +diff -Nru dvdswitch-0.1.3/po/fi_FI.po dvdswitch-0.1.3-gettext-i18n/po/fi_FI.po +--- dvdswitch-0.1.3/po/fi_FI.po 1970-01-01 01:00:00.000000000 +0100 ++++ dvdswitch-0.1.3-gettext-i18n/po/fi_FI.po 2008-03-31 04:59:34.000000000 +0200 +@@ -0,0 +1,532 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Hannu Savolainen <hannu@opensound.com>, 2002 ++# Jaakko Hyvätti <jaakko@hyvatti.iki.fi>, 2002 ++# Niko Tarnanen <niko.tarnanen@hut.fi>, 2003 ++# Rolf Ahrenberg <rahrenbe@cc.hut.fi>, 2003 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 14:49+0200\n" ++"PO-Revision-Date: 2008-03-30 14:49+0200\n" ++"Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-15\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: commands.c:43 setup.c:94 setup.c:106 ++msgid "Commands" ++msgstr "" ++ ++#: commands.c:49 commands.c:98 commands.c:169 ++msgid "Directory Management" ++msgstr "" ++ ++#: commands.c:50 commands.c:100 ++msgid "DVD-Tray open" ++msgstr "" ++ ++#: commands.c:51 commands.c:102 ++msgid "DVD-Tray close" ++msgstr "" ++ ++#: commands.c:52 commands.c:104 setup.c:88 setup.c:100 ++msgid "Play" ++msgstr "" ++ ++#: commands.c:58 commands.c:106 setup.c:89 ++msgid "Image rename" ++msgstr "" ++ ++#: commands.c:64 commands.c:108 setup.c:90 ++msgid "Image move" ++msgstr "" ++ ++#: commands.c:70 commands.c:110 setup.c:91 ++msgid "Image delete" ++msgstr "" ++ ++#: commands.c:76 commands.c:112 setup.c:92 ++msgid "Image burn" ++msgstr "" ++ ++#: commands.c:82 commands.c:114 ++msgid "Image to create from DVD" ++msgstr "" ++ ++#: commands.c:183 ++msgid "Select Directory" ++msgstr "" ++ ++#: commands.c:200 commands.c:202 commands.c:204 setup-itypes.c:58 ++#: setup-itypes.c:60 setup-itypes.c:63 setup-itypes.c:143 ++msgid "New" ++msgstr "" ++ ++#: commands.c:200 commands.c:761 setup-itypes.c:58 ++msgid "Select" ++msgstr "" ++ ++#: commands.c:202 setup-itypes.c:60 setup.c:103 ++msgid "Delete" ++msgstr "" ++ ++#: commands.c:202 commands.c:526 setup.c:102 ++msgid "Move" ++msgstr "" ++ ++#: commands.c:202 setup.c:101 ++msgid "Rename" ++msgstr "" ++ ++#: commands.c:222 ++msgid "Edit Directories" ++msgstr "" ++ ++#: commands.c:264 commands.c:312 menu.c:782 ++msgid "no Rights!" ++msgstr "" ++ ++#: commands.c:282 commands.c:658 ++msgid "really delete?" ++msgstr "" ++ ++#: commands.c:286 ++msgid "Directory not empty. however delete?" ++msgstr "" ++ ++#: commands.c:369 ++msgid "no Rights to create" ++msgstr "" ++ ++#: commands.c:379 setup.c:252 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~" ++msgstr "" ++ ++#: commands.c:379 ++msgid "New:" ++msgstr "" ++ ++#: commands.c:408 commands.c:497 ++msgid "Directory exists" ++msgstr "" ++ ++#: commands.c:446 menu.c:1048 ++msgid "no Rights to rename" ++msgstr "" ++ ++#: commands.c:466 commands.c:741 commands.c:742 commands.c:743 menu.c:1075 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-_.#~" ++msgstr "" ++ ++#: commands.c:466 menu.c:1075 ++msgid "Rename:" ++msgstr "" ++ ++#: commands.c:544 ++msgid "Insert" ++msgstr "" ++ ++#: commands.c:685 ++msgid "Specified Writescript not exist!" ++msgstr "" ++ ++#: commands.c:692 ++msgid "Cannot execute Writescript!" ++msgstr "" ++ ++#: commands.c:700 ++msgid "Burn Now?" ++msgstr "" ++ ++#: commands.c:713 ++msgid "Read DVD" ++msgstr "" ++ ++#: commands.c:723 ++msgid "Specified Readscript not exist!" ++msgstr "" ++ ++#: commands.c:730 ++msgid "Cannot execute Readscript!" ++msgstr "" ++ ++#: commands.c:741 ++msgid "Name:" ++msgstr "" ++ ++#: commands.c:742 ++msgid "Directory:" ++msgstr "" ++ ++#: commands.c:743 ++msgid "Imagetype:" ++msgstr "" ++ ++#: commands.c:761 commands.c:764 ++msgid "read in" ++msgstr "" ++ ++#: commands.c:796 ++msgid "invalid file name for DVD-Image" ++msgstr "" ++ ++#: commands.c:801 ++msgid "No Imagetype selected" ++msgstr "" ++ ++#: commands.c:806 ++msgid "No Directory selected. Use Standard?" ++msgstr "" ++ ++#: commands.c:809 ++msgid "Now Read?" ++msgstr "" ++ ++#: dvdswitch.c:21 ++msgid "allowed to play DVD-Images" ++msgstr "" ++ ++#: dvdswitch.c:22 ++msgid "DVDSwitch" ++msgstr "" ++ ++#: dvdswitch.c:195 ++msgid "Image Directory not readable or not exist" ++msgstr "" ++ ++#: dvdswitch.c:203 ++msgid "DVD-Plugin not found! Function deactivated!" ++msgstr "" ++ ++#: imagelist.c:19 ++msgid "Directory with 'VIDEO_TS' Folder" ++msgstr "" ++ ++#: imagelist.c:20 setup-itypes.c:164 ++msgid "Directory" ++msgstr "" ++ ++#: imagelist.c:24 ++msgid "File with '.iso' Extension" ++msgstr "" ++ ++#: imagelist.c:25 ++msgid "Iso-Image" ++msgstr "" ++ ++#: menu.c:272 ++msgid "Image-File" ++msgstr "" ++ ++#: menu.c:294 ++msgid "Image-Directory" ++msgstr "" ++ ++#: menu.c:388 menu.c:419 menu.c:450 menu.c:481 ++msgid "to change" ++msgstr "" ++ ++#: menu.c:550 ++msgid "File exists in Directory" ++msgstr "" ++ ++#: menu.c:955 ++msgid "without Catergory" ++msgstr "" ++ ++#: menu.c:1002 ++msgid "DVD-Drive" ++msgstr "" ++ ++#: setup-itypes.c:6 ++msgid "Imagetypes" ++msgstr "" ++ ++#: setup-itypes.c:60 setup-itypes.c:147 ++msgid "Edit" ++msgstr "" ++ ++#: setup-itypes.c:83 ++msgid "really delete Entry?" ++msgstr "" ++ ++#: setup-itypes.c:165 ++msgid "File" ++msgstr "" ++ ++#: setup-itypes.c:176 ++msgid "Description:" ++msgstr "" ++ ++#: setup-itypes.c:180 ++msgid "Type-Title:" ++msgstr "" ++ ++#: setup-itypes.c:184 ++msgid "Image Type" ++msgstr "" ++ ++#: setup-itypes.c:185 ++msgid "Directory contains:" ++msgstr "" ++ ++#: setup-itypes.c:185 ++msgid "File Extension:" ++msgstr "" ++ ++#: setup-itypes.c:190 ++msgid "Hide Extension" ++msgstr "" ++ ++#: setup-itypes.c:215 ++msgid "'Description' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:220 ++msgid "'Type-Title' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:226 ++msgid "'Directory contains' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:228 ++msgid "'File Extension' must not empty!" ++msgstr "" ++ ++#: setup.c:69 ++msgid "All Images" ++msgstr "" ++ ++#: setup.c:70 ++msgid "All with Cat." ++msgstr "" ++ ++#: setup.c:71 setup.c:75 ++msgid "Directories" ++msgstr "" ++ ++#: setup.c:74 ++msgid "Image-Type" ++msgstr "" ++ ++#: setup.c:76 ++msgid "File-Type" ++msgstr "" ++ ++#: setup.c:79 ++msgid "none" ++msgstr "" ++ ++#: setup.c:80 ++msgid "ascending" ++msgstr "" ++ ++#: setup.c:81 ++msgid "descending" ++msgstr "" ++ ++#: setup.c:84 ++msgid "none Function" ++msgstr "" ++ ++#: setup.c:85 ++msgid "Dir. Management" ++msgstr "" ++ ++#: setup.c:86 ++msgid "Tray open" ++msgstr "" ++ ++#: setup.c:87 ++msgid "Tray close" ++msgstr "" ++ ++#: setup.c:93 ++msgid "Image create" ++msgstr "" ++ ++#: setup.c:97 ++msgid "Dir.Mgmt." ++msgstr "" ++ ++#: setup.c:98 ++msgid "Open" ++msgstr "" ++ ++#: setup.c:99 ++msgid "Close" ++msgstr "" ++ ++#: setup.c:104 ++msgid "Burn" ++msgstr "" ++ ++#: setup.c:105 ++msgid "Create" ++msgstr "" ++ ++#: setup.c:243 ++msgid "Generic Settings" ++msgstr "" ++ ++#: setup.c:247 ++msgid "\tHide Mainmenu Entry" ++msgstr "" ++ ++#: setup.c:249 ++msgid "\t Name" ++msgstr "" ++ ++#: setup.c:254 ++msgid "\tImage Dir." ++msgstr "" ++ ++#: setup.c:258 setup.c:431 setup.c:437 ++msgid "\tImagetypes" ++msgstr "" ++ ++#: setup.c:259 ++msgid "\tView free DiskSpace" ++msgstr "" ++ ++#: setup.c:265 ++msgid "Display Settings" ++msgstr "" ++ ++#: setup.c:269 ++msgid "\tDisplay Mode" ++msgstr "" ++ ++#: setup.c:271 ++msgid "\t Category Type" ++msgstr "" ++ ++#: setup.c:273 ++msgid "\t invisible empty Dir's/Cat." ++msgstr "" ++ ++#: setup.c:274 ++msgid "\tAlphabetic Sort" ++msgstr "" ++ ++#: setup.c:275 ++msgid "\tvisible DVD-Drive" ++msgstr "" ++ ++#: setup.c:281 ++msgid "Special Display Settings" ++msgstr "" ++ ++#: setup.c:285 ++msgid "\tvisible Image-Type Col" ++msgstr "" ++ ++#: setup.c:287 ++msgid "\t Width for Image-Col" ++msgstr "" ++ ++#: setup.c:288 ++msgid "\tvisible Image-Size Col" ++msgstr "" ++ ++#: setup.c:289 ++msgid "\tchange Character" ++msgstr "" ++ ++#: setup.c:297 ++msgid "\tchar for Cat.Line" ++msgstr "" ++ ++#: setup.c:300 ++msgid "\t Count before Cat.Name" ++msgstr "" ++ ++#: setup.c:301 ++msgid "\tSpaces before/after Cat.Name" ++msgstr "" ++ ++#: setup.c:303 ++msgid "\tCutText for Subcat" ++msgstr "" ++ ++#: setup.c:315 ++msgid "Navigation" ++msgstr "" ++ ++#: setup.c:319 ++msgid "\tCat.Jump by Left/Right" ++msgstr "" ++ ++#: setup.c:326 ++msgid "Key allocation" ++msgstr "" ++ ++#: setup.c:330 ++msgid "\tKey 1" ++msgstr "" ++ ++#: setup.c:331 ++msgid "\tKey 2" ++msgstr "" ++ ++#: setup.c:332 ++msgid "\tKey 3" ++msgstr "" ++ ++#: setup.c:333 ++msgid "\tKey 4" ++msgstr "" ++ ++#: setup.c:334 ++msgid "\tKey 5" ++msgstr "" ++ ++#: setup.c:335 ++msgid "\tKey 6" ++msgstr "" ++ ++#: setup.c:336 ++msgid "\tKey 7" ++msgstr "" ++ ++#: setup.c:337 ++msgid "\tKey 8" ++msgstr "" ++ ++#: setup.c:338 ++msgid "\tKey 9" ++msgstr "" ++ ++#: setup.c:339 ++msgid "\tKey 0" ++msgstr "" ++ ++#: setup.c:340 ++msgid "\tKey Red" ++msgstr "" ++ ++#: setup.c:341 ++msgid "\tKey Green" ++msgstr "" ++ ++#: setup.c:342 ++msgid "\tKey Yellow" ++msgstr "" ++ ++#: setup.c:343 ++msgid "\tKey Blue" ++msgstr "" ++ ++#: setup.c:344 ++msgid "\tKey OK" ++msgstr "" ++ ++#: setup.c:432 ++msgid "to adjust" ++msgstr "" +diff -Nru dvdswitch-0.1.3/po/fr_FR.po dvdswitch-0.1.3-gettext-i18n/po/fr_FR.po +--- dvdswitch-0.1.3/po/fr_FR.po 1970-01-01 01:00:00.000000000 +0100 ++++ dvdswitch-0.1.3-gettext-i18n/po/fr_FR.po 2008-03-31 05:01:26.000000000 +0200 +@@ -0,0 +1,532 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Jean-Claude Repetto <jc@repetto.org>, 2001 ++# Olivier Jacques <jacquesolivier@hotmail.com>, 2003 ++# Gregoire Favre <greg@magma.unil.ch>, 2003 ++# Nicolas Huillard <nhuillard@e-dition.fr>, 2005 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 14:14+0200\n" ++"PO-Revision-Date: 2008-03-30 14:14+0200\n" ++"Last-Translator: Nicolas Huillard <nhuillard@e-dition.fr>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-1\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: commands.c:43 setup.c:94 setup.c:106 ++msgid "Commands" ++msgstr "Commandes" ++ ++#: commands.c:49 commands.c:98 commands.c:169 ++msgid "Directory Management" ++msgstr "Management des chemins" ++ ++#: commands.c:50 commands.c:100 ++msgid "DVD-Tray open" ++msgstr "Ouvrir le lecteur DVD" ++ ++#: commands.c:51 commands.c:102 ++msgid "DVD-Tray close" ++msgstr "Fermer le lecteur DVD" ++ ++#: commands.c:52 commands.c:104 setup.c:88 setup.c:100 ++msgid "Play" ++msgstr "Lire" ++ ++#: commands.c:58 commands.c:106 setup.c:89 ++msgid "Image rename" ++msgstr "Renommer l'image" ++ ++#: commands.c:64 commands.c:108 setup.c:90 ++msgid "Image move" ++msgstr "Déplacer l'image" ++ ++#: commands.c:70 commands.c:110 setup.c:91 ++msgid "Image delete" ++msgstr "Supprimer l'image" ++ ++#: commands.c:76 commands.c:112 setup.c:92 ++msgid "Image burn" ++msgstr "Graver l'image" ++ ++#: commands.c:82 commands.c:114 ++msgid "Image to create from DVD" ++msgstr "Créer l'image du DVD" ++ ++#: commands.c:183 ++msgid "Select Directory" ++msgstr "Sélectionner le chemin" ++ ++#: commands.c:200 commands.c:202 commands.c:204 setup-itypes.c:58 ++#: setup-itypes.c:60 setup-itypes.c:63 setup-itypes.c:143 ++msgid "New" ++msgstr "Nouveau" ++ ++#: commands.c:200 commands.c:761 setup-itypes.c:58 ++msgid "Select" ++msgstr "Sélectionner" ++ ++#: commands.c:202 setup-itypes.c:60 setup.c:103 ++msgid "Delete" ++msgstr "Supprimer" ++ ++#: commands.c:202 commands.c:526 setup.c:102 ++msgid "Move" ++msgstr "Déplacer" ++ ++#: commands.c:202 setup.c:101 ++msgid "Rename" ++msgstr "Renommer" ++ ++#: commands.c:222 ++msgid "Edit Directories" ++msgstr "Editer le chemin" ++ ++#: commands.c:264 commands.c:312 menu.c:782 ++msgid "no Rights!" ++msgstr "Pas les droits !" ++ ++#: commands.c:282 commands.c:658 ++msgid "really delete?" ++msgstr "Supprimer ?" ++ ++#: commands.c:286 ++msgid "Directory not empty. however delete?" ++msgstr "Répertoire non vide. Supprimer ?" ++ ++#: commands.c:369 ++msgid "no Rights to create" ++msgstr "Pas les droits de créer" ++ ++#: commands.c:379 setup.c:252 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~" ++msgstr " abcdefghijklmnopqrstuvwxyz0123456789-.#~" ++ ++#: commands.c:379 ++msgid "New:" ++msgstr "Nouveau :" ++ ++#: commands.c:408 commands.c:497 ++msgid "Directory exists" ++msgstr "Le chemin existe" ++ ++#: commands.c:446 menu.c:1048 ++msgid "no Rights to rename" ++msgstr "Pas les droits pour renommer" ++ ++#: commands.c:466 commands.c:741 commands.c:742 commands.c:743 menu.c:1075 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-_.#~" ++msgstr " abcdefghijklmnopqrstuvwxyz0123456789-_.#~" ++ ++#: commands.c:466 menu.c:1075 ++msgid "Rename:" ++msgstr "Renommer :" ++ ++#: commands.c:544 ++msgid "Insert" ++msgstr "Insérer" ++ ++#: commands.c:685 ++msgid "Specified Writescript not exist!" ++msgstr "Le Writescript spécifié n'existe pas !" ++ ++#: commands.c:692 ++msgid "Cannot execute Writescript!" ++msgstr "Writescript non éxecutable !" ++ ++#: commands.c:700 ++msgid "Burn Now?" ++msgstr "Graver maintenant ?" ++ ++#: commands.c:713 ++msgid "Read DVD" ++msgstr "Lire le DVD" ++ ++#: commands.c:723 ++msgid "Specified Readscript not exist!" ++msgstr "Le Readscript spécifié n'existe pas !" ++ ++#: commands.c:730 ++msgid "Cannot execute Readscript!" ++msgstr "Readscript non éxecutable !" ++ ++#: commands.c:741 ++msgid "Name:" ++msgstr "Nom :" ++ ++#: commands.c:742 ++msgid "Directory:" ++msgstr "Chemin :" ++ ++#: commands.c:743 ++msgid "Imagetype:" ++msgstr "Type d'image :" ++ ++#: commands.c:761 commands.c:764 ++msgid "read in" ++msgstr "Lu" ++ ++#: commands.c:796 ++msgid "invalid file name for DVD-Image" ++msgstr "Nom de fichier invalide pour image DVD" ++ ++#: commands.c:801 ++msgid "No Imagetype selected" ++msgstr "Pas de type d'image sélectionné" ++ ++#: commands.c:806 ++msgid "No Directory selected. Use Standard?" ++msgstr "Pas de chemin selectionné. Utiliser Standard ?" ++ ++#: commands.c:809 ++msgid "Now Read?" ++msgstr "Lire maintenant ?" ++ ++#: dvdswitch.c:21 ++msgid "allowed to play DVD-Images" ++msgstr "Permet de lire les images DVD" ++ ++#: dvdswitch.c:22 ++msgid "DVDSwitch" ++msgstr "DVDSwitch" ++ ++#: dvdswitch.c:195 ++msgid "Image Directory not readable or not exist" ++msgstr "Chemin vers image non lisible ou n'existe pas" ++ ++#: dvdswitch.c:203 ++msgid "DVD-Plugin not found! Function deactivated!" ++msgstr "Plugin DVD non trouvé ! Fonction désactivé !" ++ ++#: imagelist.c:19 ++msgid "Directory with 'VIDEO_TS' Folder" ++msgstr "Chemin avec rep. 'VIDEO_TS'" ++ ++#: imagelist.c:20 setup-itypes.c:164 ++msgid "Directory" ++msgstr "Chemin" ++ ++#: imagelist.c:24 ++msgid "File with '.iso' Extension" ++msgstr "Fichier avec extension '.iso'" ++ ++#: imagelist.c:25 ++msgid "Iso-Image" ++msgstr "Image Iso" ++ ++#: menu.c:272 ++msgid "Image-File" ++msgstr "Fichier Image" ++ ++#: menu.c:294 ++msgid "Image-Directory" ++msgstr "Chemin Image" ++ ++#: menu.c:388 menu.c:419 menu.c:450 menu.c:481 ++msgid "to change" ++msgstr "Changer" ++ ++#: menu.c:550 ++msgid "File exists in Directory" ++msgstr "Le fichier n'existe pas dans le chemin" ++ ++#: menu.c:955 ++msgid "without Catergory" ++msgstr "Sans catégorie" ++ ++#: menu.c:1002 ++msgid "DVD-Drive" ++msgstr "DVD-Drive" ++ ++#: setup-itypes.c:6 ++msgid "Imagetypes" ++msgstr "Type image" ++ ++#: setup-itypes.c:60 setup-itypes.c:147 ++msgid "Edit" ++msgstr "Editer" ++ ++#: setup-itypes.c:83 ++msgid "really delete Entry?" ++msgstr "Supprimer l'entrée ?" ++ ++#: setup-itypes.c:165 ++msgid "File" ++msgstr "Fichier" ++ ++#: setup-itypes.c:176 ++msgid "Description:" ++msgstr "Description :" ++ ++#: setup-itypes.c:180 ++msgid "Type-Title:" ++msgstr "Type de titre" ++ ++#: setup-itypes.c:184 ++msgid "Image Type" ++msgstr "Type d'image" ++ ++#: setup-itypes.c:185 ++msgid "Directory contains:" ++msgstr "Le chemin contient :" ++ ++#: setup-itypes.c:185 ++msgid "File Extension:" ++msgstr "Extension de fichier :" ++ ++#: setup-itypes.c:190 ++msgid "Hide Extension" ++msgstr "Masquer les extensions" ++ ++#: setup-itypes.c:215 ++msgid "'Description' must not empty!" ++msgstr "'Description' ne doit pas être vide !" ++ ++#: setup-itypes.c:220 ++msgid "'Type-Title' must not empty!" ++msgstr "'Type Titre' ne doit pas être vide !" ++ ++#: setup-itypes.c:226 ++msgid "'Directory contains' must not empty!" ++msgstr "'Chemin contient' ne doit pas être vide !" ++ ++#: setup-itypes.c:228 ++msgid "'File Extension' must not empty!" ++msgstr "'Extension fichier' ne doit pas être vide !" ++ ++#: setup.c:69 ++msgid "All Images" ++msgstr "Toutes les images" ++ ++#: setup.c:70 ++msgid "All with Cat." ++msgstr "Tous avec Cat." ++ ++#: setup.c:71 setup.c:75 ++msgid "Directories" ++msgstr "Chemin" ++ ++#: setup.c:74 ++msgid "Image-Type" ++msgstr "Type d'image" ++ ++#: setup.c:76 ++msgid "File-Type" ++msgstr "Type de fichier" ++ ++#: setup.c:79 ++msgid "none" ++msgstr "aucun" ++ ++#: setup.c:80 ++msgid "ascending" ++msgstr "ascendant" ++ ++#: setup.c:81 ++msgid "descending" ++msgstr "descendant" ++ ++#: setup.c:84 ++msgid "none Function" ++msgstr "Aucune fonction" ++ ++#: setup.c:85 ++msgid "Dir. Management" ++msgstr "Management des chemins" ++ ++#: setup.c:86 ++msgid "Tray open" ++msgstr "Ouvrir le lecteur" ++ ++#: setup.c:87 ++msgid "Tray close" ++msgstr "Fermer le lecteur" ++ ++#: setup.c:93 ++msgid "Image create" ++msgstr "Créer image" ++ ++#: setup.c:97 ++msgid "Dir.Mgmt." ++msgstr "Chemin management" ++ ++#: setup.c:98 ++msgid "Open" ++msgstr "Ouvrir" ++ ++#: setup.c:99 ++msgid "Close" ++msgstr "Fermer" ++ ++#: setup.c:104 ++msgid "Burn" ++msgstr "Graver" ++ ++#: setup.c:105 ++msgid "Create" ++msgstr "Créer" ++ ++#: setup.c:243 ++msgid "Generic Settings" ++msgstr "Paramètre générique" ++ ++#: setup.c:247 ++msgid "\tHide Mainmenu Entry" ++msgstr "\tMasquer dans le menu" ++ ++#: setup.c:249 ++msgid "\t Name" ++msgstr "\t Nom" ++ ++#: setup.c:254 ++msgid "\tImage Dir." ++msgstr "\tChemin des images" ++ ++#: setup.c:258 setup.c:431 setup.c:437 ++msgid "\tImagetypes" ++msgstr "\tType d'image" ++ ++#: setup.c:259 ++msgid "\tView free DiskSpace" ++msgstr "\tAfficher espace libre" ++ ++#: setup.c:265 ++msgid "Display Settings" ++msgstr "Paramètres d'affichage" ++ ++#: setup.c:269 ++msgid "\tDisplay Mode" ++msgstr "\tMode d'affichage" ++ ++#: setup.c:271 ++msgid "\t Category Type" ++msgstr "\t Type de catégorie" ++ ++#: setup.c:273 ++msgid "\t invisible empty Dir's/Cat." ++msgstr "\t Rep/Cat. invisible si vide" ++ ++#: setup.c:274 ++msgid "\tAlphabetic Sort" ++msgstr "\tTrie alphabétique" ++ ++#: setup.c:275 ++msgid "\tvisible DVD-Drive" ++msgstr "\tlecteur DVD visible" ++ ++#: setup.c:281 ++msgid "Special Display Settings" ++msgstr "Paramètre d'affichage spécial" ++ ++#: setup.c:285 ++msgid "\tvisible Image-Type Col" ++msgstr "\tCol. Type-Image visible" ++ ++#: setup.c:287 ++msgid "\t Width for Image-Col" ++msgstr "\t Largeur pour Col. Image" ++ ++#: setup.c:288 ++msgid "\tvisible Image-Size Col" ++msgstr "\tCol. Taille-Image visible" ++ ++#: setup.c:289 ++msgid "\tchange Character" ++msgstr "\tChanger caractère" ++ ++#: setup.c:297 ++msgid "\tchar for Cat.Line" ++msgstr "\tchar pour Cat.Ligne" ++ ++#: setup.c:300 ++msgid "\t Count before Cat.Name" ++msgstr "\t Compte avant Cat.Nom" ++ ++#: setup.c:301 ++msgid "\tSpaces before/after Cat.Name" ++msgstr "\tEspace avant/après Cat.Nom" ++ ++#: setup.c:303 ++msgid "\tCutText for Subcat" ++msgstr "\tCouper texte pour Subcat" ++ ++#: setup.c:315 ++msgid "Navigation" ++msgstr "Navigation" ++ ++#: setup.c:319 ++msgid "\tCat.Jump by Left/Right" ++msgstr "\tCat. Jump par droite/gauche" ++ ++#: setup.c:326 ++msgid "Key allocation" ++msgstr "Allocation des touches" ++ ++#: setup.c:330 ++msgid "\tKey 1" ++msgstr "\tTouche 1" ++ ++#: setup.c:331 ++msgid "\tKey 2" ++msgstr "\tTouche 2" ++ ++#: setup.c:332 ++msgid "\tKey 3" ++msgstr "\tTouche 3" ++ ++#: setup.c:333 ++msgid "\tKey 4" ++msgstr "\tTouche 4" ++ ++#: setup.c:334 ++msgid "\tKey 5" ++msgstr "\tTouche 5" ++ ++#: setup.c:335 ++msgid "\tKey 6" ++msgstr "\tTouche 6" ++ ++#: setup.c:336 ++msgid "\tKey 7" ++msgstr "\tTouche 7" ++ ++#: setup.c:337 ++msgid "\tKey 8" ++msgstr "\tTouche 8" ++ ++#: setup.c:338 ++msgid "\tKey 9" ++msgstr "\tTouche 9" ++ ++#: setup.c:339 ++msgid "\tKey 0" ++msgstr "\tTouche 0" ++ ++#: setup.c:340 ++msgid "\tKey Red" ++msgstr "\tTouche rouge" ++ ++#: setup.c:341 ++msgid "\tKey Green" ++msgstr "\tTouche verte" ++ ++#: setup.c:342 ++msgid "\tKey Yellow" ++msgstr "\tTouche jaune" ++ ++#: setup.c:343 ++msgid "\tKey Blue" ++msgstr "\tTouche bleu" ++ ++#: setup.c:344 ++msgid "\tKey OK" ++msgstr "\tTouche OK" ++ ++#: setup.c:432 ++msgid "to adjust" ++msgstr "Ajuster" +diff -Nru dvdswitch-0.1.3/po/hr_HR.po dvdswitch-0.1.3-gettext-i18n/po/hr_HR.po +--- dvdswitch-0.1.3/po/hr_HR.po 1970-01-01 01:00:00.000000000 +0100 ++++ dvdswitch-0.1.3-gettext-i18n/po/hr_HR.po 2008-03-31 04:59:34.000000000 +0200 +@@ -0,0 +1,530 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Drazen Dupor <drazen.dupor@dupor.com>, 2004 ++# Dino Ravnic <dino.ravnic@fer.hr>, 2004 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 14:49+0200\n" ++"PO-Revision-Date: 2008-03-30 14:49+0200\n" ++"Last-Translator: Drazen Dupor <drazen.dupor@dupor.com>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-2\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: commands.c:43 setup.c:94 setup.c:106 ++msgid "Commands" ++msgstr "" ++ ++#: commands.c:49 commands.c:98 commands.c:169 ++msgid "Directory Management" ++msgstr "" ++ ++#: commands.c:50 commands.c:100 ++msgid "DVD-Tray open" ++msgstr "" ++ ++#: commands.c:51 commands.c:102 ++msgid "DVD-Tray close" ++msgstr "" ++ ++#: commands.c:52 commands.c:104 setup.c:88 setup.c:100 ++msgid "Play" ++msgstr "" ++ ++#: commands.c:58 commands.c:106 setup.c:89 ++msgid "Image rename" ++msgstr "" ++ ++#: commands.c:64 commands.c:108 setup.c:90 ++msgid "Image move" ++msgstr "" ++ ++#: commands.c:70 commands.c:110 setup.c:91 ++msgid "Image delete" ++msgstr "" ++ ++#: commands.c:76 commands.c:112 setup.c:92 ++msgid "Image burn" ++msgstr "" ++ ++#: commands.c:82 commands.c:114 ++msgid "Image to create from DVD" ++msgstr "" ++ ++#: commands.c:183 ++msgid "Select Directory" ++msgstr "" ++ ++#: commands.c:200 commands.c:202 commands.c:204 setup-itypes.c:58 ++#: setup-itypes.c:60 setup-itypes.c:63 setup-itypes.c:143 ++msgid "New" ++msgstr "" ++ ++#: commands.c:200 commands.c:761 setup-itypes.c:58 ++msgid "Select" ++msgstr "" ++ ++#: commands.c:202 setup-itypes.c:60 setup.c:103 ++msgid "Delete" ++msgstr "" ++ ++#: commands.c:202 commands.c:526 setup.c:102 ++msgid "Move" ++msgstr "" ++ ++#: commands.c:202 setup.c:101 ++msgid "Rename" ++msgstr "" ++ ++#: commands.c:222 ++msgid "Edit Directories" ++msgstr "" ++ ++#: commands.c:264 commands.c:312 menu.c:782 ++msgid "no Rights!" ++msgstr "" ++ ++#: commands.c:282 commands.c:658 ++msgid "really delete?" ++msgstr "" ++ ++#: commands.c:286 ++msgid "Directory not empty. however delete?" ++msgstr "" ++ ++#: commands.c:369 ++msgid "no Rights to create" ++msgstr "" ++ ++#: commands.c:379 setup.c:252 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~" ++msgstr "" ++ ++#: commands.c:379 ++msgid "New:" ++msgstr "" ++ ++#: commands.c:408 commands.c:497 ++msgid "Directory exists" ++msgstr "" ++ ++#: commands.c:446 menu.c:1048 ++msgid "no Rights to rename" ++msgstr "" ++ ++#: commands.c:466 commands.c:741 commands.c:742 commands.c:743 menu.c:1075 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-_.#~" ++msgstr "" ++ ++#: commands.c:466 menu.c:1075 ++msgid "Rename:" ++msgstr "" ++ ++#: commands.c:544 ++msgid "Insert" ++msgstr "" ++ ++#: commands.c:685 ++msgid "Specified Writescript not exist!" ++msgstr "" ++ ++#: commands.c:692 ++msgid "Cannot execute Writescript!" ++msgstr "" ++ ++#: commands.c:700 ++msgid "Burn Now?" ++msgstr "" ++ ++#: commands.c:713 ++msgid "Read DVD" ++msgstr "" ++ ++#: commands.c:723 ++msgid "Specified Readscript not exist!" ++msgstr "" ++ ++#: commands.c:730 ++msgid "Cannot execute Readscript!" ++msgstr "" ++ ++#: commands.c:741 ++msgid "Name:" ++msgstr "" ++ ++#: commands.c:742 ++msgid "Directory:" ++msgstr "" ++ ++#: commands.c:743 ++msgid "Imagetype:" ++msgstr "" ++ ++#: commands.c:761 commands.c:764 ++msgid "read in" ++msgstr "" ++ ++#: commands.c:796 ++msgid "invalid file name for DVD-Image" ++msgstr "" ++ ++#: commands.c:801 ++msgid "No Imagetype selected" ++msgstr "" ++ ++#: commands.c:806 ++msgid "No Directory selected. Use Standard?" ++msgstr "" ++ ++#: commands.c:809 ++msgid "Now Read?" ++msgstr "" ++ ++#: dvdswitch.c:21 ++msgid "allowed to play DVD-Images" ++msgstr "" ++ ++#: dvdswitch.c:22 ++msgid "DVDSwitch" ++msgstr "" ++ ++#: dvdswitch.c:195 ++msgid "Image Directory not readable or not exist" ++msgstr "" ++ ++#: dvdswitch.c:203 ++msgid "DVD-Plugin not found! Function deactivated!" ++msgstr "" ++ ++#: imagelist.c:19 ++msgid "Directory with 'VIDEO_TS' Folder" ++msgstr "" ++ ++#: imagelist.c:20 setup-itypes.c:164 ++msgid "Directory" ++msgstr "" ++ ++#: imagelist.c:24 ++msgid "File with '.iso' Extension" ++msgstr "" ++ ++#: imagelist.c:25 ++msgid "Iso-Image" ++msgstr "" ++ ++#: menu.c:272 ++msgid "Image-File" ++msgstr "" ++ ++#: menu.c:294 ++msgid "Image-Directory" ++msgstr "" ++ ++#: menu.c:388 menu.c:419 menu.c:450 menu.c:481 ++msgid "to change" ++msgstr "" ++ ++#: menu.c:550 ++msgid "File exists in Directory" ++msgstr "" ++ ++#: menu.c:955 ++msgid "without Catergory" ++msgstr "" ++ ++#: menu.c:1002 ++msgid "DVD-Drive" ++msgstr "" ++ ++#: setup-itypes.c:6 ++msgid "Imagetypes" ++msgstr "" ++ ++#: setup-itypes.c:60 setup-itypes.c:147 ++msgid "Edit" ++msgstr "" ++ ++#: setup-itypes.c:83 ++msgid "really delete Entry?" ++msgstr "" ++ ++#: setup-itypes.c:165 ++msgid "File" ++msgstr "" ++ ++#: setup-itypes.c:176 ++msgid "Description:" ++msgstr "" ++ ++#: setup-itypes.c:180 ++msgid "Type-Title:" ++msgstr "" ++ ++#: setup-itypes.c:184 ++msgid "Image Type" ++msgstr "" ++ ++#: setup-itypes.c:185 ++msgid "Directory contains:" ++msgstr "" ++ ++#: setup-itypes.c:185 ++msgid "File Extension:" ++msgstr "" ++ ++#: setup-itypes.c:190 ++msgid "Hide Extension" ++msgstr "" ++ ++#: setup-itypes.c:215 ++msgid "'Description' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:220 ++msgid "'Type-Title' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:226 ++msgid "'Directory contains' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:228 ++msgid "'File Extension' must not empty!" ++msgstr "" ++ ++#: setup.c:69 ++msgid "All Images" ++msgstr "" ++ ++#: setup.c:70 ++msgid "All with Cat." ++msgstr "" ++ ++#: setup.c:71 setup.c:75 ++msgid "Directories" ++msgstr "" ++ ++#: setup.c:74 ++msgid "Image-Type" ++msgstr "" ++ ++#: setup.c:76 ++msgid "File-Type" ++msgstr "" ++ ++#: setup.c:79 ++msgid "none" ++msgstr "" ++ ++#: setup.c:80 ++msgid "ascending" ++msgstr "" ++ ++#: setup.c:81 ++msgid "descending" ++msgstr "" ++ ++#: setup.c:84 ++msgid "none Function" ++msgstr "" ++ ++#: setup.c:85 ++msgid "Dir. Management" ++msgstr "" ++ ++#: setup.c:86 ++msgid "Tray open" ++msgstr "" ++ ++#: setup.c:87 ++msgid "Tray close" ++msgstr "" ++ ++#: setup.c:93 ++msgid "Image create" ++msgstr "" ++ ++#: setup.c:97 ++msgid "Dir.Mgmt." ++msgstr "" ++ ++#: setup.c:98 ++msgid "Open" ++msgstr "" ++ ++#: setup.c:99 ++msgid "Close" ++msgstr "" ++ ++#: setup.c:104 ++msgid "Burn" ++msgstr "" ++ ++#: setup.c:105 ++msgid "Create" ++msgstr "" ++ ++#: setup.c:243 ++msgid "Generic Settings" ++msgstr "" ++ ++#: setup.c:247 ++msgid "\tHide Mainmenu Entry" ++msgstr "" ++ ++#: setup.c:249 ++msgid "\t Name" ++msgstr "" ++ ++#: setup.c:254 ++msgid "\tImage Dir." ++msgstr "" ++ ++#: setup.c:258 setup.c:431 setup.c:437 ++msgid "\tImagetypes" ++msgstr "" ++ ++#: setup.c:259 ++msgid "\tView free DiskSpace" ++msgstr "" ++ ++#: setup.c:265 ++msgid "Display Settings" ++msgstr "" ++ ++#: setup.c:269 ++msgid "\tDisplay Mode" ++msgstr "" ++ ++#: setup.c:271 ++msgid "\t Category Type" ++msgstr "" ++ ++#: setup.c:273 ++msgid "\t invisible empty Dir's/Cat." ++msgstr "" ++ ++#: setup.c:274 ++msgid "\tAlphabetic Sort" ++msgstr "" ++ ++#: setup.c:275 ++msgid "\tvisible DVD-Drive" ++msgstr "" ++ ++#: setup.c:281 ++msgid "Special Display Settings" ++msgstr "" ++ ++#: setup.c:285 ++msgid "\tvisible Image-Type Col" ++msgstr "" ++ ++#: setup.c:287 ++msgid "\t Width for Image-Col" ++msgstr "" ++ ++#: setup.c:288 ++msgid "\tvisible Image-Size Col" ++msgstr "" ++ ++#: setup.c:289 ++msgid "\tchange Character" ++msgstr "" ++ ++#: setup.c:297 ++msgid "\tchar for Cat.Line" ++msgstr "" ++ ++#: setup.c:300 ++msgid "\t Count before Cat.Name" ++msgstr "" ++ ++#: setup.c:301 ++msgid "\tSpaces before/after Cat.Name" ++msgstr "" ++ ++#: setup.c:303 ++msgid "\tCutText for Subcat" ++msgstr "" ++ ++#: setup.c:315 ++msgid "Navigation" ++msgstr "" ++ ++#: setup.c:319 ++msgid "\tCat.Jump by Left/Right" ++msgstr "" ++ ++#: setup.c:326 ++msgid "Key allocation" ++msgstr "" ++ ++#: setup.c:330 ++msgid "\tKey 1" ++msgstr "" ++ ++#: setup.c:331 ++msgid "\tKey 2" ++msgstr "" ++ ++#: setup.c:332 ++msgid "\tKey 3" ++msgstr "" ++ ++#: setup.c:333 ++msgid "\tKey 4" ++msgstr "" ++ ++#: setup.c:334 ++msgid "\tKey 5" ++msgstr "" ++ ++#: setup.c:335 ++msgid "\tKey 6" ++msgstr "" ++ ++#: setup.c:336 ++msgid "\tKey 7" ++msgstr "" ++ ++#: setup.c:337 ++msgid "\tKey 8" ++msgstr "" ++ ++#: setup.c:338 ++msgid "\tKey 9" ++msgstr "" ++ ++#: setup.c:339 ++msgid "\tKey 0" ++msgstr "" ++ ++#: setup.c:340 ++msgid "\tKey Red" ++msgstr "" ++ ++#: setup.c:341 ++msgid "\tKey Green" ++msgstr "" ++ ++#: setup.c:342 ++msgid "\tKey Yellow" ++msgstr "" ++ ++#: setup.c:343 ++msgid "\tKey Blue" ++msgstr "" ++ ++#: setup.c:344 ++msgid "\tKey OK" ++msgstr "" ++ ++#: setup.c:432 ++msgid "to adjust" ++msgstr "" +diff -Nru dvdswitch-0.1.3/po/hu_HU.po dvdswitch-0.1.3-gettext-i18n/po/hu_HU.po +--- dvdswitch-0.1.3/po/hu_HU.po 1970-01-01 01:00:00.000000000 +0100 ++++ dvdswitch-0.1.3-gettext-i18n/po/hu_HU.po 2008-03-31 04:59:34.000000000 +0200 +@@ -0,0 +1,530 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Istvan Koenigsberger <istvnko@hotmail.com>, 2002 ++# Guido Josten <guido.josten@t-online.de>, 2002 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 14:49+0200\n" ++"PO-Revision-Date: 2008-03-30 14:49+0200\n" ++"Last-Translator: Istvan Koenigsberger <istvnko@hotmail.com>, Guido Josten <guido.josten@t-online.de>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-2\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: commands.c:43 setup.c:94 setup.c:106 ++msgid "Commands" ++msgstr "" ++ ++#: commands.c:49 commands.c:98 commands.c:169 ++msgid "Directory Management" ++msgstr "" ++ ++#: commands.c:50 commands.c:100 ++msgid "DVD-Tray open" ++msgstr "" ++ ++#: commands.c:51 commands.c:102 ++msgid "DVD-Tray close" ++msgstr "" ++ ++#: commands.c:52 commands.c:104 setup.c:88 setup.c:100 ++msgid "Play" ++msgstr "" ++ ++#: commands.c:58 commands.c:106 setup.c:89 ++msgid "Image rename" ++msgstr "" ++ ++#: commands.c:64 commands.c:108 setup.c:90 ++msgid "Image move" ++msgstr "" ++ ++#: commands.c:70 commands.c:110 setup.c:91 ++msgid "Image delete" ++msgstr "" ++ ++#: commands.c:76 commands.c:112 setup.c:92 ++msgid "Image burn" ++msgstr "" ++ ++#: commands.c:82 commands.c:114 ++msgid "Image to create from DVD" ++msgstr "" ++ ++#: commands.c:183 ++msgid "Select Directory" ++msgstr "" ++ ++#: commands.c:200 commands.c:202 commands.c:204 setup-itypes.c:58 ++#: setup-itypes.c:60 setup-itypes.c:63 setup-itypes.c:143 ++msgid "New" ++msgstr "" ++ ++#: commands.c:200 commands.c:761 setup-itypes.c:58 ++msgid "Select" ++msgstr "" ++ ++#: commands.c:202 setup-itypes.c:60 setup.c:103 ++msgid "Delete" ++msgstr "" ++ ++#: commands.c:202 commands.c:526 setup.c:102 ++msgid "Move" ++msgstr "" ++ ++#: commands.c:202 setup.c:101 ++msgid "Rename" ++msgstr "" ++ ++#: commands.c:222 ++msgid "Edit Directories" ++msgstr "" ++ ++#: commands.c:264 commands.c:312 menu.c:782 ++msgid "no Rights!" ++msgstr "" ++ ++#: commands.c:282 commands.c:658 ++msgid "really delete?" ++msgstr "" ++ ++#: commands.c:286 ++msgid "Directory not empty. however delete?" ++msgstr "" ++ ++#: commands.c:369 ++msgid "no Rights to create" ++msgstr "" ++ ++#: commands.c:379 setup.c:252 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~" ++msgstr "" ++ ++#: commands.c:379 ++msgid "New:" ++msgstr "" ++ ++#: commands.c:408 commands.c:497 ++msgid "Directory exists" ++msgstr "" ++ ++#: commands.c:446 menu.c:1048 ++msgid "no Rights to rename" ++msgstr "" ++ ++#: commands.c:466 commands.c:741 commands.c:742 commands.c:743 menu.c:1075 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-_.#~" ++msgstr "" ++ ++#: commands.c:466 menu.c:1075 ++msgid "Rename:" ++msgstr "" ++ ++#: commands.c:544 ++msgid "Insert" ++msgstr "" ++ ++#: commands.c:685 ++msgid "Specified Writescript not exist!" ++msgstr "" ++ ++#: commands.c:692 ++msgid "Cannot execute Writescript!" ++msgstr "" ++ ++#: commands.c:700 ++msgid "Burn Now?" ++msgstr "" ++ ++#: commands.c:713 ++msgid "Read DVD" ++msgstr "" ++ ++#: commands.c:723 ++msgid "Specified Readscript not exist!" ++msgstr "" ++ ++#: commands.c:730 ++msgid "Cannot execute Readscript!" ++msgstr "" ++ ++#: commands.c:741 ++msgid "Name:" ++msgstr "" ++ ++#: commands.c:742 ++msgid "Directory:" ++msgstr "" ++ ++#: commands.c:743 ++msgid "Imagetype:" ++msgstr "" ++ ++#: commands.c:761 commands.c:764 ++msgid "read in" ++msgstr "" ++ ++#: commands.c:796 ++msgid "invalid file name for DVD-Image" ++msgstr "" ++ ++#: commands.c:801 ++msgid "No Imagetype selected" ++msgstr "" ++ ++#: commands.c:806 ++msgid "No Directory selected. Use Standard?" ++msgstr "" ++ ++#: commands.c:809 ++msgid "Now Read?" ++msgstr "" ++ ++#: dvdswitch.c:21 ++msgid "allowed to play DVD-Images" ++msgstr "" ++ ++#: dvdswitch.c:22 ++msgid "DVDSwitch" ++msgstr "" ++ ++#: dvdswitch.c:195 ++msgid "Image Directory not readable or not exist" ++msgstr "" ++ ++#: dvdswitch.c:203 ++msgid "DVD-Plugin not found! Function deactivated!" ++msgstr "" ++ ++#: imagelist.c:19 ++msgid "Directory with 'VIDEO_TS' Folder" ++msgstr "" ++ ++#: imagelist.c:20 setup-itypes.c:164 ++msgid "Directory" ++msgstr "" ++ ++#: imagelist.c:24 ++msgid "File with '.iso' Extension" ++msgstr "" ++ ++#: imagelist.c:25 ++msgid "Iso-Image" ++msgstr "" ++ ++#: menu.c:272 ++msgid "Image-File" ++msgstr "" ++ ++#: menu.c:294 ++msgid "Image-Directory" ++msgstr "" ++ ++#: menu.c:388 menu.c:419 menu.c:450 menu.c:481 ++msgid "to change" ++msgstr "" ++ ++#: menu.c:550 ++msgid "File exists in Directory" ++msgstr "" ++ ++#: menu.c:955 ++msgid "without Catergory" ++msgstr "" ++ ++#: menu.c:1002 ++msgid "DVD-Drive" ++msgstr "" ++ ++#: setup-itypes.c:6 ++msgid "Imagetypes" ++msgstr "" ++ ++#: setup-itypes.c:60 setup-itypes.c:147 ++msgid "Edit" ++msgstr "" ++ ++#: setup-itypes.c:83 ++msgid "really delete Entry?" ++msgstr "" ++ ++#: setup-itypes.c:165 ++msgid "File" ++msgstr "" ++ ++#: setup-itypes.c:176 ++msgid "Description:" ++msgstr "" ++ ++#: setup-itypes.c:180 ++msgid "Type-Title:" ++msgstr "" ++ ++#: setup-itypes.c:184 ++msgid "Image Type" ++msgstr "" ++ ++#: setup-itypes.c:185 ++msgid "Directory contains:" ++msgstr "" ++ ++#: setup-itypes.c:185 ++msgid "File Extension:" ++msgstr "" ++ ++#: setup-itypes.c:190 ++msgid "Hide Extension" ++msgstr "" ++ ++#: setup-itypes.c:215 ++msgid "'Description' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:220 ++msgid "'Type-Title' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:226 ++msgid "'Directory contains' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:228 ++msgid "'File Extension' must not empty!" ++msgstr "" ++ ++#: setup.c:69 ++msgid "All Images" ++msgstr "" ++ ++#: setup.c:70 ++msgid "All with Cat." ++msgstr "" ++ ++#: setup.c:71 setup.c:75 ++msgid "Directories" ++msgstr "" ++ ++#: setup.c:74 ++msgid "Image-Type" ++msgstr "" ++ ++#: setup.c:76 ++msgid "File-Type" ++msgstr "" ++ ++#: setup.c:79 ++msgid "none" ++msgstr "" ++ ++#: setup.c:80 ++msgid "ascending" ++msgstr "" ++ ++#: setup.c:81 ++msgid "descending" ++msgstr "" ++ ++#: setup.c:84 ++msgid "none Function" ++msgstr "" ++ ++#: setup.c:85 ++msgid "Dir. Management" ++msgstr "" ++ ++#: setup.c:86 ++msgid "Tray open" ++msgstr "" ++ ++#: setup.c:87 ++msgid "Tray close" ++msgstr "" ++ ++#: setup.c:93 ++msgid "Image create" ++msgstr "" ++ ++#: setup.c:97 ++msgid "Dir.Mgmt." ++msgstr "" ++ ++#: setup.c:98 ++msgid "Open" ++msgstr "" ++ ++#: setup.c:99 ++msgid "Close" ++msgstr "" ++ ++#: setup.c:104 ++msgid "Burn" ++msgstr "" ++ ++#: setup.c:105 ++msgid "Create" ++msgstr "" ++ ++#: setup.c:243 ++msgid "Generic Settings" ++msgstr "" ++ ++#: setup.c:247 ++msgid "\tHide Mainmenu Entry" ++msgstr "" ++ ++#: setup.c:249 ++msgid "\t Name" ++msgstr "" ++ ++#: setup.c:254 ++msgid "\tImage Dir." ++msgstr "" ++ ++#: setup.c:258 setup.c:431 setup.c:437 ++msgid "\tImagetypes" ++msgstr "" ++ ++#: setup.c:259 ++msgid "\tView free DiskSpace" ++msgstr "" ++ ++#: setup.c:265 ++msgid "Display Settings" ++msgstr "" ++ ++#: setup.c:269 ++msgid "\tDisplay Mode" ++msgstr "" ++ ++#: setup.c:271 ++msgid "\t Category Type" ++msgstr "" ++ ++#: setup.c:273 ++msgid "\t invisible empty Dir's/Cat." ++msgstr "" ++ ++#: setup.c:274 ++msgid "\tAlphabetic Sort" ++msgstr "" ++ ++#: setup.c:275 ++msgid "\tvisible DVD-Drive" ++msgstr "" ++ ++#: setup.c:281 ++msgid "Special Display Settings" ++msgstr "" ++ ++#: setup.c:285 ++msgid "\tvisible Image-Type Col" ++msgstr "" ++ ++#: setup.c:287 ++msgid "\t Width for Image-Col" ++msgstr "" ++ ++#: setup.c:288 ++msgid "\tvisible Image-Size Col" ++msgstr "" ++ ++#: setup.c:289 ++msgid "\tchange Character" ++msgstr "" ++ ++#: setup.c:297 ++msgid "\tchar for Cat.Line" ++msgstr "" ++ ++#: setup.c:300 ++msgid "\t Count before Cat.Name" ++msgstr "" ++ ++#: setup.c:301 ++msgid "\tSpaces before/after Cat.Name" ++msgstr "" ++ ++#: setup.c:303 ++msgid "\tCutText for Subcat" ++msgstr "" ++ ++#: setup.c:315 ++msgid "Navigation" ++msgstr "" ++ ++#: setup.c:319 ++msgid "\tCat.Jump by Left/Right" ++msgstr "" ++ ++#: setup.c:326 ++msgid "Key allocation" ++msgstr "" ++ ++#: setup.c:330 ++msgid "\tKey 1" ++msgstr "" ++ ++#: setup.c:331 ++msgid "\tKey 2" ++msgstr "" ++ ++#: setup.c:332 ++msgid "\tKey 3" ++msgstr "" ++ ++#: setup.c:333 ++msgid "\tKey 4" ++msgstr "" ++ ++#: setup.c:334 ++msgid "\tKey 5" ++msgstr "" ++ ++#: setup.c:335 ++msgid "\tKey 6" ++msgstr "" ++ ++#: setup.c:336 ++msgid "\tKey 7" ++msgstr "" ++ ++#: setup.c:337 ++msgid "\tKey 8" ++msgstr "" ++ ++#: setup.c:338 ++msgid "\tKey 9" ++msgstr "" ++ ++#: setup.c:339 ++msgid "\tKey 0" ++msgstr "" ++ ++#: setup.c:340 ++msgid "\tKey Red" ++msgstr "" ++ ++#: setup.c:341 ++msgid "\tKey Green" ++msgstr "" ++ ++#: setup.c:342 ++msgid "\tKey Yellow" ++msgstr "" ++ ++#: setup.c:343 ++msgid "\tKey Blue" ++msgstr "" ++ ++#: setup.c:344 ++msgid "\tKey OK" ++msgstr "" ++ ++#: setup.c:432 ++msgid "to adjust" ++msgstr "" +diff -Nru dvdswitch-0.1.3/po/it_IT.po dvdswitch-0.1.3-gettext-i18n/po/it_IT.po +--- dvdswitch-0.1.3/po/it_IT.po 1970-01-01 01:00:00.000000000 +0100 ++++ dvdswitch-0.1.3-gettext-i18n/po/it_IT.po 2008-03-31 04:59:34.000000000 +0200 +@@ -0,0 +1,531 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Alberto Carraro <bertocar@tin.it>, 2001 ++# Antonio Ospite <ospite@studenti.unina.it>, 2003 ++# Sean Carlos <seanc@libero.it>, 2005 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 14:49+0200\n" ++"PO-Revision-Date: 2008-03-30 14:49+0200\n" ++"Last-Translator: Sean Carlos <seanc@libero.it>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-15\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: commands.c:43 setup.c:94 setup.c:106 ++msgid "Commands" ++msgstr "" ++ ++#: commands.c:49 commands.c:98 commands.c:169 ++msgid "Directory Management" ++msgstr "" ++ ++#: commands.c:50 commands.c:100 ++msgid "DVD-Tray open" ++msgstr "" ++ ++#: commands.c:51 commands.c:102 ++msgid "DVD-Tray close" ++msgstr "" ++ ++#: commands.c:52 commands.c:104 setup.c:88 setup.c:100 ++msgid "Play" ++msgstr "" ++ ++#: commands.c:58 commands.c:106 setup.c:89 ++msgid "Image rename" ++msgstr "" ++ ++#: commands.c:64 commands.c:108 setup.c:90 ++msgid "Image move" ++msgstr "" ++ ++#: commands.c:70 commands.c:110 setup.c:91 ++msgid "Image delete" ++msgstr "" ++ ++#: commands.c:76 commands.c:112 setup.c:92 ++msgid "Image burn" ++msgstr "" ++ ++#: commands.c:82 commands.c:114 ++msgid "Image to create from DVD" ++msgstr "" ++ ++#: commands.c:183 ++msgid "Select Directory" ++msgstr "" ++ ++#: commands.c:200 commands.c:202 commands.c:204 setup-itypes.c:58 ++#: setup-itypes.c:60 setup-itypes.c:63 setup-itypes.c:143 ++msgid "New" ++msgstr "" ++ ++#: commands.c:200 commands.c:761 setup-itypes.c:58 ++msgid "Select" ++msgstr "" ++ ++#: commands.c:202 setup-itypes.c:60 setup.c:103 ++msgid "Delete" ++msgstr "" ++ ++#: commands.c:202 commands.c:526 setup.c:102 ++msgid "Move" ++msgstr "" ++ ++#: commands.c:202 setup.c:101 ++msgid "Rename" ++msgstr "" ++ ++#: commands.c:222 ++msgid "Edit Directories" ++msgstr "" ++ ++#: commands.c:264 commands.c:312 menu.c:782 ++msgid "no Rights!" ++msgstr "" ++ ++#: commands.c:282 commands.c:658 ++msgid "really delete?" ++msgstr "" ++ ++#: commands.c:286 ++msgid "Directory not empty. however delete?" ++msgstr "" ++ ++#: commands.c:369 ++msgid "no Rights to create" ++msgstr "" ++ ++#: commands.c:379 setup.c:252 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~" ++msgstr "" ++ ++#: commands.c:379 ++msgid "New:" ++msgstr "" ++ ++#: commands.c:408 commands.c:497 ++msgid "Directory exists" ++msgstr "" ++ ++#: commands.c:446 menu.c:1048 ++msgid "no Rights to rename" ++msgstr "" ++ ++#: commands.c:466 commands.c:741 commands.c:742 commands.c:743 menu.c:1075 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-_.#~" ++msgstr "" ++ ++#: commands.c:466 menu.c:1075 ++msgid "Rename:" ++msgstr "" ++ ++#: commands.c:544 ++msgid "Insert" ++msgstr "" ++ ++#: commands.c:685 ++msgid "Specified Writescript not exist!" ++msgstr "" ++ ++#: commands.c:692 ++msgid "Cannot execute Writescript!" ++msgstr "" ++ ++#: commands.c:700 ++msgid "Burn Now?" ++msgstr "" ++ ++#: commands.c:713 ++msgid "Read DVD" ++msgstr "" ++ ++#: commands.c:723 ++msgid "Specified Readscript not exist!" ++msgstr "" ++ ++#: commands.c:730 ++msgid "Cannot execute Readscript!" ++msgstr "" ++ ++#: commands.c:741 ++msgid "Name:" ++msgstr "" ++ ++#: commands.c:742 ++msgid "Directory:" ++msgstr "" ++ ++#: commands.c:743 ++msgid "Imagetype:" ++msgstr "" ++ ++#: commands.c:761 commands.c:764 ++msgid "read in" ++msgstr "" ++ ++#: commands.c:796 ++msgid "invalid file name for DVD-Image" ++msgstr "" ++ ++#: commands.c:801 ++msgid "No Imagetype selected" ++msgstr "" ++ ++#: commands.c:806 ++msgid "No Directory selected. Use Standard?" ++msgstr "" ++ ++#: commands.c:809 ++msgid "Now Read?" ++msgstr "" ++ ++#: dvdswitch.c:21 ++msgid "allowed to play DVD-Images" ++msgstr "" ++ ++#: dvdswitch.c:22 ++msgid "DVDSwitch" ++msgstr "" ++ ++#: dvdswitch.c:195 ++msgid "Image Directory not readable or not exist" ++msgstr "" ++ ++#: dvdswitch.c:203 ++msgid "DVD-Plugin not found! Function deactivated!" ++msgstr "" ++ ++#: imagelist.c:19 ++msgid "Directory with 'VIDEO_TS' Folder" ++msgstr "" ++ ++#: imagelist.c:20 setup-itypes.c:164 ++msgid "Directory" ++msgstr "" ++ ++#: imagelist.c:24 ++msgid "File with '.iso' Extension" ++msgstr "" ++ ++#: imagelist.c:25 ++msgid "Iso-Image" ++msgstr "" ++ ++#: menu.c:272 ++msgid "Image-File" ++msgstr "" ++ ++#: menu.c:294 ++msgid "Image-Directory" ++msgstr "" ++ ++#: menu.c:388 menu.c:419 menu.c:450 menu.c:481 ++msgid "to change" ++msgstr "" ++ ++#: menu.c:550 ++msgid "File exists in Directory" ++msgstr "" ++ ++#: menu.c:955 ++msgid "without Catergory" ++msgstr "" ++ ++#: menu.c:1002 ++msgid "DVD-Drive" ++msgstr "" ++ ++#: setup-itypes.c:6 ++msgid "Imagetypes" ++msgstr "" ++ ++#: setup-itypes.c:60 setup-itypes.c:147 ++msgid "Edit" ++msgstr "" ++ ++#: setup-itypes.c:83 ++msgid "really delete Entry?" ++msgstr "" ++ ++#: setup-itypes.c:165 ++msgid "File" ++msgstr "" ++ ++#: setup-itypes.c:176 ++msgid "Description:" ++msgstr "" ++ ++#: setup-itypes.c:180 ++msgid "Type-Title:" ++msgstr "" ++ ++#: setup-itypes.c:184 ++msgid "Image Type" ++msgstr "" ++ ++#: setup-itypes.c:185 ++msgid "Directory contains:" ++msgstr "" ++ ++#: setup-itypes.c:185 ++msgid "File Extension:" ++msgstr "" ++ ++#: setup-itypes.c:190 ++msgid "Hide Extension" ++msgstr "" ++ ++#: setup-itypes.c:215 ++msgid "'Description' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:220 ++msgid "'Type-Title' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:226 ++msgid "'Directory contains' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:228 ++msgid "'File Extension' must not empty!" ++msgstr "" ++ ++#: setup.c:69 ++msgid "All Images" ++msgstr "" ++ ++#: setup.c:70 ++msgid "All with Cat." ++msgstr "" ++ ++#: setup.c:71 setup.c:75 ++msgid "Directories" ++msgstr "" ++ ++#: setup.c:74 ++msgid "Image-Type" ++msgstr "" ++ ++#: setup.c:76 ++msgid "File-Type" ++msgstr "" ++ ++#: setup.c:79 ++msgid "none" ++msgstr "" ++ ++#: setup.c:80 ++msgid "ascending" ++msgstr "" ++ ++#: setup.c:81 ++msgid "descending" ++msgstr "" ++ ++#: setup.c:84 ++msgid "none Function" ++msgstr "" ++ ++#: setup.c:85 ++msgid "Dir. Management" ++msgstr "" ++ ++#: setup.c:86 ++msgid "Tray open" ++msgstr "" ++ ++#: setup.c:87 ++msgid "Tray close" ++msgstr "" ++ ++#: setup.c:93 ++msgid "Image create" ++msgstr "" ++ ++#: setup.c:97 ++msgid "Dir.Mgmt." ++msgstr "" ++ ++#: setup.c:98 ++msgid "Open" ++msgstr "" ++ ++#: setup.c:99 ++msgid "Close" ++msgstr "" ++ ++#: setup.c:104 ++msgid "Burn" ++msgstr "" ++ ++#: setup.c:105 ++msgid "Create" ++msgstr "" ++ ++#: setup.c:243 ++msgid "Generic Settings" ++msgstr "" ++ ++#: setup.c:247 ++msgid "\tHide Mainmenu Entry" ++msgstr "" ++ ++#: setup.c:249 ++msgid "\t Name" ++msgstr "" ++ ++#: setup.c:254 ++msgid "\tImage Dir." ++msgstr "" ++ ++#: setup.c:258 setup.c:431 setup.c:437 ++msgid "\tImagetypes" ++msgstr "" ++ ++#: setup.c:259 ++msgid "\tView free DiskSpace" ++msgstr "" ++ ++#: setup.c:265 ++msgid "Display Settings" ++msgstr "" ++ ++#: setup.c:269 ++msgid "\tDisplay Mode" ++msgstr "" ++ ++#: setup.c:271 ++msgid "\t Category Type" ++msgstr "" ++ ++#: setup.c:273 ++msgid "\t invisible empty Dir's/Cat." ++msgstr "" ++ ++#: setup.c:274 ++msgid "\tAlphabetic Sort" ++msgstr "" ++ ++#: setup.c:275 ++msgid "\tvisible DVD-Drive" ++msgstr "" ++ ++#: setup.c:281 ++msgid "Special Display Settings" ++msgstr "" ++ ++#: setup.c:285 ++msgid "\tvisible Image-Type Col" ++msgstr "" ++ ++#: setup.c:287 ++msgid "\t Width for Image-Col" ++msgstr "" ++ ++#: setup.c:288 ++msgid "\tvisible Image-Size Col" ++msgstr "" ++ ++#: setup.c:289 ++msgid "\tchange Character" ++msgstr "" ++ ++#: setup.c:297 ++msgid "\tchar for Cat.Line" ++msgstr "" ++ ++#: setup.c:300 ++msgid "\t Count before Cat.Name" ++msgstr "" ++ ++#: setup.c:301 ++msgid "\tSpaces before/after Cat.Name" ++msgstr "" ++ ++#: setup.c:303 ++msgid "\tCutText for Subcat" ++msgstr "" ++ ++#: setup.c:315 ++msgid "Navigation" ++msgstr "" ++ ++#: setup.c:319 ++msgid "\tCat.Jump by Left/Right" ++msgstr "" ++ ++#: setup.c:326 ++msgid "Key allocation" ++msgstr "" ++ ++#: setup.c:330 ++msgid "\tKey 1" ++msgstr "" ++ ++#: setup.c:331 ++msgid "\tKey 2" ++msgstr "" ++ ++#: setup.c:332 ++msgid "\tKey 3" ++msgstr "" ++ ++#: setup.c:333 ++msgid "\tKey 4" ++msgstr "" ++ ++#: setup.c:334 ++msgid "\tKey 5" ++msgstr "" ++ ++#: setup.c:335 ++msgid "\tKey 6" ++msgstr "" ++ ++#: setup.c:336 ++msgid "\tKey 7" ++msgstr "" ++ ++#: setup.c:337 ++msgid "\tKey 8" ++msgstr "" ++ ++#: setup.c:338 ++msgid "\tKey 9" ++msgstr "" ++ ++#: setup.c:339 ++msgid "\tKey 0" ++msgstr "" ++ ++#: setup.c:340 ++msgid "\tKey Red" ++msgstr "" ++ ++#: setup.c:341 ++msgid "\tKey Green" ++msgstr "" ++ ++#: setup.c:342 ++msgid "\tKey Yellow" ++msgstr "" ++ ++#: setup.c:343 ++msgid "\tKey Blue" ++msgstr "" ++ ++#: setup.c:344 ++msgid "\tKey OK" ++msgstr "" ++ ++#: setup.c:432 ++msgid "to adjust" ++msgstr "" +diff -Nru dvdswitch-0.1.3/po/nl_NL.po dvdswitch-0.1.3-gettext-i18n/po/nl_NL.po +--- dvdswitch-0.1.3/po/nl_NL.po 1970-01-01 01:00:00.000000000 +0100 ++++ dvdswitch-0.1.3-gettext-i18n/po/nl_NL.po 2008-03-31 04:59:34.000000000 +0200 +@@ -0,0 +1,531 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Arnold Niessen <niessen@iae.nl> <arnold.niessen@philips.com>, 2001 ++# Hans Dingemans <hans.dingemans@tacticalops.nl>, 2003 ++# Maarten Wisse <Maarten.Wisse@urz.uni-hd.de>, 2005 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 14:49+0200\n" ++"PO-Revision-Date: 2008-03-30 14:49+0200\n" ++"Last-Translator: Maarten Wisse <Maarten.Wisse@urz.uni-hd.de>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-15\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: commands.c:43 setup.c:94 setup.c:106 ++msgid "Commands" ++msgstr "" ++ ++#: commands.c:49 commands.c:98 commands.c:169 ++msgid "Directory Management" ++msgstr "" ++ ++#: commands.c:50 commands.c:100 ++msgid "DVD-Tray open" ++msgstr "" ++ ++#: commands.c:51 commands.c:102 ++msgid "DVD-Tray close" ++msgstr "" ++ ++#: commands.c:52 commands.c:104 setup.c:88 setup.c:100 ++msgid "Play" ++msgstr "" ++ ++#: commands.c:58 commands.c:106 setup.c:89 ++msgid "Image rename" ++msgstr "" ++ ++#: commands.c:64 commands.c:108 setup.c:90 ++msgid "Image move" ++msgstr "" ++ ++#: commands.c:70 commands.c:110 setup.c:91 ++msgid "Image delete" ++msgstr "" ++ ++#: commands.c:76 commands.c:112 setup.c:92 ++msgid "Image burn" ++msgstr "" ++ ++#: commands.c:82 commands.c:114 ++msgid "Image to create from DVD" ++msgstr "" ++ ++#: commands.c:183 ++msgid "Select Directory" ++msgstr "" ++ ++#: commands.c:200 commands.c:202 commands.c:204 setup-itypes.c:58 ++#: setup-itypes.c:60 setup-itypes.c:63 setup-itypes.c:143 ++msgid "New" ++msgstr "" ++ ++#: commands.c:200 commands.c:761 setup-itypes.c:58 ++msgid "Select" ++msgstr "" ++ ++#: commands.c:202 setup-itypes.c:60 setup.c:103 ++msgid "Delete" ++msgstr "" ++ ++#: commands.c:202 commands.c:526 setup.c:102 ++msgid "Move" ++msgstr "" ++ ++#: commands.c:202 setup.c:101 ++msgid "Rename" ++msgstr "" ++ ++#: commands.c:222 ++msgid "Edit Directories" ++msgstr "" ++ ++#: commands.c:264 commands.c:312 menu.c:782 ++msgid "no Rights!" ++msgstr "" ++ ++#: commands.c:282 commands.c:658 ++msgid "really delete?" ++msgstr "" ++ ++#: commands.c:286 ++msgid "Directory not empty. however delete?" ++msgstr "" ++ ++#: commands.c:369 ++msgid "no Rights to create" ++msgstr "" ++ ++#: commands.c:379 setup.c:252 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~" ++msgstr "" ++ ++#: commands.c:379 ++msgid "New:" ++msgstr "" ++ ++#: commands.c:408 commands.c:497 ++msgid "Directory exists" ++msgstr "" ++ ++#: commands.c:446 menu.c:1048 ++msgid "no Rights to rename" ++msgstr "" ++ ++#: commands.c:466 commands.c:741 commands.c:742 commands.c:743 menu.c:1075 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-_.#~" ++msgstr "" ++ ++#: commands.c:466 menu.c:1075 ++msgid "Rename:" ++msgstr "" ++ ++#: commands.c:544 ++msgid "Insert" ++msgstr "" ++ ++#: commands.c:685 ++msgid "Specified Writescript not exist!" ++msgstr "" ++ ++#: commands.c:692 ++msgid "Cannot execute Writescript!" ++msgstr "" ++ ++#: commands.c:700 ++msgid "Burn Now?" ++msgstr "" ++ ++#: commands.c:713 ++msgid "Read DVD" ++msgstr "" ++ ++#: commands.c:723 ++msgid "Specified Readscript not exist!" ++msgstr "" ++ ++#: commands.c:730 ++msgid "Cannot execute Readscript!" ++msgstr "" ++ ++#: commands.c:741 ++msgid "Name:" ++msgstr "" ++ ++#: commands.c:742 ++msgid "Directory:" ++msgstr "" ++ ++#: commands.c:743 ++msgid "Imagetype:" ++msgstr "" ++ ++#: commands.c:761 commands.c:764 ++msgid "read in" ++msgstr "" ++ ++#: commands.c:796 ++msgid "invalid file name for DVD-Image" ++msgstr "" ++ ++#: commands.c:801 ++msgid "No Imagetype selected" ++msgstr "" ++ ++#: commands.c:806 ++msgid "No Directory selected. Use Standard?" ++msgstr "" ++ ++#: commands.c:809 ++msgid "Now Read?" ++msgstr "" ++ ++#: dvdswitch.c:21 ++msgid "allowed to play DVD-Images" ++msgstr "" ++ ++#: dvdswitch.c:22 ++msgid "DVDSwitch" ++msgstr "" ++ ++#: dvdswitch.c:195 ++msgid "Image Directory not readable or not exist" ++msgstr "" ++ ++#: dvdswitch.c:203 ++msgid "DVD-Plugin not found! Function deactivated!" ++msgstr "" ++ ++#: imagelist.c:19 ++msgid "Directory with 'VIDEO_TS' Folder" ++msgstr "" ++ ++#: imagelist.c:20 setup-itypes.c:164 ++msgid "Directory" ++msgstr "" ++ ++#: imagelist.c:24 ++msgid "File with '.iso' Extension" ++msgstr "" ++ ++#: imagelist.c:25 ++msgid "Iso-Image" ++msgstr "" ++ ++#: menu.c:272 ++msgid "Image-File" ++msgstr "" ++ ++#: menu.c:294 ++msgid "Image-Directory" ++msgstr "" ++ ++#: menu.c:388 menu.c:419 menu.c:450 menu.c:481 ++msgid "to change" ++msgstr "" ++ ++#: menu.c:550 ++msgid "File exists in Directory" ++msgstr "" ++ ++#: menu.c:955 ++msgid "without Catergory" ++msgstr "" ++ ++#: menu.c:1002 ++msgid "DVD-Drive" ++msgstr "" ++ ++#: setup-itypes.c:6 ++msgid "Imagetypes" ++msgstr "" ++ ++#: setup-itypes.c:60 setup-itypes.c:147 ++msgid "Edit" ++msgstr "" ++ ++#: setup-itypes.c:83 ++msgid "really delete Entry?" ++msgstr "" ++ ++#: setup-itypes.c:165 ++msgid "File" ++msgstr "" ++ ++#: setup-itypes.c:176 ++msgid "Description:" ++msgstr "" ++ ++#: setup-itypes.c:180 ++msgid "Type-Title:" ++msgstr "" ++ ++#: setup-itypes.c:184 ++msgid "Image Type" ++msgstr "" ++ ++#: setup-itypes.c:185 ++msgid "Directory contains:" ++msgstr "" ++ ++#: setup-itypes.c:185 ++msgid "File Extension:" ++msgstr "" ++ ++#: setup-itypes.c:190 ++msgid "Hide Extension" ++msgstr "" ++ ++#: setup-itypes.c:215 ++msgid "'Description' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:220 ++msgid "'Type-Title' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:226 ++msgid "'Directory contains' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:228 ++msgid "'File Extension' must not empty!" ++msgstr "" ++ ++#: setup.c:69 ++msgid "All Images" ++msgstr "" ++ ++#: setup.c:70 ++msgid "All with Cat." ++msgstr "" ++ ++#: setup.c:71 setup.c:75 ++msgid "Directories" ++msgstr "" ++ ++#: setup.c:74 ++msgid "Image-Type" ++msgstr "" ++ ++#: setup.c:76 ++msgid "File-Type" ++msgstr "" ++ ++#: setup.c:79 ++msgid "none" ++msgstr "" ++ ++#: setup.c:80 ++msgid "ascending" ++msgstr "" ++ ++#: setup.c:81 ++msgid "descending" ++msgstr "" ++ ++#: setup.c:84 ++msgid "none Function" ++msgstr "" ++ ++#: setup.c:85 ++msgid "Dir. Management" ++msgstr "" ++ ++#: setup.c:86 ++msgid "Tray open" ++msgstr "" ++ ++#: setup.c:87 ++msgid "Tray close" ++msgstr "" ++ ++#: setup.c:93 ++msgid "Image create" ++msgstr "" ++ ++#: setup.c:97 ++msgid "Dir.Mgmt." ++msgstr "" ++ ++#: setup.c:98 ++msgid "Open" ++msgstr "" ++ ++#: setup.c:99 ++msgid "Close" ++msgstr "" ++ ++#: setup.c:104 ++msgid "Burn" ++msgstr "" ++ ++#: setup.c:105 ++msgid "Create" ++msgstr "" ++ ++#: setup.c:243 ++msgid "Generic Settings" ++msgstr "" ++ ++#: setup.c:247 ++msgid "\tHide Mainmenu Entry" ++msgstr "" ++ ++#: setup.c:249 ++msgid "\t Name" ++msgstr "" ++ ++#: setup.c:254 ++msgid "\tImage Dir." ++msgstr "" ++ ++#: setup.c:258 setup.c:431 setup.c:437 ++msgid "\tImagetypes" ++msgstr "" ++ ++#: setup.c:259 ++msgid "\tView free DiskSpace" ++msgstr "" ++ ++#: setup.c:265 ++msgid "Display Settings" ++msgstr "" ++ ++#: setup.c:269 ++msgid "\tDisplay Mode" ++msgstr "" ++ ++#: setup.c:271 ++msgid "\t Category Type" ++msgstr "" ++ ++#: setup.c:273 ++msgid "\t invisible empty Dir's/Cat." ++msgstr "" ++ ++#: setup.c:274 ++msgid "\tAlphabetic Sort" ++msgstr "" ++ ++#: setup.c:275 ++msgid "\tvisible DVD-Drive" ++msgstr "" ++ ++#: setup.c:281 ++msgid "Special Display Settings" ++msgstr "" ++ ++#: setup.c:285 ++msgid "\tvisible Image-Type Col" ++msgstr "" ++ ++#: setup.c:287 ++msgid "\t Width for Image-Col" ++msgstr "" ++ ++#: setup.c:288 ++msgid "\tvisible Image-Size Col" ++msgstr "" ++ ++#: setup.c:289 ++msgid "\tchange Character" ++msgstr "" ++ ++#: setup.c:297 ++msgid "\tchar for Cat.Line" ++msgstr "" ++ ++#: setup.c:300 ++msgid "\t Count before Cat.Name" ++msgstr "" ++ ++#: setup.c:301 ++msgid "\tSpaces before/after Cat.Name" ++msgstr "" ++ ++#: setup.c:303 ++msgid "\tCutText for Subcat" ++msgstr "" ++ ++#: setup.c:315 ++msgid "Navigation" ++msgstr "" ++ ++#: setup.c:319 ++msgid "\tCat.Jump by Left/Right" ++msgstr "" ++ ++#: setup.c:326 ++msgid "Key allocation" ++msgstr "" ++ ++#: setup.c:330 ++msgid "\tKey 1" ++msgstr "" ++ ++#: setup.c:331 ++msgid "\tKey 2" ++msgstr "" ++ ++#: setup.c:332 ++msgid "\tKey 3" ++msgstr "" ++ ++#: setup.c:333 ++msgid "\tKey 4" ++msgstr "" ++ ++#: setup.c:334 ++msgid "\tKey 5" ++msgstr "" ++ ++#: setup.c:335 ++msgid "\tKey 6" ++msgstr "" ++ ++#: setup.c:336 ++msgid "\tKey 7" ++msgstr "" ++ ++#: setup.c:337 ++msgid "\tKey 8" ++msgstr "" ++ ++#: setup.c:338 ++msgid "\tKey 9" ++msgstr "" ++ ++#: setup.c:339 ++msgid "\tKey 0" ++msgstr "" ++ ++#: setup.c:340 ++msgid "\tKey Red" ++msgstr "" ++ ++#: setup.c:341 ++msgid "\tKey Green" ++msgstr "" ++ ++#: setup.c:342 ++msgid "\tKey Yellow" ++msgstr "" ++ ++#: setup.c:343 ++msgid "\tKey Blue" ++msgstr "" ++ ++#: setup.c:344 ++msgid "\tKey OK" ++msgstr "" ++ ++#: setup.c:432 ++msgid "to adjust" ++msgstr "" +diff -Nru dvdswitch-0.1.3/po/nn_NO.po dvdswitch-0.1.3-gettext-i18n/po/nn_NO.po +--- dvdswitch-0.1.3/po/nn_NO.po 1970-01-01 01:00:00.000000000 +0100 ++++ dvdswitch-0.1.3-gettext-i18n/po/nn_NO.po 2008-03-31 04:59:34.000000000 +0200 +@@ -0,0 +1,530 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Jørgen Tvedt <pjtvedt@online.no>, 2001 ++# Truls Slevigen <truls@slevigen.no>, 2002 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 14:49+0200\n" ++"PO-Revision-Date: 2008-03-30 14:49+0200\n" ++"Last-Translator: Truls Slevigen <truls@slevigen.no>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-1\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: commands.c:43 setup.c:94 setup.c:106 ++msgid "Commands" ++msgstr "" ++ ++#: commands.c:49 commands.c:98 commands.c:169 ++msgid "Directory Management" ++msgstr "" ++ ++#: commands.c:50 commands.c:100 ++msgid "DVD-Tray open" ++msgstr "" ++ ++#: commands.c:51 commands.c:102 ++msgid "DVD-Tray close" ++msgstr "" ++ ++#: commands.c:52 commands.c:104 setup.c:88 setup.c:100 ++msgid "Play" ++msgstr "" ++ ++#: commands.c:58 commands.c:106 setup.c:89 ++msgid "Image rename" ++msgstr "" ++ ++#: commands.c:64 commands.c:108 setup.c:90 ++msgid "Image move" ++msgstr "" ++ ++#: commands.c:70 commands.c:110 setup.c:91 ++msgid "Image delete" ++msgstr "" ++ ++#: commands.c:76 commands.c:112 setup.c:92 ++msgid "Image burn" ++msgstr "" ++ ++#: commands.c:82 commands.c:114 ++msgid "Image to create from DVD" ++msgstr "" ++ ++#: commands.c:183 ++msgid "Select Directory" ++msgstr "" ++ ++#: commands.c:200 commands.c:202 commands.c:204 setup-itypes.c:58 ++#: setup-itypes.c:60 setup-itypes.c:63 setup-itypes.c:143 ++msgid "New" ++msgstr "" ++ ++#: commands.c:200 commands.c:761 setup-itypes.c:58 ++msgid "Select" ++msgstr "" ++ ++#: commands.c:202 setup-itypes.c:60 setup.c:103 ++msgid "Delete" ++msgstr "" ++ ++#: commands.c:202 commands.c:526 setup.c:102 ++msgid "Move" ++msgstr "" ++ ++#: commands.c:202 setup.c:101 ++msgid "Rename" ++msgstr "" ++ ++#: commands.c:222 ++msgid "Edit Directories" ++msgstr "" ++ ++#: commands.c:264 commands.c:312 menu.c:782 ++msgid "no Rights!" ++msgstr "" ++ ++#: commands.c:282 commands.c:658 ++msgid "really delete?" ++msgstr "" ++ ++#: commands.c:286 ++msgid "Directory not empty. however delete?" ++msgstr "" ++ ++#: commands.c:369 ++msgid "no Rights to create" ++msgstr "" ++ ++#: commands.c:379 setup.c:252 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~" ++msgstr "" ++ ++#: commands.c:379 ++msgid "New:" ++msgstr "" ++ ++#: commands.c:408 commands.c:497 ++msgid "Directory exists" ++msgstr "" ++ ++#: commands.c:446 menu.c:1048 ++msgid "no Rights to rename" ++msgstr "" ++ ++#: commands.c:466 commands.c:741 commands.c:742 commands.c:743 menu.c:1075 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-_.#~" ++msgstr "" ++ ++#: commands.c:466 menu.c:1075 ++msgid "Rename:" ++msgstr "" ++ ++#: commands.c:544 ++msgid "Insert" ++msgstr "" ++ ++#: commands.c:685 ++msgid "Specified Writescript not exist!" ++msgstr "" ++ ++#: commands.c:692 ++msgid "Cannot execute Writescript!" ++msgstr "" ++ ++#: commands.c:700 ++msgid "Burn Now?" ++msgstr "" ++ ++#: commands.c:713 ++msgid "Read DVD" ++msgstr "" ++ ++#: commands.c:723 ++msgid "Specified Readscript not exist!" ++msgstr "" ++ ++#: commands.c:730 ++msgid "Cannot execute Readscript!" ++msgstr "" ++ ++#: commands.c:741 ++msgid "Name:" ++msgstr "" ++ ++#: commands.c:742 ++msgid "Directory:" ++msgstr "" ++ ++#: commands.c:743 ++msgid "Imagetype:" ++msgstr "" ++ ++#: commands.c:761 commands.c:764 ++msgid "read in" ++msgstr "" ++ ++#: commands.c:796 ++msgid "invalid file name for DVD-Image" ++msgstr "" ++ ++#: commands.c:801 ++msgid "No Imagetype selected" ++msgstr "" ++ ++#: commands.c:806 ++msgid "No Directory selected. Use Standard?" ++msgstr "" ++ ++#: commands.c:809 ++msgid "Now Read?" ++msgstr "" ++ ++#: dvdswitch.c:21 ++msgid "allowed to play DVD-Images" ++msgstr "" ++ ++#: dvdswitch.c:22 ++msgid "DVDSwitch" ++msgstr "" ++ ++#: dvdswitch.c:195 ++msgid "Image Directory not readable or not exist" ++msgstr "" ++ ++#: dvdswitch.c:203 ++msgid "DVD-Plugin not found! Function deactivated!" ++msgstr "" ++ ++#: imagelist.c:19 ++msgid "Directory with 'VIDEO_TS' Folder" ++msgstr "" ++ ++#: imagelist.c:20 setup-itypes.c:164 ++msgid "Directory" ++msgstr "" ++ ++#: imagelist.c:24 ++msgid "File with '.iso' Extension" ++msgstr "" ++ ++#: imagelist.c:25 ++msgid "Iso-Image" ++msgstr "" ++ ++#: menu.c:272 ++msgid "Image-File" ++msgstr "" ++ ++#: menu.c:294 ++msgid "Image-Directory" ++msgstr "" ++ ++#: menu.c:388 menu.c:419 menu.c:450 menu.c:481 ++msgid "to change" ++msgstr "" ++ ++#: menu.c:550 ++msgid "File exists in Directory" ++msgstr "" ++ ++#: menu.c:955 ++msgid "without Catergory" ++msgstr "" ++ ++#: menu.c:1002 ++msgid "DVD-Drive" ++msgstr "" ++ ++#: setup-itypes.c:6 ++msgid "Imagetypes" ++msgstr "" ++ ++#: setup-itypes.c:60 setup-itypes.c:147 ++msgid "Edit" ++msgstr "" ++ ++#: setup-itypes.c:83 ++msgid "really delete Entry?" ++msgstr "" ++ ++#: setup-itypes.c:165 ++msgid "File" ++msgstr "" ++ ++#: setup-itypes.c:176 ++msgid "Description:" ++msgstr "" ++ ++#: setup-itypes.c:180 ++msgid "Type-Title:" ++msgstr "" ++ ++#: setup-itypes.c:184 ++msgid "Image Type" ++msgstr "" ++ ++#: setup-itypes.c:185 ++msgid "Directory contains:" ++msgstr "" ++ ++#: setup-itypes.c:185 ++msgid "File Extension:" ++msgstr "" ++ ++#: setup-itypes.c:190 ++msgid "Hide Extension" ++msgstr "" ++ ++#: setup-itypes.c:215 ++msgid "'Description' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:220 ++msgid "'Type-Title' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:226 ++msgid "'Directory contains' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:228 ++msgid "'File Extension' must not empty!" ++msgstr "" ++ ++#: setup.c:69 ++msgid "All Images" ++msgstr "" ++ ++#: setup.c:70 ++msgid "All with Cat." ++msgstr "" ++ ++#: setup.c:71 setup.c:75 ++msgid "Directories" ++msgstr "" ++ ++#: setup.c:74 ++msgid "Image-Type" ++msgstr "" ++ ++#: setup.c:76 ++msgid "File-Type" ++msgstr "" ++ ++#: setup.c:79 ++msgid "none" ++msgstr "" ++ ++#: setup.c:80 ++msgid "ascending" ++msgstr "" ++ ++#: setup.c:81 ++msgid "descending" ++msgstr "" ++ ++#: setup.c:84 ++msgid "none Function" ++msgstr "" ++ ++#: setup.c:85 ++msgid "Dir. Management" ++msgstr "" ++ ++#: setup.c:86 ++msgid "Tray open" ++msgstr "" ++ ++#: setup.c:87 ++msgid "Tray close" ++msgstr "" ++ ++#: setup.c:93 ++msgid "Image create" ++msgstr "" ++ ++#: setup.c:97 ++msgid "Dir.Mgmt." ++msgstr "" ++ ++#: setup.c:98 ++msgid "Open" ++msgstr "" ++ ++#: setup.c:99 ++msgid "Close" ++msgstr "" ++ ++#: setup.c:104 ++msgid "Burn" ++msgstr "" ++ ++#: setup.c:105 ++msgid "Create" ++msgstr "" ++ ++#: setup.c:243 ++msgid "Generic Settings" ++msgstr "" ++ ++#: setup.c:247 ++msgid "\tHide Mainmenu Entry" ++msgstr "" ++ ++#: setup.c:249 ++msgid "\t Name" ++msgstr "" ++ ++#: setup.c:254 ++msgid "\tImage Dir." ++msgstr "" ++ ++#: setup.c:258 setup.c:431 setup.c:437 ++msgid "\tImagetypes" ++msgstr "" ++ ++#: setup.c:259 ++msgid "\tView free DiskSpace" ++msgstr "" ++ ++#: setup.c:265 ++msgid "Display Settings" ++msgstr "" ++ ++#: setup.c:269 ++msgid "\tDisplay Mode" ++msgstr "" ++ ++#: setup.c:271 ++msgid "\t Category Type" ++msgstr "" ++ ++#: setup.c:273 ++msgid "\t invisible empty Dir's/Cat." ++msgstr "" ++ ++#: setup.c:274 ++msgid "\tAlphabetic Sort" ++msgstr "" ++ ++#: setup.c:275 ++msgid "\tvisible DVD-Drive" ++msgstr "" ++ ++#: setup.c:281 ++msgid "Special Display Settings" ++msgstr "" ++ ++#: setup.c:285 ++msgid "\tvisible Image-Type Col" ++msgstr "" ++ ++#: setup.c:287 ++msgid "\t Width for Image-Col" ++msgstr "" ++ ++#: setup.c:288 ++msgid "\tvisible Image-Size Col" ++msgstr "" ++ ++#: setup.c:289 ++msgid "\tchange Character" ++msgstr "" ++ ++#: setup.c:297 ++msgid "\tchar for Cat.Line" ++msgstr "" ++ ++#: setup.c:300 ++msgid "\t Count before Cat.Name" ++msgstr "" ++ ++#: setup.c:301 ++msgid "\tSpaces before/after Cat.Name" ++msgstr "" ++ ++#: setup.c:303 ++msgid "\tCutText for Subcat" ++msgstr "" ++ ++#: setup.c:315 ++msgid "Navigation" ++msgstr "" ++ ++#: setup.c:319 ++msgid "\tCat.Jump by Left/Right" ++msgstr "" ++ ++#: setup.c:326 ++msgid "Key allocation" ++msgstr "" ++ ++#: setup.c:330 ++msgid "\tKey 1" ++msgstr "" ++ ++#: setup.c:331 ++msgid "\tKey 2" ++msgstr "" ++ ++#: setup.c:332 ++msgid "\tKey 3" ++msgstr "" ++ ++#: setup.c:333 ++msgid "\tKey 4" ++msgstr "" ++ ++#: setup.c:334 ++msgid "\tKey 5" ++msgstr "" ++ ++#: setup.c:335 ++msgid "\tKey 6" ++msgstr "" ++ ++#: setup.c:336 ++msgid "\tKey 7" ++msgstr "" ++ ++#: setup.c:337 ++msgid "\tKey 8" ++msgstr "" ++ ++#: setup.c:338 ++msgid "\tKey 9" ++msgstr "" ++ ++#: setup.c:339 ++msgid "\tKey 0" ++msgstr "" ++ ++#: setup.c:340 ++msgid "\tKey Red" ++msgstr "" ++ ++#: setup.c:341 ++msgid "\tKey Green" ++msgstr "" ++ ++#: setup.c:342 ++msgid "\tKey Yellow" ++msgstr "" ++ ++#: setup.c:343 ++msgid "\tKey Blue" ++msgstr "" ++ ++#: setup.c:344 ++msgid "\tKey OK" ++msgstr "" ++ ++#: setup.c:432 ++msgid "to adjust" ++msgstr "" +diff -Nru dvdswitch-0.1.3/po/pl_PL.po dvdswitch-0.1.3-gettext-i18n/po/pl_PL.po +--- dvdswitch-0.1.3/po/pl_PL.po 1970-01-01 01:00:00.000000000 +0100 ++++ dvdswitch-0.1.3-gettext-i18n/po/pl_PL.po 2008-03-31 04:59:34.000000000 +0200 +@@ -0,0 +1,529 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Michael Rakowski <mrak@gmx.de>, 2002 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 14:49+0200\n" ++"PO-Revision-Date: 2008-03-30 14:49+0200\n" ++"Last-Translator: Michael Rakowski <mrak@gmx.de>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-2\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: commands.c:43 setup.c:94 setup.c:106 ++msgid "Commands" ++msgstr "" ++ ++#: commands.c:49 commands.c:98 commands.c:169 ++msgid "Directory Management" ++msgstr "" ++ ++#: commands.c:50 commands.c:100 ++msgid "DVD-Tray open" ++msgstr "" ++ ++#: commands.c:51 commands.c:102 ++msgid "DVD-Tray close" ++msgstr "" ++ ++#: commands.c:52 commands.c:104 setup.c:88 setup.c:100 ++msgid "Play" ++msgstr "" ++ ++#: commands.c:58 commands.c:106 setup.c:89 ++msgid "Image rename" ++msgstr "" ++ ++#: commands.c:64 commands.c:108 setup.c:90 ++msgid "Image move" ++msgstr "" ++ ++#: commands.c:70 commands.c:110 setup.c:91 ++msgid "Image delete" ++msgstr "" ++ ++#: commands.c:76 commands.c:112 setup.c:92 ++msgid "Image burn" ++msgstr "" ++ ++#: commands.c:82 commands.c:114 ++msgid "Image to create from DVD" ++msgstr "" ++ ++#: commands.c:183 ++msgid "Select Directory" ++msgstr "" ++ ++#: commands.c:200 commands.c:202 commands.c:204 setup-itypes.c:58 ++#: setup-itypes.c:60 setup-itypes.c:63 setup-itypes.c:143 ++msgid "New" ++msgstr "" ++ ++#: commands.c:200 commands.c:761 setup-itypes.c:58 ++msgid "Select" ++msgstr "" ++ ++#: commands.c:202 setup-itypes.c:60 setup.c:103 ++msgid "Delete" ++msgstr "" ++ ++#: commands.c:202 commands.c:526 setup.c:102 ++msgid "Move" ++msgstr "" ++ ++#: commands.c:202 setup.c:101 ++msgid "Rename" ++msgstr "" ++ ++#: commands.c:222 ++msgid "Edit Directories" ++msgstr "" ++ ++#: commands.c:264 commands.c:312 menu.c:782 ++msgid "no Rights!" ++msgstr "" ++ ++#: commands.c:282 commands.c:658 ++msgid "really delete?" ++msgstr "" ++ ++#: commands.c:286 ++msgid "Directory not empty. however delete?" ++msgstr "" ++ ++#: commands.c:369 ++msgid "no Rights to create" ++msgstr "" ++ ++#: commands.c:379 setup.c:252 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~" ++msgstr "" ++ ++#: commands.c:379 ++msgid "New:" ++msgstr "" ++ ++#: commands.c:408 commands.c:497 ++msgid "Directory exists" ++msgstr "" ++ ++#: commands.c:446 menu.c:1048 ++msgid "no Rights to rename" ++msgstr "" ++ ++#: commands.c:466 commands.c:741 commands.c:742 commands.c:743 menu.c:1075 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-_.#~" ++msgstr "" ++ ++#: commands.c:466 menu.c:1075 ++msgid "Rename:" ++msgstr "" ++ ++#: commands.c:544 ++msgid "Insert" ++msgstr "" ++ ++#: commands.c:685 ++msgid "Specified Writescript not exist!" ++msgstr "" ++ ++#: commands.c:692 ++msgid "Cannot execute Writescript!" ++msgstr "" ++ ++#: commands.c:700 ++msgid "Burn Now?" ++msgstr "" ++ ++#: commands.c:713 ++msgid "Read DVD" ++msgstr "" ++ ++#: commands.c:723 ++msgid "Specified Readscript not exist!" ++msgstr "" ++ ++#: commands.c:730 ++msgid "Cannot execute Readscript!" ++msgstr "" ++ ++#: commands.c:741 ++msgid "Name:" ++msgstr "" ++ ++#: commands.c:742 ++msgid "Directory:" ++msgstr "" ++ ++#: commands.c:743 ++msgid "Imagetype:" ++msgstr "" ++ ++#: commands.c:761 commands.c:764 ++msgid "read in" ++msgstr "" ++ ++#: commands.c:796 ++msgid "invalid file name for DVD-Image" ++msgstr "" ++ ++#: commands.c:801 ++msgid "No Imagetype selected" ++msgstr "" ++ ++#: commands.c:806 ++msgid "No Directory selected. Use Standard?" ++msgstr "" ++ ++#: commands.c:809 ++msgid "Now Read?" ++msgstr "" ++ ++#: dvdswitch.c:21 ++msgid "allowed to play DVD-Images" ++msgstr "" ++ ++#: dvdswitch.c:22 ++msgid "DVDSwitch" ++msgstr "" ++ ++#: dvdswitch.c:195 ++msgid "Image Directory not readable or not exist" ++msgstr "" ++ ++#: dvdswitch.c:203 ++msgid "DVD-Plugin not found! Function deactivated!" ++msgstr "" ++ ++#: imagelist.c:19 ++msgid "Directory with 'VIDEO_TS' Folder" ++msgstr "" ++ ++#: imagelist.c:20 setup-itypes.c:164 ++msgid "Directory" ++msgstr "" ++ ++#: imagelist.c:24 ++msgid "File with '.iso' Extension" ++msgstr "" ++ ++#: imagelist.c:25 ++msgid "Iso-Image" ++msgstr "" ++ ++#: menu.c:272 ++msgid "Image-File" ++msgstr "" ++ ++#: menu.c:294 ++msgid "Image-Directory" ++msgstr "" ++ ++#: menu.c:388 menu.c:419 menu.c:450 menu.c:481 ++msgid "to change" ++msgstr "" ++ ++#: menu.c:550 ++msgid "File exists in Directory" ++msgstr "" ++ ++#: menu.c:955 ++msgid "without Catergory" ++msgstr "" ++ ++#: menu.c:1002 ++msgid "DVD-Drive" ++msgstr "" ++ ++#: setup-itypes.c:6 ++msgid "Imagetypes" ++msgstr "" ++ ++#: setup-itypes.c:60 setup-itypes.c:147 ++msgid "Edit" ++msgstr "" ++ ++#: setup-itypes.c:83 ++msgid "really delete Entry?" ++msgstr "" ++ ++#: setup-itypes.c:165 ++msgid "File" ++msgstr "" ++ ++#: setup-itypes.c:176 ++msgid "Description:" ++msgstr "" ++ ++#: setup-itypes.c:180 ++msgid "Type-Title:" ++msgstr "" ++ ++#: setup-itypes.c:184 ++msgid "Image Type" ++msgstr "" ++ ++#: setup-itypes.c:185 ++msgid "Directory contains:" ++msgstr "" ++ ++#: setup-itypes.c:185 ++msgid "File Extension:" ++msgstr "" ++ ++#: setup-itypes.c:190 ++msgid "Hide Extension" ++msgstr "" ++ ++#: setup-itypes.c:215 ++msgid "'Description' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:220 ++msgid "'Type-Title' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:226 ++msgid "'Directory contains' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:228 ++msgid "'File Extension' must not empty!" ++msgstr "" ++ ++#: setup.c:69 ++msgid "All Images" ++msgstr "" ++ ++#: setup.c:70 ++msgid "All with Cat." ++msgstr "" ++ ++#: setup.c:71 setup.c:75 ++msgid "Directories" ++msgstr "" ++ ++#: setup.c:74 ++msgid "Image-Type" ++msgstr "" ++ ++#: setup.c:76 ++msgid "File-Type" ++msgstr "" ++ ++#: setup.c:79 ++msgid "none" ++msgstr "" ++ ++#: setup.c:80 ++msgid "ascending" ++msgstr "" ++ ++#: setup.c:81 ++msgid "descending" ++msgstr "" ++ ++#: setup.c:84 ++msgid "none Function" ++msgstr "" ++ ++#: setup.c:85 ++msgid "Dir. Management" ++msgstr "" ++ ++#: setup.c:86 ++msgid "Tray open" ++msgstr "" ++ ++#: setup.c:87 ++msgid "Tray close" ++msgstr "" ++ ++#: setup.c:93 ++msgid "Image create" ++msgstr "" ++ ++#: setup.c:97 ++msgid "Dir.Mgmt." ++msgstr "" ++ ++#: setup.c:98 ++msgid "Open" ++msgstr "" ++ ++#: setup.c:99 ++msgid "Close" ++msgstr "" ++ ++#: setup.c:104 ++msgid "Burn" ++msgstr "" ++ ++#: setup.c:105 ++msgid "Create" ++msgstr "" ++ ++#: setup.c:243 ++msgid "Generic Settings" ++msgstr "" ++ ++#: setup.c:247 ++msgid "\tHide Mainmenu Entry" ++msgstr "" ++ ++#: setup.c:249 ++msgid "\t Name" ++msgstr "" ++ ++#: setup.c:254 ++msgid "\tImage Dir." ++msgstr "" ++ ++#: setup.c:258 setup.c:431 setup.c:437 ++msgid "\tImagetypes" ++msgstr "" ++ ++#: setup.c:259 ++msgid "\tView free DiskSpace" ++msgstr "" ++ ++#: setup.c:265 ++msgid "Display Settings" ++msgstr "" ++ ++#: setup.c:269 ++msgid "\tDisplay Mode" ++msgstr "" ++ ++#: setup.c:271 ++msgid "\t Category Type" ++msgstr "" ++ ++#: setup.c:273 ++msgid "\t invisible empty Dir's/Cat." ++msgstr "" ++ ++#: setup.c:274 ++msgid "\tAlphabetic Sort" ++msgstr "" ++ ++#: setup.c:275 ++msgid "\tvisible DVD-Drive" ++msgstr "" ++ ++#: setup.c:281 ++msgid "Special Display Settings" ++msgstr "" ++ ++#: setup.c:285 ++msgid "\tvisible Image-Type Col" ++msgstr "" ++ ++#: setup.c:287 ++msgid "\t Width for Image-Col" ++msgstr "" ++ ++#: setup.c:288 ++msgid "\tvisible Image-Size Col" ++msgstr "" ++ ++#: setup.c:289 ++msgid "\tchange Character" ++msgstr "" ++ ++#: setup.c:297 ++msgid "\tchar for Cat.Line" ++msgstr "" ++ ++#: setup.c:300 ++msgid "\t Count before Cat.Name" ++msgstr "" ++ ++#: setup.c:301 ++msgid "\tSpaces before/after Cat.Name" ++msgstr "" ++ ++#: setup.c:303 ++msgid "\tCutText for Subcat" ++msgstr "" ++ ++#: setup.c:315 ++msgid "Navigation" ++msgstr "" ++ ++#: setup.c:319 ++msgid "\tCat.Jump by Left/Right" ++msgstr "" ++ ++#: setup.c:326 ++msgid "Key allocation" ++msgstr "" ++ ++#: setup.c:330 ++msgid "\tKey 1" ++msgstr "" ++ ++#: setup.c:331 ++msgid "\tKey 2" ++msgstr "" ++ ++#: setup.c:332 ++msgid "\tKey 3" ++msgstr "" ++ ++#: setup.c:333 ++msgid "\tKey 4" ++msgstr "" ++ ++#: setup.c:334 ++msgid "\tKey 5" ++msgstr "" ++ ++#: setup.c:335 ++msgid "\tKey 6" ++msgstr "" ++ ++#: setup.c:336 ++msgid "\tKey 7" ++msgstr "" ++ ++#: setup.c:337 ++msgid "\tKey 8" ++msgstr "" ++ ++#: setup.c:338 ++msgid "\tKey 9" ++msgstr "" ++ ++#: setup.c:339 ++msgid "\tKey 0" ++msgstr "" ++ ++#: setup.c:340 ++msgid "\tKey Red" ++msgstr "" ++ ++#: setup.c:341 ++msgid "\tKey Green" ++msgstr "" ++ ++#: setup.c:342 ++msgid "\tKey Yellow" ++msgstr "" ++ ++#: setup.c:343 ++msgid "\tKey Blue" ++msgstr "" ++ ++#: setup.c:344 ++msgid "\tKey OK" ++msgstr "" ++ ++#: setup.c:432 ++msgid "to adjust" ++msgstr "" +diff -Nru dvdswitch-0.1.3/po/pt_PT.po dvdswitch-0.1.3-gettext-i18n/po/pt_PT.po +--- dvdswitch-0.1.3/po/pt_PT.po 1970-01-01 01:00:00.000000000 +0100 ++++ dvdswitch-0.1.3-gettext-i18n/po/pt_PT.po 2008-03-31 04:59:34.000000000 +0200 +@@ -0,0 +1,529 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Paulo Lopes <pmml@netvita.pt>, 2001 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 14:49+0200\n" ++"PO-Revision-Date: 2008-03-30 14:49+0200\n" ++"Last-Translator: Paulo Lopes <pmml@netvita.pt>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-1\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: commands.c:43 setup.c:94 setup.c:106 ++msgid "Commands" ++msgstr "" ++ ++#: commands.c:49 commands.c:98 commands.c:169 ++msgid "Directory Management" ++msgstr "" ++ ++#: commands.c:50 commands.c:100 ++msgid "DVD-Tray open" ++msgstr "" ++ ++#: commands.c:51 commands.c:102 ++msgid "DVD-Tray close" ++msgstr "" ++ ++#: commands.c:52 commands.c:104 setup.c:88 setup.c:100 ++msgid "Play" ++msgstr "" ++ ++#: commands.c:58 commands.c:106 setup.c:89 ++msgid "Image rename" ++msgstr "" ++ ++#: commands.c:64 commands.c:108 setup.c:90 ++msgid "Image move" ++msgstr "" ++ ++#: commands.c:70 commands.c:110 setup.c:91 ++msgid "Image delete" ++msgstr "" ++ ++#: commands.c:76 commands.c:112 setup.c:92 ++msgid "Image burn" ++msgstr "" ++ ++#: commands.c:82 commands.c:114 ++msgid "Image to create from DVD" ++msgstr "" ++ ++#: commands.c:183 ++msgid "Select Directory" ++msgstr "" ++ ++#: commands.c:200 commands.c:202 commands.c:204 setup-itypes.c:58 ++#: setup-itypes.c:60 setup-itypes.c:63 setup-itypes.c:143 ++msgid "New" ++msgstr "" ++ ++#: commands.c:200 commands.c:761 setup-itypes.c:58 ++msgid "Select" ++msgstr "" ++ ++#: commands.c:202 setup-itypes.c:60 setup.c:103 ++msgid "Delete" ++msgstr "" ++ ++#: commands.c:202 commands.c:526 setup.c:102 ++msgid "Move" ++msgstr "" ++ ++#: commands.c:202 setup.c:101 ++msgid "Rename" ++msgstr "" ++ ++#: commands.c:222 ++msgid "Edit Directories" ++msgstr "" ++ ++#: commands.c:264 commands.c:312 menu.c:782 ++msgid "no Rights!" ++msgstr "" ++ ++#: commands.c:282 commands.c:658 ++msgid "really delete?" ++msgstr "" ++ ++#: commands.c:286 ++msgid "Directory not empty. however delete?" ++msgstr "" ++ ++#: commands.c:369 ++msgid "no Rights to create" ++msgstr "" ++ ++#: commands.c:379 setup.c:252 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~" ++msgstr "" ++ ++#: commands.c:379 ++msgid "New:" ++msgstr "" ++ ++#: commands.c:408 commands.c:497 ++msgid "Directory exists" ++msgstr "" ++ ++#: commands.c:446 menu.c:1048 ++msgid "no Rights to rename" ++msgstr "" ++ ++#: commands.c:466 commands.c:741 commands.c:742 commands.c:743 menu.c:1075 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-_.#~" ++msgstr "" ++ ++#: commands.c:466 menu.c:1075 ++msgid "Rename:" ++msgstr "" ++ ++#: commands.c:544 ++msgid "Insert" ++msgstr "" ++ ++#: commands.c:685 ++msgid "Specified Writescript not exist!" ++msgstr "" ++ ++#: commands.c:692 ++msgid "Cannot execute Writescript!" ++msgstr "" ++ ++#: commands.c:700 ++msgid "Burn Now?" ++msgstr "" ++ ++#: commands.c:713 ++msgid "Read DVD" ++msgstr "" ++ ++#: commands.c:723 ++msgid "Specified Readscript not exist!" ++msgstr "" ++ ++#: commands.c:730 ++msgid "Cannot execute Readscript!" ++msgstr "" ++ ++#: commands.c:741 ++msgid "Name:" ++msgstr "" ++ ++#: commands.c:742 ++msgid "Directory:" ++msgstr "" ++ ++#: commands.c:743 ++msgid "Imagetype:" ++msgstr "" ++ ++#: commands.c:761 commands.c:764 ++msgid "read in" ++msgstr "" ++ ++#: commands.c:796 ++msgid "invalid file name for DVD-Image" ++msgstr "" ++ ++#: commands.c:801 ++msgid "No Imagetype selected" ++msgstr "" ++ ++#: commands.c:806 ++msgid "No Directory selected. Use Standard?" ++msgstr "" ++ ++#: commands.c:809 ++msgid "Now Read?" ++msgstr "" ++ ++#: dvdswitch.c:21 ++msgid "allowed to play DVD-Images" ++msgstr "" ++ ++#: dvdswitch.c:22 ++msgid "DVDSwitch" ++msgstr "" ++ ++#: dvdswitch.c:195 ++msgid "Image Directory not readable or not exist" ++msgstr "" ++ ++#: dvdswitch.c:203 ++msgid "DVD-Plugin not found! Function deactivated!" ++msgstr "" ++ ++#: imagelist.c:19 ++msgid "Directory with 'VIDEO_TS' Folder" ++msgstr "" ++ ++#: imagelist.c:20 setup-itypes.c:164 ++msgid "Directory" ++msgstr "" ++ ++#: imagelist.c:24 ++msgid "File with '.iso' Extension" ++msgstr "" ++ ++#: imagelist.c:25 ++msgid "Iso-Image" ++msgstr "" ++ ++#: menu.c:272 ++msgid "Image-File" ++msgstr "" ++ ++#: menu.c:294 ++msgid "Image-Directory" ++msgstr "" ++ ++#: menu.c:388 menu.c:419 menu.c:450 menu.c:481 ++msgid "to change" ++msgstr "" ++ ++#: menu.c:550 ++msgid "File exists in Directory" ++msgstr "" ++ ++#: menu.c:955 ++msgid "without Catergory" ++msgstr "" ++ ++#: menu.c:1002 ++msgid "DVD-Drive" ++msgstr "" ++ ++#: setup-itypes.c:6 ++msgid "Imagetypes" ++msgstr "" ++ ++#: setup-itypes.c:60 setup-itypes.c:147 ++msgid "Edit" ++msgstr "" ++ ++#: setup-itypes.c:83 ++msgid "really delete Entry?" ++msgstr "" ++ ++#: setup-itypes.c:165 ++msgid "File" ++msgstr "" ++ ++#: setup-itypes.c:176 ++msgid "Description:" ++msgstr "" ++ ++#: setup-itypes.c:180 ++msgid "Type-Title:" ++msgstr "" ++ ++#: setup-itypes.c:184 ++msgid "Image Type" ++msgstr "" ++ ++#: setup-itypes.c:185 ++msgid "Directory contains:" ++msgstr "" ++ ++#: setup-itypes.c:185 ++msgid "File Extension:" ++msgstr "" ++ ++#: setup-itypes.c:190 ++msgid "Hide Extension" ++msgstr "" ++ ++#: setup-itypes.c:215 ++msgid "'Description' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:220 ++msgid "'Type-Title' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:226 ++msgid "'Directory contains' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:228 ++msgid "'File Extension' must not empty!" ++msgstr "" ++ ++#: setup.c:69 ++msgid "All Images" ++msgstr "" ++ ++#: setup.c:70 ++msgid "All with Cat." ++msgstr "" ++ ++#: setup.c:71 setup.c:75 ++msgid "Directories" ++msgstr "" ++ ++#: setup.c:74 ++msgid "Image-Type" ++msgstr "" ++ ++#: setup.c:76 ++msgid "File-Type" ++msgstr "" ++ ++#: setup.c:79 ++msgid "none" ++msgstr "" ++ ++#: setup.c:80 ++msgid "ascending" ++msgstr "" ++ ++#: setup.c:81 ++msgid "descending" ++msgstr "" ++ ++#: setup.c:84 ++msgid "none Function" ++msgstr "" ++ ++#: setup.c:85 ++msgid "Dir. Management" ++msgstr "" ++ ++#: setup.c:86 ++msgid "Tray open" ++msgstr "" ++ ++#: setup.c:87 ++msgid "Tray close" ++msgstr "" ++ ++#: setup.c:93 ++msgid "Image create" ++msgstr "" ++ ++#: setup.c:97 ++msgid "Dir.Mgmt." ++msgstr "" ++ ++#: setup.c:98 ++msgid "Open" ++msgstr "" ++ ++#: setup.c:99 ++msgid "Close" ++msgstr "" ++ ++#: setup.c:104 ++msgid "Burn" ++msgstr "" ++ ++#: setup.c:105 ++msgid "Create" ++msgstr "" ++ ++#: setup.c:243 ++msgid "Generic Settings" ++msgstr "" ++ ++#: setup.c:247 ++msgid "\tHide Mainmenu Entry" ++msgstr "" ++ ++#: setup.c:249 ++msgid "\t Name" ++msgstr "" ++ ++#: setup.c:254 ++msgid "\tImage Dir." ++msgstr "" ++ ++#: setup.c:258 setup.c:431 setup.c:437 ++msgid "\tImagetypes" ++msgstr "" ++ ++#: setup.c:259 ++msgid "\tView free DiskSpace" ++msgstr "" ++ ++#: setup.c:265 ++msgid "Display Settings" ++msgstr "" ++ ++#: setup.c:269 ++msgid "\tDisplay Mode" ++msgstr "" ++ ++#: setup.c:271 ++msgid "\t Category Type" ++msgstr "" ++ ++#: setup.c:273 ++msgid "\t invisible empty Dir's/Cat." ++msgstr "" ++ ++#: setup.c:274 ++msgid "\tAlphabetic Sort" ++msgstr "" ++ ++#: setup.c:275 ++msgid "\tvisible DVD-Drive" ++msgstr "" ++ ++#: setup.c:281 ++msgid "Special Display Settings" ++msgstr "" ++ ++#: setup.c:285 ++msgid "\tvisible Image-Type Col" ++msgstr "" ++ ++#: setup.c:287 ++msgid "\t Width for Image-Col" ++msgstr "" ++ ++#: setup.c:288 ++msgid "\tvisible Image-Size Col" ++msgstr "" ++ ++#: setup.c:289 ++msgid "\tchange Character" ++msgstr "" ++ ++#: setup.c:297 ++msgid "\tchar for Cat.Line" ++msgstr "" ++ ++#: setup.c:300 ++msgid "\t Count before Cat.Name" ++msgstr "" ++ ++#: setup.c:301 ++msgid "\tSpaces before/after Cat.Name" ++msgstr "" ++ ++#: setup.c:303 ++msgid "\tCutText for Subcat" ++msgstr "" ++ ++#: setup.c:315 ++msgid "Navigation" ++msgstr "" ++ ++#: setup.c:319 ++msgid "\tCat.Jump by Left/Right" ++msgstr "" ++ ++#: setup.c:326 ++msgid "Key allocation" ++msgstr "" ++ ++#: setup.c:330 ++msgid "\tKey 1" ++msgstr "" ++ ++#: setup.c:331 ++msgid "\tKey 2" ++msgstr "" ++ ++#: setup.c:332 ++msgid "\tKey 3" ++msgstr "" ++ ++#: setup.c:333 ++msgid "\tKey 4" ++msgstr "" ++ ++#: setup.c:334 ++msgid "\tKey 5" ++msgstr "" ++ ++#: setup.c:335 ++msgid "\tKey 6" ++msgstr "" ++ ++#: setup.c:336 ++msgid "\tKey 7" ++msgstr "" ++ ++#: setup.c:337 ++msgid "\tKey 8" ++msgstr "" ++ ++#: setup.c:338 ++msgid "\tKey 9" ++msgstr "" ++ ++#: setup.c:339 ++msgid "\tKey 0" ++msgstr "" ++ ++#: setup.c:340 ++msgid "\tKey Red" ++msgstr "" ++ ++#: setup.c:341 ++msgid "\tKey Green" ++msgstr "" ++ ++#: setup.c:342 ++msgid "\tKey Yellow" ++msgstr "" ++ ++#: setup.c:343 ++msgid "\tKey Blue" ++msgstr "" ++ ++#: setup.c:344 ++msgid "\tKey OK" ++msgstr "" ++ ++#: setup.c:432 ++msgid "to adjust" ++msgstr "" +diff -Nru dvdswitch-0.1.3/po/ro_RO.po dvdswitch-0.1.3-gettext-i18n/po/ro_RO.po +--- dvdswitch-0.1.3/po/ro_RO.po 1970-01-01 01:00:00.000000000 +0100 ++++ dvdswitch-0.1.3-gettext-i18n/po/ro_RO.po 2008-03-31 04:59:34.000000000 +0200 +@@ -0,0 +1,530 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Paul Lacatus <paul@campina.iiruc.ro>, 2002 ++# Lucian Muresan <lucianm@users.sourceforge.net>, 2004 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 14:49+0200\n" ++"PO-Revision-Date: 2008-03-30 14:49+0200\n" ++"Last-Translator: Lucian Muresan <lucianm@users.sourceforge.net>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-2\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: commands.c:43 setup.c:94 setup.c:106 ++msgid "Commands" ++msgstr "" ++ ++#: commands.c:49 commands.c:98 commands.c:169 ++msgid "Directory Management" ++msgstr "" ++ ++#: commands.c:50 commands.c:100 ++msgid "DVD-Tray open" ++msgstr "" ++ ++#: commands.c:51 commands.c:102 ++msgid "DVD-Tray close" ++msgstr "" ++ ++#: commands.c:52 commands.c:104 setup.c:88 setup.c:100 ++msgid "Play" ++msgstr "" ++ ++#: commands.c:58 commands.c:106 setup.c:89 ++msgid "Image rename" ++msgstr "" ++ ++#: commands.c:64 commands.c:108 setup.c:90 ++msgid "Image move" ++msgstr "" ++ ++#: commands.c:70 commands.c:110 setup.c:91 ++msgid "Image delete" ++msgstr "" ++ ++#: commands.c:76 commands.c:112 setup.c:92 ++msgid "Image burn" ++msgstr "" ++ ++#: commands.c:82 commands.c:114 ++msgid "Image to create from DVD" ++msgstr "" ++ ++#: commands.c:183 ++msgid "Select Directory" ++msgstr "" ++ ++#: commands.c:200 commands.c:202 commands.c:204 setup-itypes.c:58 ++#: setup-itypes.c:60 setup-itypes.c:63 setup-itypes.c:143 ++msgid "New" ++msgstr "" ++ ++#: commands.c:200 commands.c:761 setup-itypes.c:58 ++msgid "Select" ++msgstr "" ++ ++#: commands.c:202 setup-itypes.c:60 setup.c:103 ++msgid "Delete" ++msgstr "" ++ ++#: commands.c:202 commands.c:526 setup.c:102 ++msgid "Move" ++msgstr "" ++ ++#: commands.c:202 setup.c:101 ++msgid "Rename" ++msgstr "" ++ ++#: commands.c:222 ++msgid "Edit Directories" ++msgstr "" ++ ++#: commands.c:264 commands.c:312 menu.c:782 ++msgid "no Rights!" ++msgstr "" ++ ++#: commands.c:282 commands.c:658 ++msgid "really delete?" ++msgstr "" ++ ++#: commands.c:286 ++msgid "Directory not empty. however delete?" ++msgstr "" ++ ++#: commands.c:369 ++msgid "no Rights to create" ++msgstr "" ++ ++#: commands.c:379 setup.c:252 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~" ++msgstr "" ++ ++#: commands.c:379 ++msgid "New:" ++msgstr "" ++ ++#: commands.c:408 commands.c:497 ++msgid "Directory exists" ++msgstr "" ++ ++#: commands.c:446 menu.c:1048 ++msgid "no Rights to rename" ++msgstr "" ++ ++#: commands.c:466 commands.c:741 commands.c:742 commands.c:743 menu.c:1075 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-_.#~" ++msgstr "" ++ ++#: commands.c:466 menu.c:1075 ++msgid "Rename:" ++msgstr "" ++ ++#: commands.c:544 ++msgid "Insert" ++msgstr "" ++ ++#: commands.c:685 ++msgid "Specified Writescript not exist!" ++msgstr "" ++ ++#: commands.c:692 ++msgid "Cannot execute Writescript!" ++msgstr "" ++ ++#: commands.c:700 ++msgid "Burn Now?" ++msgstr "" ++ ++#: commands.c:713 ++msgid "Read DVD" ++msgstr "" ++ ++#: commands.c:723 ++msgid "Specified Readscript not exist!" ++msgstr "" ++ ++#: commands.c:730 ++msgid "Cannot execute Readscript!" ++msgstr "" ++ ++#: commands.c:741 ++msgid "Name:" ++msgstr "" ++ ++#: commands.c:742 ++msgid "Directory:" ++msgstr "" ++ ++#: commands.c:743 ++msgid "Imagetype:" ++msgstr "" ++ ++#: commands.c:761 commands.c:764 ++msgid "read in" ++msgstr "" ++ ++#: commands.c:796 ++msgid "invalid file name for DVD-Image" ++msgstr "" ++ ++#: commands.c:801 ++msgid "No Imagetype selected" ++msgstr "" ++ ++#: commands.c:806 ++msgid "No Directory selected. Use Standard?" ++msgstr "" ++ ++#: commands.c:809 ++msgid "Now Read?" ++msgstr "" ++ ++#: dvdswitch.c:21 ++msgid "allowed to play DVD-Images" ++msgstr "" ++ ++#: dvdswitch.c:22 ++msgid "DVDSwitch" ++msgstr "" ++ ++#: dvdswitch.c:195 ++msgid "Image Directory not readable or not exist" ++msgstr "" ++ ++#: dvdswitch.c:203 ++msgid "DVD-Plugin not found! Function deactivated!" ++msgstr "" ++ ++#: imagelist.c:19 ++msgid "Directory with 'VIDEO_TS' Folder" ++msgstr "" ++ ++#: imagelist.c:20 setup-itypes.c:164 ++msgid "Directory" ++msgstr "" ++ ++#: imagelist.c:24 ++msgid "File with '.iso' Extension" ++msgstr "" ++ ++#: imagelist.c:25 ++msgid "Iso-Image" ++msgstr "" ++ ++#: menu.c:272 ++msgid "Image-File" ++msgstr "" ++ ++#: menu.c:294 ++msgid "Image-Directory" ++msgstr "" ++ ++#: menu.c:388 menu.c:419 menu.c:450 menu.c:481 ++msgid "to change" ++msgstr "" ++ ++#: menu.c:550 ++msgid "File exists in Directory" ++msgstr "" ++ ++#: menu.c:955 ++msgid "without Catergory" ++msgstr "" ++ ++#: menu.c:1002 ++msgid "DVD-Drive" ++msgstr "" ++ ++#: setup-itypes.c:6 ++msgid "Imagetypes" ++msgstr "" ++ ++#: setup-itypes.c:60 setup-itypes.c:147 ++msgid "Edit" ++msgstr "" ++ ++#: setup-itypes.c:83 ++msgid "really delete Entry?" ++msgstr "" ++ ++#: setup-itypes.c:165 ++msgid "File" ++msgstr "" ++ ++#: setup-itypes.c:176 ++msgid "Description:" ++msgstr "" ++ ++#: setup-itypes.c:180 ++msgid "Type-Title:" ++msgstr "" ++ ++#: setup-itypes.c:184 ++msgid "Image Type" ++msgstr "" ++ ++#: setup-itypes.c:185 ++msgid "Directory contains:" ++msgstr "" ++ ++#: setup-itypes.c:185 ++msgid "File Extension:" ++msgstr "" ++ ++#: setup-itypes.c:190 ++msgid "Hide Extension" ++msgstr "" ++ ++#: setup-itypes.c:215 ++msgid "'Description' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:220 ++msgid "'Type-Title' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:226 ++msgid "'Directory contains' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:228 ++msgid "'File Extension' must not empty!" ++msgstr "" ++ ++#: setup.c:69 ++msgid "All Images" ++msgstr "" ++ ++#: setup.c:70 ++msgid "All with Cat." ++msgstr "" ++ ++#: setup.c:71 setup.c:75 ++msgid "Directories" ++msgstr "" ++ ++#: setup.c:74 ++msgid "Image-Type" ++msgstr "" ++ ++#: setup.c:76 ++msgid "File-Type" ++msgstr "" ++ ++#: setup.c:79 ++msgid "none" ++msgstr "" ++ ++#: setup.c:80 ++msgid "ascending" ++msgstr "" ++ ++#: setup.c:81 ++msgid "descending" ++msgstr "" ++ ++#: setup.c:84 ++msgid "none Function" ++msgstr "" ++ ++#: setup.c:85 ++msgid "Dir. Management" ++msgstr "" ++ ++#: setup.c:86 ++msgid "Tray open" ++msgstr "" ++ ++#: setup.c:87 ++msgid "Tray close" ++msgstr "" ++ ++#: setup.c:93 ++msgid "Image create" ++msgstr "" ++ ++#: setup.c:97 ++msgid "Dir.Mgmt." ++msgstr "" ++ ++#: setup.c:98 ++msgid "Open" ++msgstr "" ++ ++#: setup.c:99 ++msgid "Close" ++msgstr "" ++ ++#: setup.c:104 ++msgid "Burn" ++msgstr "" ++ ++#: setup.c:105 ++msgid "Create" ++msgstr "" ++ ++#: setup.c:243 ++msgid "Generic Settings" ++msgstr "" ++ ++#: setup.c:247 ++msgid "\tHide Mainmenu Entry" ++msgstr "" ++ ++#: setup.c:249 ++msgid "\t Name" ++msgstr "" ++ ++#: setup.c:254 ++msgid "\tImage Dir." ++msgstr "" ++ ++#: setup.c:258 setup.c:431 setup.c:437 ++msgid "\tImagetypes" ++msgstr "" ++ ++#: setup.c:259 ++msgid "\tView free DiskSpace" ++msgstr "" ++ ++#: setup.c:265 ++msgid "Display Settings" ++msgstr "" ++ ++#: setup.c:269 ++msgid "\tDisplay Mode" ++msgstr "" ++ ++#: setup.c:271 ++msgid "\t Category Type" ++msgstr "" ++ ++#: setup.c:273 ++msgid "\t invisible empty Dir's/Cat." ++msgstr "" ++ ++#: setup.c:274 ++msgid "\tAlphabetic Sort" ++msgstr "" ++ ++#: setup.c:275 ++msgid "\tvisible DVD-Drive" ++msgstr "" ++ ++#: setup.c:281 ++msgid "Special Display Settings" ++msgstr "" ++ ++#: setup.c:285 ++msgid "\tvisible Image-Type Col" ++msgstr "" ++ ++#: setup.c:287 ++msgid "\t Width for Image-Col" ++msgstr "" ++ ++#: setup.c:288 ++msgid "\tvisible Image-Size Col" ++msgstr "" ++ ++#: setup.c:289 ++msgid "\tchange Character" ++msgstr "" ++ ++#: setup.c:297 ++msgid "\tchar for Cat.Line" ++msgstr "" ++ ++#: setup.c:300 ++msgid "\t Count before Cat.Name" ++msgstr "" ++ ++#: setup.c:301 ++msgid "\tSpaces before/after Cat.Name" ++msgstr "" ++ ++#: setup.c:303 ++msgid "\tCutText for Subcat" ++msgstr "" ++ ++#: setup.c:315 ++msgid "Navigation" ++msgstr "" ++ ++#: setup.c:319 ++msgid "\tCat.Jump by Left/Right" ++msgstr "" ++ ++#: setup.c:326 ++msgid "Key allocation" ++msgstr "" ++ ++#: setup.c:330 ++msgid "\tKey 1" ++msgstr "" ++ ++#: setup.c:331 ++msgid "\tKey 2" ++msgstr "" ++ ++#: setup.c:332 ++msgid "\tKey 3" ++msgstr "" ++ ++#: setup.c:333 ++msgid "\tKey 4" ++msgstr "" ++ ++#: setup.c:334 ++msgid "\tKey 5" ++msgstr "" ++ ++#: setup.c:335 ++msgid "\tKey 6" ++msgstr "" ++ ++#: setup.c:336 ++msgid "\tKey 7" ++msgstr "" ++ ++#: setup.c:337 ++msgid "\tKey 8" ++msgstr "" ++ ++#: setup.c:338 ++msgid "\tKey 9" ++msgstr "" ++ ++#: setup.c:339 ++msgid "\tKey 0" ++msgstr "" ++ ++#: setup.c:340 ++msgid "\tKey Red" ++msgstr "" ++ ++#: setup.c:341 ++msgid "\tKey Green" ++msgstr "" ++ ++#: setup.c:342 ++msgid "\tKey Yellow" ++msgstr "" ++ ++#: setup.c:343 ++msgid "\tKey Blue" ++msgstr "" ++ ++#: setup.c:344 ++msgid "\tKey OK" ++msgstr "" ++ ++#: setup.c:432 ++msgid "to adjust" ++msgstr "" +diff -Nru dvdswitch-0.1.3/po/ru_RU.po dvdswitch-0.1.3-gettext-i18n/po/ru_RU.po +--- dvdswitch-0.1.3/po/ru_RU.po 1970-01-01 01:00:00.000000000 +0100 ++++ dvdswitch-0.1.3-gettext-i18n/po/ru_RU.po 2008-03-31 04:59:34.000000000 +0200 +@@ -0,0 +1,529 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Vyacheslav Dikonov <sdiconov@mail.ru>, 2004 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 14:49+0200\n" ++"PO-Revision-Date: 2008-03-30 14:49+0200\n" ++"Last-Translator: Vyacheslav Dikonov <sdiconov@mail.ru>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-5\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: commands.c:43 setup.c:94 setup.c:106 ++msgid "Commands" ++msgstr "" ++ ++#: commands.c:49 commands.c:98 commands.c:169 ++msgid "Directory Management" ++msgstr "" ++ ++#: commands.c:50 commands.c:100 ++msgid "DVD-Tray open" ++msgstr "" ++ ++#: commands.c:51 commands.c:102 ++msgid "DVD-Tray close" ++msgstr "" ++ ++#: commands.c:52 commands.c:104 setup.c:88 setup.c:100 ++msgid "Play" ++msgstr "" ++ ++#: commands.c:58 commands.c:106 setup.c:89 ++msgid "Image rename" ++msgstr "" ++ ++#: commands.c:64 commands.c:108 setup.c:90 ++msgid "Image move" ++msgstr "" ++ ++#: commands.c:70 commands.c:110 setup.c:91 ++msgid "Image delete" ++msgstr "" ++ ++#: commands.c:76 commands.c:112 setup.c:92 ++msgid "Image burn" ++msgstr "" ++ ++#: commands.c:82 commands.c:114 ++msgid "Image to create from DVD" ++msgstr "" ++ ++#: commands.c:183 ++msgid "Select Directory" ++msgstr "" ++ ++#: commands.c:200 commands.c:202 commands.c:204 setup-itypes.c:58 ++#: setup-itypes.c:60 setup-itypes.c:63 setup-itypes.c:143 ++msgid "New" ++msgstr "" ++ ++#: commands.c:200 commands.c:761 setup-itypes.c:58 ++msgid "Select" ++msgstr "" ++ ++#: commands.c:202 setup-itypes.c:60 setup.c:103 ++msgid "Delete" ++msgstr "" ++ ++#: commands.c:202 commands.c:526 setup.c:102 ++msgid "Move" ++msgstr "" ++ ++#: commands.c:202 setup.c:101 ++msgid "Rename" ++msgstr "" ++ ++#: commands.c:222 ++msgid "Edit Directories" ++msgstr "" ++ ++#: commands.c:264 commands.c:312 menu.c:782 ++msgid "no Rights!" ++msgstr "" ++ ++#: commands.c:282 commands.c:658 ++msgid "really delete?" ++msgstr "" ++ ++#: commands.c:286 ++msgid "Directory not empty. however delete?" ++msgstr "" ++ ++#: commands.c:369 ++msgid "no Rights to create" ++msgstr "" ++ ++#: commands.c:379 setup.c:252 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~" ++msgstr "" ++ ++#: commands.c:379 ++msgid "New:" ++msgstr "" ++ ++#: commands.c:408 commands.c:497 ++msgid "Directory exists" ++msgstr "" ++ ++#: commands.c:446 menu.c:1048 ++msgid "no Rights to rename" ++msgstr "" ++ ++#: commands.c:466 commands.c:741 commands.c:742 commands.c:743 menu.c:1075 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-_.#~" ++msgstr "" ++ ++#: commands.c:466 menu.c:1075 ++msgid "Rename:" ++msgstr "" ++ ++#: commands.c:544 ++msgid "Insert" ++msgstr "" ++ ++#: commands.c:685 ++msgid "Specified Writescript not exist!" ++msgstr "" ++ ++#: commands.c:692 ++msgid "Cannot execute Writescript!" ++msgstr "" ++ ++#: commands.c:700 ++msgid "Burn Now?" ++msgstr "" ++ ++#: commands.c:713 ++msgid "Read DVD" ++msgstr "" ++ ++#: commands.c:723 ++msgid "Specified Readscript not exist!" ++msgstr "" ++ ++#: commands.c:730 ++msgid "Cannot execute Readscript!" ++msgstr "" ++ ++#: commands.c:741 ++msgid "Name:" ++msgstr "" ++ ++#: commands.c:742 ++msgid "Directory:" ++msgstr "" ++ ++#: commands.c:743 ++msgid "Imagetype:" ++msgstr "" ++ ++#: commands.c:761 commands.c:764 ++msgid "read in" ++msgstr "" ++ ++#: commands.c:796 ++msgid "invalid file name for DVD-Image" ++msgstr "" ++ ++#: commands.c:801 ++msgid "No Imagetype selected" ++msgstr "" ++ ++#: commands.c:806 ++msgid "No Directory selected. Use Standard?" ++msgstr "" ++ ++#: commands.c:809 ++msgid "Now Read?" ++msgstr "" ++ ++#: dvdswitch.c:21 ++msgid "allowed to play DVD-Images" ++msgstr "" ++ ++#: dvdswitch.c:22 ++msgid "DVDSwitch" ++msgstr "" ++ ++#: dvdswitch.c:195 ++msgid "Image Directory not readable or not exist" ++msgstr "" ++ ++#: dvdswitch.c:203 ++msgid "DVD-Plugin not found! Function deactivated!" ++msgstr "" ++ ++#: imagelist.c:19 ++msgid "Directory with 'VIDEO_TS' Folder" ++msgstr "" ++ ++#: imagelist.c:20 setup-itypes.c:164 ++msgid "Directory" ++msgstr "" ++ ++#: imagelist.c:24 ++msgid "File with '.iso' Extension" ++msgstr "" ++ ++#: imagelist.c:25 ++msgid "Iso-Image" ++msgstr "" ++ ++#: menu.c:272 ++msgid "Image-File" ++msgstr "" ++ ++#: menu.c:294 ++msgid "Image-Directory" ++msgstr "" ++ ++#: menu.c:388 menu.c:419 menu.c:450 menu.c:481 ++msgid "to change" ++msgstr "" ++ ++#: menu.c:550 ++msgid "File exists in Directory" ++msgstr "" ++ ++#: menu.c:955 ++msgid "without Catergory" ++msgstr "" ++ ++#: menu.c:1002 ++msgid "DVD-Drive" ++msgstr "" ++ ++#: setup-itypes.c:6 ++msgid "Imagetypes" ++msgstr "" ++ ++#: setup-itypes.c:60 setup-itypes.c:147 ++msgid "Edit" ++msgstr "" ++ ++#: setup-itypes.c:83 ++msgid "really delete Entry?" ++msgstr "" ++ ++#: setup-itypes.c:165 ++msgid "File" ++msgstr "" ++ ++#: setup-itypes.c:176 ++msgid "Description:" ++msgstr "" ++ ++#: setup-itypes.c:180 ++msgid "Type-Title:" ++msgstr "" ++ ++#: setup-itypes.c:184 ++msgid "Image Type" ++msgstr "" ++ ++#: setup-itypes.c:185 ++msgid "Directory contains:" ++msgstr "" ++ ++#: setup-itypes.c:185 ++msgid "File Extension:" ++msgstr "" ++ ++#: setup-itypes.c:190 ++msgid "Hide Extension" ++msgstr "" ++ ++#: setup-itypes.c:215 ++msgid "'Description' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:220 ++msgid "'Type-Title' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:226 ++msgid "'Directory contains' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:228 ++msgid "'File Extension' must not empty!" ++msgstr "" ++ ++#: setup.c:69 ++msgid "All Images" ++msgstr "" ++ ++#: setup.c:70 ++msgid "All with Cat." ++msgstr "" ++ ++#: setup.c:71 setup.c:75 ++msgid "Directories" ++msgstr "" ++ ++#: setup.c:74 ++msgid "Image-Type" ++msgstr "" ++ ++#: setup.c:76 ++msgid "File-Type" ++msgstr "" ++ ++#: setup.c:79 ++msgid "none" ++msgstr "" ++ ++#: setup.c:80 ++msgid "ascending" ++msgstr "" ++ ++#: setup.c:81 ++msgid "descending" ++msgstr "" ++ ++#: setup.c:84 ++msgid "none Function" ++msgstr "" ++ ++#: setup.c:85 ++msgid "Dir. Management" ++msgstr "" ++ ++#: setup.c:86 ++msgid "Tray open" ++msgstr "" ++ ++#: setup.c:87 ++msgid "Tray close" ++msgstr "" ++ ++#: setup.c:93 ++msgid "Image create" ++msgstr "" ++ ++#: setup.c:97 ++msgid "Dir.Mgmt." ++msgstr "" ++ ++#: setup.c:98 ++msgid "Open" ++msgstr "" ++ ++#: setup.c:99 ++msgid "Close" ++msgstr "" ++ ++#: setup.c:104 ++msgid "Burn" ++msgstr "" ++ ++#: setup.c:105 ++msgid "Create" ++msgstr "" ++ ++#: setup.c:243 ++msgid "Generic Settings" ++msgstr "" ++ ++#: setup.c:247 ++msgid "\tHide Mainmenu Entry" ++msgstr "" ++ ++#: setup.c:249 ++msgid "\t Name" ++msgstr "" ++ ++#: setup.c:254 ++msgid "\tImage Dir." ++msgstr "" ++ ++#: setup.c:258 setup.c:431 setup.c:437 ++msgid "\tImagetypes" ++msgstr "" ++ ++#: setup.c:259 ++msgid "\tView free DiskSpace" ++msgstr "" ++ ++#: setup.c:265 ++msgid "Display Settings" ++msgstr "" ++ ++#: setup.c:269 ++msgid "\tDisplay Mode" ++msgstr "" ++ ++#: setup.c:271 ++msgid "\t Category Type" ++msgstr "" ++ ++#: setup.c:273 ++msgid "\t invisible empty Dir's/Cat." ++msgstr "" ++ ++#: setup.c:274 ++msgid "\tAlphabetic Sort" ++msgstr "" ++ ++#: setup.c:275 ++msgid "\tvisible DVD-Drive" ++msgstr "" ++ ++#: setup.c:281 ++msgid "Special Display Settings" ++msgstr "" ++ ++#: setup.c:285 ++msgid "\tvisible Image-Type Col" ++msgstr "" ++ ++#: setup.c:287 ++msgid "\t Width for Image-Col" ++msgstr "" ++ ++#: setup.c:288 ++msgid "\tvisible Image-Size Col" ++msgstr "" ++ ++#: setup.c:289 ++msgid "\tchange Character" ++msgstr "" ++ ++#: setup.c:297 ++msgid "\tchar for Cat.Line" ++msgstr "" ++ ++#: setup.c:300 ++msgid "\t Count before Cat.Name" ++msgstr "" ++ ++#: setup.c:301 ++msgid "\tSpaces before/after Cat.Name" ++msgstr "" ++ ++#: setup.c:303 ++msgid "\tCutText for Subcat" ++msgstr "" ++ ++#: setup.c:315 ++msgid "Navigation" ++msgstr "" ++ ++#: setup.c:319 ++msgid "\tCat.Jump by Left/Right" ++msgstr "" ++ ++#: setup.c:326 ++msgid "Key allocation" ++msgstr "" ++ ++#: setup.c:330 ++msgid "\tKey 1" ++msgstr "" ++ ++#: setup.c:331 ++msgid "\tKey 2" ++msgstr "" ++ ++#: setup.c:332 ++msgid "\tKey 3" ++msgstr "" ++ ++#: setup.c:333 ++msgid "\tKey 4" ++msgstr "" ++ ++#: setup.c:334 ++msgid "\tKey 5" ++msgstr "" ++ ++#: setup.c:335 ++msgid "\tKey 6" ++msgstr "" ++ ++#: setup.c:336 ++msgid "\tKey 7" ++msgstr "" ++ ++#: setup.c:337 ++msgid "\tKey 8" ++msgstr "" ++ ++#: setup.c:338 ++msgid "\tKey 9" ++msgstr "" ++ ++#: setup.c:339 ++msgid "\tKey 0" ++msgstr "" ++ ++#: setup.c:340 ++msgid "\tKey Red" ++msgstr "" ++ ++#: setup.c:341 ++msgid "\tKey Green" ++msgstr "" ++ ++#: setup.c:342 ++msgid "\tKey Yellow" ++msgstr "" ++ ++#: setup.c:343 ++msgid "\tKey Blue" ++msgstr "" ++ ++#: setup.c:344 ++msgid "\tKey OK" ++msgstr "" ++ ++#: setup.c:432 ++msgid "to adjust" ++msgstr "" +diff -Nru dvdswitch-0.1.3/po/sl_SI.po dvdswitch-0.1.3-gettext-i18n/po/sl_SI.po +--- dvdswitch-0.1.3/po/sl_SI.po 1970-01-01 01:00:00.000000000 +0100 ++++ dvdswitch-0.1.3-gettext-i18n/po/sl_SI.po 2008-03-31 04:59:34.000000000 +0200 +@@ -0,0 +1,530 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Miha Setina <mihasetina@softhome.net>, 2000 ++# Matjaz Thaler <matjaz.thaler@guest.arnes.si>, 2003 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 14:49+0200\n" ++"PO-Revision-Date: 2008-03-30 14:49+0200\n" ++"Last-Translator: Matjaz Thaler <matjaz.thaler@guest.arnes.si>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-2\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: commands.c:43 setup.c:94 setup.c:106 ++msgid "Commands" ++msgstr "" ++ ++#: commands.c:49 commands.c:98 commands.c:169 ++msgid "Directory Management" ++msgstr "" ++ ++#: commands.c:50 commands.c:100 ++msgid "DVD-Tray open" ++msgstr "" ++ ++#: commands.c:51 commands.c:102 ++msgid "DVD-Tray close" ++msgstr "" ++ ++#: commands.c:52 commands.c:104 setup.c:88 setup.c:100 ++msgid "Play" ++msgstr "" ++ ++#: commands.c:58 commands.c:106 setup.c:89 ++msgid "Image rename" ++msgstr "" ++ ++#: commands.c:64 commands.c:108 setup.c:90 ++msgid "Image move" ++msgstr "" ++ ++#: commands.c:70 commands.c:110 setup.c:91 ++msgid "Image delete" ++msgstr "" ++ ++#: commands.c:76 commands.c:112 setup.c:92 ++msgid "Image burn" ++msgstr "" ++ ++#: commands.c:82 commands.c:114 ++msgid "Image to create from DVD" ++msgstr "" ++ ++#: commands.c:183 ++msgid "Select Directory" ++msgstr "" ++ ++#: commands.c:200 commands.c:202 commands.c:204 setup-itypes.c:58 ++#: setup-itypes.c:60 setup-itypes.c:63 setup-itypes.c:143 ++msgid "New" ++msgstr "" ++ ++#: commands.c:200 commands.c:761 setup-itypes.c:58 ++msgid "Select" ++msgstr "" ++ ++#: commands.c:202 setup-itypes.c:60 setup.c:103 ++msgid "Delete" ++msgstr "" ++ ++#: commands.c:202 commands.c:526 setup.c:102 ++msgid "Move" ++msgstr "" ++ ++#: commands.c:202 setup.c:101 ++msgid "Rename" ++msgstr "" ++ ++#: commands.c:222 ++msgid "Edit Directories" ++msgstr "" ++ ++#: commands.c:264 commands.c:312 menu.c:782 ++msgid "no Rights!" ++msgstr "" ++ ++#: commands.c:282 commands.c:658 ++msgid "really delete?" ++msgstr "" ++ ++#: commands.c:286 ++msgid "Directory not empty. however delete?" ++msgstr "" ++ ++#: commands.c:369 ++msgid "no Rights to create" ++msgstr "" ++ ++#: commands.c:379 setup.c:252 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~" ++msgstr "" ++ ++#: commands.c:379 ++msgid "New:" ++msgstr "" ++ ++#: commands.c:408 commands.c:497 ++msgid "Directory exists" ++msgstr "" ++ ++#: commands.c:446 menu.c:1048 ++msgid "no Rights to rename" ++msgstr "" ++ ++#: commands.c:466 commands.c:741 commands.c:742 commands.c:743 menu.c:1075 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-_.#~" ++msgstr "" ++ ++#: commands.c:466 menu.c:1075 ++msgid "Rename:" ++msgstr "" ++ ++#: commands.c:544 ++msgid "Insert" ++msgstr "" ++ ++#: commands.c:685 ++msgid "Specified Writescript not exist!" ++msgstr "" ++ ++#: commands.c:692 ++msgid "Cannot execute Writescript!" ++msgstr "" ++ ++#: commands.c:700 ++msgid "Burn Now?" ++msgstr "" ++ ++#: commands.c:713 ++msgid "Read DVD" ++msgstr "" ++ ++#: commands.c:723 ++msgid "Specified Readscript not exist!" ++msgstr "" ++ ++#: commands.c:730 ++msgid "Cannot execute Readscript!" ++msgstr "" ++ ++#: commands.c:741 ++msgid "Name:" ++msgstr "" ++ ++#: commands.c:742 ++msgid "Directory:" ++msgstr "" ++ ++#: commands.c:743 ++msgid "Imagetype:" ++msgstr "" ++ ++#: commands.c:761 commands.c:764 ++msgid "read in" ++msgstr "" ++ ++#: commands.c:796 ++msgid "invalid file name for DVD-Image" ++msgstr "" ++ ++#: commands.c:801 ++msgid "No Imagetype selected" ++msgstr "" ++ ++#: commands.c:806 ++msgid "No Directory selected. Use Standard?" ++msgstr "" ++ ++#: commands.c:809 ++msgid "Now Read?" ++msgstr "" ++ ++#: dvdswitch.c:21 ++msgid "allowed to play DVD-Images" ++msgstr "" ++ ++#: dvdswitch.c:22 ++msgid "DVDSwitch" ++msgstr "" ++ ++#: dvdswitch.c:195 ++msgid "Image Directory not readable or not exist" ++msgstr "" ++ ++#: dvdswitch.c:203 ++msgid "DVD-Plugin not found! Function deactivated!" ++msgstr "" ++ ++#: imagelist.c:19 ++msgid "Directory with 'VIDEO_TS' Folder" ++msgstr "" ++ ++#: imagelist.c:20 setup-itypes.c:164 ++msgid "Directory" ++msgstr "" ++ ++#: imagelist.c:24 ++msgid "File with '.iso' Extension" ++msgstr "" ++ ++#: imagelist.c:25 ++msgid "Iso-Image" ++msgstr "" ++ ++#: menu.c:272 ++msgid "Image-File" ++msgstr "" ++ ++#: menu.c:294 ++msgid "Image-Directory" ++msgstr "" ++ ++#: menu.c:388 menu.c:419 menu.c:450 menu.c:481 ++msgid "to change" ++msgstr "" ++ ++#: menu.c:550 ++msgid "File exists in Directory" ++msgstr "" ++ ++#: menu.c:955 ++msgid "without Catergory" ++msgstr "" ++ ++#: menu.c:1002 ++msgid "DVD-Drive" ++msgstr "" ++ ++#: setup-itypes.c:6 ++msgid "Imagetypes" ++msgstr "" ++ ++#: setup-itypes.c:60 setup-itypes.c:147 ++msgid "Edit" ++msgstr "" ++ ++#: setup-itypes.c:83 ++msgid "really delete Entry?" ++msgstr "" ++ ++#: setup-itypes.c:165 ++msgid "File" ++msgstr "" ++ ++#: setup-itypes.c:176 ++msgid "Description:" ++msgstr "" ++ ++#: setup-itypes.c:180 ++msgid "Type-Title:" ++msgstr "" ++ ++#: setup-itypes.c:184 ++msgid "Image Type" ++msgstr "" ++ ++#: setup-itypes.c:185 ++msgid "Directory contains:" ++msgstr "" ++ ++#: setup-itypes.c:185 ++msgid "File Extension:" ++msgstr "" ++ ++#: setup-itypes.c:190 ++msgid "Hide Extension" ++msgstr "" ++ ++#: setup-itypes.c:215 ++msgid "'Description' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:220 ++msgid "'Type-Title' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:226 ++msgid "'Directory contains' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:228 ++msgid "'File Extension' must not empty!" ++msgstr "" ++ ++#: setup.c:69 ++msgid "All Images" ++msgstr "" ++ ++#: setup.c:70 ++msgid "All with Cat." ++msgstr "" ++ ++#: setup.c:71 setup.c:75 ++msgid "Directories" ++msgstr "" ++ ++#: setup.c:74 ++msgid "Image-Type" ++msgstr "" ++ ++#: setup.c:76 ++msgid "File-Type" ++msgstr "" ++ ++#: setup.c:79 ++msgid "none" ++msgstr "" ++ ++#: setup.c:80 ++msgid "ascending" ++msgstr "" ++ ++#: setup.c:81 ++msgid "descending" ++msgstr "" ++ ++#: setup.c:84 ++msgid "none Function" ++msgstr "" ++ ++#: setup.c:85 ++msgid "Dir. Management" ++msgstr "" ++ ++#: setup.c:86 ++msgid "Tray open" ++msgstr "" ++ ++#: setup.c:87 ++msgid "Tray close" ++msgstr "" ++ ++#: setup.c:93 ++msgid "Image create" ++msgstr "" ++ ++#: setup.c:97 ++msgid "Dir.Mgmt." ++msgstr "" ++ ++#: setup.c:98 ++msgid "Open" ++msgstr "" ++ ++#: setup.c:99 ++msgid "Close" ++msgstr "" ++ ++#: setup.c:104 ++msgid "Burn" ++msgstr "" ++ ++#: setup.c:105 ++msgid "Create" ++msgstr "" ++ ++#: setup.c:243 ++msgid "Generic Settings" ++msgstr "" ++ ++#: setup.c:247 ++msgid "\tHide Mainmenu Entry" ++msgstr "" ++ ++#: setup.c:249 ++msgid "\t Name" ++msgstr "" ++ ++#: setup.c:254 ++msgid "\tImage Dir." ++msgstr "" ++ ++#: setup.c:258 setup.c:431 setup.c:437 ++msgid "\tImagetypes" ++msgstr "" ++ ++#: setup.c:259 ++msgid "\tView free DiskSpace" ++msgstr "" ++ ++#: setup.c:265 ++msgid "Display Settings" ++msgstr "" ++ ++#: setup.c:269 ++msgid "\tDisplay Mode" ++msgstr "" ++ ++#: setup.c:271 ++msgid "\t Category Type" ++msgstr "" ++ ++#: setup.c:273 ++msgid "\t invisible empty Dir's/Cat." ++msgstr "" ++ ++#: setup.c:274 ++msgid "\tAlphabetic Sort" ++msgstr "" ++ ++#: setup.c:275 ++msgid "\tvisible DVD-Drive" ++msgstr "" ++ ++#: setup.c:281 ++msgid "Special Display Settings" ++msgstr "" ++ ++#: setup.c:285 ++msgid "\tvisible Image-Type Col" ++msgstr "" ++ ++#: setup.c:287 ++msgid "\t Width for Image-Col" ++msgstr "" ++ ++#: setup.c:288 ++msgid "\tvisible Image-Size Col" ++msgstr "" ++ ++#: setup.c:289 ++msgid "\tchange Character" ++msgstr "" ++ ++#: setup.c:297 ++msgid "\tchar for Cat.Line" ++msgstr "" ++ ++#: setup.c:300 ++msgid "\t Count before Cat.Name" ++msgstr "" ++ ++#: setup.c:301 ++msgid "\tSpaces before/after Cat.Name" ++msgstr "" ++ ++#: setup.c:303 ++msgid "\tCutText for Subcat" ++msgstr "" ++ ++#: setup.c:315 ++msgid "Navigation" ++msgstr "" ++ ++#: setup.c:319 ++msgid "\tCat.Jump by Left/Right" ++msgstr "" ++ ++#: setup.c:326 ++msgid "Key allocation" ++msgstr "" ++ ++#: setup.c:330 ++msgid "\tKey 1" ++msgstr "" ++ ++#: setup.c:331 ++msgid "\tKey 2" ++msgstr "" ++ ++#: setup.c:332 ++msgid "\tKey 3" ++msgstr "" ++ ++#: setup.c:333 ++msgid "\tKey 4" ++msgstr "" ++ ++#: setup.c:334 ++msgid "\tKey 5" ++msgstr "" ++ ++#: setup.c:335 ++msgid "\tKey 6" ++msgstr "" ++ ++#: setup.c:336 ++msgid "\tKey 7" ++msgstr "" ++ ++#: setup.c:337 ++msgid "\tKey 8" ++msgstr "" ++ ++#: setup.c:338 ++msgid "\tKey 9" ++msgstr "" ++ ++#: setup.c:339 ++msgid "\tKey 0" ++msgstr "" ++ ++#: setup.c:340 ++msgid "\tKey Red" ++msgstr "" ++ ++#: setup.c:341 ++msgid "\tKey Green" ++msgstr "" ++ ++#: setup.c:342 ++msgid "\tKey Yellow" ++msgstr "" ++ ++#: setup.c:343 ++msgid "\tKey Blue" ++msgstr "" ++ ++#: setup.c:344 ++msgid "\tKey OK" ++msgstr "" ++ ++#: setup.c:432 ++msgid "to adjust" ++msgstr "" +diff -Nru dvdswitch-0.1.3/po/sv_SE.po dvdswitch-0.1.3-gettext-i18n/po/sv_SE.po +--- dvdswitch-0.1.3/po/sv_SE.po 1970-01-01 01:00:00.000000000 +0100 ++++ dvdswitch-0.1.3-gettext-i18n/po/sv_SE.po 2008-03-31 04:59:34.000000000 +0200 +@@ -0,0 +1,530 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Tomas Prybil <tomas@prybil.se>, 2002 ++# Jan Ekholm <chakie@infa.abo.fi>, 2003 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 14:49+0200\n" ++"PO-Revision-Date: 2008-03-30 14:49+0200\n" ++"Last-Translator: Tomas Prybil <tomas@prybil.se>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-1\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: commands.c:43 setup.c:94 setup.c:106 ++msgid "Commands" ++msgstr "" ++ ++#: commands.c:49 commands.c:98 commands.c:169 ++msgid "Directory Management" ++msgstr "" ++ ++#: commands.c:50 commands.c:100 ++msgid "DVD-Tray open" ++msgstr "" ++ ++#: commands.c:51 commands.c:102 ++msgid "DVD-Tray close" ++msgstr "" ++ ++#: commands.c:52 commands.c:104 setup.c:88 setup.c:100 ++msgid "Play" ++msgstr "" ++ ++#: commands.c:58 commands.c:106 setup.c:89 ++msgid "Image rename" ++msgstr "" ++ ++#: commands.c:64 commands.c:108 setup.c:90 ++msgid "Image move" ++msgstr "" ++ ++#: commands.c:70 commands.c:110 setup.c:91 ++msgid "Image delete" ++msgstr "" ++ ++#: commands.c:76 commands.c:112 setup.c:92 ++msgid "Image burn" ++msgstr "" ++ ++#: commands.c:82 commands.c:114 ++msgid "Image to create from DVD" ++msgstr "" ++ ++#: commands.c:183 ++msgid "Select Directory" ++msgstr "" ++ ++#: commands.c:200 commands.c:202 commands.c:204 setup-itypes.c:58 ++#: setup-itypes.c:60 setup-itypes.c:63 setup-itypes.c:143 ++msgid "New" ++msgstr "" ++ ++#: commands.c:200 commands.c:761 setup-itypes.c:58 ++msgid "Select" ++msgstr "" ++ ++#: commands.c:202 setup-itypes.c:60 setup.c:103 ++msgid "Delete" ++msgstr "" ++ ++#: commands.c:202 commands.c:526 setup.c:102 ++msgid "Move" ++msgstr "" ++ ++#: commands.c:202 setup.c:101 ++msgid "Rename" ++msgstr "" ++ ++#: commands.c:222 ++msgid "Edit Directories" ++msgstr "" ++ ++#: commands.c:264 commands.c:312 menu.c:782 ++msgid "no Rights!" ++msgstr "" ++ ++#: commands.c:282 commands.c:658 ++msgid "really delete?" ++msgstr "" ++ ++#: commands.c:286 ++msgid "Directory not empty. however delete?" ++msgstr "" ++ ++#: commands.c:369 ++msgid "no Rights to create" ++msgstr "" ++ ++#: commands.c:379 setup.c:252 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~" ++msgstr "" ++ ++#: commands.c:379 ++msgid "New:" ++msgstr "" ++ ++#: commands.c:408 commands.c:497 ++msgid "Directory exists" ++msgstr "" ++ ++#: commands.c:446 menu.c:1048 ++msgid "no Rights to rename" ++msgstr "" ++ ++#: commands.c:466 commands.c:741 commands.c:742 commands.c:743 menu.c:1075 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-_.#~" ++msgstr "" ++ ++#: commands.c:466 menu.c:1075 ++msgid "Rename:" ++msgstr "" ++ ++#: commands.c:544 ++msgid "Insert" ++msgstr "" ++ ++#: commands.c:685 ++msgid "Specified Writescript not exist!" ++msgstr "" ++ ++#: commands.c:692 ++msgid "Cannot execute Writescript!" ++msgstr "" ++ ++#: commands.c:700 ++msgid "Burn Now?" ++msgstr "" ++ ++#: commands.c:713 ++msgid "Read DVD" ++msgstr "" ++ ++#: commands.c:723 ++msgid "Specified Readscript not exist!" ++msgstr "" ++ ++#: commands.c:730 ++msgid "Cannot execute Readscript!" ++msgstr "" ++ ++#: commands.c:741 ++msgid "Name:" ++msgstr "" ++ ++#: commands.c:742 ++msgid "Directory:" ++msgstr "" ++ ++#: commands.c:743 ++msgid "Imagetype:" ++msgstr "" ++ ++#: commands.c:761 commands.c:764 ++msgid "read in" ++msgstr "" ++ ++#: commands.c:796 ++msgid "invalid file name for DVD-Image" ++msgstr "" ++ ++#: commands.c:801 ++msgid "No Imagetype selected" ++msgstr "" ++ ++#: commands.c:806 ++msgid "No Directory selected. Use Standard?" ++msgstr "" ++ ++#: commands.c:809 ++msgid "Now Read?" ++msgstr "" ++ ++#: dvdswitch.c:21 ++msgid "allowed to play DVD-Images" ++msgstr "" ++ ++#: dvdswitch.c:22 ++msgid "DVDSwitch" ++msgstr "" ++ ++#: dvdswitch.c:195 ++msgid "Image Directory not readable or not exist" ++msgstr "" ++ ++#: dvdswitch.c:203 ++msgid "DVD-Plugin not found! Function deactivated!" ++msgstr "" ++ ++#: imagelist.c:19 ++msgid "Directory with 'VIDEO_TS' Folder" ++msgstr "" ++ ++#: imagelist.c:20 setup-itypes.c:164 ++msgid "Directory" ++msgstr "" ++ ++#: imagelist.c:24 ++msgid "File with '.iso' Extension" ++msgstr "" ++ ++#: imagelist.c:25 ++msgid "Iso-Image" ++msgstr "" ++ ++#: menu.c:272 ++msgid "Image-File" ++msgstr "" ++ ++#: menu.c:294 ++msgid "Image-Directory" ++msgstr "" ++ ++#: menu.c:388 menu.c:419 menu.c:450 menu.c:481 ++msgid "to change" ++msgstr "" ++ ++#: menu.c:550 ++msgid "File exists in Directory" ++msgstr "" ++ ++#: menu.c:955 ++msgid "without Catergory" ++msgstr "" ++ ++#: menu.c:1002 ++msgid "DVD-Drive" ++msgstr "" ++ ++#: setup-itypes.c:6 ++msgid "Imagetypes" ++msgstr "" ++ ++#: setup-itypes.c:60 setup-itypes.c:147 ++msgid "Edit" ++msgstr "" ++ ++#: setup-itypes.c:83 ++msgid "really delete Entry?" ++msgstr "" ++ ++#: setup-itypes.c:165 ++msgid "File" ++msgstr "" ++ ++#: setup-itypes.c:176 ++msgid "Description:" ++msgstr "" ++ ++#: setup-itypes.c:180 ++msgid "Type-Title:" ++msgstr "" ++ ++#: setup-itypes.c:184 ++msgid "Image Type" ++msgstr "" ++ ++#: setup-itypes.c:185 ++msgid "Directory contains:" ++msgstr "" ++ ++#: setup-itypes.c:185 ++msgid "File Extension:" ++msgstr "" ++ ++#: setup-itypes.c:190 ++msgid "Hide Extension" ++msgstr "" ++ ++#: setup-itypes.c:215 ++msgid "'Description' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:220 ++msgid "'Type-Title' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:226 ++msgid "'Directory contains' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:228 ++msgid "'File Extension' must not empty!" ++msgstr "" ++ ++#: setup.c:69 ++msgid "All Images" ++msgstr "" ++ ++#: setup.c:70 ++msgid "All with Cat." ++msgstr "" ++ ++#: setup.c:71 setup.c:75 ++msgid "Directories" ++msgstr "" ++ ++#: setup.c:74 ++msgid "Image-Type" ++msgstr "" ++ ++#: setup.c:76 ++msgid "File-Type" ++msgstr "" ++ ++#: setup.c:79 ++msgid "none" ++msgstr "" ++ ++#: setup.c:80 ++msgid "ascending" ++msgstr "" ++ ++#: setup.c:81 ++msgid "descending" ++msgstr "" ++ ++#: setup.c:84 ++msgid "none Function" ++msgstr "" ++ ++#: setup.c:85 ++msgid "Dir. Management" ++msgstr "" ++ ++#: setup.c:86 ++msgid "Tray open" ++msgstr "" ++ ++#: setup.c:87 ++msgid "Tray close" ++msgstr "" ++ ++#: setup.c:93 ++msgid "Image create" ++msgstr "" ++ ++#: setup.c:97 ++msgid "Dir.Mgmt." ++msgstr "" ++ ++#: setup.c:98 ++msgid "Open" ++msgstr "" ++ ++#: setup.c:99 ++msgid "Close" ++msgstr "" ++ ++#: setup.c:104 ++msgid "Burn" ++msgstr "" ++ ++#: setup.c:105 ++msgid "Create" ++msgstr "" ++ ++#: setup.c:243 ++msgid "Generic Settings" ++msgstr "" ++ ++#: setup.c:247 ++msgid "\tHide Mainmenu Entry" ++msgstr "" ++ ++#: setup.c:249 ++msgid "\t Name" ++msgstr "" ++ ++#: setup.c:254 ++msgid "\tImage Dir." ++msgstr "" ++ ++#: setup.c:258 setup.c:431 setup.c:437 ++msgid "\tImagetypes" ++msgstr "" ++ ++#: setup.c:259 ++msgid "\tView free DiskSpace" ++msgstr "" ++ ++#: setup.c:265 ++msgid "Display Settings" ++msgstr "" ++ ++#: setup.c:269 ++msgid "\tDisplay Mode" ++msgstr "" ++ ++#: setup.c:271 ++msgid "\t Category Type" ++msgstr "" ++ ++#: setup.c:273 ++msgid "\t invisible empty Dir's/Cat." ++msgstr "" ++ ++#: setup.c:274 ++msgid "\tAlphabetic Sort" ++msgstr "" ++ ++#: setup.c:275 ++msgid "\tvisible DVD-Drive" ++msgstr "" ++ ++#: setup.c:281 ++msgid "Special Display Settings" ++msgstr "" ++ ++#: setup.c:285 ++msgid "\tvisible Image-Type Col" ++msgstr "" ++ ++#: setup.c:287 ++msgid "\t Width for Image-Col" ++msgstr "" ++ ++#: setup.c:288 ++msgid "\tvisible Image-Size Col" ++msgstr "" ++ ++#: setup.c:289 ++msgid "\tchange Character" ++msgstr "" ++ ++#: setup.c:297 ++msgid "\tchar for Cat.Line" ++msgstr "" ++ ++#: setup.c:300 ++msgid "\t Count before Cat.Name" ++msgstr "" ++ ++#: setup.c:301 ++msgid "\tSpaces before/after Cat.Name" ++msgstr "" ++ ++#: setup.c:303 ++msgid "\tCutText for Subcat" ++msgstr "" ++ ++#: setup.c:315 ++msgid "Navigation" ++msgstr "" ++ ++#: setup.c:319 ++msgid "\tCat.Jump by Left/Right" ++msgstr "" ++ ++#: setup.c:326 ++msgid "Key allocation" ++msgstr "" ++ ++#: setup.c:330 ++msgid "\tKey 1" ++msgstr "" ++ ++#: setup.c:331 ++msgid "\tKey 2" ++msgstr "" ++ ++#: setup.c:332 ++msgid "\tKey 3" ++msgstr "" ++ ++#: setup.c:333 ++msgid "\tKey 4" ++msgstr "" ++ ++#: setup.c:334 ++msgid "\tKey 5" ++msgstr "" ++ ++#: setup.c:335 ++msgid "\tKey 6" ++msgstr "" ++ ++#: setup.c:336 ++msgid "\tKey 7" ++msgstr "" ++ ++#: setup.c:337 ++msgid "\tKey 8" ++msgstr "" ++ ++#: setup.c:338 ++msgid "\tKey 9" ++msgstr "" ++ ++#: setup.c:339 ++msgid "\tKey 0" ++msgstr "" ++ ++#: setup.c:340 ++msgid "\tKey Red" ++msgstr "" ++ ++#: setup.c:341 ++msgid "\tKey Green" ++msgstr "" ++ ++#: setup.c:342 ++msgid "\tKey Yellow" ++msgstr "" ++ ++#: setup.c:343 ++msgid "\tKey Blue" ++msgstr "" ++ ++#: setup.c:344 ++msgid "\tKey OK" ++msgstr "" ++ ++#: setup.c:432 ++msgid "to adjust" ++msgstr "" +diff -Nru dvdswitch-0.1.3/po/tr_TR.po dvdswitch-0.1.3-gettext-i18n/po/tr_TR.po +--- dvdswitch-0.1.3/po/tr_TR.po 1970-01-01 01:00:00.000000000 +0100 ++++ dvdswitch-0.1.3-gettext-i18n/po/tr_TR.po 2008-03-31 04:59:34.000000000 +0200 +@@ -0,0 +1,529 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Oktay Yolgeçen <oktay_73@yahoo.de>, 2007 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-03-30 14:49+0200\n" ++"PO-Revision-Date: 2008-03-30 14:49+0200\n" ++"Last-Translator: Oktay Yolgeçen <oktay_73@yahoo.de>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-9\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: commands.c:43 setup.c:94 setup.c:106 ++msgid "Commands" ++msgstr "" ++ ++#: commands.c:49 commands.c:98 commands.c:169 ++msgid "Directory Management" ++msgstr "" ++ ++#: commands.c:50 commands.c:100 ++msgid "DVD-Tray open" ++msgstr "" ++ ++#: commands.c:51 commands.c:102 ++msgid "DVD-Tray close" ++msgstr "" ++ ++#: commands.c:52 commands.c:104 setup.c:88 setup.c:100 ++msgid "Play" ++msgstr "" ++ ++#: commands.c:58 commands.c:106 setup.c:89 ++msgid "Image rename" ++msgstr "" ++ ++#: commands.c:64 commands.c:108 setup.c:90 ++msgid "Image move" ++msgstr "" ++ ++#: commands.c:70 commands.c:110 setup.c:91 ++msgid "Image delete" ++msgstr "" ++ ++#: commands.c:76 commands.c:112 setup.c:92 ++msgid "Image burn" ++msgstr "" ++ ++#: commands.c:82 commands.c:114 ++msgid "Image to create from DVD" ++msgstr "" ++ ++#: commands.c:183 ++msgid "Select Directory" ++msgstr "" ++ ++#: commands.c:200 commands.c:202 commands.c:204 setup-itypes.c:58 ++#: setup-itypes.c:60 setup-itypes.c:63 setup-itypes.c:143 ++msgid "New" ++msgstr "" ++ ++#: commands.c:200 commands.c:761 setup-itypes.c:58 ++msgid "Select" ++msgstr "" ++ ++#: commands.c:202 setup-itypes.c:60 setup.c:103 ++msgid "Delete" ++msgstr "" ++ ++#: commands.c:202 commands.c:526 setup.c:102 ++msgid "Move" ++msgstr "" ++ ++#: commands.c:202 setup.c:101 ++msgid "Rename" ++msgstr "" ++ ++#: commands.c:222 ++msgid "Edit Directories" ++msgstr "" ++ ++#: commands.c:264 commands.c:312 menu.c:782 ++msgid "no Rights!" ++msgstr "" ++ ++#: commands.c:282 commands.c:658 ++msgid "really delete?" ++msgstr "" ++ ++#: commands.c:286 ++msgid "Directory not empty. however delete?" ++msgstr "" ++ ++#: commands.c:369 ++msgid "no Rights to create" ++msgstr "" ++ ++#: commands.c:379 setup.c:252 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~" ++msgstr "" ++ ++#: commands.c:379 ++msgid "New:" ++msgstr "" ++ ++#: commands.c:408 commands.c:497 ++msgid "Directory exists" ++msgstr "" ++ ++#: commands.c:446 menu.c:1048 ++msgid "no Rights to rename" ++msgstr "" ++ ++#: commands.c:466 commands.c:741 commands.c:742 commands.c:743 menu.c:1075 ++msgid " abcdefghijklmnopqrstuvwxyz0123456789-_.#~" ++msgstr "" ++ ++#: commands.c:466 menu.c:1075 ++msgid "Rename:" ++msgstr "" ++ ++#: commands.c:544 ++msgid "Insert" ++msgstr "" ++ ++#: commands.c:685 ++msgid "Specified Writescript not exist!" ++msgstr "" ++ ++#: commands.c:692 ++msgid "Cannot execute Writescript!" ++msgstr "" ++ ++#: commands.c:700 ++msgid "Burn Now?" ++msgstr "" ++ ++#: commands.c:713 ++msgid "Read DVD" ++msgstr "" ++ ++#: commands.c:723 ++msgid "Specified Readscript not exist!" ++msgstr "" ++ ++#: commands.c:730 ++msgid "Cannot execute Readscript!" ++msgstr "" ++ ++#: commands.c:741 ++msgid "Name:" ++msgstr "" ++ ++#: commands.c:742 ++msgid "Directory:" ++msgstr "" ++ ++#: commands.c:743 ++msgid "Imagetype:" ++msgstr "" ++ ++#: commands.c:761 commands.c:764 ++msgid "read in" ++msgstr "" ++ ++#: commands.c:796 ++msgid "invalid file name for DVD-Image" ++msgstr "" ++ ++#: commands.c:801 ++msgid "No Imagetype selected" ++msgstr "" ++ ++#: commands.c:806 ++msgid "No Directory selected. Use Standard?" ++msgstr "" ++ ++#: commands.c:809 ++msgid "Now Read?" ++msgstr "" ++ ++#: dvdswitch.c:21 ++msgid "allowed to play DVD-Images" ++msgstr "" ++ ++#: dvdswitch.c:22 ++msgid "DVDSwitch" ++msgstr "" ++ ++#: dvdswitch.c:195 ++msgid "Image Directory not readable or not exist" ++msgstr "" ++ ++#: dvdswitch.c:203 ++msgid "DVD-Plugin not found! Function deactivated!" ++msgstr "" ++ ++#: imagelist.c:19 ++msgid "Directory with 'VIDEO_TS' Folder" ++msgstr "" ++ ++#: imagelist.c:20 setup-itypes.c:164 ++msgid "Directory" ++msgstr "" ++ ++#: imagelist.c:24 ++msgid "File with '.iso' Extension" ++msgstr "" ++ ++#: imagelist.c:25 ++msgid "Iso-Image" ++msgstr "" ++ ++#: menu.c:272 ++msgid "Image-File" ++msgstr "" ++ ++#: menu.c:294 ++msgid "Image-Directory" ++msgstr "" ++ ++#: menu.c:388 menu.c:419 menu.c:450 menu.c:481 ++msgid "to change" ++msgstr "" ++ ++#: menu.c:550 ++msgid "File exists in Directory" ++msgstr "" ++ ++#: menu.c:955 ++msgid "without Catergory" ++msgstr "" ++ ++#: menu.c:1002 ++msgid "DVD-Drive" ++msgstr "" ++ ++#: setup-itypes.c:6 ++msgid "Imagetypes" ++msgstr "" ++ ++#: setup-itypes.c:60 setup-itypes.c:147 ++msgid "Edit" ++msgstr "" ++ ++#: setup-itypes.c:83 ++msgid "really delete Entry?" ++msgstr "" ++ ++#: setup-itypes.c:165 ++msgid "File" ++msgstr "" ++ ++#: setup-itypes.c:176 ++msgid "Description:" ++msgstr "" ++ ++#: setup-itypes.c:180 ++msgid "Type-Title:" ++msgstr "" ++ ++#: setup-itypes.c:184 ++msgid "Image Type" ++msgstr "" ++ ++#: setup-itypes.c:185 ++msgid "Directory contains:" ++msgstr "" ++ ++#: setup-itypes.c:185 ++msgid "File Extension:" ++msgstr "" ++ ++#: setup-itypes.c:190 ++msgid "Hide Extension" ++msgstr "" ++ ++#: setup-itypes.c:215 ++msgid "'Description' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:220 ++msgid "'Type-Title' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:226 ++msgid "'Directory contains' must not empty!" ++msgstr "" ++ ++#: setup-itypes.c:228 ++msgid "'File Extension' must not empty!" ++msgstr "" ++ ++#: setup.c:69 ++msgid "All Images" ++msgstr "" ++ ++#: setup.c:70 ++msgid "All with Cat." ++msgstr "" ++ ++#: setup.c:71 setup.c:75 ++msgid "Directories" ++msgstr "" ++ ++#: setup.c:74 ++msgid "Image-Type" ++msgstr "" ++ ++#: setup.c:76 ++msgid "File-Type" ++msgstr "" ++ ++#: setup.c:79 ++msgid "none" ++msgstr "" ++ ++#: setup.c:80 ++msgid "ascending" ++msgstr "" ++ ++#: setup.c:81 ++msgid "descending" ++msgstr "" ++ ++#: setup.c:84 ++msgid "none Function" ++msgstr "" ++ ++#: setup.c:85 ++msgid "Dir. Management" ++msgstr "" ++ ++#: setup.c:86 ++msgid "Tray open" ++msgstr "" ++ ++#: setup.c:87 ++msgid "Tray close" ++msgstr "" ++ ++#: setup.c:93 ++msgid "Image create" ++msgstr "" ++ ++#: setup.c:97 ++msgid "Dir.Mgmt." ++msgstr "" ++ ++#: setup.c:98 ++msgid "Open" ++msgstr "" ++ ++#: setup.c:99 ++msgid "Close" ++msgstr "" ++ ++#: setup.c:104 ++msgid "Burn" ++msgstr "" ++ ++#: setup.c:105 ++msgid "Create" ++msgstr "" ++ ++#: setup.c:243 ++msgid "Generic Settings" ++msgstr "" ++ ++#: setup.c:247 ++msgid "\tHide Mainmenu Entry" ++msgstr "" ++ ++#: setup.c:249 ++msgid "\t Name" ++msgstr "" ++ ++#: setup.c:254 ++msgid "\tImage Dir." ++msgstr "" ++ ++#: setup.c:258 setup.c:431 setup.c:437 ++msgid "\tImagetypes" ++msgstr "" ++ ++#: setup.c:259 ++msgid "\tView free DiskSpace" ++msgstr "" ++ ++#: setup.c:265 ++msgid "Display Settings" ++msgstr "" ++ ++#: setup.c:269 ++msgid "\tDisplay Mode" ++msgstr "" ++ ++#: setup.c:271 ++msgid "\t Category Type" ++msgstr "" ++ ++#: setup.c:273 ++msgid "\t invisible empty Dir's/Cat." ++msgstr "" ++ ++#: setup.c:274 ++msgid "\tAlphabetic Sort" ++msgstr "" ++ ++#: setup.c:275 ++msgid "\tvisible DVD-Drive" ++msgstr "" ++ ++#: setup.c:281 ++msgid "Special Display Settings" ++msgstr "" ++ ++#: setup.c:285 ++msgid "\tvisible Image-Type Col" ++msgstr "" ++ ++#: setup.c:287 ++msgid "\t Width for Image-Col" ++msgstr "" ++ ++#: setup.c:288 ++msgid "\tvisible Image-Size Col" ++msgstr "" ++ ++#: setup.c:289 ++msgid "\tchange Character" ++msgstr "" ++ ++#: setup.c:297 ++msgid "\tchar for Cat.Line" ++msgstr "" ++ ++#: setup.c:300 ++msgid "\t Count before Cat.Name" ++msgstr "" ++ ++#: setup.c:301 ++msgid "\tSpaces before/after Cat.Name" ++msgstr "" ++ ++#: setup.c:303 ++msgid "\tCutText for Subcat" ++msgstr "" ++ ++#: setup.c:315 ++msgid "Navigation" ++msgstr "" ++ ++#: setup.c:319 ++msgid "\tCat.Jump by Left/Right" ++msgstr "" ++ ++#: setup.c:326 ++msgid "Key allocation" ++msgstr "" ++ ++#: setup.c:330 ++msgid "\tKey 1" ++msgstr "" ++ ++#: setup.c:331 ++msgid "\tKey 2" ++msgstr "" ++ ++#: setup.c:332 ++msgid "\tKey 3" ++msgstr "" ++ ++#: setup.c:333 ++msgid "\tKey 4" ++msgstr "" ++ ++#: setup.c:334 ++msgid "\tKey 5" ++msgstr "" ++ ++#: setup.c:335 ++msgid "\tKey 6" ++msgstr "" ++ ++#: setup.c:336 ++msgid "\tKey 7" ++msgstr "" ++ ++#: setup.c:337 ++msgid "\tKey 8" ++msgstr "" ++ ++#: setup.c:338 ++msgid "\tKey 9" ++msgstr "" ++ ++#: setup.c:339 ++msgid "\tKey 0" ++msgstr "" ++ ++#: setup.c:340 ++msgid "\tKey Red" ++msgstr "" ++ ++#: setup.c:341 ++msgid "\tKey Green" ++msgstr "" ++ ++#: setup.c:342 ++msgid "\tKey Yellow" ++msgstr "" ++ ++#: setup.c:343 ++msgid "\tKey Blue" ++msgstr "" ++ ++#: setup.c:344 ++msgid "\tKey OK" ++msgstr "" ++ ++#: setup.c:432 ++msgid "to adjust" ++msgstr "" diff --git a/plugins/dvdswitch/plugin.sh b/plugins/dvdswitch/plugin.sh new file mode 100644 index 0000000..e0c5965 --- /dev/null +++ b/plugins/dvdswitch/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 13.04.2008 +# +# vdr-dvdswitch + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://download.schmidtie.de/vdr-dvdswitch-0.1.3.tar.bz2" +VERSION="dvdswitch-0.1.3" +LINK="dvdswitch" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + patch_p1_plugin + + ## plugin specials - start ## + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/dxr3/plugin.sh b/plugins/dxr3/plugin.sh new file mode 100644 index 0000000..cd46fc1 --- /dev/null +++ b/plugins/dxr3/plugin.sh @@ -0,0 +1,73 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 06.01.2009 +# +# vdr-dxr3 + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.zulu-entertainment.de/files/vdr-dxr3/vdr-dxr3-0.2.9.tgz" +VERSION="dxr3-0.2.9" +LINK="dxr3" + +CVS="0" +[ "$CVS" = "1" ] && VERSION="dxr3-cvs" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + if [ "$CVS" = "1" ]; then + cd $DIR + echo "CVS password: [Just press enter]" + echo "" + cvs -d:pserver:anonymous@dxr3plugin.cvs.sourceforge.net:/cvsroot/dxr3plugin login + cvs -d:pserver:anonymous@dxr3plugin.cvs.sourceforge.net:/cvsroot/dxr3plugin co -r vdr-dxr3-0-2 dxr3 + cp -R dxr3 $SOURCEDIR/VDR/PLUGINS/src/$VERSION + else + # download plugin + download_plugin + # extrahiere plugin + extract_plugin + fi + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + # Scripte kopieren + cp -f $SOURCEDIR/x-vdr/utilities/em8300/ldm $VDRSCRIPTDIR + chmod 0744 $VDRSCRIPTDIR/ldm + + cp -f $SOURCEDIR/x-vdr/utilities/em8300/rmm $VDRSCRIPTDIR + chmod 0744 $VDRSCRIPTDIR/rmm + + chown $VDRUSER:$VDRGROUP $VDRSCRIPTDIR/ldm $VDRSCRIPTDIR/rmm + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/epgsearch/epgsearchmenu.conf b/plugins/epgsearch/epgsearchmenu.conf new file mode 100644 index 0000000..a213dab --- /dev/null +++ b/plugins/epgsearch/epgsearchmenu.conf @@ -0,0 +1,42 @@ +######################################################### +# sample file for epgsearchmenu.conf +# +# The following variables exist: +# +# %time% - start time in format HH:MM +# %date% - start date in format TT.MM.YY +# %datesh% - start date in format TT.MM. +# %time_w% - weekday name +# %time_d% - start day in format TT +# %title% - title +# %subtitle% - subtitle +# %t_status% - timer status ('T', 't', 'R') +# %v_status% - VPS status +# %r_status% - running status +# %status% - complete status, the same as +# '%t_status%%v_status%%r_status%' +# %colon% - the sign ':' +# %<epg-category>% - a value from the extended EPG categories, specified in +# epgsearchcats.conf, like %genre% or %category% +# +# for the 'Whats on...' menus there is also: +# +# %chnr% - channel number +# %chsh% - the short channel name +# %chlng% - the 'normal' channel name +# %progr% - graphical progress bar +# %progrT2S% - progress bar in text2skin style +# +######################################################### + +MenuWhatsOnNow=%chsh%:13|%progrT2S%:6| %t_status%:3|%title% ~ %subtitle%:35 +MenuWhatsOnNext=%chsh%:13| %time%:6| %t_status%:3|%title% ~ %subtitle%:35 +MenuWhatsOnElse=%chsh%:13| %time%:6| %t_status%:3|%title% ~ %subtitle%:35 +#MenuSchedule=%time% %t_status%:8|%title% ~ %subtitle%:35 +#MenuSearchResults=%chsh%:13|%datesh%:6|%time%:6|%t_status%:2|%title% ~ %subtitle%:35 +WarEagleIcons=1 + + + + + diff --git a/plugins/epgsearch/epgsearchmenu_graphtft.conf b/plugins/epgsearch/epgsearchmenu_graphtft.conf new file mode 100644 index 0000000..ec97607 --- /dev/null +++ b/plugins/epgsearch/epgsearchmenu_graphtft.conf @@ -0,0 +1,42 @@ +######################################################### +# sample file for epgsearchmenu.conf +# +# The following variables exist: +# +# %time% - start time in format HH:MM +# %date% - start date in format TT.MM.YY +# %datesh% - start date in format TT.MM. +# %time_w% - weekday name +# %time_d% - start day in format TT +# %title% - title +# %subtitle% - subtitle +# %t_status% - timer status ('T', 't', 'R') +# %v_status% - VPS status +# %r_status% - running status +# %status% - complete status, the same as +# '%t_status%%v_status%%r_status%' +# %colon% - the sign ':' +# %<epg-category>% - a value from the extended EPG categories, specified in +# epgsearchcats.conf, like %genre% or %category% +# +# for the 'Whats on...' menus there is also: +# +# %chnr% - channel number +# %chsh% - the short channel name +# %chlng% - the 'normal' channel name +# %progr% - graphical progress bar +# %progrT2S% - progress bar in text2skin style +# +######################################################### + +MenuWhatsOnNow=%chnr%:4|%chsh%:13| %time%:6|%progrt2s%:5| %t_status%:2| %title% ~ %subtitle%:35 +MenuWhatsOnNext=%chnr%:4|%chsh%:13| %time%:6|%progrt2s%:5| %t_status%:2| %title% ~ %subtitle%:35 +MenuWhatsOnElse=%chnr%:4|%chsh%:13| %time%:6| %t_status%:2| %title% ~ %subtitle%:35 +#MenuSchedule=%time% %t_status%:8| %title% ~ %subtitle%:35 +#MenuSearchResults=%chsh%:12|%datesh%:6|%time%:6|%t_status%:2|%title% ~ %subtitle%:35 +WarEagleIcons=1 + + + + + diff --git a/plugins/epgsearch/plugin.sh b/plugins/epgsearch/plugin.sh new file mode 100644 index 0000000..d68300a --- /dev/null +++ b/plugins/epgsearch/plugin.sh @@ -0,0 +1,69 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 10.01.2009 +# +# vdr-epgsearch + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://winni.vdr-developer.org/epgsearch/downloads/beta/vdr-epgsearch-0.9.25.beta7.tgz" +VERSION="epgsearch-0.9.25.beta7" +LINK="epgsearch" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-epgsearch + rm -f $VDRLIBDIR/libvdr-conflictcheckonly + rm -f $VDRLIBDIR/libvdr-epgsearchonly + rm -f $VDRLIBDIR/libvdr-quickepgsearch + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + + patch_plugin + + ## plugin specials - start ## + [ ! -d $VDRCONFDIR/plugins/epgsearch ] && mkdir -p $VDRCONFDIR/plugins/epgsearch + + cp -f $SOURCEDIR/VDR/PLUGINS/src/epgsearch/conf/epgsearchconflmail.templ $VDRCONFDIR/plugins/epgsearch + cp -f $SOURCEDIR/VDR/PLUGINS/src/epgsearch/conf/epgsearchupdmail.templ $VDRCONFDIR/plugins/epgsearch + cp -f $SOURCEDIR/VDR/PLUGINS/src/epgsearch/scripts/sendEmail.pl $VDRBINDIR + chmod 0755 $VDRBINDIR/sendEmail.pl + + if [ "$graphtft" = "on" ] && [ -f $DIR/epgsearchmenu_graphtft.conf ] && [ ! -f $VDRCONFDIR/plugins/epgsearch/epgsearchmenu.conf ]; then + cp -f $DIR/epgsearchmenu_graphtft.conf $VDRCONFDIR/plugins/epgsearch/epgsearchmenu.conf + else + cp -f $DIR/epgsearchmenu.conf $VDRCONFDIR/plugins/epgsearch + fi + + chown -R $VDRUSER:$VDRGROUP $VDRCONFDIR/plugins/epgsearch + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/epgsync/plugin.sh b/plugins/epgsync/plugin.sh new file mode 100644 index 0000000..647864b --- /dev/null +++ b/plugins/epgsync/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 10.02.2009 +# +# vdr-epgsync + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://vdr.schmirler.de/epgsync/vdr-epgsync-0.0.3.tgz" +VERSION="epgsync-0.0.3" +LINK="epgsync" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/exec/plugin.sh b/plugins/exec/plugin.sh new file mode 100644 index 0000000..797a1e6 --- /dev/null +++ b/plugins/exec/plugin.sh @@ -0,0 +1,51 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 16.12.2007 +# +# vdr-exec + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://wirbel.htpc-forum.de/exec/vdr-exec-0.0.2.tgz" +VERSION="exec-0.0.2" +LINK="exec" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/extb/extb-poweroff.conf b/plugins/extb/extb-poweroff.conf new file mode 100644 index 0000000..57274be --- /dev/null +++ b/plugins/extb/extb-poweroff.conf @@ -0,0 +1,96 @@ +# +# Das ist eine Beispielkonfigurationsdatei für den shutdownscript extb-poweroff.pl +# installiere es unter /etc/extb/extb-poweroff.conf +# +# !!! Achtung jede weitere Zeile mit '#' ist eine Kommentar, +# die Parameter mit # Anfang werden ignoriert und nicht gelesen. +# Format : Parameter = Value + +################################################################################ +# How many Seconds should poweron before timer started +## STARTUPMARGIN +# => 300 Sekunden, wieviele Sekunden soll der Rechner vor dem nächsten +# Programmieren Timer des VDR aufwachen, meist reichen schon 60 oder weniger Sekunden, +# um keinen Timer des VDR zu verpassen, bedenke aber das Linux in regelmäßigen Abständen +# ein Festplattenscan auf korrekte Filesystemdaten durchführt, was die Startphase verlängern kann. + +STARTUPMARGIN = 300 + +################################################################################ +# How many second need your system for Shutdown, extb-timer run not until power is down +## SHUTDOWNDURATION +# => 15 Sekunden, wie lange braucht der Rechner zwischen Programmierung des Timer +# und erreichen des Standbyzustandes. Der extb-Timer beginnt erst zulaufen wenn +# der Rechner den Standbyzustandes erreicht hat. (Einfach einmal ausmessen) + +SHUTDOWNDURATION = 15 + +################################################################################ +# How many seconds can drift the timer on one day +## + +DAILYOFFSET = 0 + +################################################################################ +# Wake avery night at 02:00 for e.g. EPG Scan +## WAKEFOREPGSCAN +# => 1 - Jede Nacht den VDR um 2:00 aufwachen lassen um z.B. EPG scan ausführen zulassen, +# der VDR fährt nach gewählter Inaktiven Phase selbst ständig herunter +# => 0 - nur bei programmieren Timer aufwachen + +#WAKEFOREPGSCAN = 1 + +################################################################################ +# if you wish to use external script to stop shutdown, maybe adjust name +## CHECKSCRIPT +# => externer Userscript (siehe examples/checkscript.sh), welcher den Shutdown abbrechen kann, +# existiert der Script nicht oder produziert er keine Ausgabe wird der Shutdown-Prozess +# normal fortgesetzt, produziert der eine Ausgabe nach stdout wird der Shutdown-Prozess +# abgebrochen und die Meldung als OSD-Msg weitergeleitet. +# Bei Bedarf nächste Zeile auskommentieren. + +CHECKSCRIPT = /usr/bin/checkscript.sh + +################################################################################ +# Send Macro before Shutdown "" for nothing, "M2" for +## RCSEND_VIDEOOFF +# => "" - Keine RC-Kommandos an das extb-board senden +# => "M2" - Makro M2 als RC-Kommando an das extb-board senden (Video aus / LED aus...) + +#RCSEND_VIDEOOFF = M2 + +################################################################################ +# shutdown command, on small system like LINVDR use "/bin/busybox poweroff" +## SHUTDOWN +# => der verwendet Befehl um das System endgültig herunterzufahren +# auf kleinen Systemen wie LINVDR wird "/bin/busybox poweroff" verwendet. + +SHUTDOWN = /sbin/shutdown -h now + +################################################################################ +# Which command should call to transfer IR Codes to extb-board rc or irsend +## RCCMD +# => der verwendet Befehl um IR Codes zum extb-board zu senden, rc oder irsend + +RCCMD = /usr/bin/irsend + +################################################################################ +# required commando to send messages to VDR, maybe adjust path +## SVDRSEND_PL +# => erforderlicher Befehl um Nachrichten zum VDR zu senden, der Path muss +# möglicherweise angepasst werden. + +SVDRSEND_PL = /usr/bin/svdrpsend.pl + +################################################################################ +# Should set hardware clock through ext-poweroff.pl, +## SETCLOCK +# => Mit welche Kommando soll die Hardwareuhr syncronisiert werden, +# die meisten Distri. machen dies selber, aber möglicher weise braucht +# LINVDR dies. Bei Bedarf nächste Zeile auskommentieren. + +#SETCLOCK = hwclock -w + + + + diff --git a/plugins/extb/extb-poweroff.pl b/plugins/extb/extb-poweroff.pl new file mode 100644 index 0000000..27d57c2 --- /dev/null +++ b/plugins/extb/extb-poweroff.pl @@ -0,0 +1,272 @@ +#!/usr/bin/perl +# +# Shutdownscript extb-poweroff.pl for extb-Board +# +# adapt by Andreas Brachold <vdr04-at-deltab.de> +# based on Shutdownscript for ACPI by Thomas Koch <tom-at-linvdr.org> +# +use strict; +use POSIX qw(strftime sprintf localtime time); +use Time::Local; + +################################################################################ +# Our readed config file, to overload the default values +my $CONFIGFILE = "/etc/extb/extb-poweroff.conf"; + +################################################################################ +### Defaultvalues, for adjust you can use /etc/extb/extb-poweroff.conf ######### +################################################################################ +my %Config; +# How many Seconds should poweron before timer started +$Config{"STARTUPMARGIN"} = 300; +# How many second need your system for Shutdown, extb-timer run not until power is down +$Config{"SHUTDOWNDURATION"} = 15; +# How many seconds can drift the timer on one day +$Config{"DAILYOFFSET"} = 0; +# Wake avery night at 02:00 for e.g. EPG Scan +$Config{"WAKEFOREPGSCAN"} = 0; +# if you wish to use external script to stop shutdown, maybe adjust name +$Config{"CHECKSCRIPT"} = ""; +# Send Macro before Shutdown "" for nothing, "M2" for +$Config{"RCSEND_VIDEOOFF"} = ""; +# shutdown command, on small system like LINVDR use "/bin/busybox poweroff" +$Config{"SHUTDOWN"} = "/sbin/shutdown -h now"; +# Which command should call to transfer IR Codes to extb-board rc or irsend +$Config{"RCCMD"} = "/usr/bin/irsend"; +# required commando to send messages to VDR, maybe adjust path +$Config{"SVDRSEND_PL"} = "/usr/bin/svdrpsend.pl"; +# Should set hardware clock through ext-poweroff.pl, set it to "hwclock -w" +$Config{"SETCLOCK"} = ""; + +################################################################################ +# Internal Limits and change only if you know what you do +# How long should extb sleep, eg only 1 Day, 1 Week , 1 Month ... if used timer delay bigger +my $SLEEPLIMIT = 0xFFFFFF; # FFFFFF are 2^24 * 0.524288 Sek = 8.796.093 Sek = 146.601 Min = 101,8 Days +# Duration of one counter step inside the PIC, 4MHz are 0.524288 sek +my $PICTICKER = 0.524288; +# Dump any messages on Screen and don't go powerdown +my $DEBUG = 0; + +################################################################################ +my ($STARTUPMARGIN,$SHUTDOWNDURATION,$DAILYOFFSET,$WAKEFOREPGSCAN,$CHECKSCRIPT); +my ($RCSEND_VIDEOOFF,$SHUTDOWN,$RCCMD,$SVDRSEND_PL,$SETCLOCK); + +################################################################################ +# Dump some Debugmessages +sub dprint { + $_ = join("", @_); + chomp; + print "$_\n" if($DEBUG); +} + +################################################################################ +# Run external user script +sub CheckScript { + if ($CHECKSCRIPT && -x $CHECKSCRIPT) { + my($Next, $Delta, $Channel, $Recording, $UserShutdown) = @ARGV; + my $msg = `$CHECKSCRIPT $Next $Delta $Channel \"$Recording\" $UserShutdown`; + if($msg) { + SendMsg($msg); + dprint("Shutdown abgebrochen"); + exit 1; + } + } +} + +################################################################################ +# Execute external command +sub ExecCmd { + my $cmd = shift; + dprint("Exec: ".$cmd); + system( $cmd ) if(!$DEBUG); +} + +################################################################################ +# send message to VDR +sub SendMsg { + my $msg = shift; + dprint("SendMsg: ".$msg); + # Hmm, nix funktioniert ... + #`$SVDRSEND_PL MESG $msg &> /dev/null`; + #`echo -e "MESG $msg\nQUIT" | nc 127.0.0.1 2001 &> /dev/null`; + # nur per atd geht es ... + `echo '$SVDRSEND_PL MESG "$msg" &> /dev/null' | at now &> /dev/null`; +} + +################################################################################ +# Turn Video off, or send other RC Code to extb-board +sub VideoOff { + if($RCSEND_VIDEOOFF) { + ExecCmd( sprintf("%s send_once EXTB_TX %s",$RCCMD, $RCSEND_VIDEOOFF)); + } +} + +################################################################################ +# Set clock, if your need it +sub setTime { + if($SETCLOCK) { + ExecCmd($SETCLOCK); + } +} + +################################################################################ +# Set Alarm, your will need it ;-) +sub setAlarm { + my $Next = shift; + setTime(); + dprint("Next event at ", strftime("%d.%m.%Y %H:%M:%S", localtime($Next))); + dprint("Programming wakeup at ", strftime("%d.%m.%Y %H:%M:%S", localtime($Next-$STARTUPMARGIN))); + + # Get difference between now and next timer + my $delta = (($Next - ($STARTUPMARGIN + $SHUTDOWNDURATION)) - time()); + if($delta < $STARTUPMARGIN) + { + SendMsg("Weckzeit zu kurz ".$delta." Sekunden"); + dprint("Shutdown canceld"); + exit 1; + } + + VideoOff(); + + dprint("Wakeup at ",int($delta), " Seconds"); + # Adjust drift crystal with 6 Sec on one day + if( $DAILYOFFSET > 0) { + $delta -= ($delta / 86400)*$DAILYOFFSET; # 24h*60m*60s + dprint("Adjusted Wakeup at ",int($delta), " Seconds"); + } + + + # Adjust for PIC Counterticks + my $valueint = $delta / $PICTICKER; + dprint("PIC value ", int($valueint), " PicTics"); + + # Userclipping + if(int($valueint) > $SLEEPLIMIT){ $valueint = $SLEEPLIMIT; } + # Systemclipping + if(int($valueint) > 0xFFFFFF) { $valueint = 0xFFFFFF; } + + # integer to hex ( 6 Characters) + my $valuehex = uc(sprintf("%06x",int($valueint))); + # insert between all hex character a placeholder "space" + my $valuestring = ""; + for(my $i = 0; $i <= length($valuehex); $i+=1){ + $valuestring = $valuestring.substr($valuehex,$i,1)." "; + }; + + # Execute rc to send new timer + ExecCmd( sprintf("%s send_once EXTB_TX %s",$RCCMD,$valuestring )); +} + +################################################################################ +# Execute System shutdown +sub PowerOff { + ExecCmd( $SHUTDOWN ); + exit 0; +} + +################################################################################ +# Get time from next day at 02:00 +sub NextTwoOclock { + my $now = time(); + # Array-Format: ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) + my @today = localtime($now); + @today[0..2] = (0, 0, 2); + + # get today 2:00 in seconds since epoc + my $TwoOclock = timelocal(@today); + + # Check: Is today 2:00 in future or past? + if($now < $TwoOclock) { + # Today two oclock is in future + return $TwoOclock; + } else { + # We're past two oclock, next two oclock is tomorrow (+86400s) + return $TwoOclock+86400; + } +} + +################################################################################ +# lookup for configuration file +if ($CONFIGFILE && -e $CONFIGFILE) { + open(CONFIG, "< $CONFIGFILE") or die "can't open $CONFIGFILE: $!"; + while (<CONFIG>) { + chomp; # no newline + s/#.*//; # no comments + s/^\s+//; # no leading white + s/\s+$//; # no trailing white + next unless length; # anything left? + my ($var, $value) = split(/\s*=\s*/, $_, 2); + $Config{$var} = $value; + + dprint("Config{\"$var\"} = ".$value); + } +} + +################################################################################ +# Set readed or default configuration +$STARTUPMARGIN = $Config{"STARTUPMARGIN"}; +$SHUTDOWNDURATION = $Config{"SHUTDOWNDURATION"}; +$DAILYOFFSET = $Config{"DAILYOFFSET"}; +$WAKEFOREPGSCAN = $Config{"WAKEFOREPGSCAN"}; +$CHECKSCRIPT = $Config{"CHECKSCRIPT"}; +$RCSEND_VIDEOOFF = $Config{"RCSEND_VIDEOOFF"}; +$SHUTDOWN = $Config{"SHUTDOWN"}; +$RCCMD = $Config{"RCCMD"}; +$SVDRSEND_PL = $Config{"SVDRSEND_PL"}; +$SETCLOCK = $Config{"SETCLOCK"}; + +################################################################################ +# Main task +# +my $TwoOclock = NextTwoOclock(); + +if(scalar(@ARGV)) { + # called from vdr + die "Wrong parameter count\n" if(scalar(@ARGV) != 5); + + CheckScript(); + + my($Next, $Delta, $Channel, $Recording, $UserShutdown) = @ARGV; + # dprint ("$Next, $Delta, $Channel, $Recording, $UserShutdown"); + # find out: Next start at 2:00 or at next timer? + if(($Next) && (!($WAKEFOREPGSCAN) || ($Next < $TwoOclock))) { + setAlarm($Next); + } else { + if($WAKEFOREPGSCAN) { + setAlarm($TwoOclock); + } + else { + VideoOff(); + } + } + PowerOff(); + } else { + # called from cmdline + my $next = `$SVDRSEND_PL next abs`; + if($next =~ /550 No active timers/) { + if($WAKEFOREPGSCAN) { + # start every day at 2:00 local time for EPG update & Co. + setAlarm($TwoOclock); + } + else { + VideoOff(); + } + PowerOff(); + } elsif($next =~ /250 \d+ (\d+)/) { + # find out: Next start at 2:00 or at next timer? + if(($1 < $TwoOclock) || !($WAKEFOREPGSCAN)) { + setAlarm($1); + } else { + if($WAKEFOREPGSCAN) { + setAlarm($TwoOclock); + } + else { + VideoOff(); + } + } + PowerOff(); + } else { + print "HELP! What to do? ($next)\n"; + } + exit 1; +} diff --git a/plugins/extb/plugin.sh b/plugins/extb/plugin.sh new file mode 100644 index 0000000..4aba2c4 --- /dev/null +++ b/plugins/extb/plugin.sh @@ -0,0 +1,57 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 08.03.2009 +# +# vdr-extb + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.zulu-entertainment.de/files/vdr-extb/vdr-extb-0.3.1.tgz" +VERSION="extb-0.3.1" +LINK="extb" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + vdrconfdir_new="my \$CONFIGFILE = \"$VDRCONFDIR/extb-poweroff.conf\";" + vdrconfdir_old=$(grep -m 1 '^my $CONFIGFILE = ' $DIR/extb-poweroff.pl) + [ "$vdrconfdir_new" != "$vdrconfdir_old" ] && sed -i $DIR/extb-poweroff.pl -e "s?$vdrconfdir_old?$vdrconfdir_new?g" + cp -f $DIR/extb-poweroff.conf $VDRCONFDIR + cp -f $DIR/extb-poweroff.pl $VDRSCRIPTDIR + chmod 744 $VDRSCRIPTDIR/extb-poweroff.pl + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/extrecmenu/dvdarchive.sh b/plugins/extrecmenu/dvdarchive.sh new file mode 100644 index 0000000..f7bf066 --- /dev/null +++ b/plugins/extrecmenu/dvdarchive.sh @@ -0,0 +1,116 @@ +#!/bin/bash +# +# Version 1.5 2006-04-17 +# +# Exitcodes: +# +# exit 0 - no error +# exit 1 - mount/umount error +# exit 2 - no dvd in drive +# exit 3 - wrong dvd in drive / recording not found +# exit 4 - error while linking [0-9]*.vdr +# +# Errorhandling/Symlinking: vejoun@vdr-portal +# +# For dvd-in-drive detection download isodetect.c, compile it and put it into the PATH, +# usually /usr/local/bin/ +# +# Tools needed: mount, awk, find, test +# Optional tools: isodetect + +#<Configuration> + +MOUNTCMD="/usr/bin/sudo /bin/mount" +UMOUNTCMD="/usr/bin/sudo /bin/umount" + +MOUNTPOINT="/media/cdrom" # no trailing '/'! + +# Eject DVD for exit-codes 2 and 3 (no or wrong dvd). 1 = yes, 0 = no. +EJECTWRONG=0 +# Eject DVD after unmounting. 1 = yes, 0 = no. +EJECTUMOUNT=0 + +#</Configuration> + +DEVICE="$(awk '( $1 !~ /^#/ ) && ( $2 == "'$MOUNTPOINT'" ) { printf("%s", $1); exit; }' /etc/fstab)" # dvd-device, used by isodetect if exists + +REC="$2" +NAME="$3" + +call() { + echo -e "\nScript $0 needs three parameters for mount and two for umount. The first must be mount or umount, the second is the full path.\n" + echo -e "Only for mounting the script needs a third parameter, the last part of the recording path.\n" + echo -e "Example: dvdarchive.sh mount '/video1.0/Music/%Riverdance/2004-06-06.00:10.50.99.rec' '2004-06-06.00:10.50.99.rec'\n" + echo -e "Example: dvdarchive.sh umount '/video1.0/Music/%Riverdance/2004-06-06.00:10.50.99.rec'\n" +} + +[ "$1" = "mount" -o "$1" = "umount" ] || { call; exit 10; } +[ -z "$2" ] && { call; exit 10; } +[ "$1" = mount -a -z "$3" ] && { call; exit 10; } + +case "$1" in +mount) + # check if dvd is in drive, only if isodetect exists + if [ -n "$(which isodetect)" -a -n "$DEVICE" ]; then + isodetect -d "$DEVICE" >/dev/null 2>&1 + if [ $? -ne 0 ]; then + echo "no dvd in drive" + [ $EJECTWRONG -eq 1 ] && { eject "$DEVICE"; } + exit 2 + fi + fi + # check if not mounted + $MOUNTCMD | grep "$MOUNTPOINT" >/dev/null && { echo "dvd already mounted"; exit 1; } + # mount dvd + $MOUNTCMD "$MOUNTPOINT" || { echo "dvd mount error"; exit 1; } + # is mounted? + # find recording on dvd + DIR="$(find "${MOUNTPOINT}/" -name "$NAME")" + # if not found, umount + if [ -z "$DIR" ]; then + $UMOUNTCMD "$MOUNTPOINT" || { echo "dvd umount error"; exit 1; } + echo "wrong dvd in drive / recording not found on dvd" + [ $EJECTWRONG -eq 1 ] && { eject "$DEVICE"; } + exit 3 + fi + # link index.vdr if not exist + if [ ! -e "${REC}/index.vdr" ]; then + cp -s "${DIR}/index.vdr" "${REC}/" + fi + # link [0-9]*.vdr files + cp -s "${DIR}/"[0-9]*.vdr "${REC}/" + # error while linking [0-9]*.vdr files? + if [ $? -ne 0 ]; then + # umount dvd bevor unlinking + $UMOUNTCMD "$MOUNTPOINT" || { echo "dvd umount error"; exit 1; } + # unlink broken links + for LINK in "${REC}/"*.vdr; do + if [ -L "$LINK" -a ! -s "$LINK" ]; then + rm "$LINK" + fi + done + echo "error while linking [0-9]*.vdr" + exit 4 + fi + ;; +umount) + # check if dvd is mounted + $MOUNTCMD | grep "$MOUNTPOINT" >/dev/null || { echo "dvd not mounted"; exit 1; } + # is mounted? + # umount dvd bevor unlinking + $UMOUNTCMD "$MOUNTPOINT" || { echo "dvd umount error"; exit 1; } + # unlink broken links + for LINK in "${REC}/"*.vdr; do + if [ -L "$LINK" -a ! -s "$LINK" ]; then + rm "$LINK" + fi + done + [ $EJECTUMOUNT -eq 1 ] && { eject "$DEVICE"; } + ;; + *) + echo -e "\nWrong action." + call + ;; +esac + +exit 0 diff --git a/plugins/extrecmenu/patches/extrecmenu-1.2_gcc43.diff b/plugins/extrecmenu/patches/extrecmenu-1.2_gcc43.diff new file mode 100644 index 0000000..ffee003 --- /dev/null +++ b/plugins/extrecmenu/patches/extrecmenu-1.2_gcc43.diff @@ -0,0 +1,10 @@ +--- extrecmenu-1.1/tools.c ++++ extrecmenu-1.1/tools.c +@@ -5,6 +5,7 @@ + #include <string> + #include <fstream> + #include <iostream> ++#include <langinfo.h> + #include <vdr/plugin.h> + #include <vdr/videodir.h> + #include <vdr/recording.h> diff --git a/plugins/extrecmenu/patches/extrecmenu-1.2_pin.diff b/plugins/extrecmenu/patches/extrecmenu-1.2_pin.diff new file mode 100644 index 0000000..60ed84d --- /dev/null +++ b/plugins/extrecmenu/patches/extrecmenu-1.2_pin.diff @@ -0,0 +1,29 @@ +--- mymenurecordings.c~ ++++ mymenurecordings.c +@@ -582,7 +582,7 @@ + if(!base||(strstr(listitem->recording->Name(),base)==listitem->recording->Name()&&listitem->recording->Name()[strlen(base)]=='~')) + { + myMenuRecordingsItem *recitem=new myMenuRecordingsItem(listitem->recording,level); +-#ifdef WITHPINPLUGIN ++#ifdef USE_PINPLUGIN + bool hidepinprotectedrecs=false; + cPlugin *pinplugin=cPluginManager::GetPlugin("pin"); + if(pinplugin) +@@ -672,7 +672,7 @@ + myMenuRecordingsItem *item=(myMenuRecordingsItem*)Get(Current()); + if(item) + { +-#ifdef WITHPINPLUGIN ++#ifdef USE_PINPLUGIN + if(cStatus::MsgReplayProtected(GetRecording(item),item->Name(),base,item->IsDirectory())==true) + return osContinue; + #endif +@@ -1059,7 +1059,7 @@ + cRecording *rec=GetRecording(item); + if(rec) + { +-#ifdef WITHPINPLUGIN ++#ifdef USE_PINPLUGIN + if(cStatus::MsgReplayProtected(rec,item->Name(),base,item->IsDirectory())==true) + break; + #endif diff --git a/plugins/extrecmenu/plugin.sh b/plugins/extrecmenu/plugin.sh new file mode 100644 index 0000000..dee6348 --- /dev/null +++ b/plugins/extrecmenu/plugin.sh @@ -0,0 +1,59 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 11.09.2008 +# +# vdr-extrecmenu + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://martins-kabuff.de/download/vdr-extrecmenu-1.2-test1.tgz" +VERSION="extrecmenu-1.2" +LINK="extrecmenu" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + rm -f $VDRBINDIR/dvdarchive.sh + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + + patch_plugin + + ## plugin specials - start ## + if [ -f $DIR/dvdarchive.sh ]; then + cp -f $DIR/dvdarchive.sh $VDRBINDIR + else + cp -f $SOURCEDIR/VDR/PLUGINS/src/$LINK/scripts/dvdarchive.sh $VDRBINDIR + fi + chmod 0755 $VDRBINDIR/dvdarchive.sh + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/femon/plugin.sh b/plugins/femon/plugin.sh new file mode 100644 index 0000000..cfa7dbe --- /dev/null +++ b/plugins/femon/plugin.sh @@ -0,0 +1,58 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 07.01.2009 +# +# vdr-femon + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +if [ "${VDRVERSION:2:1}" = "6" ]; then + WEB="http://www.saunalahti.fi/~rahrenbe/vdr/femon/files/vdr-femon-1.6.6.tgz" + VERSION="femon-1.6.6" +else + WEB="http://www.saunalahti.fi/~rahrenbe/vdr/femon/files/vdr-femon-1.7.1.tgz" + VERSION="femon-1.7.1" +fi + +LINK="femon" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/fepg/plugin.sh b/plugins/fepg/plugin.sh new file mode 100644 index 0000000..062d5f9 --- /dev/null +++ b/plugins/fepg/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 29.01.2009 +# +# vdr-fepg + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.fepg.org/files/vdr-fepg-0.4.1.tgz" +VERSION="fepg-0.4.1" +LINK="fepg" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/ffnetdev/patches/ffnetdev-snapshot-20080723-gcc43.diff b/plugins/ffnetdev/patches/ffnetdev-snapshot-20080723-gcc43.diff new file mode 100644 index 0000000..9012140 --- /dev/null +++ b/plugins/ffnetdev/patches/ffnetdev-snapshot-20080723-gcc43.diff @@ -0,0 +1,73 @@ +diff -ruN ffnetdev.org/ffnetdev.c ffnetdev-snapshot-20080723/ffnetdev.c +--- ffnetdev.org/ffnetdev.c 2008-07-23 07:02:23.000000000 +0200 ++++ ffnetdev-snapshot-20080723/ffnetdev.c 2008-07-23 08:12:44.000000000 +0200 +@@ -33,10 +33,10 @@ + + } + +-cOsd * cNetOSDProvider::CreateOsd(int Left, int Top) ++cOsd * cNetOSDProvider::CreateOsd(int Left, int Top, uint Layer) + { + +- osd = new cNetOSD(Left, Top); ++ osd = new cNetOSD(Left, Top, 0); + return osd; + } + +diff -ruN ffnetdev.org/netosd.c ffnetdev-snapshot-20080723/netosd.c +--- ffnetdev.org/netosd.c 2008-07-23 07:02:23.000000000 +0200 ++++ ffnetdev-snapshot-20080723/netosd.c 2008-07-23 08:12:44.000000000 +0200 +@@ -9,7 +9,7 @@ + #include "osdworker.h" + + ////////////////////////////////////////////////////////////////////////////////////////////////// +-cNetOSD::cNetOSD(int Left, int Top) : cOsd(Left, Top) ++cNetOSD::cNetOSD(int Left, int Top, uint Layer) : cOsd(Left, Top, Layer) + { + #ifdef DEBUG + fprintf(stderr,"[ffnetdev] NetOSD: Constructor cNetOSD.\n"); +diff -ruN ffnetdev.org/netosd.h ffnetdev-snapshot-20080723/netosd.h +--- ffnetdev.org/netosd.h 2008-07-23 07:02:23.000000000 +0200 ++++ ffnetdev-snapshot-20080723/netosd.h 2008-07-23 08:14:40.000000000 +0200 +@@ -17,7 +17,7 @@ + bool truecolor; + protected: + public: +- cNetOSD(int XOfs, int XOfs); ++ cNetOSD(int XOfs, int XOfs1, uint Layer); + virtual ~cNetOSD(); + virtual eOsdError CanHandleAreas(const tArea *Areas, int NumAreas); + virtual void Flush(void); +@@ -31,7 +31,7 @@ + cNetOSD **NetOSD; + public: + cNetOSDProvider(void); +- virtual cOsd *CreateOsd(int Left, int Top); ++ virtual cOsd *CreateOsd(int Left, int Top, uint Layer); + }; + + #endif //_NETOSD__H +diff -ruN ffnetdev.org/remote.c ffnetdev-snapshot-20080723/remote.c +--- ffnetdev.org/remote.c 2008-07-23 07:02:23.000000000 +0200 ++++ ffnetdev-snapshot-20080723/remote.c 2008-07-23 08:12:44.000000000 +0200 +@@ -27,7 +27,7 @@ + return true; + } + +-bool cMyRemote::Put(uint64 Code, bool Repeat, bool Release) ++bool cMyRemote::Put(uint64_t Code, bool Repeat, bool Release) + { + #if VDRVERSNUM >= 10347 + if ((cRemote::IsLearning()) && (Release)) +diff -ruN ffnetdev.org/remote.h ffnetdev-snapshot-20080723/remote.h +--- ffnetdev.org/remote.h 2008-07-23 07:02:23.000000000 +0200 ++++ ffnetdev-snapshot-20080723/remote.h 2008-07-23 08:12:44.000000000 +0200 +@@ -17,7 +17,7 @@ + cMyRemote(const char *Name); + virtual bool Initialize(void); + virtual bool Ready(void); +- virtual bool Put(uint64 Code, bool Repeat, bool Release); ++ virtual bool Put(uint64_t Code, bool Repeat, bool Release); + }; + + diff --git a/plugins/ffnetdev/plugin.sh b/plugins/ffnetdev/plugin.sh new file mode 100644 index 0000000..e7e77af --- /dev/null +++ b/plugins/ffnetdev/plugin.sh @@ -0,0 +1,53 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 12.05.2008 +# +# vdr-ffnetdev + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.zulu-entertainment.de/files/vdr-ffnetdev/vdr-ffnetdev-0.1.0-svn20080512.tar.bz2" +VERSION="ffnetdev-0.1.0" +LINK="ffnetdev" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK + rm -rf $VERSION + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/filebrowser/commands.conf b/plugins/filebrowser/commands.conf new file mode 100644 index 0000000..f4caf0e --- /dev/null +++ b/plugins/filebrowser/commands.conf @@ -0,0 +1,9 @@ +Burn:*.iso:/usr/lib/vdr/scripts/burniso %f +Recode:+(*.ogg|*.mp3):/usr/lib/vdr/scripts/recode %d %M +Rip CD:*:/usr/lib/vdr/scripts/cdrip /tmp %D +MkDir:*:mkdir %D && echo Created %D:s +Copy:*:cp -r %M %D && echo Copied %M to %D:br +Move:*:mv %M %D && echo Moved %M to %D:br +Remove?:*:rm -rf %m && echo Removed %M:br +Mount:!grep -E '[^[%:blank%:]]*[[%:blank%:]]*'%f'[[%:blank%:]]+' /etc/fstab >&1 >/dev/null:mount %f:r +Unmount:!grep -E '[^[%:blank%:]]*[[%:blank%:]]*'%f'[[%:blank%:]]+' /etc/mtab >&1 >/dev/null:umount %f:r diff --git a/plugins/filebrowser/patches/filebrowser-0.0.6-1.5.4.diff b/plugins/filebrowser/patches/filebrowser-0.0.6-1.5.4.diff new file mode 100644 index 0000000..8c36718 --- /dev/null +++ b/plugins/filebrowser/patches/filebrowser-0.0.6-1.5.4.diff @@ -0,0 +1,127 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 90_filebrowser-0.0.6-1.5.4.dpatch by Thomas Günther <tom@toms-cafe.de> +## http://toms-cafe.de/vdr/download/filebrowser-0.0.6-1.5.4.diff +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Changes for VDR >= 1.5.4. + +@DPATCH@ +--- filebrowser-0.0.6/statebag.c ++++ filebrowser-0.0.6/statebag.c +@@ -27,10 +27,10 @@ cFilebrowserStatebag::cFilebrowserStateb + #ifdef FILEBROWSER_PLUGIN_BUILD + Threads=new cThreadList(); + #endif +- SelectedFiles=new cStringList(); ++ SelectedFiles=new cStringListFilebrowser(); + Commands=new cFilebrowserCommands(); + BaseDir[0]='\0'; +- CurrentFiles=new cStringList(); ++ CurrentFiles=new cStringListFilebrowser(); + } + + cFilebrowserStatebag::~cFilebrowserStatebag() +--- filebrowser-0.0.6/statebag.h ++++ filebrowser-0.0.6/statebag.h +@@ -22,7 +22,7 @@ + #include <vdr/plugin.h> + + //Forward declarations for used classes +-class cStringList; ++class cStringListFilebrowser; + #ifdef FILEBROWSER_PLUGIN_BUILD + class cThreadList; + #endif +@@ -31,7 +31,7 @@ class cFilebrowserCommands; + class cFilebrowserStatebag + { + protected: +- cStringList* SelectedFiles; ++ cStringListFilebrowser* SelectedFiles; + #ifdef FILEBROWSER_PLUGIN_BUILD + cThreadList* Threads; + #endif +@@ -41,7 +41,7 @@ class cFilebrowserStatebag + cFilebrowserStatebag(); + ~cFilebrowserStatebag(); + +- cStringList* GetSelectedFiles() { return SelectedFiles; }; ++ cStringListFilebrowser* GetSelectedFiles() { return SelectedFiles; }; + #ifdef FILEBROWSER_PLUGIN_BUILD + cThreadList* GetThreads() { return Threads; }; + #endif +@@ -54,7 +54,7 @@ class cFilebrowserStatebag + cString Filter; + cString CurrentDirectory; + cString ConfigDirectory; +- cStringList* CurrentFiles; ++ cStringListFilebrowser* CurrentFiles; + + #ifdef FILEBROWSER_PLUGIN_BUILD + /* +--- filebrowser-0.0.6/threads.c ++++ filebrowser-0.0.6/threads.c +@@ -35,7 +35,7 @@ cCommandThread::cCommandThread(cFilebrow + this->CurrentFile=CurrentFile ? strdup(CurrentFile) : NULL; + this->Statebag=Statebag; + //deep copy of Selected files +- SelectedFiles=new cStringList(); ++ SelectedFiles=new cStringListFilebrowser(); + for(int i=0; i<Statebag->GetSelectedFiles()->Count(); i++) + { + SelectedFiles->Add(new cStringContainer(strdup((char*)Statebag->GetSelectedFiles()->Get(i)->GetObject()))); +@@ -304,7 +304,7 @@ cOsdMenu* cConfigCommandThread::GetMenu( + + char* cConfigCommandThread::SelectedFilesHandler(const char* OrgString, const char* CurrentPos, const cCommandParser::cHandlerParameters* Params) + { +- cStringList* SelectedFiles=(cStringList*)Params->Data; ++ cStringListFilebrowser* SelectedFiles=(cStringListFilebrowser*)Params->Data; + char* Text=NULL; + int TextLength=0; + +--- filebrowser-0.0.6/threads.h ++++ filebrowser-0.0.6/threads.h +@@ -41,7 +41,7 @@ class cCommandThread : public cThread + char* DestinationFile; + char* CurrentFile; + char* Description; +- cStringList* SelectedFiles; ++ cStringListFilebrowser* SelectedFiles; + ThreadState State; + bool RemoveRequested; + public: +--- filebrowser-0.0.6/tools.c ++++ filebrowser-0.0.6/tools.c +@@ -19,10 +19,10 @@ + #include "tools.h" + + /* +- Implementation cStringList ++ Implementation cStringListFilebrowser + */ + +-bool cStringList::Contains(const char* String) ++bool cStringListFilebrowser::Contains(const char* String) + { + for(cStringContainer *i = First(); i; i=Next(i)) + { +@@ -34,7 +34,7 @@ bool cStringList::Contains(const char* S + return false; + } + +-void cStringList::Remove(const char* String) ++void cStringListFilebrowser::Remove(const char* String) + { + for(cStringContainer *i = First(); i!=NULL; i=Next(i)) + { +--- filebrowser-0.0.6/tools.h ++++ filebrowser-0.0.6/tools.h +@@ -55,7 +55,7 @@ class cStringContainer : public cListCon + ~cStringContainer() {}; + }; + +-class cStringList : public cList<cStringContainer> ++class cStringListFilebrowser : public cList<cStringContainer> + { + public: + bool Contains(const char* String); diff --git a/plugins/filebrowser/plugin.sh b/plugins/filebrowser/plugin.sh new file mode 100644 index 0000000..4c3fc32 --- /dev/null +++ b/plugins/filebrowser/plugin.sh @@ -0,0 +1,65 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 19.03.2007 +# +# vdr-filebrowser + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://www.stud.uni-karlsruhe.de/~uqg8/vdr/filebrowser/vdr-filebrowser-0.0.6b.tgz" +VERSION="filebrowser-0.0.6b" +LINK="filebrowser" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + rm -rf $VDRCONFDIR/plugins/filebrowser + rm -f $VDRSCRIPTDIR/burniso + rm -f $VDRSCRIPTDIR/cdrip + rm -f $VDRSCRIPTDIR/recode + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + cp -rf $SOURCEDIR/VDR/PLUGINS/src/$LINK/examples/filebrowser $VDRCONFDIR/plugins + [ -f $DIR/commands.conf ] && cp -f $DIR/commands.conf $VDRCONFDIR/plugins/filebrowser + chown -R $VDRUSER.$VDRGROUP $VDRCONFDIR/plugins/filebrowser + + cp -f $SOURCEDIR/VDR/PLUGINS/src/$LINK/examples/scripts/burniso $VDRSCRIPTDIR + cp -f $SOURCEDIR/VDR/PLUGINS/src/$LINK/examples/scripts/cdrip $VDRSCRIPTDIR + cp -f $SOURCEDIR/VDR/PLUGINS/src/$LINK/examples/scripts/recode $VDRSCRIPTDIR + chmod 0744 $VDRSCRIPTDIR/burniso + chmod 0744 $VDRSCRIPTDIR/cdrip + chmod 0744 $VDRSCRIPTDIR/recode + chown $VDRUSER:$VDRGROUP $VDRSCRIPTDIR/burniso $VDRSCRIPTDIR/cdrip $VDRSCRIPTDIR/recode + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/freecell/patches/p1/freecell-0.0.2-1.5.4.diff b/plugins/freecell/patches/p1/freecell-0.0.2-1.5.4.diff new file mode 100644 index 0000000..18c2673 --- /dev/null +++ b/plugins/freecell/patches/p1/freecell-0.0.2-1.5.4.diff @@ -0,0 +1,19 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 93_freecell-0.0.2-1.5.4.dpatch by Thomas Günther <tom@toms-cafe.de> +## http://toms-cafe.de/vdr/download/freecell-0.0.2-1.5.4.diff +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Changes for VDR >= 1.5.4. + +@DPATCH@ +--- freecell-0.0.2/tools/list.h ++++ freecell-0.0.2/tools/list.h +@@ -523,7 +523,7 @@ + return neu; + } + +-typedef class cTBList<cTBString> cStringList; ++//typedef class cTBList<cTBString> cStringList; + typedef class cTBList<void*> cPtrList; + + // Special Overrides for String lists diff --git a/plugins/freecell/patches/p1/freecell-0.0.2.diff b/plugins/freecell/patches/p1/freecell-0.0.2.diff new file mode 100644 index 0000000..ea9c0b0 --- /dev/null +++ b/plugins/freecell/patches/p1/freecell-0.0.2.diff @@ -0,0 +1,174 @@ +diff -Nru freecell-0.0.2/cards.c freecell-0.0.2-n/cards.c +--- freecell-0.0.2/cards.c 2004-08-14 14:02:55.000000000 +0200 ++++ freecell-0.0.2-n/cards.c 2006-11-05 03:24:28.000000000 +0100 +@@ -52,7 +52,11 @@ + mX = X; + mY = Y; + mStacked = Stacked; ++#if VDRVERSNUM >= 10318 ++ mSeed = cTimeMs::Now(); ++#else + mSeed = time_ms(); ++#endif + } + + cCardStack::~cCardStack() { +diff -Nru freecell-0.0.2/Makefile freecell-0.0.2-n/Makefile +--- freecell-0.0.2/Makefile 2004-03-21 01:54:39.000000000 +0100 ++++ freecell-0.0.2-n/Makefile 2006-11-05 03:24:28.000000000 +0100 +@@ -31,7 +31,7 @@ + + ### The version number of VDR (taken from VDR's "config.h"): + +-VDRVERSION = $(shell grep 'define VDRVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g') ++APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g') + + ### The name of the distribution archive: + +@@ -54,7 +54,7 @@ + DEFINES += -DTOOLBOX_DEBUG -DDEBUG + CXXFLAGS += -g + else +- CXXFLAGS += -O2 ++ CXXFLAGS += -fPIC -O2 + endif + + ### Implicit rules: +@@ -77,7 +77,7 @@ + + libvdr-$(PLUGIN).so: $(OBJS) + $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@ +- @cp $@ $(LIBDIR)/$@.$(VDRVERSION) ++ @cp $@ $(LIBDIR)/$@.$(APIVERSION) + + dist: clean + @-rm -rf $(TMPDIR)/$(ARCHIVE) +diff -Nru freecell-0.0.2/tools/list.h freecell-0.0.2-n/tools/list.h +--- freecell-0.0.2/tools/list.h 2004-02-11 13:33:26.000000000 +0100 ++++ freecell-0.0.2-n/tools/list.h 2006-11-05 03:24:28.000000000 +0100 +@@ -90,22 +90,22 @@ + T &SetNextCurrent (); + T &SetPrevCurrent (); + +- friend cTBList<T> &operator+= <> (cTBList<T> &list1, const cTBList<T> &list2); +- friend cTBList<T> &operator+= <> (cTBList<T> &list, const T &element); ++// friend cTBList<T> &operator+= <> (cTBList<T> &list1, const cTBList<T> &list2); ++// friend cTBList<T> &operator+= <> (cTBList<T> &list, const T &element); + +- friend cTBList<T> operator+ <> (const cTBList<T> &list1, const cTBList<T> &list2); +- friend cTBList<T> operator+ <> (const T &element, const cTBList<T> &list); +- friend cTBList<T> operator+ <> (const cTBList<T> &list, const T &element); ++// friend cTBList<T> operator+ <> (const cTBList<T> &list1, const cTBList<T> &list2); ++// friend cTBList<T> operator+ <> (const T &element, const cTBList<T> &list); ++// friend cTBList<T> operator+ <> (const cTBList<T> &list, const T &element); + + /*friend cSource &operator<< <> (cSource &dest, const cTBList<T> &list); +- friend cSource &operator>> <> (cSource &dest, cTBList<T> &list);*/ ++// friend cSource &operator>> <> (cSource &dest, cTBList<T> &list);*/ + }; + + // Template Implementation (inline funcs) + + template<class T> + inline int cTBList<T>::Find (const T & i) { +- cTBList<T>::cItem *item = m_First; ++ typename cTBList<T>::cItem *item = m_First; + int index = 0; + + while (item && (item->Data != i)) { +@@ -203,7 +203,7 @@ + + template<class T> + typename cTBList<T>::cItem *cTBList<T>::NewItem (cTBList<T>::cItem *pBefore, cTBList<T>::cItem *pAfter) const { +- cTBList<T>::cItem *item = new cTBList<T>::cItem; ++ typename cTBList<T>::cItem *item = new typename cTBList<T>::cItem; + + item->Next = pAfter; + item->Prev = pBefore; +@@ -235,7 +235,7 @@ + if ((int)idx == m_CurPos) + return m_Current; + +- cTBList<T>::cItem *item; ++ typename cTBList<T>::cItem *item; + int dist = idx - m_CurPos; + bool direct; + +@@ -271,7 +271,7 @@ + + template<class T> + T &cTBList<T>::Prepend () { +- cTBList<T>::cItem *item = NewItem(NULL, m_First); ++ typename cTBList<T>::cItem *item = NewItem(NULL, m_First); + + m_First = m_Current = item; + if (!m_Last) +@@ -285,7 +285,7 @@ + + template<class T> + T &cTBList<T>::Append () { +- cTBList<T>::cItem *item = NewItem(m_Last, NULL); ++ typename cTBList<T>::cItem *item = NewItem(m_Last, NULL); + + m_Last = m_Current = item; + if (!m_First) +@@ -317,13 +317,13 @@ + return true; + } + +- cTBList<T>::cItem *nextItem = Locate(idx); ++ typename cTBList<T>::cItem *nextItem = Locate(idx); + if (!nextItem) + return false; + +- cTBList<T>::cItem *prevItem = nextItem->Prev; ++ typename cTBList<T>::cItem *prevItem = nextItem->Prev; + +- cTBList<T>::cItem *item = NewItem(prevItem, nextItem); ++ typename cTBList<T>::cItem *item = NewItem(prevItem, nextItem); + item->Data = i; + + m_CurPos = idx; +@@ -338,7 +338,7 @@ + if (!m_Current) + return NULL; + +- cTBList<T>::cItem *item = m_Current; ++ typename cTBList<T>::cItem *item = m_Current; + if (item == m_First) { + if (m_First = item->Next) + m_First->Prev = NULL; +@@ -370,7 +370,7 @@ + if (Find(i) == -1) + return false; + +- cTBList<T>::cItem *item = Unlink(); ++ typename cTBList<T>::cItem *item = Unlink(); + if (!item) + return false; + +@@ -383,7 +383,7 @@ + if (!Locate(idx)) + return false; + +- cTBList<T>::cItem *item = Unlink(); ++ typename cTBList<T>::cItem *item = Unlink(); + if (!item) + return false; + +@@ -412,13 +412,13 @@ + + template<class T> + void cTBList<T>::Clear () { +- cTBList<T>::cItem *item = m_First; ++ typename cTBList<T>::cItem *item = m_First; + + m_First = m_Last = m_Current = NULL; + m_Count = 0; + m_CurPos = -1; + +- cTBList<T>::cItem *Prev; ++ typename cTBList<T>::cItem *Prev; + while (item) { + Prev = item; + item = item->Next; diff --git a/plugins/freecell/plugin.sh b/plugins/freecell/plugin.sh new file mode 100644 index 0000000..9afc68d --- /dev/null +++ b/plugins/freecell/plugin.sh @@ -0,0 +1,60 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 05.05.2008 +# +# vdr-freecell + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://vdr-wiki.de/vdr/vdr-freecell/vdr-freecell-0.0.2.tgz" +VERSION="freecell-0.0.2" +LINK="freecell" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + rm -rf $VDRCONFDIR/plugins/freecell + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + patch_p1_plugin + + ## plugin specials - start ## + if [ -d $DIR/freecell ]; then + cp -fR $DIR/freecell $VDRCONFDIR/plugins + else + cp -fR $SOURCEDIR/VDR/PLUGINS/src/$LINK/freecell $VDRCONFDIR/plugins + fi + # rechte setzen + chown -R $VDRUSER:$VDRGROUP $VDRCONFDIR/plugins/freecell + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/fritzbox/plugin.sh b/plugins/fritzbox/plugin.sh new file mode 100644 index 0000000..7f55bcc --- /dev/null +++ b/plugins/fritzbox/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 05.01.2009 +# +# vdr-fitzbox + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.zulu-entertainment.de/files/vdr-fritzbox/vdr-fritzbox-1.1.4.tgz" +VERSION="fritzbox-1.1.4" +LINK="fritzbox" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/games/patches/games-0.6.2-vdr-1.3.48.diff b/plugins/games/patches/games-0.6.2-vdr-1.3.48.diff new file mode 100644 index 0000000..f9cf57c --- /dev/null +++ b/plugins/games/patches/games-0.6.2-vdr-1.3.48.diff @@ -0,0 +1,34 @@ +diff -ruN VDR.org/PLUGINS/src/games-0.6.2/Makefile VDR/PLUGINS/src/games-0.6.2/Makefile +--- VDR.org/PLUGINS/src/games-0.6.2/Makefile 2006-04-23 19:02:06.000000000 +0200 ++++ VDR/PLUGINS/src/games-0.6.2/Makefile 2006-04-23 19:02:57.000000000 +0200 +@@ -21,11 +21,11 @@ + PACKAGE = vdr-games-$(VERSION) + ARCHIVES = $(shell for GAME in $(GAMES); do echo $$GAME/$$GAME.a; done) + SDLGAMES = $(shell test -f $(VDRDIR)/config.h || echo true ) +-VDRVER = $(shell grep 'define VDRVERSION ' $(VDRDIR)/config.h | \ ++APIVERSION= $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | \ + awk '{ print $$3 }' | sed -e 's/"//g' ) + VDRNUM = $(shell grep 'define VDRVERSNUM ' $(VDRDIR)/config.h | \ + awk '{ print $$3 }' | sed -e 's/"//g' ) +- ++-include $(VDRDIR)/Make.config + ifeq "$(SDLGAMES)" "true" + + TARGET = sdl-games +@@ -57,13 +57,13 @@ + + libvdr-games.so: $(OBJS) + @g++ $(OBJS) $(LFLAGS) $(ARCHIVES) -o $@ +- @cp $@ $(LIBDIR)/$@.$(VDRVER) ++ @cp $@ $(LIBDIR)/$@.$(APIVERSION) + + sdl-games: $(OBJS) + @g++ $(OBJS) $(LFLAGS) $(ARCHIVES) -o $@ + + install: all +- @cp $(LIBDIR)/libvdr-games.so.$(VDRVER) /mnt/vdr/lib/plugins/ ++ @cp $(LIBDIR)/libvdr-games.so.$(APIVERSION) $(PLUGINLIBDIR) + + tar: clean + @echo -n "Creating archive ..." + diff --git a/plugins/games/plugin.sh b/plugins/games/plugin.sh new file mode 100644 index 0000000..beb1ffa --- /dev/null +++ b/plugins/games/plugin.sh @@ -0,0 +1,51 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 23.04.2006 +# +# vdr-games + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://www.zulu-entertainment.de/files/vdr-games/vdr-games-0.6.2.tar.gz" +VERSION="games-0.6.2" +LINK="games" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/graphlcd/patches/graphlcd-0.1.5_span-0.0.4.diff b/plugins/graphlcd/patches/graphlcd-0.1.5_span-0.0.4.diff new file mode 100644 index 0000000..6f7bd69 --- /dev/null +++ b/plugins/graphlcd/patches/graphlcd-0.1.5_span-0.0.4.diff @@ -0,0 +1,364 @@ +diff -ruN graphlcd-0.1.5/display.c graphlcd-0.1.5_span-0.0.4/display.c +--- graphlcd-0.1.5/display.c 2007-02-11 10:45:09.000000000 +0100 ++++ graphlcd-0.1.5_span-0.0.4/display.c 2007-03-19 16:50:54.000000000 +0100 +@@ -29,6 +29,7 @@ + + #include <vdr/tools.h> + #include <vdr/menu.h> ++#include <vdr/plugin.h> + + #include "compat.h" + +@@ -115,6 +116,7 @@ + nCurrentBrightness = -1; + LastTimeBrightness = 0; + bBrightnessActive = true; ++ LastTimeSA.Set(0); // span-patch + } + + cGraphLCDDisplay::~cGraphLCDDisplay() +@@ -379,6 +381,13 @@ + update = true; + } + ++ // span-patch ++ if ( LastTimeSA.TimedOut() ) ++ { ++ update = true; ++ LastTimeSA.Set(1000); ++ } ++ + // update Display every second or due to an update + if (CurrTime != LastTime || update) + { +@@ -1465,6 +1465,7 @@ + FRAME_SPACE_X + nMaxX, + nTopY + nProgressbarHeight, + GLCD::clrBlack, false); ++ DisplaySA(); + + if (1 < replay.total && 1 < replay.current) // Don't show full progressbar for endless streams + { +@@ -1951,3 +1952,127 @@ + } + mutex.Unlock(); + } ++void cGraphLCDDisplay::DisplaySA() ++{ ++ // Spectrum Analyzer visualization ++ if ( GraphLCDSetup.enableSpectrumAnalyzer ) { ++ if (cPluginManager::CallFirstService(SPAN_GET_BAR_HEIGHTS_ID, NULL)) { ++ Span_GetBarHeights_v1_0 GetBarHeights; ++ ++ int bandsSA = 20; ++ int falloffSA = 8; ++ int channelsSA = 1; ++ ++ unsigned int bar; ++ unsigned int *barHeights = new unsigned int[bandsSA]; ++ unsigned int *barHeightsLeftChannel = new unsigned int[bandsSA]; ++ unsigned int *barHeightsRightChannel = new unsigned int[bandsSA]; ++ unsigned int volumeLeftChannel; ++ unsigned int volumeRightChannel; ++ unsigned int volumeBothChannels; ++ unsigned int *barPeaksBothChannels = new unsigned int[bandsSA]; ++ unsigned int *barPeaksLeftChannel = new unsigned int[bandsSA]; ++ unsigned int *barPeaksRightChannel = new unsigned int[bandsSA]; ++ ++ GetBarHeights.bands = bandsSA; ++ GetBarHeights.barHeights = barHeights; ++ GetBarHeights.barHeightsLeftChannel = barHeightsLeftChannel; ++ GetBarHeights.barHeightsRightChannel = barHeightsRightChannel; ++ GetBarHeights.volumeLeftChannel = &volumeLeftChannel; ++ GetBarHeights.volumeRightChannel = &volumeRightChannel; ++ GetBarHeights.volumeBothChannels = &volumeBothChannels; ++ GetBarHeights.name = "graphlcd"; ++ GetBarHeights.falloff = falloffSA; ++ GetBarHeights.barPeaksBothChannels = barPeaksBothChannels; ++ GetBarHeights.barPeaksLeftChannel = barPeaksLeftChannel; ++ GetBarHeights.barPeaksRightChannel = barPeaksRightChannel; ++ ++ if ( cPluginManager::CallFirstService(SPAN_GET_BAR_HEIGHTS_ID, &GetBarHeights )) { ++ int i; ++ int barWidth = 2; ++ int saStartX = FRAME_SPACE_X; ++ int saEndX = saStartX + barWidth*bandsSA*2 + bandsSA/4 - 1; ++ int saStartY = FRAME_SPACE_Y; ++ int saEndY = FRAME_SPACE_Y + bitmap->Height()/2 - 3; ++ ++ LastTimeSA.Set(100); ++ ++ if ( GraphLCDSetup.SAShowVolume ) { ++ saStartX = FRAME_SPACE_X + bitmap->Width()/2 - (barWidth*bandsSA*2 + bandsSA/4)/2 - 2; ++ saEndX = saStartX + barWidth*bandsSA*2 + bandsSA/4 - 1; ++ ++ // left volume ++ bitmap->DrawRectangle(FRAME_SPACE_X, ++ saStartY, ++ saStartX-1, ++ saEndY + 1, ++ GLCD::clrWhite, true); ++ ++ for ( i=0; (i<logo->Width()/2-2) && (i<3*(volumeLeftChannel*saStartX)/100); i++) { ++ bitmap->DrawRectangle(saStartX - i - 2, ++ saStartY + saEndY/2 - i, ++ saStartX - i - 4, ++ saStartY + saEndY/2 + i, ++ GLCD::clrBlack, true); ++ } ++ ++ // right volume ++ bitmap->DrawRectangle(saEndX + 1, ++ saStartY, ++ bitmap->Width() - 1, ++ saEndY + 1, ++ GLCD::clrWhite, true); ++ ++ for ( i=0; (i<logo->Width()/2-2) && (i<3*(volumeRightChannel*saStartX)/100); i++) { ++ bitmap->DrawRectangle(saEndX + 2 + i, ++ saStartY + saEndY/2 - i, ++ saEndX + i + 4, ++ saStartY + saEndY/2 + i, ++ GLCD::clrBlack, true); ++ } ++ } ++ ++ // black background ++ bitmap->DrawRectangle(saStartX, ++ saStartY, ++ saEndX, ++ saEndY + 1, ++ GLCD::clrBlack, true); ++ ++ for ( i=0; i < bandsSA; i++ ) { ++/* if ( channelsSA == 2 ) { ++ bar = barHeightsLeftChannel[i]; ++ bar = barHeightsRightChannel[i]; ++ }*/ ++ if ( channelsSA == 1) { ++ // the bar ++ bar = (barHeights[i]*(saEndY-saStartY))/100; ++ bitmap->DrawRectangle(saStartX + barWidth*2*(i)+ barWidth + 1, ++ saEndY, ++ saStartX + barWidth*2*(i) + barWidth+ barWidth + 1, ++ saEndY - bar, ++ GLCD::clrWhite, true); ++ ++ // the peak ++ bar = (barPeaksBothChannels[i]*(saEndY-saStartY))/100; ++ if ( bar > 0 ) { ++ bitmap->DrawRectangle(saStartX + barWidth*2*(i)+ barWidth + 1, ++ saEndY - bar, ++ saStartX + barWidth*2*(i) + barWidth+ barWidth + 1, ++ saEndY - bar+1, ++ GLCD::clrWhite, true); ++ } ++ } ++ } ++ } ++ ++ delete [] barHeights; ++ delete [] barHeightsLeftChannel; ++ delete [] barHeightsRightChannel; ++ delete [] barPeaksBothChannels; ++ delete [] barPeaksLeftChannel; ++ delete [] barPeaksRightChannel; ++ } ++ } ++} ++ +diff -ruN graphlcd-0.1.5/display.h graphlcd-0.1.5_span-0.0.4/display.h +--- graphlcd-0.1.5/display.h 2007-02-11 10:36:30.000000000 +0100 ++++ graphlcd-0.1.5_span-0.0.4/display.h 2007-03-19 16:51:47.000000000 +0100 +@@ -31,10 +31,33 @@ + #include <vdr/thread.h> + #include <vdr/player.h> + ++#define SPAN_CLIENT_CHECK_ID "Span-ClientCheck-v1.0" ++#define SPAN_GET_BAR_HEIGHTS_ID "Span-GetBarHeights-v1.0" + + #define LCDMAXCARDS 4 + static const int kMaxTabCount = 10; + ++struct Span_Client_Check_1_0 { ++ bool *isActive; ++ bool *isRunning; ++}; ++ ++struct Span_GetBarHeights_v1_0 { ++ unsigned int bands; // number of bands to compute ++ unsigned int *barHeights; // the heights of the bars of the two channels combined ++ unsigned int *barHeightsLeftChannel; // the heights of the bars of the left channel ++ unsigned int *barHeightsRightChannel; // the heights of the bars of the right channel ++ unsigned int *volumeLeftChannel; // the volume of the left channels ++ unsigned int *volumeRightChannel; // the volume of the right channels ++ unsigned int *volumeBothChannels; // the combined volume of the two channels ++ const char *name; // name of the plugin that wants to get the data ++ // (must be unique for each client!) ++ unsigned int falloff; // bar falloff value ++ unsigned int *barPeaksBothChannels; // bar peaks of the two channels combined ++ unsigned int *barPeaksLeftChannel; // bar peaks of the left channel ++ unsigned int *barPeaksRightChannel; // bar peaks of the right channel ++}; ++ + enum ThreadState + { + Normal, +@@ -106,6 +129,7 @@ + time_t LastTime; + time_t LastTimeCheckSym; + time_t LastTimeModSym; ++ cTimeMs LastTimeSA; + struct timeval CurrTimeval; + struct timeval UpdateAt; + +@@ -127,6 +151,7 @@ + void DisplayTextItem(); + void DisplayColorButtons(); + void DisplayVolume(); ++ void DisplaySA(); + + void UpdateIn(long usec); + bool CheckAndUpdateSymbols(); +diff -ruN graphlcd-0.1.5/i18n.c graphlcd-0.1.5_span-0.0.4/i18n.c +--- graphlcd-0.1.5/i18n.c 2007-02-04 16:55:03.000000000 +0100 ++++ graphlcd-0.1.5_span-0.0.4/i18n.c 2007-03-19 16:50:54.000000000 +0100 +@@ -966,5 +966,53 @@ + # endif + #endif + }, ++ { ++ "Show spectrum analyzer", ++ "Zeige Spectrum Analyzer", ++ "",// TODO Slovenski ++ "",// TODO Italiano ++ "",// TODO Nederlands ++ "",// TODO Português ++ "",// TODO Français ++ "",// TODO Norsk ++ "",// TODO Suomi ++ "",// TODO Polski ++ "",// TODO Español ++ "",// TODO Ellinika ++ "",// TODO Svenska ++ "",// TODO Românã ++ "",// TODO Magyar ++ "",// TODO Català ++#if VDRVERSNUM > 10302 ++ "",// TODO Russian ++# if VDRVERSNUM > 10307 ++ "",// TODO Croatian ++# endif ++#endif ++ }, ++ { ++ "Show SA volume", ++ "Zeige SA Lautstärke", ++ "",// TODO Slovenski ++ "",// TODO Italiano ++ "",// TODO Nederlands ++ "",// TODO Português ++ "",// TODO Français ++ "",// TODO Norsk ++ "",// TODO Suomi ++ "",// TODO Polski ++ "",// TODO Español ++ "",// TODO Ellinika ++ "",// TODO Svenska ++ "",// TODO Românã ++ "",// TODO Magyar ++ "",// TODO Català ++#if VDRVERSNUM > 10302 ++ "",// TODO Russian ++# if VDRVERSNUM > 10307 ++ "",// TODO Croatian ++# endif ++#endif ++ }, + { NULL } + }; +diff -ruN graphlcd-0.1.5/menu.c graphlcd-0.1.5_span-0.0.4/menu.c +--- graphlcd-0.1.5/menu.c 2007-02-04 16:44:28.000000000 +0100 ++++ graphlcd-0.1.5_span-0.0.4/menu.c 2007-03-19 16:50:54.000000000 +0100 +@@ -75,6 +75,8 @@ + Add(new cMenuEditIntItem(tr("Brightness on user activity"), &newGraphLCDSetup.BrightnessActive, 0, 100)); + Add(new cMenuEditIntItem(tr("Brightness on user inactivity"), &newGraphLCDSetup.BrightnessIdle, 0, 100)); + Add(new cMenuEditIntItem(tr("Brightness delay [s]"), &newGraphLCDSetup.BrightnessDelay, 0, 600)); ++ Add(new cMenuEditBoolItem(tr("Show spectrum analyzer"), &newGraphLCDSetup.enableSpectrumAnalyzer)); ++ Add(new cMenuEditBoolItem(tr("Show SA volume"), &newGraphLCDSetup.SAShowVolume)); + } + + void cGraphLCDMenuSetup::Store() +@@ -101,4 +103,6 @@ + SetupStore("BrightnessActive", GraphLCDSetup.BrightnessActive = newGraphLCDSetup.BrightnessActive); + SetupStore("BrightnessIdle", GraphLCDSetup.BrightnessIdle = newGraphLCDSetup.BrightnessIdle); + SetupStore("BrightnessDelay", GraphLCDSetup.BrightnessDelay = newGraphLCDSetup.BrightnessDelay); ++ SetupStore("enableSpectrumAnalyzer", GraphLCDSetup.enableSpectrumAnalyzer = newGraphLCDSetup.enableSpectrumAnalyzer); ++ SetupStore("SAShowVolume", GraphLCDSetup.SAShowVolume = newGraphLCDSetup.SAShowVolume); + } +diff -ruN graphlcd-0.1.5/plugin.c graphlcd-0.1.5_span-0.0.4/plugin.c +--- graphlcd-0.1.5/plugin.c 2007-02-25 18:33:17.000000000 +0100 ++++ graphlcd-0.1.5_span-0.0.4/plugin.c 2007-03-19 16:50:54.000000000 +0100 +@@ -54,6 +54,7 @@ + virtual cOsdObject * MainMenuAction(); + virtual cMenuSetupPage * SetupMenu(); + virtual bool SetupParse(const char * Name, const char * Value); ++ virtual bool Service(const char *Id, void *Data); + }; + + cPluginGraphLCD::cPluginGraphLCD() +@@ -239,8 +240,21 @@ + else if (!strcasecmp(Name, "BrightnessActive")) GraphLCDSetup.BrightnessActive = atoi(Value); + else if (!strcasecmp(Name, "BrightnessIdle")) GraphLCDSetup.BrightnessIdle = atoi(Value); + else if (!strcasecmp(Name, "BrightnessDelay")) GraphLCDSetup.BrightnessDelay = atoi(Value); ++ else if (!strcasecmp(Name, "enableSpectrumAnalyzer")) GraphLCDSetup.enableSpectrumAnalyzer = atoi(Value); ++ else if (!strcasecmp(Name, "SAShowVolume")) GraphLCDSetup.SAShowVolume = atoi(Value); + else return false; + return true; + } + ++bool cPluginGraphLCD::Service(const char *Id, void *Data) ++{ ++ if (strcmp(Id, SPAN_CLIENT_CHECK_ID) == 0) { ++ if ( GraphLCDSetup.enableSpectrumAnalyzer && (Data != NULL)) { ++ *((Span_Client_Check_1_0*)Data)->isActive = true; ++ } ++ return true; ++ } ++ return false; ++} ++ + VDRPLUGINCREATOR(cPluginGraphLCD); // Don't touch this! +diff -ruN graphlcd-0.1.5/setup.c graphlcd-0.1.5_span-0.0.4/setup.c +--- graphlcd-0.1.5/setup.c 2007-02-04 16:43:03.000000000 +0100 ++++ graphlcd-0.1.5_span-0.0.4/setup.c 2007-03-19 16:50:54.000000000 +0100 +@@ -52,7 +52,9 @@ + ScrollTime(500), + BrightnessActive(100), + BrightnessIdle(100), +- BrightnessDelay(30) ++ BrightnessDelay(30), ++ enableSpectrumAnalyzer(1), ++ SAShowVolume(1) + { + } + +@@ -90,4 +92,6 @@ + BrightnessActive = source->BrightnessActive; + BrightnessIdle = source->BrightnessIdle; + BrightnessDelay = source->BrightnessDelay; ++ enableSpectrumAnalyzer = source->enableSpectrumAnalyzer; ++ SAShowVolume = source->SAShowVolume; + } +diff -ruN graphlcd-0.1.5/setup.h graphlcd-0.1.5_span-0.0.4/setup.h +--- graphlcd-0.1.5/setup.h 2007-02-04 16:42:46.000000000 +0100 ++++ graphlcd-0.1.5_span-0.0.4/setup.h 2007-03-19 16:50:54.000000000 +0100 +@@ -54,6 +54,8 @@ + int BrightnessActive; + int BrightnessIdle; + int BrightnessDelay; ++ int enableSpectrumAnalyzer; ++ int SAShowVolume; + + public: + cGraphLCDSetup(void); diff --git a/plugins/graphlcd/patches/graphlcd-0.1.5_vdr-1.5.3.diff b/plugins/graphlcd/patches/graphlcd-0.1.5_vdr-1.5.3.diff new file mode 100644 index 0000000..fac88fb --- /dev/null +++ b/plugins/graphlcd/patches/graphlcd-0.1.5_vdr-1.5.3.diff @@ -0,0 +1,19 @@ +fix compile Probs up from vdr-1.5.3 + +Joerg Bornkessel <hd_brummy@gentoo.org> 2007 06 26 + +diff -Naur graphlcd-0.1.5.orig/layout.c graphlcd-0.1.5/layout.c +--- graphlcd-0.1.5.orig/layout.c 2007-06-26 21:43:52.000000000 +0200 ++++ graphlcd-0.1.5/layout.c 2007-06-26 21:46:05.000000000 +0200 +@@ -65,7 +65,11 @@ + file += "/fonts/"; + file += url.substr(4, pos - 4); + } ++#if APIVERSNUM >= 10503 ++ return font.LoadFT2(file, cCharSetConv::SystemCharacterTable(), size); ++#else + return font.LoadFT2(file, I18nCharSets()[Setup.OSDLanguage], size); ++#endif + } + else + { diff --git a/plugins/graphlcd/plugin.sh b/plugins/graphlcd/plugin.sh new file mode 100644 index 0000000..d7c7ab3 --- /dev/null +++ b/plugins/graphlcd/plugin.sh @@ -0,0 +1,75 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 11.03.2006 +# +# vdr-graphlcd + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://download.berlios.de/graphlcd/vdr-graphlcd-0.1.5.tgz" +VERSION="graphlcd-0.1.5" +LINK="graphlcd" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $VDRCONFDIR/plugins/graphlcd + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + # copy data + cd $SOURCEDIR/VDR/PLUGINS/src/$LINK + cp -r graphlcd $VDRCONFDIR/plugins + + # symlink fuer logos und fonts + cd $VDRCONFDIR/plugins/graphlcd + ln -sf logonames.alias.1.3 logonames.alias + ln -sf fonts.conf.small fonts.conf + + # media + cd $DIR + local WEB="http://www.zulu-entertainment.de/files/vdr-graphlcd/graphlcd-media-snapshot-20060828.tar.gz" + local VERSION="graphlcd-media-snapshot-20060828" + local VAR=`basename $WEB` + download_plugin + if echo "$FILES/plugins/$VAR" | grep "bz2$" - &>/dev/null; then + if tar xjf "$FILES/plugins/$VAR" -C $DIR; then log "extrahiere $VAR" ; fi + else + if tar xzf "$FILES/plugins/$VAR" -C $DIR; then log "extrahiere $VAR" ; fi + fi + cp -r $DIR/$VERSION/* $VDRCONFDIR/plugins/graphlcd + + # rechte + chown -R $VDRUSER:$VDRGROUP $VDRCONFDIR/plugins/graphlcd + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/graphtft/patches/p1/graphtft-0.3.3-ffmpeg-svn.diff b/plugins/graphtft/patches/p1/graphtft-0.3.3-ffmpeg-svn.diff new file mode 100644 index 0000000..d209cdf --- /dev/null +++ b/plugins/graphtft/patches/p1/graphtft-0.3.3-ffmpeg-svn.diff @@ -0,0 +1,30 @@ +diff -ruN graphtft-0.3.3/imlibrenderer/dvbrenderer/mpeg2encoder.c graphtft-0.3.3-fixed/imlibrenderer/dvbrenderer/mpeg2encoder.c +--- graphtft-0.3.3/imlibrenderer/dvbrenderer/mpeg2encoder.c 2009-03-23 10:51:58.000000000 +0100 ++++ graphtft-0.3.3-fixed/imlibrenderer/dvbrenderer/mpeg2encoder.c 2009-03-23 12:07:41.000000000 +0100 +@@ -126,7 +126,11 @@ + int i; + AVPicture avpsrc; + ++#if LIBAVCODEC_VERSION_INT < ((52<<16)+(21<<8)+0) + avpicture_fill(&avpsrc, buf, PIX_FMT_RGBA32, width, height); ++#else ++ avpicture_fill(&avpsrc, buf, PIX_FMT_RGB32, width, height); ++#endif + + #ifndef HAVE_SWSCALE + +diff -ruN graphtft-0.3.3/imlibrenderer/fbrenderer/fbrenderer.c graphtft-0.3.3-fixed/imlibrenderer/fbrenderer/fbrenderer.c +--- graphtft-0.3.3/imlibrenderer/fbrenderer/fbrenderer.c 2009-03-23 10:51:58.000000000 +0100 ++++ graphtft-0.3.3-fixed/imlibrenderer/fbrenderer/fbrenderer.c 2009-03-23 12:05:56.000000000 +0100 +@@ -194,7 +194,11 @@ + + switch (fb_vinfo.bits_per_pixel) + { ++#if LIBAVCODEC_VERSION_INT < ((52<<16)+(21<<8)+0) + case 32: tell(4, "fbdevout.c: using 32 bit depth"); fb_type = PIX_FMT_RGBA32; break; ++#else ++ case 32: tell(4, "fbdevout.c: using 32 bit depth"); fb_type = PIX_FMT_RGB32; break; ++#endif + case 24: tell(4, "fbdevout.c: using 24 bit depth"); fb_type = PIX_FMT_RGB24; break; + case 16: tell(4, "fbdevout.c: using 16 bit depth"); fb_type = PIX_FMT_RGB565; break; + default: tell(4, "fbdevout.c: color depth not supported -> %i bits per pixel", diff --git a/plugins/graphtft/plugin.sh b/plugins/graphtft/plugin.sh new file mode 100755 index 0000000..4fcc00a --- /dev/null +++ b/plugins/graphtft/plugin.sh @@ -0,0 +1,98 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 23.03.2009 +# +# vdr-graphtft + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +#WEB="http://www.jwendel.de/vdr/vdr-graphtft-0.3.3.tar.bz2" +WEB="http://www.zulu-entertainment.de/files/vdr-graphtft/vdr-graphtft-0.3.3-rev24.tar.bz2" +VERSION="graphtft-0.3.3" +LINK="graphtft" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -rf $VDRCONFDIR/plugins/graphTFT/themes/DeepBlue + rm -rf $VDRCONFDIR/plugins/graphTFT/themes/alien-vs-predator + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + patch_p1_plugin + + ## plugin specials - start ## + # themes + [ ! -d $VDRCONFDIR/plugins/graphTFT/fonts ] && mkdir -p $VDRCONFDIR/plugins/graphTFT/fonts + [ ! -d $VDRCONFDIR/plugins/graphTFT/themes ] && mkdir -p $VDRCONFDIR/plugins/graphTFT/themes + + if [ ! -f $VDRCONFDIR/plugins/graphTFT/fonts/Vera.ttf ]; then + if [ -f $DIR/Vera.ttf ]; then + cp -f $DIR/Vera.ttf $VDRCONFDIR/plugins/graphTFT/fonts + elif [ -f /usr/share/fonts/truetype/ttf-bitstream-vera/Vera.ttf ]; then + cp -f /usr/share/fonts/truetype/ttf-bitstream-vera/Vera.ttf $VDRCONFDIR/plugins/graphTFT/fonts + fi + fi + + if [ ! -f $VDRCONFDIR/plugins/graphTFT/fonts/Enigma.ttf ]; then + if [ -f $DIR/Enigma.ttf ]; then + cp -f $DIR/Enigma.ttf $VDRCONFDIR/plugins/graphTFT/fonts + elif [ -f $VDRCONFDIR/plugins/graphTFT/fonts/Vera.ttf ]; then + cd $VDRCONFDIR/plugins/graphTFT/fonts + ln -vfs Vera.ttf Enigma.ttf + fi + fi + + cd $DIR + + # themes + local WEB="http://www.jwendel.de/vdr/DeepBlue-horchi-0.3.1.tar.bz2" + local VAR=`basename $WEB` + download_plugin + if echo "$FILES/plugins/$VAR" | grep "bz2$" - &>/dev/null; then + if tar xjf "$FILES/plugins/$VAR" -C $VDRCONFDIR/plugins/graphTFT/themes; then log "extrahiere $VAR" ; fi + else + if tar xzf "$FILES/plugins/$VAR" -C $VDRCONFDIR/plugins/graphTFT/themes; then log "extrahiere $VAR" ; fi + fi + + local WEB="http://www.jwendel.de/vdr/alien-vs-predator-0.3.1.tar.bz2" + local VAR=`basename $WEB` + download_plugin + if echo "$FILES/plugins/$VAR" | grep "bz2$" - &>/dev/null; then + if tar xjf "$FILES/plugins/$VAR" -C $VDRCONFDIR/plugins/graphTFT/themes; then log "extrahiere $VAR" ; fi + else + if tar xzf "$FILES/plugins/$VAR" -C $VDRCONFDIR/plugins/graphTFT/themes; then log "extrahiere $VAR" ; fi + fi + + chown -R $VDRUSER:$VDRGROUP $VDRCONFDIR/plugins/graphTFT + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/image/imagecmds.conf b/plugins/image/imagecmds.conf new file mode 100644 index 0000000..f5022dd --- /dev/null +++ b/plugins/image/imagecmds.conf @@ -0,0 +1,25 @@ +# +# Kommandos für Image plugins +# +# Format: see also man vdr(5) +# +## Menutext ?: Kommando %s +# +# ? - Bestätigung anfordern, (optional) +# %s - Platzhalter für Dateinamen (optional) +# +Informationen über das Bild : identify -verbose +Größe des Bildes : du -chs %s +Exif Informationen des JPEG-Bildes ausgeben : jpegtopnm -dumpexif %s >/dev/null 2> $CONVERT_TEMPDIR/exif.tmp && cat $CONVERT_TEMPDIR/exif.tmp && rm -f $CONVERT_TEMPDIR/exif.tmp +Rotatiere JPEG Bildes verlustlos um 90° nach Rechts : jpegtran -rotate 90 %s > $CONVERT_TEMPDIR/tmp.jpg && mv $CONVERT_TEMPDIR/tmp.jpg %s +Rotatiere JPEG Bildes verlustlos um 90° nach Links : jpegtran -rotate 270 %s > $CONVERT_TEMPDIR/tmp.jpg && mv $CONVERT_TEMPDIR/tmp.jpg %s +Lösche Bild ?: rm -f %s +# burn-bc +Blend Only : echo "burn-bc -f draw-storke -w default -i %s"|at now +Resize Only : echo "burn-bc -f 'resize draw-storke unsharp' -w default -i %s"|at now +Simple Cropping : echo "burn-bc -f 'crop resize resize draw-storke unsharp' -w default -i %s"|at now +Zoom Center : echo "burn-bc -f 'zoom-center resize draw-storke unsharp' -w default -i %s"|at now +Zoom Left : echo "burn-bc -f 'crop zoom-left resize draw-storke unsharp' -w default -i %s"|at now +Zoom Right : echo "burn-bc -f 'crop zoom-right resize draw-storke unsharp' -w default -i %s"|at now +#Symlink anlegen : echo ln -fs '%s' '$(dirname %s)/menu-bg.png' | sh +Symlink anlegen : echo ln -fs '%s' /var/lib/vdr/plugins/burn/menu-bg.png | sh diff --git a/plugins/image/imageplugin.sh b/plugins/image/imageplugin.sh new file mode 100644 index 0000000..ee19b89 --- /dev/null +++ b/plugins/image/imageplugin.sh @@ -0,0 +1,165 @@ +#!/bin/bash +# script for vdr-imageplugin to convert the selected image to pnm-image +# needs : netpbm-progs > anytopnm pnmscalefixed pnmfile pnmcut pnmflip +# +# History: +# 2005-07-26 add commando for rotate 180 +# 2005-07-18 wrong lookup for pnmscale and really are pnmscalefixed used +# 2004-08-12 Initalrelease, Andreas Brachold <anbr at users.berlios.de> +# base on prior work for convert.sh +# by Onno Kreuzinger <o.kreuzinger-at-kreuzinger.biz> +# Andreas Holzhammer and <Interpohl-at-vdr-portal.de> +# +################################################################################ +# Userconfig: +################################################################################ +# if your install external software like netpbm outside /bin:/usr/bin, adjust folder +PATH=/usr/local/bin:$PATH +# Set to "yes" to speedup reviewed image +TMPCACHE=no +# Set to "no" if this script work and your don't need success messages +VERBOSE=yes +# Set to "yes" if this script don't work, only usable if your self execute the script from shell +DEBUG=no + +################################################################################ +# and now the script +################################################################################ +[ "z$DEBUG" = "zyes" ] && set -xv +SCRIPTNAME=$(basename "$0") +{ +[ "z$VERBOSE" = "zyes" ] && echo "called '$SCRIPTNAME $*'" + +if [ $# -lt 7 ] ; then + echo "Usage: $SCRIPTNAME infile outfile WIDTH HEIGHT ZOOMFACTOR LEFTPOS TOPPOS [FLIPCMD]" 1>&2 + echo " e.g.: $SCRIPTNAME in.png out.pnm 720 576 0 0 0" 1>&2 + echo " or .: $SCRIPTNAME in.png out.pnm 720 576 3 360 360 left" 1>&2 + echo "" 1>&2 + echo "WIDTH - Width of TVScreen (720)" 1>&2 + echo "HEIGHT - Height of TVScreen (480..576)" 1>&2 + echo "ZOOMFACTOR - Zoomfactor (0....10)" 1>&2 + echo "LEFTPOS - Offset from left on Zoommode (0......)" 1>&2 + echo "TOPPOS - Offset from top on Zoommode (0......)" 1>&2 + echo "FLIPCMD - optional should image flip (left,right,rotated,original)" 1>&2 + exit 1 +fi + + # Defaultvalue, overwrite with env from plugin + ASPECT_RATIO="${ASPECT_RATIO:-"4:3"}" + + # check requirement external programs + REQUIREMENTS="anytopnm pnmscalefixed pnmfile pnmcut pnmflip" + for i in $REQUIREMENTS + do + type "$i" > /dev/null 2>&1 + [ $? -ne 0 ] && echo -e "$SCRIPTNAME: Error ! External required program: \"$i\" not found !\n Please adjust PATH or install it inside follow Folder \"$PATH\" \n" && exit 1 + done + + INFILE="$1" + OUTFILE="$2" + OUT_DISPLAY_X=$3 + OUT_DISPLAY_Y=$4 + ZOOMFACTOR=$5 + LEFTPOS=$6 + TOPPOS=$7 + FLIPCMD="$8" + + OUTDIR=$(dirname "$OUTFILE") + [ ! -d "$OUTDIR" ] && mkdir -p "$OUTDIR" + + TMPFILE="$OUTFILE.tmp" + PARFILE="$OUTFILE.par" + + # remove precreated files if called with flip "left","right" or "original" + [ -s "$OUTFILE" -a "$FLIPCMD" != "" ] && rm -f "$OUTFILE" + [ -s "$TMPFILE" -a "$FLIPCMD" != "" ] && rm -f "$TMPFILE" + + if [ -s "$OUTFILE" ] ; then + [ "z$VERBOSE" = "zyes" ] && echo "Success! Convert not required, $OUTFILE exists already ! " + exit 0 + else + + # Convert Image to PNM File + [ ! -s "$TMPFILE" ] && anytopnm "$INFILE" > "$TMPFILE" + # if success + if [ -s "$TMPFILE" ] ; then + + # Get image resolution + RES=`echo $( pnmfile < "$TMPFILE" -)` # checked with netpbm 10.0, + # Parse pnmfile output "-: PPM raw, 768 by 576 maxval 255" => 768 x 576 + X_RES=$(echo -e "$RES"| cut -d " " -f 4) + Y_RES=$(echo -e "$RES"| cut -d " " -f 6) + + # set flip command + case "$FLIPCMD" in + right ) + FLIP="pnmflip -rotate270" + SWAPRES=$X_RES;X_RES=$Y_RES;Y_RES=$SWAPRES + ;; + left ) + FLIP="pnmflip -rotate90"; + SWAPRES=$X_RES;X_RES=$Y_RES;Y_RES=$SWAPRES + ;; + rotated ) + FLIP="pnmflip -rotate180"; + ;; + *) + FLIP="cat"; + ;; + esac + # Save config for plugin as readable file + echo "$X_RES" "$Y_RES" "$FLIPCMD" > "$PARFILE" + + # define aspect ratio depends plugin setup + if [ $ASPECT_RATIO = "16:9" ] ; then + SCALE_MIN_ASP=163 + SCALE_MAX_ASP=178 + else + SCALE_MIN_ASP=125 + SCALE_MAX_ASP=133 + fi + + # if zoom image, zoom it with factor + if [ "$ZOOMFACTOR" -gt 0 ] ; then + + ZOOM_X=$(($X_RES*$ZOOMFACTOR)) + ZOOM_Y=$(($Y_RES*$ZOOMFACTOR)) + + $FLIP < "$TMPFILE" | pnmscalefixed -xysize $ZOOM_X $ZOOM_Y | \ + pnmcut -pad -left $LEFTPOS -top $TOPPOS -width $OUT_DISPLAY_X -height $OUT_DISPLAY_Y \ + > "$OUTFILE" + + # else scale image to TV Screensize + else + + if [ "$((${X_RES}00 / ${Y_RES}))" -lt $SCALE_MIN_ASP ] ; then + OUT_DISPLAY_X=$((${OUT_DISPLAY_Y}000 / $Y_RES * $X_RES / 1000)) + elif [ "$((${X_RES}00 / ${Y_RES}))" -gt $SCALE_MAX_ASP ] ; then + OUT_DISPLAY_Y=$((${OUT_DISPLAY_X}000 / $X_RES * $Y_RES / 1000)) + fi + + $FLIP < "$TMPFILE" | \ + pnmscalefixed -xysize $OUT_DISPLAY_X $OUT_DISPLAY_Y \ + > "$OUTFILE" + + fi + # if'nt tmpfile use for next view, remove tmp file + [ "z$TMPCACHE" = "zno" ] && rm -f "$TMPFILE" + fi + fi + + if [ -s "$OUTFILE" ] ; then + [ "z$VERBOSE" = "zyes" ] && echo "Success! Stopped with created $OUTFILE" + exit 0 # Creation seem success, tell it with 'exit 0' to plugin + fi + [ "z$VERBOSE" = "zyes" ] && echo "Error! Stopped without found created $OUTFILE, converting should failed ! " + exit 1 # Hmm, created is failed tell it with 'exit 1' to plugin + + +###### >>>>>>> !!! Only one of the follow lines are allowed (begins always with 2>&1 ) !!! +### Dump any message to syslog to see use cat /var/log/messages | grep imageplugin +} 2>&1 | logger -s -t "$SCRIPTNAME" +### If your wish don't any message logging +# 2>&1 > /dev/null +### If your wish old style message logging +# 2>&1 > /tmp/image/convert.log diff --git a/plugins/image/magickplugin.sh b/plugins/image/magickplugin.sh new file mode 100644 index 0000000..3f65899 --- /dev/null +++ b/plugins/image/magickplugin.sh @@ -0,0 +1,166 @@ +#!/bin/bash +# script for vdr-imageplugin to convert the selected image to pnm-image +# needs : imagemagick > identify convert +# +# History: +# 2005-08-19 better resolution retrieval (provided by kc_captain-at-vdr-portal de) +# 2005-07-26 add commando for rotate 180 +# 2005-07-18 Reimplement with imagemagick +# 2004-08-12 Initalrelease, Andreas Brachold <anbr at users.berlios.de> +# base on prior work for convert.sh +# by Onno Kreuzinger <o.kreuzinger-at-kreuzinger.biz> +# Andreas Holzhammer and <Interpohl-at-vdr-portal.de> +# +################################################################################ +# Userconfig: +################################################################################ +# if your install external software like netpbm outside /bin:/usr/bin, adjust folder +PATH=/usr/local/bin:$PATH +# Set to "no" if this script work and your don't need success messages +VERBOSE=yes +# Set to "yes" if this script don't work, only usable if your self execute the script from shell +DEBUG=no + +################################################################################ +# and now the script +################################################################################ +[ "z$DEBUG" = "zyes" ] && set -xv +SCRIPTNAME=$(basename "$0") +{ +[ "z$VERBOSE" = "zyes" ] && echo "called '$SCRIPTNAME $*'" + +if [ $# -lt 7 ] ; then + echo "Usage: $SCRIPTNAME infile outfile WIDTH HEIGHT ZOOMFACTOR LEFTPOS TOPPOS [FLIPCMD]" 1>&2 + echo " e.g.: $SCRIPTNAME in.png out.pnm 720 576 0 0 0" 1>&2 + echo " or .: $SCRIPTNAME in.png out.pnm 720 576 3 360 360 left" 1>&2 + echo "" 1>&2 + echo "WIDTH - Width of TVScreen (720)" 1>&2 + echo "HEIGHT - Height of TVScreen (480..576)" 1>&2 + echo "ZOOMFACTOR - Zoomfactor (0....10)" 1>&2 + echo "LEFTPOS - Offset from left on Zoommode (0......)" 1>&2 + echo "TOPPOS - Offset from top on Zoommode (0......)" 1>&2 + echo "FLIPCMD - optional should image flip (left,right,rotated,original)" 1>&2 + exit 1 +fi + + # Defaultvalue, overwrite with env from plugin + ASPECT_RATIO="${ASPECT_RATIO:-"4:3"}" + + # check requirement external programs + REQUIREMENTS="identify convert" + for i in $REQUIREMENTS + do + type "$i" > /dev/null 2>&1 + [ $? -ne 0 ] && echo -e "$SCRIPTNAME: Error ! External required program: \"$i\" not found !\n Please adjust PATH or install it inside follow Folder \"$PATH\" \n" && exit 1 + done + + INFILE="$1" + OUTFILE="$2" + OUT_DISPLAY_X=$3 + OUT_DISPLAY_Y=$4 + ZOOMFACTOR=$5 + LEFTPOS=$6 + TOPPOS=$7 + FLIPCMD="$8" + + OUTDIR=$(dirname "$OUTFILE") + [ ! -d "$OUTDIR" ] && mkdir -p "$OUTDIR" + + PARFILE="$OUTFILE.par" + + # remove precreated files if called with flip "left","right" or "original" + [ -s "$OUTFILE" -a "$FLIPCMD" != "" ] && rm -f "$OUTFILE" + + if [ -s "$OUTFILE" ] ; then + [ "z$VERBOSE" = "zyes" ] && echo "Success! Convert not required, $OUTFILE exists already ! " + exit 0 + else + + # Get image resolution + RES=`echo $( identify -format "%wx%h" "$INFILE" )` # checked with imagemagick 6.0.6 ... + # Parse identify output image.jpg JPEG 3456x2304 DirectClass 4.7mb 3.720u 0:04 + X_RES=$(echo -e "$RES"| cut -d "x" -f 1) + Y_RES=$(echo -e "$RES"| cut -d "x" -f 2) + + # set flip command + case "$FLIPCMD" in + right ) + FLIP="-rotate 270" + SWAPRES=$X_RES;X_RES=$Y_RES;Y_RES=$SWAPRES + ;; + left ) + FLIP="-rotate 90"; + SWAPRES=$X_RES;X_RES=$Y_RES;Y_RES=$SWAPRES + ;; + rotated ) + FLIP="-rotate 180"; + ;; + *) + FLIP=""; + ;; + esac + # Save config for plugin as readable file + echo "$X_RES" "$Y_RES" "$FLIPCMD" > "$PARFILE" + + # define aspect ratio depends plugin setup + if [ $ASPECT_RATIO = "16:9" ] ; then + SCALE_MIN_ASP=163 + SCALE_MAX_ASP=178 + else + SCALE_MIN_ASP=125 + SCALE_MAX_ASP=133 + fi + + # if zoom image, zoom it with factor + if [ "$ZOOMFACTOR" -gt 0 ] ; then + + ZOOM_X=$(($X_RES*$ZOOMFACTOR)) + ZOOM_Y=$(($Y_RES*$ZOOMFACTOR)) + + if [ "$LEFTPOS" -ge 0 ] ; then + LEFTPOS=$(echo -e "+$(($LEFTPOS))") + fi + if [ "$TOPPOS" -ge 0 ] ; then + TOPPOS=$(echo -e "+$(($TOPPOS))") + fi + + convert "$INFILE" \ + -size $(($ZOOM_X))x$(($ZOOM_Y)) \ + -crop $(($OUT_DISPLAY_X/$ZOOMFACTOR))x$(($OUT_DISPLAY_Y/$ZOOMFACTOR))$LEFTPOS$TOPPOS \ + $FLIP \ + -filter "Box" \ + -resize $(($OUT_DISPLAY_X))x$(($OUT_DISPLAY_Y)) \ + "$OUTFILE" + + # else scale image to TV Screensize + else + + if [ "$((${X_RES}00 / ${Y_RES}))" -lt $SCALE_MIN_ASP ] ; then + OUT_DISPLAY_X=$((${OUT_DISPLAY_Y}000 / $Y_RES * $X_RES / 1000)) + elif [ "$((${X_RES}00 / ${Y_RES}))" -gt $SCALE_MAX_ASP ] ; then + OUT_DISPLAY_Y=$((${OUT_DISPLAY_X}000 / $X_RES * $Y_RES / 1000)) + fi + + convert -size $(($OUT_DISPLAY_X))x$(($OUT_DISPLAY_Y)) "$INFILE" \ + $FLIP \ + -filter "Box" \ + -resize $(($OUT_DISPLAY_X))x$(($OUT_DISPLAY_Y)) \ + "$OUTFILE" + fi + fi + + if [ -s "$OUTFILE" ] ; then + [ "z$VERBOSE" = "zyes" ] && echo "Success! Stopped with created $OUTFILE" + exit 0 # Creation seem success, tell it with 'exit 0' to plugin + fi + [ "z$VERBOSE" = "zyes" ] && echo "Error! Stopped without found created $OUTFILE, converting should failed ! " + exit 1 # Hmm, created is failed tell it with 'exit 1' to plugin + + +###### >>>>>>> !!! Only one of the follow lines are allowed (begins always with 2>&1 ) !!! +### Dump any message to syslog to see use cat /var/log/messages | grep imageplugin +} 2>&1 | logger -s -t "$SCRIPTNAME" +### If your wish don't any message logging +# 2>&1 > /dev/null +### If your wish old style message logging +# 2>&1 > /tmp/image/convert.log diff --git a/plugins/image/patches/image-0.3.0_ffmpeg.diff b/plugins/image/patches/image-0.3.0_ffmpeg.diff new file mode 100644 index 0000000..da06627 --- /dev/null +++ b/plugins/image/patches/image-0.3.0_ffmpeg.diff @@ -0,0 +1,10 @@ +--- Makefile~ ++++ Makefile +@@ -80,6 +80,7 @@ + INCLUDES += -I$(VDRDIR)/include -I. + + ifdef FFMDIR ++INCLUDES += -I$(FFMDIR) -I$(FFMDIR)/libavcodec -I$(FFMDIR)/libavformat -I$(FFMDIR)/libswscale + DEFINES += -DFFMDIR + LIBS += -L$(FFMDIR)/libavcodec -lavcodec -lz + ifeq ($(LIBAVCODECVERSION),51) diff --git a/plugins/image/patches/image-0.3.0_plug-man.diff b/plugins/image/patches/image-0.3.0_plug-man.diff new file mode 100644 index 0000000..42c78ca --- /dev/null +++ b/plugins/image/patches/image-0.3.0_plug-man.diff @@ -0,0 +1,36 @@ +--- menu-image.c ++++ menu-image.c.patch +@@ -17,6 +17,7 @@ + #include <sys/ioctl.h> + #include <sys/types.h> + #include <unistd.h> ++#include <libgen.h> + #include <typeinfo> + + #include "image.h" +@@ -25,7 +26,7 @@ + #include "menu-image.h" + #include "control-image.h" + #include <vdr/i18n.h> +- ++#include <vdr/plugin.h> + #include <vdr/status.h> + + +@@ -79,6 +80,8 @@ + char *full = source->BuildName(name); + cDirItem *item = cMenuBrowse::GetSelected(); + if(item) { ++ // check, whether we can use a different plugin for replay ++ if(!cPluginManager::CallFirstService("ReplayDirectoryImages", dirname(full))) { + + //FIXME use a nonblocking way + //OSD_InfoMsg(tr("Building slide show...")); +@@ -96,6 +99,7 @@ + } + lastselect = NULL; + } ++ } + free(full); + free(name); + } diff --git a/plugins/image/plugin.sh b/plugins/image/plugin.sh new file mode 100644 index 0000000..523c47e --- /dev/null +++ b/plugins/image/plugin.sh @@ -0,0 +1,75 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 12.03.2009 +# +# vdr-image + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.zulu-entertainment.de/files/vdr-image/vdr-image-0.3.0.tar.gz" +VERSION="image-0.3.0" +LINK="image" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + rm -f $VDRSCRIPTDIR/imageplugin.sh + rm -f $VDRSCRIPTDIR/magickplugin.sh + rm -f $VDRCONFDIR/imagecmds.conf + rm -f $VDRCONFDIR/imagesources.conf + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + # scripte + cp -f $DIR/imageplugin.sh $VDRSCRIPTDIR + cp -f $DIR/magickplugin.sh $VDRSCRIPTDIR + chmod 0744 $VDRSCRIPTDIR/imageplugin.sh $VDRSCRIPTDIR/magickplugin.sh + # imagecmds.conf + cp -f $DIR/imagecmds.conf $VDRCONFDIR/plugins + # imagesources.conf + if [ -f $DIR/imagesources.conf ]; then + cp -f $DIR/imagesources.conf $VDRCONFDIR/plugins + else + { + echo "$PICTUREDIR;Fotos;0;*.jpg *.JPG" + echo "$VDRCONFDIR/plugins/burn;Hintergruende fuer Burn;0;*.png" + echo "/tmp;Screenshots;0;*.jpg *.JPG" + echo "/media/usb;USB-Stick;1;*.jpg *.JPG" + echo "" + } > $VDRCONFDIR/plugins/imagesources.conf + fi + + chown $VDRUSER:$VDRGROUP $VDRSCRIPTDIR/imageplugin.sh $VDRSCRIPTDIR/magickplugin.sh $VDRCONFDIR/plugins/imagecmds.conf $VDRCONFDIR/plugins/imagesources.conf + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/ipod/plugin.sh b/plugins/ipod/plugin.sh new file mode 100644 index 0000000..4c7bfd3 --- /dev/null +++ b/plugins/ipod/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 05.05.2008 +# +# vdr-ipod + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://vdr-wiki.de/vdr/vdr-ipod/vdr-ipod-0.0.3.tgz" +VERSION="ipod-0.0.3" +LINK="ipod" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/iptv/iptv/iptvstream.sh b/plugins/iptv/iptv/iptvstream.sh new file mode 100644 index 0000000..47d2e68 --- /dev/null +++ b/plugins/iptv/iptv/iptvstream.sh @@ -0,0 +1,47 @@ +#!/bin/sh + +if [ $# -ne 2 ]; then + logger "$0: error: Invalid parameter count '$#' $*" + exit 1; +fi + +# Channels.conf parameter +PARAMETER=${1} + +# Iptv plugin listens this port +PORT=${2} + +# Default bitrates for stream transcoding +VBITRATE=2400 +ABITRATE=320 + +# There is a way to specify multiple URLs in the same script. The selection is +# then controlled by the extra parameter passed by IPTV plugin to the script +case $PARAMETER in + 1) + URL="" + ;; + 2) + URL="" + ;; + 3) + URL="" + ;; + *) + URL="" # Default URL + ;; +esac + +if [ -z "${URL}" ]; then + logger "$0: error: URL not defined!" + exit 1; +fi + +# Create unique pids for the stream +let VPID=${PARAMETER}+1 +let APID=${PARAMETER}+2 +let SPID=${PARAMETER}+3 + +# Use 'exec' for capturing program pid for further management in IPTV plugin +#exec vlc "${URL}" --sout "#transcode{vcodec=mp2v,acodec=mpga,vb=${VBITRATE},ab=${ABITRATE}}:standard{access=udp,mux=ts{pid-video=${VPID},pid-audio=${APID},pid-spu=${SPID}},dst=127.0.0.1:${PORT}}" --intf dummy +exec vlc "${URL}" --sout "#transcode{vcodec=mp2v,acodec=mpga,vb=${VBITRATE},ab=${ABITRATE},width=720,height=576}:standard{acess=udp,mux=ts{pid-video=${VPID},pid-audio=${APID},pid-spu=${SPID}},dst=127.0.0.1:${PORT}}" --intf dummy
\ No newline at end of file diff --git a/plugins/iptv/iptv/vlcstream.sh b/plugins/iptv/iptv/vlcstream.sh new file mode 100644 index 0000000..84926d3 --- /dev/null +++ b/plugins/iptv/iptv/vlcstream.sh @@ -0,0 +1,3 @@ +#!/bin/sh +exec vlc "mms://livemedia.omroep.nl/vprohollanddoc-bb" --sout "#transcode{vcodec=mp2v,acodec=mpga,vb=2400,ab=320}:standard{access=udp,mux=ts{pid-video=1,pid-audio=2,pid-spu=3},dst=127.0.0.1:4321}" --intf dummy + diff --git a/plugins/iptv/plugin.sh b/plugins/iptv/plugin.sh new file mode 100644 index 0000000..00b08ad --- /dev/null +++ b/plugins/iptv/plugin.sh @@ -0,0 +1,54 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 22.03.2009 +# +# vdr-iptv + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.saunalahti.fi/~rahrenbe/vdr/iptv/files/vdr-iptv-0.2.6.tgz" +VERSION="iptv-0.2.6" +LINK="iptv" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + cp -rf $DIR/iptv $VDRCONFDIR/plugins + chmod 0744 $VDRCONFDIR/plugins/iptv/*.sh + chown -R $VDRUSER:$VDRGROUP $VDRCONFDIR/plugins/iptv + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/launcher/plugin.sh b/plugins/launcher/plugin.sh new file mode 100644 index 0000000..5b88978 --- /dev/null +++ b/plugins/launcher/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 25.08.2006 +# +# vdr-launcher + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://vdr-wiki.de/vdr/vdr-launcher/vdr-launcher-0.0.3.tgz" +VERSION="launcher-0.0.3" +LINK="launcher" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/lcdproc/lcdproc-0.0.10-jw6_cf631.diff b/plugins/lcdproc/lcdproc-0.0.10-jw6_cf631.diff new file mode 100644 index 0000000..5a9d75c --- /dev/null +++ b/plugins/lcdproc/lcdproc-0.0.10-jw6_cf631.diff @@ -0,0 +1,74 @@ +--- lcdtranstbl.h.orig 2009-01-09 19:51:31.000000000 +0100 ++++ lcdtranstbl.h 2009-02-20 11:17:13.000000000 +0100 +@@ -539,10 +539,11 @@ lcdtranstbl-CFontz.h + this table is used to map characters for output to + a Crystal Fontz LCD to display some special characters correctly. + newline,tab and friends are mapped to ' ' ++!!! patched for CF-631 !!! + */ + + { +-/* 0 ( '^@') */ (unsigned char) 0, ++/* 0 ( '^@') */ (unsigned char) 32, + /* 1 ( '^A') */ (unsigned char) 1, + /* 2 ( '^B') */ (unsigned char) 2, + /* 3 ( '^C') */ (unsigned char) 3, +@@ -668,7 +669,7 @@ newline,tab and friends are mapped to ' + /* 123 ( '{' ) */ (unsigned char) 253, + /* 124 ( '|' ) */ (unsigned char) 221, + /* 125 ( '}' ) */ (unsigned char) 255, +-/* 126 ( '~' ) */ (unsigned char) 206, ++/* 126 ( '~' ) */ (unsigned char) 45, + /* 127 ( '^?') */ (unsigned char) 127, + /* 128 ( '~@') */ (unsigned char) 128, + /* 129 ( '~A') */ (unsigned char) 129, +@@ -738,7 +739,7 @@ newline,tab and friends are mapped to ' + /* 193 ( '�' ) */ (unsigned char) 226, + /* 194 ( '�' ) */ (unsigned char) 65, + /* 195 ( '�' ) */ (unsigned char) 65, +-/* 196 ( '�' ) */ (unsigned char) 91, ++/* 196 ( '�' ) */ (unsigned char) 65, + /* 197 ( '�' ) */ (unsigned char) 174, + /* 198 ( '�' ) */ (unsigned char) 188, + /* 199 ( '�' ) */ (unsigned char) 169, +@@ -756,13 +757,13 @@ newline,tab and friends are mapped to ' + /* 211 ( '�' ) */ (unsigned char) 228, + /* 212 ( '�' ) */ (unsigned char) 236, + /* 213 ( '�' ) */ (unsigned char) 79, +-/* 214 ( '�' ) */ (unsigned char) 92, ++/* 214 ( '�' ) */ (unsigned char) 79, + /* 215 ( '�' ) */ (unsigned char) 120, + /* 216 ( '�' ) */ (unsigned char) 171, + /* 217 ( '�' ) */ (unsigned char) 85, + /* 218 ( '�' ) */ (unsigned char) 229, + /* 219 ( '�' ) */ (unsigned char) 85, +-/* 220 ( '�' ) */ (unsigned char) 94, ++/* 220 ( '�' ) */ (unsigned char) 85, + /* 221 ( '�' ) */ (unsigned char) 250, + /* 222 ( '�' ) */ (unsigned char) 178, + /* 223 ( '�' ) */ (unsigned char) 190, +@@ -770,7 +771,7 @@ newline,tab and friends are mapped to ' + /* 225 ( '�' ) */ (unsigned char) 231, + /* 226 ( '�' ) */ (unsigned char) 97, + /* 227 ( '�' ) */ (unsigned char) 97, +-/* 228 ( '�' ) */ (unsigned char) 123, ++/* 228 ( '�' ) */ (unsigned char) 97, + /* 229 ( '�' ) */ (unsigned char) 175, + /* 230 ( '�' ) */ (unsigned char) 189, + /* 231 ( '�' ) */ (unsigned char) 200, +@@ -788,13 +789,13 @@ newline,tab and friends are mapped to ' + /* 243 ( '�' ) */ (unsigned char) 228, + /* 244 ( '�' ) */ (unsigned char) 237, + /* 245 ( '�' ) */ (unsigned char) 237, +-/* 246 ( '�' ) */ (unsigned char) 124, ++/* 246 ( '�' ) */ (unsigned char) 111, + /* 247 ( '�' ) */ (unsigned char) 47, + /* 248 ( '�' ) */ (unsigned char) 172, + /* 249 ( '�' ) */ (unsigned char) 166, + /* 250 ( '�' ) */ (unsigned char) 234, + /* 251 ( '�' ) */ (unsigned char) 239, +-/* 252 ( '�' ) */ (unsigned char) 126, ++/* 252 ( '�' ) */ (unsigned char) 117, + /* 253 ( '�' ) */ (unsigned char) 235, + /* 254 ( '�' ) */ (unsigned char) 178, + /* 255 ( '�' ) */ (unsigned char) 183}, diff --git a/plugins/lcdproc/old/lcdproc-0.0.10-span-x.diff b/plugins/lcdproc/old/lcdproc-0.0.10-span-x.diff new file mode 100644 index 0000000..c2752cb --- /dev/null +++ b/plugins/lcdproc/old/lcdproc-0.0.10-span-x.diff @@ -0,0 +1,876 @@ +diff -Naur --exclude='.*' lcdproc-0.0.10.old/i18n.c lcdproc-span/i18n.c +--- lcdproc-0.0.10.old/i18n.c 2006-09-07 15:45:51.000000000 +0200 ++++ lcdproc-span/i18n.c 2006-09-04 16:33:48.000000000 +0200 +@@ -188,5 +188,22 @@ + "OutputNumber",// TODO + "OutputNumber",// TODO + }, ++ { "Enable spectrum analyzer", ++ "Spectrum Analyzer darstellen",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ "",// TODO ++ }, + { NULL } + }; +diff -Naur --exclude='.*' lcdproc-0.0.10.old/lcd.c lcdproc-span/lcd.c +--- lcdproc-0.0.10.old/lcd.c 2006-09-07 15:45:51.000000000 +0200 ++++ lcdproc-span/lcd.c 2006-09-07 11:04:28.000000000 +0200 +@@ -1,3 +1,7 @@ ++ ++#ifndef ___LCD_C ++#define ___LCD_C ++ + #include <stdio.h> + #include <stdlib.h> + #include <unistd.h> +@@ -11,6 +15,7 @@ + #include "lcd.h" + #include "sockets.h" + #include "i18n.h" ++#include <vdr/plugin.h> + + #ifdef LCD_EXT_KEY_CONF + #include LCD_EXT_KEY_CONF +@@ -27,10 +32,16 @@ + #define LCDMISC 3 + #define LCDVOL 4 + ++//span-start ++// unfortunalety, I can put any number (1-4) here and the bars always begin at the bottom of the display ++#define SA_Y 4 ++//span-end ++ + // public: + + cLcd::cLcd() { + int i,j; ++ channelSwitched = false; + connected=false; ThreadStateData.showvolume=false; ThreadStateData.newscroll=false; sock=wid=hgt=cellwid=cellhgt=0;closing = false; + replayDvbApi=NULL; primaryDvbApi=NULL; + +@@ -48,6 +59,7 @@ + cLcd::~cLcd() { + if (connected) { /*cLcd::Stop();*/ cLcd::Close(); } //YYYY + } ++ + + bool cLcd::Connect( char *host, unsigned int port ) { + +@@ -83,7 +95,19 @@ + sock_send_string(sock,"widget_add VDR line4 string\n"); sock_recv(sock, istring, 1024); + sock_send_string(sock,"widget_add VDR prbar hbar\n"); sock_recv(sock, istring, 1024); + sock_send_string(sock,"widget_set VDR prbar 1 1 0\n"); sock_recv(sock, istring, 1024); ++//span-start ++ char cmd[160]; ++ for(i = 0; i < wid; i++) ++ { ++ snprintf(cmd, 160, "widget_add VDR SaBar%d vbar\n", i+1); ++ sock_send_string(sock,cmd); sock_recv(sock, istring, 1024); ++ snprintf(cmd, 160, "widget_set VDR SaBar%d %d %d 15\n",i+1,i+1,SA_Y); ++ sock_send_string(sock,cmd); sock_recv(sock, istring, 1024); ++ } + ++ sock_send_string(sock,"widget_add VDR SaScroller scroller\n"); sock_recv(sock, istring, 1024); ++ SAScroller = true; ++//span-end + for (i=0; i<LcdMaxKeys;i++) { + sprintf(istring,"client_add_key %c\n",LcdUsedKeys[i]); + sock_send_string(sock,istring); +@@ -139,6 +163,7 @@ + void cLcd::SetMain( unsigned int n, const char *string) { + if (!connected) return; + ++ + char line2[wid+1]; + char line3[wid+1]; + +@@ -159,6 +184,24 @@ + } + } + ++//span-start ++void cLcd::ClearSaBars() ++{ ++ unsigned int i; ++ char cmd[80]; ++ for(i = 0; i < wid; i++) ++ { ++ sprintf(cmd, "widget_set VDR SaBar%d %d %d %d\n",i+1,i+1,SA_Y,0); ++ sock_send_string(sock, cmd); ++ if ( SAScroller ) ++ { ++ sock_send_string(sock,"widget_del VDR SaScroller\n"); ++ SAScroller = false; ++ } ++ } ++} ++//span-end ++ + void cLcd::SetHelp( unsigned int n, const char *Red, const char *Green, const char *Yellow, const char *Blue) { + if (!connected) return; + +@@ -294,7 +337,7 @@ + + char workstring[256]; + +- if (percent>100) percent=100; if (percent<0) percent=0; ++ if (percent>100) percent=100; else if (percent<0) percent=0; + if (begin==NULL) { + BeginMutualExclusion(); + ThreadStateData.barx=1; ThreadStateData.bary=1; ThreadStateData.barl=0; +@@ -442,7 +485,17 @@ + if (ThreadStateData.State != newstate) { + cLcd::LastState[(++LastStateP)%LCDMAXSTATEBUF]=newstate; + ThreadStateData.State=newstate; +- ThreadStateData.barx=1, ThreadStateData.bary=1, ThreadStateData.barl=0; ++ ThreadStateData.barx=1, ThreadStateData.bary=1, ThreadStateData.barl=0; ++ ++//span-start ++ unsigned int i; ++ char cmd[80]; ++ for(i = 0; i < wid; i++) ++ { ++ sprintf(cmd, "widget_set VDR SaBar%d %d %d %d\n",i+1,i+1,SA_Y,0); ++ sock_send_string(sock, cmd); ++ } ++//span-end + } + EndMutualExclusion(); + } +@@ -586,7 +639,11 @@ + if ( offset || !( ShowStates && ((t%LcdSetup.FullCycle) >= LcdSetup.TimeCycle) )) { + if (wid > 19) + snprintf(string,wid+1,"<%s %02d.%02d %02d:%02d:%02d>", ++#if VDRVERSNUM >= 10318 ++ *WeekDayName(now->tm_wday), now->tm_mday, now->tm_mon+1, now->tm_hour, now->tm_min,now->tm_sec); ++#else + WeekDayName(now->tm_wday), now->tm_mday, now->tm_mon+1, now->tm_hour, now->tm_min,now->tm_sec); ++#endif + else + snprintf(string,wid+1,"<%02d.%02d %02d:%02d:%02d>", + now->tm_mday, now->tm_mon+1, now->tm_hour, now->tm_min,now->tm_sec); +@@ -613,6 +670,10 @@ + bool Lcddirty[LCDMAXSTATES][4]; + bool LcdShiftkeyPressed=false; + char priostring[35]; ++ // RT ++ static int rtcycle; ++ // LCR ++ static int lcrCycle; + + // backlight init + if ((lastBackLight=LcdSetup.BackLight)) +@@ -629,12 +690,19 @@ + sock_send_string(sock,priostring); + } + lastPrioN=LcdSetup.ClientPrioN; +- ++ ++ + syslog(LOG_INFO, "LCD output thread started (pid=%d), display size: %dx%d", getpid(),hgt,wid); +- cLcd::Write(1," Welcome to V D R\0"); +- cLcd::Write(2,"--------------------\0"); +- cLcd::Write(3,"Video Disk Recorder\0"); +- cLcd::Write(4,"Version: "VDRVERSION"\0"); ++ if (hgt > 2){ ++ cLcd::Write(1," Welcome to V D R\0"); ++ cLcd::Write(2,"--------------------\0"); ++ cLcd::Write(3,"Video Disk Recorder\0"); ++ cLcd::Write(4,"Version: "VDRVERSION"\0"); ++ } ++ else { ++ cLcd::Write(1,"Video Disk Recorder\0"); ++ cLcd::Write(2,"Version: "VDRVERSION"\0"); ++ } + + // Output init + if (LcdSetup.OutputNumber > 0){ +@@ -664,12 +726,19 @@ + + voltime.tv_sec=0; + for (i=0;i<LCDMAXSTATES;i++) for (j=0;j<4;j++) Lcddirty[i][j]=true; +- time_t nextLcdUpdate = (time(NULL)/60)*60+60; + ++ time_t nextLcdUpdate = 0; // trigger first update immediately ++ + while (true) { // main loop, wakes up every WakeUpCycle, any output to LCDd is done here + gettimeofday(&now,NULL); + +- // epg update ++// epg update ++ if (channelSwitched) ++ { ++ channelSwitched = false; ++ nextLcdUpdate = 0; //trigger next epg update ++ } ++ + + #ifdef OLDVDR + +@@ -693,12 +762,12 @@ + SetRunning(false,tr("No EPG info available."), NULL); + if ((Present = Schedule->GetFollowingEvent()) != NULL) + nextLcdUpdate=(Present->GetTime()<nextLcdUpdate)?Present->GetTime():nextLcdUpdate; ++ rtcycle = 10; // RT ++ lcrCycle = 10; // LCR + } + } + if ( nextLcdUpdate <= time(NULL) ) + nextLcdUpdate=(time(NULL)/60)*60+60; +- else if ( nextLcdUpdate > time(NULL)+60 ) +- nextLcdUpdate=(time(NULL)/60)*60+60; + } + + #else +@@ -724,26 +793,125 @@ + SetRunning(false,tr("No EPG info available."), NULL); + if ((Present = Schedule->GetFollowingEvent()) != NULL) + nextLcdUpdate=(Present->StartTime()<nextLcdUpdate)?Present->StartTime():nextLcdUpdate; ++ rtcycle = 10; // RT ++ lcrCycle = 10; // LCR + } + } + if ( nextLcdUpdate <= time(NULL) ) + nextLcdUpdate=(time(NULL)/60)*60+60; +- else if ( nextLcdUpdate > time(NULL)+60 ) +- nextLcdUpdate=(time(NULL)/60)*60+60; + } + + #endif + ++#if VDRVERSNUM >= 10330 ++ // get&display Radiotext ++ if (++rtcycle > 10) { // every 10 times ++ cPlugin *p; ++ p = cPluginManager::CallFirstService("RadioTextService-v1.0", NULL); ++ if (p) { ++ RadioTextService_v1_0 rtext; ++ if (cPluginManager::CallFirstService("RadioTextService-v1.0", &rtext)) { ++ if (rtext.rds_info == 2 && strstr(rtext.rds_title, "---") == NULL) { ++ char timestr[20]; ++ sprintf(timestr, "%02d:%02d", rtext.title_start->tm_hour, rtext.title_start->tm_min); ++ SetRunning(false, timestr, rtext.rds_title, rtext.rds_artist); ++ } ++ else if (rtext.rds_info > 0) { ++ SetRunning(false, NULL, rtext.rds_text); ++ } ++ } ++ } ++ rtcycle = 0; ++ } ++#endif ++ ++#if VDRVERSNUM >= 10330 ++ // get&display LcrData ++ if (lcrCycle++ == 10) // every 10 times ++ { ++ lcrCycle = 0; ++ cPlugin *p; ++ p = cPluginManager::CallFirstService("LcrService-v1.0", NULL); ++ if (p) ++ { ++ LcrService_v1_0 lcrData; ++ if (cPluginManager::CallFirstService("LcrService-v1.0", &lcrData)) ++ { ++ if ( strstr( lcrData.destination, "---" ) == NULL ) ++ { ++ SetRunning(false, (const char *)lcrData.destination, (const char *)lcrData.price, (const char *)lcrData.pulse); ++ nextLcdUpdate = 0; //trigger next epg update ++ } ++ } ++ } ++ } ++ ++#endif ++ + // replaying +- +- if ( (now.tv_usec < WakeUpCycle) && (replayDvbApi) ) { ++// if ( (now.tv_usec < WakeUpCycle) && (replayDvbApi) ) { ++ if ( (replayDvbApi) ) { + char tempbuffer[16]; + replayDvbApi->GetIndex(Current, Total, false); Total=(Total==0)?1:Total; + sprintf(tempbuffer,IndexToHMSF(Total)); + SetProgress(IndexToHMSF(Current),tempbuffer, (100 * Current) / Total); +- } + +- ++//span-start ++ if ( LcdSetup.enableSpectrumAnalyzer && ThreadStateData.State != LCDMENU && cPluginManager::CallFirstService(SPAN_GET_BAR_HEIGHTS_ID, NULL)) ++ { ++ Span_GetBarHeights_v1_0 GetBarHeights; ++ char cmd[160]; ++ unsigned int *barHeights = new unsigned int[wid]; ++ unsigned int *barHeightsLeftChannel = new unsigned int[wid]; ++ unsigned int *barHeightsRightChannel = new unsigned int[wid]; ++ unsigned int volumeLeftChannel; ++ unsigned int volumeRightChannel; ++ unsigned int volumeBothChannels; ++ const char *saClient = "lcdproc"; ++ unsigned int *barPeaksBothChannels = new unsigned int[wid]; ++ unsigned int *barPeaksLeftChannel = new unsigned int[wid]; ++ unsigned int *barPeaksRightChannel = new unsigned int[wid]; ++ ++ GetBarHeights.bands = wid; ++ GetBarHeights.barHeights = barHeights; ++ GetBarHeights.barHeightsLeftChannel = barHeightsLeftChannel; ++ GetBarHeights.barHeightsRightChannel = barHeightsRightChannel; ++ GetBarHeights.volumeLeftChannel = &volumeLeftChannel; ++ GetBarHeights.volumeRightChannel = &volumeRightChannel; ++ GetBarHeights.volumeBothChannels = &volumeBothChannels; ++ GetBarHeights.name = saClient; ++ GetBarHeights.falloff = 8; ++ GetBarHeights.barPeaksBothChannels = barPeaksBothChannels; ++ GetBarHeights.barPeaksLeftChannel = barPeaksLeftChannel; ++ GetBarHeights.barPeaksRightChannel = barPeaksRightChannel; ++ ++ if ( cPluginManager::CallFirstService(SPAN_GET_BAR_HEIGHTS_ID, &GetBarHeights )) ++ { ++ BeginMutualExclusion(); ++ OutStateData.State = ThreadStateData.State = SA; ++ for(i = 0; i < wid; i++) ++ { ++ sprintf(cmd, "widget_set VDR SaBar%d %d %d %d\n",i+1,i+1,SA_Y,((cellhgt*(hgt/2))*barHeights[i])/100); ++ sock_send_string(sock, cmd); ++ } ++ EndMutualExclusion(); ++ } ++ delete [] barHeights; ++ delete [] barHeightsLeftChannel; ++ delete [] barHeightsRightChannel; ++ delete [] barPeaksBothChannels; ++ delete [] barPeaksLeftChannel; ++ delete [] barPeaksRightChannel; ++ ++ } ++ ++ if ( OutStateData.State != SA && SAScroller == true ) ++ { ++ sock_send_string(sock,"widget_del VDR SaScroller\n"); ++ SAScroller = false; ++ } ++//span-end ++ } + + // copy + +@@ -762,10 +930,10 @@ + if ( (OutStateData.State==PrevState) && ( OutStateData.State == Replay || OutStateData.State == Menu || OutStateData.State == Title ) ) { + switch (OutStateData.State) { + case Replay: +- ScrollState=LCDREPLAY; ScrollLine=1; ++ ScrollState=LCDREPLAY; ScrollLine=1; + break; + case Menu: +- ScrollState=LCDMENU; ScrollLine=1; ++ ScrollState=LCDMENU; ScrollLine=1; + break; + case Title: + if (!ToggleMode) { +@@ -818,7 +986,7 @@ + } else { + volume=true; + OutStateData.barx=1; OutStateData.bary=((hgt==2)?2:3); +- OutStateData.barl=(cellwid*((hgt==2)?2:1)*wid*OutStateData.volume)/255; ++ OutStateData.barl=(cellwid*((hgt==2)?2:1)*wid*OutStateData.volume)/255; + } + } + if (volume) OutStateData.State = Vol; +@@ -836,8 +1004,8 @@ + for (i=0;i<4;i++) if (Lcddirty[LCDMENU][i]) { + cLcd::Write(i+1,OutStateData.lcdbuffer[LCDMENU][i]); + Lcddirty[LCDMENU][i]=false; +- } +- PrevState=Menu; ++ } ++ PrevState=Menu; + break; + + case Title: // Display 'titlescsreen' = 1 +@@ -845,17 +1013,22 @@ + if ( (now.tv_usec < WakeUpCycle) || (PrevState != Title) ) { + cLcd::GetTimeDateStat(workstring,OutStateData.CardStat); + cLcd::Write(1,workstring); ++ + } + if (PrevState != Title) for (i=1;i<4;i++) Lcddirty[LCDTITLE][i]=true; +- for (i=1;i<4;i++) if (Lcddirty[LCDTITLE][i]) { ++ for (i=1;i<4;i++) if (Lcddirty[LCDTITLE][i]) { + cLcd::Write(i+1,OutStateData.lcdbuffer[LCDTITLE][i]); + Lcddirty[LCDTITLE][i]=false; + } ++ + PrevState = Title; + break; + + case Replay: // Display date/time during replaying = 2 + LineMode=1; ++//span-start ++ OutStateData.bary = hgt; ++//span-end + if ( !ToggleMode && ((now.tv_usec < WakeUpCycle) || (PrevState != Replay)) ) { + cLcd::GetTimeDateStat(workstring,OutStateData.CardStat); + cLcd::Write(1,workstring); +@@ -865,9 +1038,49 @@ + cLcd::Write(i+1,OutStateData.lcdbuffer[LCDREPLAY][i]); + Lcddirty[LCDREPLAY][i]=false; + } +- PrevState = Replay; ++ ++ PrevState = Replay; + break; +- ++//span-start ++ case SA: // display the SA, move the progressbar to top and show the title on just one line (scrolling) ++ LineMode=0; ++ ++ if ( PrevState != SA ) ++ { ++ sprintf(replayTextTmp, " "); // triggers e.g. a menu-display right before ++ } ++ sprintf(workstring,"%s",OutStateData.lcdfullbuffer[LCDREPLAY]); ++ ++ if ( strcasecmp(workstring,replayTextTmp) != 0 ) ++ { ++ if ( SAScroller ) ++ { ++ sock_send_string(sock,"widget_del VDR SaScroller\n"); ++ sock_send_string(sock,"widget_add VDR SaScroller scroller\n"); ++ } ++ else ++ { ++ sock_send_string(sock,"widget_add VDR SaScroller scroller\n"); ++ } ++ SAScroller = true; ++ sprintf(replayTextTmp,"%s",OutStateData.lcdfullbuffer[LCDREPLAY]); ++ sprintf(workstring,"widget_set VDR SaScroller %d %d %d %d m 3 \"%s\"\n",1,2,wid,2,replayTextTmp); ++ sock_send_string(sock,workstring); ++ } ++ BeginMutualExclusion(); ++ Lcddirty[LCDREPLAY][0]=false; ++ cLcd::Write(1,OutStateData.lcdbuffer[LCDREPLAY][3]); ++ cLcd::Write(3," "); ++ cLcd::Write(4," "); ++ Lcddirty[LCDREPLAY][2]=false; ++ Lcddirty[LCDREPLAY][1]=false; ++ Lcddirty[LCDREPLAY][3]=false; ++ OutStateData.bary = 1; ++ EndMutualExclusion(); ++ ++ PrevState = SA; ++ break; ++//span-end + case Misc: // Display messages = 3 + LineMode=0; + if (PrevState != Misc) for (i=0;i<4;i++) Lcddirty[LCDMISC][i]=true; +@@ -900,7 +1113,6 @@ + } + + // backlight +- + if ( lastBackLight != LcdSetup.BackLight) { + lastBackLight=LcdSetup.BackLight; + if (lastBackLight) +@@ -908,7 +1120,6 @@ + else + sock_send_string(sock,"backlight off\n"); + } +- + // keys + + if ( LcdMaxKeys && (lastAltShift != LcdSetup.AltShift) ) { +@@ -1018,6 +1229,15 @@ + sock_send_string(sock,lcdCommand); + } + } ++ + usleep(WakeUpCycle-(now.tv_usec%WakeUpCycle)); // sync to systemtime for nicer time output + } + } ++ ++void cLcd::ChannelSwitched() ++{ ++ channelSwitched = true; ++} ++ ++#endif //___LCD_C ++ +diff -Naur --exclude='.*' lcdproc-0.0.10.old/lcd.h lcdproc-span/lcd.h +--- lcdproc-0.0.10.old/lcd.h 2006-09-07 15:45:51.000000000 +0200 ++++ lcdproc-span/lcd.h 2006-09-07 11:03:22.000000000 +0200 +@@ -9,8 +9,10 @@ + + #define LCDPORT 13666 + #define LCDHOST "localhost" +-#define LCDMAXSTATES 5 +-#define LCDMAXSTATEBUF 5 ++//span-start ++#define LCDMAXSTATES 6 ++#define LCDMAXSTATEBUF 6 ++//span-end + #define LCDMAXWID 40 + #define LCDMAXCARDS 4 + #define LCDMAXFULLSTRING 1024 +@@ -19,7 +21,7 @@ + public: + cControl *replayDvbApi; + cDevice *primaryDvbApi; +- enum ThreadStates {Menu=0, Title=1, Replay=2, Misc=3, Vol=4}; ++ enum ThreadStates {Menu=0, Title=1, Replay=2, Misc=3, Vol=4, SA=5}; + ThreadStates LastState[LCDMAXSTATEBUF]; + int LastStateP,LineMode; + bool ToggleMode; +@@ -38,6 +40,7 @@ + void Info(); + void SetTitle( const char *string); + void SetMain( unsigned int n, const char *string); ++ void ClearSaBars(); + void SetHelp( unsigned int n, const char *Red, const char *Green, const char *Yellow, const char *Blue); + void SetStatus( const char *string); + void SetWarning( const char *string); +@@ -57,11 +60,17 @@ + void PopThreadState(); + void SetReplayDevice(cControl *DvbApi); + void SetPrimaryDevice(cDevice *DvbApi); ++ void ChannelSwitched(); //to propagate "ChannelSwitched"-Event from cLcdFeed to cLcd + private: + char *SummaryText; ++//span-start ++ char replayTextTmp[1024]; ++ bool SAScroller; ++//span-end + unsigned int SummaryTextL; + unsigned int SummaryCurrent; + bool connected; ++ bool channelSwitched; + struct StateData ThreadStateData; + time_t LastProgress; + cMutex CriticalArea; +@@ -74,7 +83,64 @@ + void Write(int line, const char *string); + void GetTimeDateStat( char *string, unsigned int OutStateData[] ); + void Action(void); +- int closing ; ++ int closing; ++ ++}; ++ // Radiotext ++ struct RadioTextService_v1_0 { ++ int rds_info; ++ int rds_pty; ++ char *rds_text; ++ char *rds_title; ++ char *rds_artist; ++ struct tm *title_start; ++}; ++ ++// LcrData ++struct LcrService_v1_0 { ++ cString destination; ++ cString price; ++ cString pulse; + }; + ++//span-start ++#define SPAN_PROVIDER_CHECK_ID "Span-ProviderCheck-v1.0" ++#define SPAN_CLIENT_CHECK_ID "Span-ClientCheck-v1.0" ++#define SPAN_SET_PCM_DATA_ID "Span-SetPcmData-v1.0" ++#define SPAN_GET_BAR_HEIGHTS_ID "Span-GetBarHeights-v1.0" ++ ++//Span requests to collect possible providers / clients ++struct Span_Provider_Check_1_0 { ++ bool *isActive; ++ bool *isRunning; ++}; ++ ++struct Span_Client_Check_1_0 { ++ bool *isActive; ++ bool *isRunning; ++}; ++ ++// Span data ++struct Span_SetPcmData_1_0 { ++ unsigned int length; // the length of the PCM-data ++ int *data; // the PCM-Data as 32-bit int, however only the lower 16-bit are used ++ // and you have to take care to hand in such data! ++}; ++ ++struct Span_GetBarHeights_v1_0 { ++ unsigned int bands; // number of bands to compute ++ unsigned int *barHeights; // the heights of the bars of the two channels combined ++ unsigned int *barHeightsLeftChannel; // the heights of the bars of the left channel ++ unsigned int *barHeightsRightChannel; // the heights of the bars of the right channel ++ unsigned int *volumeLeftChannel; // the volume of the left channels ++ unsigned int *volumeRightChannel; // the volume of the right channels ++ unsigned int *volumeBothChannels; // the combined volume of the two channels ++ const char *name; // name of the client that wants to get the data ++ // (must be unique for each client!) ++ unsigned int falloff; // bar falloff value ++ unsigned int *barPeaksBothChannels; // bar peaks of the two channels combined ++ unsigned int *barPeaksLeftChannel; // bar peaks of the left channel ++ unsigned int *barPeaksRightChannel; // bar peaks of the right channel ++}; ++//span-end + #endif //__LCD_H +diff -Naur --exclude='.*' lcdproc-0.0.10.old/lcdproc.c lcdproc-span/lcdproc.c +--- lcdproc-0.0.10.old/lcdproc.c 2006-09-07 15:45:51.000000000 +0200 ++++ lcdproc-span/lcdproc.c 2006-09-05 10:03:50.000000000 +0200 +@@ -6,6 +6,9 @@ + * $Id$ + */ + ++#ifndef ___LCDPROC_C ++#define ___LCDPROC_C ++ + #include <getopt.h> + #include <ctype.h> + #include <vdr/plugin.h> +@@ -16,7 +19,11 @@ + #include "lcd.h" + #include "lcdtranstbl.h" + +-static const char *VERSION = "0.0.10"; ++#include <string> ++ ++using namespace std; ++ ++static const char *VERSION = "0.0.10-span-patched"; + static const char *MAINMENUENTRY = NULL; + static const char *DESCRIPTION = "LCDproc output"; + +@@ -51,8 +58,13 @@ + class cLcdFeed : public cStatus { + protected: + virtual void ChannelSwitch(const cDevice *Device, int ChannelNumber); ++#if VDRVERSNUM < 10338 + virtual void Recording(const cDevice *Device, const char *Name); + virtual void Replaying(const cControl *DvbPlayerControl, const char *Name); ++#else ++ virtual void Recording(const cDevice *Device, const char *Name, const char *FileName, bool On); ++ virtual void Replaying(const cControl *DvbPlayerControl, const char *Name, const char *FileName, bool On); ++#endif + virtual void SetVolume(int Volume, bool Absolute); + virtual void OsdClear(void); + virtual void OsdTitle(const char *Title); +@@ -73,34 +85,102 @@ + LCDproc->SetLine(1,2," "); + LCDproc->SetLine(1,3," "); + LCDproc->SetRunning(false,tr("Waiting for EPG info."), NULL); ++ LCDproc->ChannelSwitched(); + switched = true; + } else switched = false; + LCDproc->SetPrimaryDevice( (cDevice *) Device ); + } + } +- ++#if VDRVERSNUM < 10338 + void cLcdFeed::Recording(const cDevice *Device, const char *Name) ++#else ++void cLcdFeed::Recording(const cDevice *Device, const char *Name, const char *FileName, bool On) ++#endif + { + //syslog(LOG_INFO, "lcdproc: cLcdFeed::Recording %d %s", Device->CardIndex(), Name); ++#if VDRVERSNUM < 10338 + if (Name) ++#else ++ if (On) ++#endif + LCDproc->SetCardStat(Device->CardIndex(),2); + else + LCDproc->SetCardStat(Device->CardIndex(),1); + } +- ++#if VDRVERSNUM < 10338 + void cLcdFeed::Replaying(const cControl *DvbPlayerControl, const char *Name) ++#else ++void cLcdFeed::Replaying(const cControl *DvbPlayerControl, const char *Name, const char *FileName, bool On) ++#endif + { + //syslog(LOG_INFO, "lcdproc: cLcdFeed::Replaying %s", Name); ++#if VDRVERSNUM < 10338 + replaymode=(Name)?true:false; ++#else ++ replaymode=On; ++#endif ++ int slen = 0; ++ string name; ++ bool bFound = false; ++ if ( !isempty(FileName) ) ++ slen = strlen(FileName); ++ ++ /////////////////////////////////////////////////////////////////////// ++ //Looking for mp3-Plugin Replay : [LS] (444/666) title ++ // ++ if (slen > 6 && ++ *(FileName+0)=='[' && ++ *(FileName+3)==']' && ++ *(FileName+5)=='(') ++ { ++ unsigned int i; ++ for (i=6; *(FileName + i) != '\0'; ++i) //search for [xx] (xxxx) title ++ { ++ if(*(FileName+i)==' ' && *(FileName+i-1)==')') ++ { ++ bFound = true; ++ break; ++ } ++ } ++ if (bFound) //found MP3-Plugin replaymessage ++ { ++ unsigned int j; ++ for(j=0;*(FileName+i+j) != '\0';++j) //trim name ++ { ++ if(*(FileName+i+j)!=' ') ++ break; ++ } ++ ++ if (strlen(FileName+i+j) > 0) ++ { //if name isn't empty, then copy ++ name = FileName + i + j; ++ } ++ else ++ { //if Name empty, set fallback title ++ name = tr("Unknown title"); ++ } ++ } ++ } ++ ++ ++ + if ( replaymode ) { + LCDproc->SetReplayDevice( (cDvbPlayerControl *) DvbPlayerControl); +- LCDproc->SetMain(2, Name); ++ if ( bFound ) ++ { ++ LCDproc->SetMain(2, name.c_str()); ++ } ++ else ++ { ++ LCDproc->SetMain(2, Name); ++ } + LCDproc->SetThreadState( (cLcd::ThreadStates) 2); // Replaying + } else { + LCDproc->SetReplayDevice(NULL); + LCDproc->SetProgress(NULL); + LCDproc->SetLineC(1,1,tempstringbuffer); + LCDproc->SetThreadState( (cLcd::ThreadStates) 1); // Title ++ LCDproc->ClearSaBars(); + } + menumode=false; + } +@@ -180,8 +260,11 @@ + switching= isdigit(Text[i]) && Text[i+1]=='-' ; + } + +- if (switched || switching) ++ if (switched || switching) ++ { + LCDproc->SetThreadState( (cLcd::ThreadStates) 1); // TITLE ++ LCDproc->ChannelSwitched(); ++ } + else + LCDproc->SetThreadState( (cLcd::ThreadStates) 3); // MISC + +@@ -233,6 +316,7 @@ + virtual cOsdMenu *MainMenuAction(void); + virtual cMenuSetupPage *SetupMenu(void); + virtual bool SetupParse(const char *Name, const char *Value); ++ virtual bool Service(const char *Id, void *Data = NULL); + }; + + cPluginLcd::cPluginLcd(void) +@@ -351,13 +435,15 @@ + Add(new cMenuEditStraItem( tr("SetClientPriority"), &newLcdSetup.SetPrio, 3, PrioBackFunctionText)); + Add(new cMenuEditIntItem( tr("NormalClientPriority"),&newLcdSetup.ClientPrioN,0,255)); + Add(new cMenuEditIntItem( tr("HighClientPriority"), &newLcdSetup.ClientPrioH,0,255)); +- Add(new cMenuEditIntItem( tr("BackLightWait"), &newLcdSetup.BackLightWait,1,99)); ++ Add(new cMenuEditIntItem( tr("BackLightWait"), &newLcdSetup.BackLightWait,0,99)); + Add(new cMenuEditIntItem( tr("PrioWait"), &newLcdSetup.PrioWait,1,99)); + Add(new cMenuEditIntItem( tr("OutputNumber"), &newLcdSetup.OutputNumber)); + for (int i =0 ; i < newLcdSetup.OutputNumber; i++){ + sprintf(str2,"%s %d",tr("OutputNumber"),i); + Add(new cMenuEditStraTrItem( str2, &newLcdSetup.OutputFunction[i],14, OutputFunctionText)); + } ++ ++ Add(new cMenuEditBoolItem( tr("Enable spectrum analyzer"), &newLcdSetup.enableSpectrumAnalyzer)); + } + + void cMenuSetupLcd::Store(void) +@@ -374,13 +460,14 @@ + SetupStore("SetPrio", LcdSetup.SetPrio = newLcdSetup.SetPrio); + SetupStore("ClientPrioN", LcdSetup.ClientPrioN = newLcdSetup.ClientPrioN); + SetupStore("ClientPrioH", LcdSetup.ClientPrioH = newLcdSetup.ClientPrioH); +- SetupStore("BackLightWait", LcdSetup.ClientPrioH = newLcdSetup.BackLightWait); +- SetupStore("PrioWait", LcdSetup.ClientPrioH = newLcdSetup.PrioWait); ++ SetupStore("BackLightWait", LcdSetup.BackLightWait = newLcdSetup.BackLightWait); ++ SetupStore("PrioWait", LcdSetup.PrioWait = newLcdSetup.PrioWait); + SetupStore("OutputNumber",LcdSetup.OutputNumber = newLcdSetup.OutputNumber); + for (int i =0 ; i < newLcdSetup.OutputNumber; i++){ + sprintf(str2,"OutputNumber %d",i); + SetupStore(str2, LcdSetup.OutputFunction[i] = newLcdSetup.OutputFunction[i]); + } ++ SetupStore("enableSpectrumAnalyzer",LcdSetup.enableSpectrumAnalyzer = newLcdSetup.enableSpectrumAnalyzer); + } + + +@@ -417,9 +504,27 @@ + else if (!strcasecmp(Name, "OutputNumber 7")) LcdSetup.OutputFunction[7] = atoi(Value); + else if (!strcasecmp(Name, "OutputNumber 8")) LcdSetup.OutputFunction[8] = atoi(Value); + else if (!strcasecmp(Name, "OutputNumber 9")) LcdSetup.OutputFunction[9] = atoi(Value); ++ else if (!strcasecmp(Name, "enableSpectrumAnalyzer")) LcdSetup.enableSpectrumAnalyzer = atoi(Value); + else + return false; + return true; + } + ++bool cPluginLcd::Service(const char *Id, void *Data) ++{ ++ if (strcmp(Id, SPAN_CLIENT_CHECK_ID) == 0) ++ { ++ if ( LcdSetup.enableSpectrumAnalyzer && (Data != NULL) ) ++ { ++ *((Span_Client_Check_1_0*)Data)->isActive = true; ++ } ++ return true; ++ } ++ ++ return false; ++} ++ + VDRPLUGINCREATOR(cPluginLcd); // Don't touch this! ++ ++#endif //___LCDPROC_C ++ +diff -Naur --exclude='.*' lcdproc-0.0.10.old/setup.c lcdproc-span/setup.c +--- lcdproc-0.0.10.old/setup.c 2006-09-07 15:45:51.000000000 +0200 ++++ lcdproc-span/setup.c 2006-09-04 16:33:48.000000000 +0200 +@@ -20,5 +20,6 @@ + OutputNumber = 0; + for (int i = 0; i < LCDMAXOUTPUTS; i++) + OutputFunction[i] = 0; ++ enableSpectrumAnalyzer = 1; + } + +diff -Naur --exclude='.*' lcdproc-0.0.10.old/setup.h lcdproc-span/setup.h +--- lcdproc-0.0.10.old/setup.h 2006-09-07 15:45:51.000000000 +0200 ++++ lcdproc-span/setup.h 2006-09-04 16:33:48.000000000 +0200 +@@ -20,6 +20,7 @@ + int PrioWait; + int OutputNumber; + int OutputFunction[LCDMAXOUTPUTS]; ++ int enableSpectrumAnalyzer; + public: + cLcdSetup(void); + }; diff --git a/plugins/lcdproc/old/lcdproc-0.0.10-umlaute.diff b/plugins/lcdproc/old/lcdproc-0.0.10-umlaute.diff new file mode 100644 index 0000000..e37155e --- /dev/null +++ b/plugins/lcdproc/old/lcdproc-0.0.10-umlaute.diff @@ -0,0 +1,123 @@ +diff -ruN lcdproc-0.0.10/lcdtranstbl.h lcdproc-0.0.10-patched/lcdtranstbl.h +--- lcdproc-0.0.10/lcdtranstbl.h 2004-01-17 16:19:51.000000000 +0100 ++++ lcdproc-0.0.10-patched/lcdtranstbl.h 2007-03-03 21:55:09.000000000 +0100 +@@ -606,7 +606,7 @@ + /* 61 ( '=' ) */ (unsigned char) 61, + /* 62 ( '>' ) */ (unsigned char) 62, + /* 63 ( '?' ) */ (unsigned char) 63, +-/* 64 ( '@' ) */ (unsigned char) 160, ++/* 64 ( '@' ) */ (unsigned char) 160, + /* 65 ( 'A' ) */ (unsigned char) 65, + /* 66 ( 'B' ) */ (unsigned char) 66, + /* 67 ( 'C' ) */ (unsigned char) 67, +@@ -633,11 +633,11 @@ + /* 88 ( 'X' ) */ (unsigned char) 88, + /* 89 ( 'Y' ) */ (unsigned char) 89, + /* 90 ( 'Z' ) */ (unsigned char) 90, +-/* 91 ( '[' ) */ (unsigned char) 250, +-/* 92 ( '\' ) */ (unsigned char) 251, +-/* 93 ( ']' ) */ (unsigned char) 252, +-/* 94 ( '^' ) */ (unsigned char) 222, +-/* 95 ( '_' ) */ (unsigned char) 196, ++/* 91 ( '[' ) */ (unsigned char) 250, ++/* 92 ( '\' ) */ (unsigned char) 251, ++/* 93 ( ']' ) */ (unsigned char) 252, ++/* 94 ( '^' ) */ (unsigned char) 222, ++/* 95 ( '_' ) */ (unsigned char) 196, + /* 96 ( '`' ) */ (unsigned char) 39, + /* 97 ( 'a' ) */ (unsigned char) 97, + /* 98 ( 'b' ) */ (unsigned char) 98, +@@ -703,13 +703,13 @@ + /* 158 ( '~^') */ (unsigned char) 158, + /* 159 ( '~_') */ (unsigned char) 159, + /* 160 ( '| ') */ (unsigned char) 160, +-/* 161 ( '¡' ) */ (unsigned char) 64, ++/* 161 ( '¡' ) */ (unsigned char) 64, + /* 162 ( '¢' ) */ (unsigned char) 177, + /* 163 ( '£' ) */ (unsigned char) 161, +-/* 164 ( '¤' ) */ (unsigned char) 36, ++/* 164 ( '¤' ) */ (unsigned char) 36, + /* 165 ( '¥' ) */ (unsigned char) 163, + /* 166 ( '¦' ) */ (unsigned char) 254, +-/* 167 ( '§' ) */ (unsigned char) 95, ++/* 167 ( '§' ) */ (unsigned char) 95, + /* 168 ( '¨' ) */ (unsigned char) 221, + /* 169 ( '©' ) */ (unsigned char) 171, + /* 170 ( 'ª' ) */ (unsigned char) 170, +@@ -722,7 +722,7 @@ + /* 177 ( '±' ) */ (unsigned char) 140, + /* 178 ( '²' ) */ (unsigned char) 130, + /* 179 ( '³' ) */ (unsigned char) 131, +-/* 180 ( '´' ) */ (unsigned char) 39, ++/* 180 ( '´' ) */ (unsigned char) 39, + /* 181 ( 'µ' ) */ (unsigned char) 143, + /* 182 ( '¶' ) */ (unsigned char) 182, + /* 183 ( '·' ) */ (unsigned char) 183, +@@ -733,19 +733,19 @@ + /* 188 ( '¼' ) */ (unsigned char) 139, + /* 189 ( '½' ) */ (unsigned char) 138, + /* 190 ( '¾' ) */ (unsigned char) 190, +-/* 191 ( '¿' ) */ (unsigned char) 96, +-/* 192 ( 'À' ) */ (unsigned char) 65, ++/* 191 ( '¿' ) */ (unsigned char) 96, ++/* 192 ( 'À' ) */ (unsigned char) 65, + /* 193 ( 'Á' ) */ (unsigned char) 226, +-/* 194 ( 'Â' ) */ (unsigned char) 65, +-/* 195 ( 'Ã' ) */ (unsigned char) 65, +-/* 196 ( 'Ä' ) */ (unsigned char) 91, ++/* 194 ( 'Â' ) */ (unsigned char) 65, ++/* 195 ( 'Ã' ) */ (unsigned char) 65, ++/* 196 ( 'Ä' ) */ (unsigned char) 65, + /* 197 ( 'Å' ) */ (unsigned char) 174, + /* 198 ( 'Æ' ) */ (unsigned char) 188, + /* 199 ( 'Ç' ) */ (unsigned char) 169, + /* 200 ( 'È' ) */ (unsigned char) 197, + /* 201 ( 'É' ) */ (unsigned char) 191, + /* 202 ( 'Ê' ) */ (unsigned char) 198, +-/* 203 ( 'Ë' ) */ (unsigned char) 69, ++/* 203 ( 'Ë' ) */ (unsigned char) 69, + /* 204 ( 'Ì' ) */ (unsigned char) 73, + /* 205 ( 'Í' ) */ (unsigned char) 227, + /* 206 ( 'Î' ) */ (unsigned char) 73, +@@ -756,13 +756,13 @@ + /* 211 ( 'Ó' ) */ (unsigned char) 228, + /* 212 ( 'Ô' ) */ (unsigned char) 236, + /* 213 ( 'Õ' ) */ (unsigned char) 79, +-/* 214 ( 'Ö' ) */ (unsigned char) 92, ++/* 214 ( 'Ö' ) */ (unsigned char) 79, + /* 215 ( '×' ) */ (unsigned char) 120, + /* 216 ( 'Ø' ) */ (unsigned char) 171, + /* 217 ( 'Ù' ) */ (unsigned char) 85, + /* 218 ( 'Ú' ) */ (unsigned char) 229, + /* 219 ( 'Û' ) */ (unsigned char) 85, +-/* 220 ( 'Ü' ) */ (unsigned char) 94, ++/* 220 ( 'Ü' ) */ (unsigned char) 85, + /* 221 ( 'Ý' ) */ (unsigned char) 250, + /* 222 ( 'Þ' ) */ (unsigned char) 178, + /* 223 ( 'ß' ) */ (unsigned char) 190, +@@ -770,7 +770,7 @@ + /* 225 ( 'á' ) */ (unsigned char) 231, + /* 226 ( 'â' ) */ (unsigned char) 97, + /* 227 ( 'ã' ) */ (unsigned char) 97, +-/* 228 ( 'ä' ) */ (unsigned char) 123, ++/* 228 ( 'ä' ) */ (unsigned char) 97, + /* 229 ( 'å' ) */ (unsigned char) 175, + /* 230 ( 'æ' ) */ (unsigned char) 189, + /* 231 ( 'ç' ) */ (unsigned char) 200, +@@ -788,13 +788,13 @@ + /* 243 ( 'ó' ) */ (unsigned char) 228, + /* 244 ( 'ô' ) */ (unsigned char) 237, + /* 245 ( 'õ' ) */ (unsigned char) 237, +-/* 246 ( 'ö' ) */ (unsigned char) 124, +-/* 247 ( '÷' ) */ (unsigned char) 47, ++/* 246 ( 'ö' ) */ (unsigned char) 111, ++/* 247 ( '÷' ) */ (unsigned char) 47, + /* 248 ( 'ø' ) */ (unsigned char) 172, + /* 249 ( 'ù' ) */ (unsigned char) 166, + /* 250 ( 'ú' ) */ (unsigned char) 234, + /* 251 ( 'û' ) */ (unsigned char) 239, +-/* 252 ( 'ü' ) */ (unsigned char) 126, ++/* 252 ( 'ü' ) */ (unsigned char) 117, + /* 253 ( 'ý' ) */ (unsigned char) 235, + /* 254 ( 'þ' ) */ (unsigned char) 178, + /* 255 ( 'ÿ' ) */ (unsigned char) 183}, diff --git a/plugins/lcdproc/plugin.sh b/plugins/lcdproc/plugin.sh new file mode 100644 index 0000000..3a3bad1 --- /dev/null +++ b/plugins/lcdproc/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 19.02.2009 +# +# vdr-lcdproc + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.zulu-entertainment.de/files/vdr-lcdproc/vdr-lcdproc-0.0.10-jw6.tgz" +VERSION="lcdproc-0.0.10-jw6" +LINK="lcdproc" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + +## plugin specials - start ## + +## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0
\ No newline at end of file diff --git a/plugins/lcr/plugin.sh b/plugins/lcr/plugin.sh new file mode 100644 index 0000000..39295fd --- /dev/null +++ b/plugins/lcr/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 05.05.2008 +# +# vdr-lcr + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://vdr-wiki.de/vdr/vdr-lcr/vdr-lcr-0.0.8.tgz" +VERSION="lcr-0.0.8" +LINK="lcr" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/live/plugin.sh b/plugins/live/plugin.sh new file mode 100644 index 0000000..814930b --- /dev/null +++ b/plugins/live/plugin.sh @@ -0,0 +1,55 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 01.05.2007 +# +# vdr-live + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://live.vdr-developer.org/downloads/vdr-live-0.2.0.tar.gz" +VERSION="live-0.2.0" +LINK="live" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + rm -rf $VDRCONFDIR/plugins/live + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + patch_p1_plugin + + ## plugin specials - start ## + cp -a $SOURCEDIR/VDR/PLUGINS/src/live/live $VDRCONFDIR/plugins + chown -R $VDRUSER:$VDRGROUP $VDRCONFDIR/plugins/live + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/loadepg/plugin.sh b/plugins/loadepg/plugin.sh new file mode 100644 index 0000000..53eca08 --- /dev/null +++ b/plugins/loadepg/plugin.sh @@ -0,0 +1,55 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 05.05.2008 +# +# vdr-loadepg + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://vdr-wiki.de/vdr/vdr-loadepg/vdr-loadepg-0.1.12.tgz" +VERSION="loadepg-0.1.12" +LINK="loadepg" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + rm -rf $VDRCONFDIR/plugins/loadepg + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + [ ! -d $VDRCONFDIR/plugins/loadepg ] && mkdir -p $VDRCONFDIR/plugins/loadepg + cp -f $SOURCEDIR/VDR/PLUGINS/src/$LINK/loadepg.conf $VDRCONFDIR/plugins/loadepg + cp -f $SOURCEDIR/VDR/PLUGINS/src/$LINK/loadepg.equiv $VDRCONFDIR/plugins/loadepg + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/mailbox/patches/mailbox-0.4.0-debian.diff b/plugins/mailbox/patches/mailbox-0.4.0-debian.diff new file mode 100644 index 0000000..e9c672b --- /dev/null +++ b/plugins/mailbox/patches/mailbox-0.4.0-debian.diff @@ -0,0 +1,27 @@ +--- mailbox-0.4.0/Makefile.orig ++++ mailbox-0.4.0/Makefile +@@ -43,18 +43,18 @@ + # Gentoo + # ------ + # emerge c-client +- +-IMAPINCDIR ?= /usr/include/imap +-IMAPLFLAGS ?= -lc-client -lssl -lpam ++# ++# IMAPINCDIR ?= /usr/include/imap ++# IMAPLFLAGS ?= -lc-client -lssl -lpam + + # + # Debian 3.0 + # ---------- + # install the packages 'libc-client2001-dev' + # and set the following variables +-# +-# IMAPINCDIR ?= /usr/include/c-client +-# IMAPLFLAGS ?= -lc-client ++ ++IMAPINCDIR ?= /usr/include/c-client ++IMAPLFLAGS ?= -lc-client + # + # or install 'libc-client-ssh2001-dev' + # and set the following variables diff --git a/plugins/mailbox/plugin.sh b/plugins/mailbox/plugin.sh new file mode 100644 index 0000000..4278cfb --- /dev/null +++ b/plugins/mailbox/plugin.sh @@ -0,0 +1,57 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 23.10.2007 +# +# vdr-mailbox + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://sites.inka.de/~seca/vdr/download/vdr-mailbox-0.5.0.tgz" +VERSION="mailbox-0.5.0" +LINK="mailbox" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + rm -f $VDRCONFDIR/plugins/mailbox + rm -f $VDRSCRIPTDIR/mailcmd.sh + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + apt_install libc-client-dev + mkdir -p $VDRCONFDIR/plugins/mailbox + chown -R $VDRUSER:$VDRGROUP $VDRCONFDIR/plugins/mailbox + cp -f $SOURCEDIR/VDR/PLUGINS/src/$LINK/mailcmd.sh $VDRSCRIPTDIR + chmod 0744 $VDRSCRIPTDIR/mailcmd.sh + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/manual/plugin.sh b/plugins/manual/plugin.sh new file mode 100644 index 0000000..9224747 --- /dev/null +++ b/plugins/manual/plugin.sh @@ -0,0 +1,58 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 05.05.2008 +# +# vdr-manual + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://vdr-wiki.de/vdr/vdr-manual/vdr-manual-0.0.3.tgz" +VERSION="manual-0.0.3" +LINK="manual" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + if [ -d $DIR/manual ]; then + cp -fR $DIR/manual $VDRCONFDIR/plugins + else + cp -fR $SOURCEDIR/VDR/PLUGINS/src/$LINK/manual $VDRCONFDIR/plugins + fi + # rechte setzen + chown -R $VDRUSER.$VDRGROUP $VDRCONFDIR/plugins/manual + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/mediamvp/config.mak b/plugins/mediamvp/config.mak new file mode 100644 index 0000000..74ad722 --- /dev/null +++ b/plugins/mediamvp/config.mak @@ -0,0 +1,23 @@ +# Configuration options for server and plugin + + +# Uncomment these if you have the appropriate libraries +HAVE_LIBJPEG = 1 +HAVE_LIBXML2 = 1 +#HAVE_LIBID3TAG = 1 +HAVE_MAGICK = 1 +# Set this to the major version of ImageMagick that you have +MAGICK_VERSION = 6 + +# VDR Plugin Only: +# Uncomment this if you only have a single device in your vdr machine +#SINGLE_DEVICE = 1 +# If you're having problems with CAMs and switching channels uncomment +# this line +#CAM_CHANGE_HACK=1 + + +# Any additional include/library paths should go here +EXTRA_INCLUDES= +EXTRA_LIBS= + diff --git a/plugins/mediamvp/httpradio.conf b/plugins/mediamvp/httpradio.conf new file mode 100644 index 0000000..c70eac6 --- /dev/null +++ b/plugins/mediamvp/httpradio.conf @@ -0,0 +1,25 @@ +BBC Radio 1;http://florence:3000/ES/1070 +1Xtra BBC;http://florence:3000/ES/1071 +BBC Radio 2;http://florence:3000/ES/1072 +BBC Radio 3;http://florence:3000/ES/1073 +BBC Radio 4;http://florence:3000/ES/1074 +BBC Radio 5;http://florence:3000/ES/1075 +BBC R5 Live;http://florence:3000/ES/1076 +BBC 6;http://florence:3000/ES/1077 +BBC 7;http://florence:3000/ES/1078 +BBC World Service;http://florence:3000/ES/1079 +BBC Asian Network;http://florence:3000/ES/1080 +The Hits Radio;http://florence:3000/ES/1081 +Smash Hits!;http://florence:3000/ES/1082 +KISS;http://florence:3000/ES/1083 +Heat;http://florence:3000/ES/1084 +Magic;http://florence:3000/ES/1085 +Q;http://florence:3000/ES/1086 +oneword;http://florence:3000/ES/1087 +jazz fm;http://florence:3000/ES/1088 +Mojo;http://florence:3000/ES/1091 +Kerrang!;http://florence:3000/ES/1092 +Bigup;http://66.28.68.70:8005/ +Virgin;http://www.smgradio.com/core/audio/mp3/live.pls?service=vrbb +Virgin Classic;http://www.smgradio.com/core/audio/mp3/live.pls?service=vc +X97;http://sc1.liquidviewer.com:9010/ diff --git a/plugins/mediamvp/mvploader b/plugins/mediamvp/mvploader Binary files differnew file mode 100755 index 0000000..9accdd7 --- /dev/null +++ b/plugins/mediamvp/mvploader diff --git a/plugins/mediamvp/mvploader.txt b/plugins/mediamvp/mvploader.txt new file mode 100644 index 0000000..eaf8cc8 --- /dev/null +++ b/plugins/mediamvp/mvploader.txt @@ -0,0 +1 @@ +http://bluecherry.net/~other/mediamvp/files/mvploader-1.0.c.gz diff --git a/plugins/mediamvp/mvprss.conf b/plugins/mediamvp/mvprss.conf new file mode 100644 index 0000000..75c1de5 --- /dev/null +++ b/plugins/mediamvp/mvprss.conf @@ -0,0 +1,4 @@ +Spiegel - Online;http://www.spiegel.de/schlagzeilen/rss/0,5291,,00.xml +Heise - News;http://www.heise.de/tp/news.rdf +BBC Headlines;http://news.bbc.co.uk/rss/newsonline_uk_edition/front_page/rss091.xml +BBC Showbiz;http://news.bbc.co.uk/rss/newsonline_uk_edition/entertainment/rss091.xml diff --git a/plugins/mediamvp/patches/mediamvp-0.1.6-libmvpimage-fix.diff b/plugins/mediamvp/patches/mediamvp-0.1.6-libmvpimage-fix.diff new file mode 100644 index 0000000..3ff3e29 --- /dev/null +++ b/plugins/mediamvp/patches/mediamvp-0.1.6-libmvpimage-fix.diff @@ -0,0 +1,46 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run + +## libmvpimage-fix patch - by Thomas Günther <tom@toms-cafe.de> +## http://toms-cafe.de/vdr/download/mediamvp-0.1.6-libmvpimage-fix.diff +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Fixes compiling with HAVE_MAGICK and without HAVE_LIBJPEG. + +@DPATCH@ +--- mediamvp-0.1.6/Makefile ++++ mediamvp-0.1.6/Makefile +@@ -75,7 +75,8 @@ + endif + ifdef HAVE_LIBJPEG + DEFINES += -DHAVE_LIBJPEG +-LIBS += -Limage/ -lmvpimage -ljpeg ++LIBS += -ljpeg ++WITH_MVPIMAGE = 1 + endif + ifdef HAVE_LIBID3TAG + DEFINES += -DHAVE_LIBID3TAG +@@ -89,11 +90,12 @@ + endif + ifdef HAVE_MAGICK + DEFINES += -DHAVE_MAGICK +-ifndef HAVE_LIBJPEG +-LIBS += -Limage/ -lmvpimage +-endif ++WITH_MVPIMAGE = 1 + LIBS += `Magick-config --ldflags --libs` + endif ++ifdef WITH_MVPIMAGE ++LIBS += -Limage/ -lmvpimage ++endif + + + ### Implicit rules: +@@ -117,7 +119,7 @@ + + all: libvdr-$(PLUGIN).so libvdr-$(PLUGIN2).so + +-ifdef HAVE_LIBJPEG ++ifdef WITH_MVPIMAGE + libvdr-$(PLUGIN).so: $(OBJS) mvp/libmvp.a render/libmvprender.a image/libmvpimage.a + else + libvdr-$(PLUGIN).so: $(OBJS) mvp/libmvp.a render/libmvprender.a diff --git a/plugins/mediamvp/plugin.sh b/plugins/mediamvp/plugin.sh new file mode 100644 index 0000000..66b905c --- /dev/null +++ b/plugins/mediamvp/plugin.sh @@ -0,0 +1,79 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 21.12.2006 +# +# vdr-mediamvp + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://www.rst38.org.uk/mediamvp/vdr-mediamvp-0.1.6.tgz" +VERSION="mediamvp-0.1.6" +LINK="mediamvp" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + rm -f $VDRLIBDIR/libvdr-mvp* + rm -f $VDRCONFDIR/plugins/httpradio.conf + rm -f $VDRCONFDIR/plugins/mvprss.conf + rm -f $VDRCONFDIR/plugins/picturesources.conf + rm -f /etc/init.d/runmvp + rm -f $VDRBINDIR/mvploader + rm -rf $VDRCONFDIR/plugins/mediamvp + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + cp -f $DIR/config.mak $SOURCEDIR/VDR/PLUGINS/src/$LINK + + cp -f $DIR/httpradio.conf $VDRCONFDIR/plugins + cp -f $DIR/mvprss.conf $VDRCONFDIR/plugins + # picturesources.conf + if [ -f $DIR/picturesources.conf ]; then + cp -f $DIR/picturesources.conf $VDRCONFDIR/plugins + else + { + echo "$PICTUREDIR;Fotos;0;*.jpg/*.JPG" + echo "" + } > $VDRCONFDIR/plugins/picturesources.conf + fi + + cp -f $DIR/runmvp /etc/init.d + chmod 0755 /etc/init.d/runmvp + #update-rc.d runmvp defaults 99 + + cp -f $DIR/mvploader $VDRBINDIR + + mkdir -p $VDRCONFDIR/plugins/mediamvp + [ -f $DIR/dongle.bin ] && cp -f $DIR/dongle.bin $VDRCONFDIR/plugins/mediamvp + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/mediamvp/runmvp b/plugins/mediamvp/runmvp new file mode 100644 index 0000000..c00200f --- /dev/null +++ b/plugins/mediamvp/runmvp @@ -0,0 +1,44 @@ +#!/bin/sh +# +# Start or stop the mvploader +# + +. /etc/default/vdr + +PATH=/bin:/usr/bin:/sbin:/usr/sbin +MVPLOADER="$VDRBINDIR/mvploader" +FIRMWARE="$VDRCONFDIR/plugins/mediamvp/dongle.bin" + +test -s $MVPLOADER || exit 0 + +[ -f /etc/default/rcS ] && . /etc/default/rcS + + +case "$1" in + start) + echo -n "Starting mvp loader daemon: " + start-stop-daemon --start --quiet -b --exec $MVPLOADER -- \ + $FIRMWARE + if [ $? = 0 ]; then + echo "mvploader." + else + echo "(failed.)" + fi + ;; + stop) + echo -n "Stopping mvp loader daemon: " + start-stop-daemon --stop --retry=1 --quiet --oknodo \ + --exec $MVPLOADER + echo "mvploader." + ;; + restart|force-reload) + $0 stop && $0 start + exit + ;; + *) + echo "Usage: /etc/init.d/mvploader {start|stop|restart|force-reload}" + exit 1 + ;; +esac + +exit 0 diff --git a/plugins/menuorg/menuorg.xml b/plugins/menuorg/menuorg.xml new file mode 100644 index 0000000..f83406d --- /dev/null +++ b/plugins/menuorg/menuorg.xml @@ -0,0 +1,116 @@ +<?xml version="1.0" encoding="UTF-8"?> +<menus> + <system name="Schedule" /> + <system name="Channels" /> + <system name="Timers" /> + <menu name="Recorder"> + <system name="Recordings" /> + <plugin name="extrecmenu" /> + <plugin name="burn" /> + <plugin name="recstatus" /> + <plugin name="undelete" /> + <plugin name="vdrrip" /> + </menu> + <menu name="Multimedia"> + <plugin name="mp3" /> + <plugin name="mp3ng" /> + <plugin name="music" /> + <plugin name="audiorecorder" /> + <plugin name="mplayer" /> + <plugin name="playlist" /> + <plugin name="radio" /> + <plugin name="cdda" /> + <plugin name="dvdselect" /> + <plugin name="dvdswitch" /> + <plugin name="dvd" /> + <plugin name="vdrcd" /> + <plugin name="vcd" /> + </menu> + <menu name="Info&EPG"> + <plugin name="epgsearch" /> + <plugin name="nordlichtsepg" /> + <plugin name="pilot" /> + <plugin name="pilotskin" /> + <plugin name="newsticker" /> + <plugin name="tvtv" /> + <plugin name="tvonscreen" /> + <plugin name="fepg" /> + <plugin name="yaepg" /> + <plugin name="osdpip" /> + <plugin name="timeline" /> + <plugin name="osdteletext" /> + <plugin name="prefermenu" /> + <plugin name="director" /> + <plugin name="arghdirector" /> + <plugin name="sport" /> + <plugin name="weatherng" /> + <plugin name="autotimeredit" /> + <plugin name="epgsearchonly" /> + <plugin name="quickepgsearch" /> + <plugin name="conflictcheckonly" /> + </menu> + <menu name="Bilder"> + <plugin name="image" /> + <plugin name="osdimage" /> + <plugin name="screenshot" /> + <plugin name="digicam" /> + </menu> + <menu name="Spiele"> + <plugin name="games" /> + <plugin name="solitaire" /> + <plugin name="sudoku" /> + <plugin name="freecell" /> + </menu> + <menu name="Sonstiges"> + <plugin name="pin" /> + <plugin name="clock" /> + <plugin name="vbox" /> + <plugin name="pim" /> + <plugin name="taste" /> + <plugin name="sleeptimer" /> + <plugin name="vdrc" /> + <plugin name="text2skin" /> + <plugin name="graphlcd" /> + <plugin name="graphtft" /> + <plugin name="sysinfo" /> + <plugin name="filebrowser" /> + <plugin name="console" /> + <plugin name="ttxtsubs" /> + </menu> + <menu name="System"> + <system name="Setup" /> + <command name="Runvdr Setup" execute='echo "sudo /usr/lib/vdr/scripts/vdrsetup"|at now' /> + <separator title=" " /> + <menu name="Server"> + <command name="Server wecken" execute="sudo /usr/lib/vdr/scripts/vdr2root wakeonlan" confirm="yes" /> + <command name="Server einbinden" execute="sudo /usr/lib/vdr/scripts/vdr2root mount" confirm="yes" /> + <command name="Server loesen" execute="sudo /usr/lib/vdr/scripts/vdr2root umount" confirm="yes" /> + </menu> + <menu name="Daten und Logs"> + <command name="System-Log anzeigen" execute="sudo /usr/lib/vdr/scripts/vdr2root show-log" /> + <command name="System-Log saeubern" execute="sudo /usr/lib/vdr/scripts/vdr2root clean-log" confirm="yes" /> + <command name="EPG Daten loeschen" execute='echo "svdrpsend.pl CLRE"|at now' confirm="yes" /> + <command name="Aufnahmen Liste aktualisieren" execute='sudo /usr/lib/vdr/scripts/vdr2root video-update; sleep 1;echo "svdrpsend.pl HITK Recordings"|at now' /> + <command name="Zeige Belegung der Laufwerke" execute='df -h|awk '/%/ { printf("%4.4s : %5.5s : %s\n",$5,$4,$6) }'' /> + <plugin name="filebrowser" /> + <plugin name="undelete" /> + </menu> + <menu name="Weitere Befehle"> + <command name="VDR neustarten" execute="sudo /usr/lib/vdr/scripts/vdr2root vdr-restart" confirm="yes" /> + <command name="VDR beenden" execute="sudo /usr/lib/vdr/scripts/vdr2root vdr-stop" confirm="yes" /> + <command name="System neustarten" execute="sudo /usr/lib/vdr/scripts/vdr2root reboot" confirm="yes" /> + <command name="System beenden" execute='echo "svdrpsend.pl HITK Power"|at now' confirm="yes" /> + </menu> + <plugin name="reelchannelscan" title="Kanalsuche"/> + <plugin name="chanorg" /> + <plugin name="femon" /> + <plugin name="rotor" /> + <separator title=" " /> + <plugin name="dxr3" /> + <plugin name="softdevice" /> + <plugin name="streamdev-server" /> + <plugin name="xine" /> + <plugin name="xineliboutput" /> + </menu> +</menus> + diff --git a/plugins/menuorg/plugin.sh b/plugins/menuorg/plugin.sh new file mode 100644 index 0000000..59931e1 --- /dev/null +++ b/plugins/menuorg/plugin.sh @@ -0,0 +1,55 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 24.01.2009 +# +# vdr-menuorg + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.e-tobi.net/blog/files/vdr-menuorg-0.4.4.tar.gz" +VERSION="menuorg-0.4.4" +LINK="menuorg" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + if [ -f $DIR/menuorg.xml ]; then + cp -f $DIR/menuorg.xml $VDRCONFDIR/plugins + chown $VDRUSER:$VDRGROUP $VDRCONFDIR/plugins/menuorg.xml + fi + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/mlcd/patches/mlcd-0.0.4a.diff b/plugins/mlcd/patches/mlcd-0.0.4a.diff new file mode 100644 index 0000000..c1c5ff7 --- /dev/null +++ b/plugins/mlcd/patches/mlcd-0.0.4a.diff @@ -0,0 +1,132 @@ +diff -Nur mlcd-0.0.4a/Makefile mlcd-0.0.4a-n/Makefile +--- mlcd-0.0.4a/Makefile 2004-04-25 12:49:19.000000000 +0200 ++++ mlcd-0.0.4a-n/Makefile 2006-11-21 05:10:22.000000000 +0100 +@@ -21,9 +21,13 @@ + LIBDIR = ../../lib + TMPDIR = /tmp + ++### Allow user defined options to overwrite defaults: ++ ++-include $(VDRDIR)/Make.config ++ + ### The version number of VDR (taken from VDR's "config.h"): + +-VDRVERSION = $(shell grep 'define VDRVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g') ++APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g') + + ### The name of the distribution archive: + +@@ -43,7 +47,7 @@ + ### The C++ compiler and options: + + CXX = g++ +-CXXFLAGS = -O2 -Wall -Woverloaded-virtual ++CXXFLAGS = -fPIC -O2 -Wall -Woverloaded-virtual + + ### Implicit rules: + +@@ -65,7 +69,7 @@ + + libvdr-$(PLUGIN).so: $(OBJS) + $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@ +- @cp $@ $(LIBDIR)/$@.$(VDRVERSION) ++ @cp $@ $(LIBDIR)/$@.$(APIVERSION) + + dist: clean + @-rm -rf $(TMPDIR)/$(ARCHIVE) +diff -Nur mlcd-0.0.4a/mlcd.c mlcd-0.0.4a-n/mlcd.c +--- mlcd-0.0.4a/mlcd.c 2005-01-09 16:08:55.000000000 +0100 ++++ mlcd-0.0.4a-n/mlcd.c 2006-11-21 04:57:40.000000000 +0100 +@@ -22,8 +22,13 @@ + virtual void ChannelSwitch(const cDevice *Device, int ChannelNumber); + virtual void SetVolume(int Volume, bool Absolute); + // virtual void OsdProgramme(time_t PresentTime, const char *PresentTitle, const char *PresentSubtitle, time_t FollowingTime, const char *FollowingTitle, const char *FollowingSubtitle); ++#if VDRVERSNUM >= 10338 ++ virtual void Recording(const cDevice *Device, const char *Name, const char *FileName, bool On); ++ virtual void Replaying(const cControl *Control, const char *Name, const char *FileName, bool On); ++#else + virtual void Recording(const cDevice *Device, const char *Name); + virtual void Replaying(const cControl *Control, const char *Name); ++#endif + }; + + void clcdStatus::ChannelSwitch(const cDevice *Device, int ChannelNumber) +@@ -58,6 +63,17 @@ + } + */ + ++#if VDRVERSNUM >= 10338 ++void clcdStatus::Recording(const cDevice *Device, const char *Name, const char *FileName, bool On) ++{ ++ LCD->SetRecordingState(Device->CardIndex(), On ? Name ? Name : "" : NULL); ++} ++ ++void clcdStatus::Replaying(const cControl *Control, const char *Name, const char *FileName, bool On) ++{ ++ LCD->ReplayControl((cControl *) Control, On ? Name ? Name : "" : NULL); ++} ++#else + void clcdStatus::Recording(const cDevice *Device, const char *Name) + { + LCD->SetRecordingState(Device->CardIndex(), Name); +@@ -68,6 +84,7 @@ + + LCD->ReplayControl((cControl *) Control,Name); + } ++#endif + + class cPluginMlcd : public cPlugin { + private: +diff -Nur mlcd-0.0.4a/multilcd.c mlcd-0.0.4a-n/multilcd.c +--- mlcd-0.0.4a/multilcd.c 2005-01-09 16:07:51.000000000 +0100 ++++ mlcd-0.0.4a-n/multilcd.c 2006-11-21 04:57:40.000000000 +0100 +@@ -10,6 +10,7 @@ + #include "multilcd.h" + #include <vdr/tools.h> + #include <vdr/config.h> ++#include <vdr/plugin.h> + // #define M_DEBUG + + +@@ -154,16 +155,18 @@ + //Initialisierung des Arrays + int i; + int j; ++ char* path; ++ asprintf(&path, "%s/%s", cPlugin::ConfigDirectory("mlcd"), FONTFILE); ++ + #ifdef M_DEBUG +- dsyslog(LOG_INFO,"Reading Font description from %s",FONTFILE); ++ dsyslog(LOG_INFO,"Reading Font description from %s", path); + #endif + for (i=0;i<256;i++) + { + for(j=0;j<6;j++) font[i][j] = 0; + } + //Oeffnen der Fontdatei +- const char *name; +- FILE *f=fopen(name=FONTFILE,"r"); ++ FILE *f=fopen(path, "r"); + if(f){ + int n, i; + char buffer[128]; +@@ -181,6 +184,7 @@ + fclose(f); + } + ++ free(path); + return 0; + } + +diff -Nur mlcd-0.0.4a/multilcd.h mlcd-0.0.4a-n/multilcd.h +--- mlcd-0.0.4a/multilcd.h 2004-05-22 10:02:17.000000000 +0200 ++++ mlcd-0.0.4a-n/multilcd.h 2006-11-21 04:57:40.000000000 +0100 +@@ -13,7 +13,7 @@ + #define TEXT 0xb3 + #define GRAPH 0xb4 + +-#define FONTFILE "/etc/char.dat" ++#define FONTFILE "char.dat" + + class mLCD : public cThread { + private: diff --git a/plugins/mlcd/plugin.sh b/plugins/mlcd/plugin.sh new file mode 100644 index 0000000..6af6021 --- /dev/null +++ b/plugins/mlcd/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 05.05.2008 +# +# vdr-mlcd + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://vdr-wiki.de/vdr/vdr-mlcd/vdr-mlcd-0.0.4a.tgz" +VERSION="mlcd-0.0.4a" +LINK="mlcd" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/mlist/plugin.sh b/plugins/mlist/plugin.sh new file mode 100644 index 0000000..378a96e --- /dev/null +++ b/plugins/mlist/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 20.06.2008 +# +# vdr-mlist + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.zulu-entertainment.de/files/vdr-mlist/vdr-mlist-0.0.5.tgz" +VERSION="mlist-0.0.5" +LINK="mlist" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/mousemate/plugin.sh b/plugins/mousemate/plugin.sh new file mode 100644 index 0000000..e8a1897 --- /dev/null +++ b/plugins/mousemate/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 01.05.2008 +# +# vdr-mousemate + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.zulu-entertainment.de/files/vdr-mousemate/vdr-mousemate-0.1.6.tgz" +VERSION="mousemate-0.1.6" +LINK="mousemate" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/mp3/examples/README b/plugins/mp3/examples/README new file mode 100644 index 0000000..be04e84 --- /dev/null +++ b/plugins/mp3/examples/README @@ -0,0 +1,211 @@ + +This is a dual-plugin for VDR. +The "MP3-Plugin" allows playback of MP3 and other audio files. +The "MPlayer-Plugin" is used to call MPlayer for playback of video +files (e.g. DivX) + +Written by: Stefan Hülswitt <s.huelswitt@gmx.de> +Project's homepage: http://www.muempf.de/ +Latest version available at: http://www.muempf.de/down/ + +See the file COPYING for license information. + +---------------------------------------------------------------------- + +For the user manual see the MANUAL file. + +This is the development branch. +Current limitations: +- Back buttons doesn't works while playback. +- Mplayer only works together with VDR if you have set your first DVB card + (/dev/dvb/adapter0/video0) as primary device. + +Installing: +----------- + +By default the Makefile builds both plugins. If you want to use only one of +them, you can add one of "WITHOUT_MP3=1" or "WITHOUT_MPLAYER=1" to your +Make.config. + +Currently the plugins can be build with VDR 1.1.29 or later, but you should not +use version 1.1.31 as this will cause high CPU load during network streaming. +Main development platform is now VDR 1.3.x, but the plugins should work fine +under VDR 1.2.6 too.. + +Any mentioned plugin config file should be located in the "plugins" +subdirectory of your VDR config directory. For a complete description of the +config files, see the MANUAL file. + +The MP3 plugin needs some external libraries (some optionally): + +You must have installed libmad and libid3tag from +<http://www.underbit.com/products/mad/> for decoding MP3 and ID3 support. +Recommended version is 0.15.1b. To compile and install I suggest the following +sequence from the source directory (libmad and libid3tag are installed +separately, so you must execute this once for each directory): + +> configure +> make +> make install +> ldconfig + +You must have installed zlib on your system, too (zlib is used internally by +libid3tag for compressed tags). This should be no problem, as virtually every +Linux distribution includes this library. + +For playback of WAV and other sound files you must have installed libsndfile +<http://www.mega-nerd.com/libsndfile/> on your system. Recommended version +is 1.0.11. The old 0.0.x series doesn't work due to some API changes. To +compile and install libsndfile I suggest the following sequence from the +libsndfile source directory: + +> configure +> make +> make install +> ldconfig + +If you don't want to install libsndfile, you must add "WITHOUT_LIBSNDFILE=1" to +your Make.config. + +If you want to listen to CD audio, you can use cdfs +<http://www.elis.rug.ac.be/~ronsse/cdfs/> (version 0.5c suggested). I suggest +that you create a new entry in /etc/fstab and mp3sources.conf for cdfs. The +/etc/fstab entry could look like: + /dev/hdc /mnt/cdfs cdfs ro,noauto,user 0 0 +The entry for mp3sources.conf could look like: + /mnt/cdfs;CD-Audio;1 +Or if you want only WAV files to be displayed: + /mnt/cdfs;CD-Audio;1;*.wav +If you don't like cdfs, you could use any other filesystems which allows to +access the CD audio data as WAV files. + +For playback of OGG files you must have installed libvorbis and libvorbisfile +<http://www.xiph.org/ogg/vorbis/> on your system. Most Linux distributions +include packages for this. +If you don't want to install the vorbis libraries, you must add +"WITHOUT_LIBVORBISFILE=1" to your Make.config. + +The MP3 plugin can output the sound to an OSS soundcard. To compile this +support add "WITH_OSS_OUTPUT=1" to your Make.config. The output device defaults +to "/dev/dsp" (see command line option -D too). Don't forget to enable OSS +output in the plugin setup menu. + +Before compiling the plugin, you could have a look at "mp3-config.h". This file +includes a number of defines to set options and values at compile time. You +should only change defines, if you have understand the source code parts which +deal with the define. Improper settings can make the MP3 plugin to fail or to +operate unsmoothly. So you should know what you are doing. + +To build the plugin(s) type: +"make plugins" +from the VDR source directory. + +To make the progressbar work with the MPlayer plugin and slave mode you need to +apply a small patch to mplayer. Select an appropriate patch file for your +MPlayer version from the patches subdirectory. Apply the patch and recompile +MPlayer. + +Early 0.90rc versions of MPlayer need a patch to enabled HEAD driver support +too. You will find one for 0.90rc1 in the patches subdirectory. Probably you'll +have to point configure to the new DVB include files with +--with-extraincdir=/usr/local/src/DVB/include or where ever you have stored the +files. MPlayer versions later as 0.90rc5 allow to select HEAD support with a +configure option or even detect this automatically. + +Command line options: +--------------------- + +Both plugins have a command line option -m/--mount to define the name and +location of the mount script. The default mount script is "mount.sh". This +script is called from the plugin with 2 options on the command line. The first +is one of mount/unmount/eject/status and gives the action to perform. The +second one is the base directory as defined in "mp3sources.conf" or +"mplayersources.conf". The script must return the exit code 0 if the action was +successful and 1 if the action failed (see the comments in the example +"mount.sh" script which comes with the archive). + +The MP3 plugin maintains a cache for information scanned from song files (e.g. +ID3 tags). This information is saved to the id3info.cache file by default +located in the video directory. You can use command line option -C/--cache to +specify a different directory for this file. + +If you are using cdfs, the MP3 plugin is able to query a CDDB database for the +song information (like title, artist). Local CDDB lookups can be enable from +the setup menu and you must give the path to your local CDDB files with +commandline option -B/--cddb. The database layout follows the xmcd standard +(one subdirectory level for the categories, individual files for every disc). +The settings for remote CDDB lookups can be found in the setup menu, too. Any +information retrieved from a remote host is stored to your local CDDB database, +so the user running VDR needs write access to this directory. + +If you are using any of the networking capabilities and you have a dial-up +network, you can use the commandline option -n/--network to give a script name. +This script is called before and after any network access and receives one +option on commandline. This can either be "up" or "down", depending on if it's +before or after the network access. In the "up" case the script should not +return before the network is connected and useable. By default the plugin +assumes that network access can be done at any time without prior action. + +If you want to use the OSS output capability but your soundcard device is not +"/dev/dsp" (which is the default) you can use the commandline option -D/--dsp +to give an alternative soundcard device. + +If you want to use the cover image display, you have to provide an image +converting script. Usually your covers are in a common image format like e.g. +JPEG or PNG, but the MP3 plugin can only display MPEG (still) frames. The +conversion is done by the script, which takes two arguments: first the filename +of the image file and second the filename or the resulting MPEG file. The +script also has to take care that any needed subdirectories in the cache are +created e.g. mkdir -p. You will find an example script in the examples +subdirectory. By default the script is called "image_convert.sh", but you can +use the commandline option -i/--iconv to change the name and location of the +script. +To speed up consecutive accesses to the same image, the converted frames are +cached on disk. The default cache directory is "/var/cache/images/mp3". You can +change this location with the commandline option -c/--icache. +Don't forget to enable the image display in the plugin setup menu. +The search order for images is: +- An image in the same directory as the song, named like the song but with the + song extension replaced with the image format extension + e.g. test.mp3 -> test.jpg +- An image named "cover" with the image format extension in the same directory + as the song (album cover). + e.g. cover.gif +- An image named "artist" with the image format extension in the parent + directory of the song (artist image). + e.g. artist.png +- An image named "background" with the image format extension in the base + directory of the MP3 source. +For all locations the extensions "jpg", "png" & "gif" are checked (in that +order). If no image can be found, a full screen black image is displayed (this +is included statically in the plugin). + +MPlayer is called through a script called "mplayer.sh" with the filename to +play as first argument and the phrase SLAVE as second argument if slave mode is +enabled. You can use the commandline option -M/--mplayer to change the name and +location of the mplayer script. The script has to call MPlayer with all the +necessary options. + +The script should parse the SLAVE keyword too and give appropriate options to +MPlayer. To enable slave mode you must give at least the "-slave" option, while +I suggest "-slave -nolirc -quiet". + +You can use the mplayer.sh.example file, which comes with the archive, as a +starting point. Juri Haberland maintains a full featured mplayer.sh file which +is available at <http://batleth.sapienti-sat.org/projects/VDR/>. + +Summary of commandline options: +------------------------------- + +MP3 Plugin: +-m CMD, --mount=CMD use CMD to mount/unmount/eject mp3 sources +-n CMD, --network=CMD execute CMD before & after network access +-B DIR, --cddb=DIR search CDDB files in DIR +-C DIR, --cache=DIR store ID3 cache file in DIR +-D DIR, --dsp=DIR device for OSS output +-i CMD, --iconv=CMD use CMD to convert background images +-c DIR, --icache=DIR cache converted images in DIR + +MPlayer plugin: +-m CMD, --mount=CMD use CMD to mount/unmount/eject mplayer sources +-M CMD, --mplayer=CMD use CMD when calling MPlayer diff --git a/plugins/mp3/examples/image_convert.sh.example b/plugins/mp3/examples/image_convert.sh.example new file mode 100644 index 0000000..1fbe153 --- /dev/null +++ b/plugins/mp3/examples/image_convert.sh.example @@ -0,0 +1,80 @@ +#!/bin/bash +# +# requires: ...topnm, pnmscale, pnmcomp, ppmntsc, ppmtoy4m, mpeg2enc +# + +# video format. pal or ntsc +FORMAT=pal + +# target image width/height (taking into account visible screen area) +if [ "$FORMAT" = "ntsc" ]; then + TW=600 + TH=420 +else + TW=632 + TH=512 +fi + +TMP=/tmp/image_convert.$$.pnm +IMG=$1 +MPG=$2 + +DIR=`dirname "$MPG"` +if [ ! -d "$DIR" ]; then + mkdir -p "$DIR" +fi +# +# get the file type and set the according converter to PNM +# +FILE_TYPE=`file -i -L -b "$IMG" 2>/dev/null | cut -f2 -d/` +case "$FILE_TYPE" in + jpg | jpeg) + TO_PNM=jpegtopnm + ;; + tiff) + TO_PNM=tifftopnm + ;; + bmp | x-bmp) + TO_PNM=bmptoppm + ;; + png | x-png) + TO_PNM=pngtopnm + ;; + Netpbm | pnm | x-portable-pixmap) + TO_PNM=cat + ;; + gif) + TO_PNM=giftopnm + ;; + *) + echo "filetype '$FILE_TYPE' is not supported" + exit 1 + ;; +esac +# +# extract the image size & compute scale value +# +LANG=C # get the decimal point right +$TO_PNM "$IMG" >$TMP 2>/dev/null +S=`pnmfile $TMP | awk '{ printf "%d %d ",$4,$6 }'` +S=`echo $S $TW $TH | awk '{ sw=$3/$1; sh=$4/$2; s=(sw<sh)?sw:sh; printf "%.4f\n",(s>1)?1.0:s; }'` +# +# now run the conversion +# +if [ "$FORMAT" = "ntsc" ]; then + pnmscale $S $TMP | \ + pnmpad -black -width 704 -height 480 | \ + ppmntsc | \ + ppmtoy4m -v 0 -n 1 -r -F 30000:1001 | \ + mpeg2enc -f 7 -T 90 -F 4 -nn -a 2 -v 0 -o "$MPG" +else + pnmscale $S $TMP | \ + pnmpad -black -width 704 -height 576 | \ + ppmntsc --pal | \ + ppmtoy4m -v 0 -n 1 -r -F 25:1 | \ + mpeg2enc -f 7 -T 90 -F 3 -np -a 2 -v 0 -o "$MPG" +fi +# +# cleanup +# +rm $TMP diff --git a/plugins/mp3/examples/mount.sh.example b/plugins/mp3/examples/mount.sh.example new file mode 100644 index 0000000..b692143 --- /dev/null +++ b/plugins/mp3/examples/mount.sh.example @@ -0,0 +1,34 @@ +#!/bin/bash +# +# This script is called from VDR to mount/unmount/eject +# the sources for MP3 play. +# +# argument 1: wanted action, one of mount,unmount,eject,status +# argument 2: mountpoint to act on +# +# mount,unmount,eject must return 0 if succeeded, 1 if failed +# status must return 0 if device is mounted, 1 if not +# + +action="$1" +path="$2" + +case "$action" in +mount) + eject -t "$path" || exit 1 # close the tray + mount "$path" || exit 1 # mount it + ;; +unmount) + umount "$path" || exit 1 # unmount it + ;; +eject) + eject "$path" || exit 1 # eject disk + ;; +status) + cat /proc/mounts | grep -q "$path" # check if mounted + if [ $? -ne 0 ]; then # not mounted ... + exit 1 + fi +esac + +exit 0 diff --git a/plugins/mp3/examples/mp3sources.conf.example b/plugins/mp3/examples/mp3sources.conf.example new file mode 100644 index 0000000..c577a2c --- /dev/null +++ b/plugins/mp3/examples/mp3sources.conf.example @@ -0,0 +1,4 @@ +/mp3;Locale Platte;0;*.mp3/*.ogg/*.wav +/mnt/nfs/mp3;Remote NFS;0 +/mnt/cdrom;CDROM;1 +/mnt/cdfs;CD-Audio;1;*.wav diff --git a/plugins/mp3/examples/mplayer.sh.example b/plugins/mp3/examples/mplayer.sh.example new file mode 100644 index 0000000..a3011eb --- /dev/null +++ b/plugins/mp3/examples/mplayer.sh.example @@ -0,0 +1,48 @@ +#!/bin/bash +# +# This script is called from VDR to start MPlayer +# +# argument 1: the file to play +# argument 2: (optional) the phrase SLAVE if SlaveMode is enabled +# argument 3: (optional) the phrase AID x to select audio stream x + +# where to find mplayer +MPLAYER="mplayer" + +# mplayer options, -vc will be added below +# add "-lircconf <lircrc>" to enable LIRC support +OPTS="-vo mpegpes" + +# mplayer options for SlaveMode +SLAVE="-slave -quiet -nolirc" + +##################### + +FILE=$1 +type=`file "$FILE"` + +while shift; do + if [ "$1" = "SLAVE" ]; then + sopt=$SLAVE + elif [ "$1" = "AID" ]; then + aopt="-aid $2" + shift + fi +done + +case "$type" in +*AVI*) + VC="ffdivx" + ;; +*MPEG*) + VC="mpegpes" + ;; +*) + echo "Unknown video file format $type" + echo "Edit mplayer.sh to support this file type" + exit 1 + ;; +esac + +exec $MPLAYER $OPTS -vc $VC $sopt $aopt "$FILE" + diff --git a/plugins/mp3/examples/network.sh.example b/plugins/mp3/examples/network.sh.example new file mode 100644 index 0000000..418ac65 --- /dev/null +++ b/plugins/mp3/examples/network.sh.example @@ -0,0 +1,19 @@ +#!/bin/bash +# +# This script is called from VDR before & after network access +# +# argument 1: wanted action, one of up,down +# + +action="$1" + +case "$action" in +up) + echo "starting dialin" + ;; +down) + echo "hangup" + ;; +esac + +exit 0 diff --git a/plugins/mp3/patches/mp3-0.9.15-span-0.0.4.diff b/plugins/mp3/patches/mp3-0.9.15-span-0.0.4.diff new file mode 100644 index 0000000..6b20fe0 --- /dev/null +++ b/plugins/mp3/patches/mp3-0.9.15-span-0.0.4.diff @@ -0,0 +1,145 @@ +diff -Naur mp3-0.9.15/mp3.c mp3-0.9.15-span/mp3.c +--- mp3-0.9.15/mp3.c 2006-08-30 17:39:24.000000000 +0200 ++++ mp3-0.9.15-span/mp3.c 2006-09-27 14:05:13.000000000 +0200 +@@ -1786,6 +1786,12 @@ + } + return true; + } ++ else if (strcmp(Id, SPAN_PROVIDER_CHECK_ID) == 0) { ++ if(Data) { ++ *((Span_Provider_Check_1_0*)Data)->isActive = true; ++ } ++ return true; ++ } + return false; + } + +diff -Naur mp3-0.9.15/player-mp3.c mp3-0.9.15-span/player-mp3.c +--- mp3-0.9.15/player-mp3.c 2006-07-30 19:59:31.000000000 +0200 ++++ mp3-0.9.15-span/player-mp3.c 2006-09-27 14:21:42.000000000 +0200 +@@ -34,6 +34,7 @@ + #include <vdr/ringbuffer.h> + #include <vdr/thread.h> + #include <vdr/tools.h> ++#include <vdr/plugin.h> + + #include "common.h" + #include "setup-mp3.h" +@@ -1304,6 +1305,23 @@ + outlen+=(sizeof(header)-6); + buff[4+FHS]=outlen>>8; + buff[5+FHS]=outlen; ++ ++// Spectrum Analyzer: Hand over the PCM16-data to SpAn ++ int offset = sizeof(header)+FHS; ++ Span_SetPcmData_1_0 SetPcmData; ++ cPlugin *Plugin = cPluginManager::CallFirstService(SPAN_SET_PCM_DATA_ID, NULL); ++ if (Plugin) ++ { ++ SetPcmData.length = (unsigned int)(outlen-offset); ++// the timestamp (ms) of the frame(s) to be visualized: ++ SetPcmData.index = index; ++// tell SpAn the ringbuffer's size for it's internal bookkeeping of the data to be visualized: ++ SetPcmData.bufferSize = MP3BUFSIZE; ++ SetPcmData.data = buff + offset + 1; // get rid of the header ++ SetPcmData.bigEndian = true; ++ cPluginManager::CallFirstService(SPAN_SET_PCM_DATA_ID, &SetPcmData); ++ } ++ + f=new cFrame(buff,-(outlen+6+FHS),ftUnknown,index); + } + if(!f) free(buff); +@@ -1469,8 +1487,25 @@ + fh->samplerate=sr; + cFrame *f=0; + unsigned int outlen=scale.ScaleBlock(buff+FHS,sizeof(buff)-FHS,Samples,Data[0],Data[1],MP3Setup.AudioMode?amDitherLE:amRoundLE); +- if(outlen) ++ if(outlen) ++ { ++// Spectrum Analyzer: Hand over the PCM16-data to SpAn ++ int offset = FHS; ++ Span_SetPcmData_1_0 SetPcmData; ++ cPlugin *Plugin = cPluginManager::CallFirstService(SPAN_SET_PCM_DATA_ID, NULL); ++ if (Plugin) ++ { ++ SetPcmData.length = (unsigned int)(outlen-offset); ++// the timestamp (ms) of the frame(s) to be visualized: ++ SetPcmData.index = index; ++// tell SpAn the ringbuffer's size for it's internal bookkeeping of the data to be visualized: ++ SetPcmData.bufferSize = MP3BUFSIZE; ++ SetPcmData.data = buff + offset + 1; // get rid of the header ++ SetPcmData.bigEndian = false; ++ cPluginManager::CallFirstService(SPAN_SET_PCM_DATA_ID, &SetPcmData); ++ } + f=new cFrame(buff,outlen+FHS,ftUnknown,index); ++ } + return f; + } + +@@ -1592,6 +1627,7 @@ + #ifdef DEBUG_DELAY + int lastwrite=0; + #endif ++ bool frameIncomplete = true; + + dsyslog("mp3: player thread started (pid=%d)", getpid()); + state=msStop; +@@ -1658,10 +1694,23 @@ + #endif + int w=output->Output(p,pc,SOF); + if(w>0) { ++// Spectrum Analyzer: Tell SpAn which timestamp is currently playing ++ if ( frameIncomplete ) ++ { ++ Span_SetPlayindex_1_0 SetPlayindexData; ++ cPlugin *Plugin = cPluginManager::CallFirstService(SPAN_SET_PLAYINDEX_ID, NULL); ++ if (Plugin) ++ { ++ SetPlayindexData.index = playindex; ++ cPluginManager::CallFirstService(SPAN_SET_PLAYINDEX_ID, &SetPlayindexData); ++ } ++ frameIncomplete = false; ++ } + p+=w; pc-=w; + if(pc<=0) { + ringBuffer->Drop(pframe); + pframe=0; ++ frameIncomplete = true; + goto next; + } + } +diff -Naur mp3-0.9.15/player-mp3.h mp3-0.9.15-span/player-mp3.h +--- mp3-0.9.15/player-mp3.h 2006-07-30 19:59:20.000000000 +0200 ++++ mp3-0.9.15-span/player-mp3.h 2006-09-27 14:13:31.000000000 +0200 +@@ -27,6 +27,31 @@ + + // ------------------------------------------------------------------- + ++#define SPAN_PROVIDER_CHECK_ID "Span-ProviderCheck-v1.0" ++#define SPAN_SET_PCM_DATA_ID "Span-SetPcmData-v1.1" ++#define SPAN_SET_PLAYINDEX_ID "Span-SetPlayindex-v1.0" ++ ++//Span requests to collect possible providers / clients ++struct Span_Provider_Check_1_0 { ++ bool *isActive; ++ bool *isRunning; ++}; ++ ++// SpanData ++struct Span_SetPcmData_1_0 { ++ unsigned int length; // the length of the PCM-data ++ const unsigned char *data; // the PCM-Data ++ int index; // the timestamp (ms) of the frame(s) to be visualized ++ unsigned int bufferSize; // for span-internal bookkeeping of the data to be visualized ++ bool bigEndian; // are the pcm16-data coded bigEndian? ++}; ++ ++struct Span_SetPlayindex_1_0 { ++ int index; // the timestamp (ms) of the frame(s) being currently played ++}; ++ ++// ------------------------------------------------------------------- ++ + class cRingBufferFrame; + class cFrame; + diff --git a/plugins/mp3/patches/mp3-with_oss.diff b/plugins/mp3/patches/mp3-with_oss.diff new file mode 100644 index 0000000..b54b435 --- /dev/null +++ b/plugins/mp3/patches/mp3-with_oss.diff @@ -0,0 +1,11 @@ +--- Makefile.ORG ++++ Makefile +@@ -32,7 +32,7 @@ + #WITHOUT_LIBVORBISFILE=1 + + ### uncomment the following line, if you want OSS sound output +-#WITH_OSS_OUTPUT=1 ++WITH_OSS_OUTPUT=1 + + ### uncomment the following line, if you want to include debug symbols + #DBG=1 diff --git a/plugins/mp3/plugin.sh b/plugins/mp3/plugin.sh new file mode 100644 index 0000000..2d94e8a --- /dev/null +++ b/plugins/mp3/plugin.sh @@ -0,0 +1,90 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 29.05.2008 +# +# vdr-mp3 + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://www.muempf.de/down/vdr-mp3-0.10.1.tar.gz" +VERSION="mp3-0.10.1" +LINK="mp3" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK + rm -rf $VERSION + rm -f $VDRLIBDIR/libvdr-$LINK.so* + rm -f $VDRLIBDIR/libvdr-mplayer.so* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + # mp3sources.conf + if [ -f $DIR/mp3sources.conf ]; then + cp -f $DIR/mp3sources.conf $VDRCONFDIR/plugins + else + { + echo "$MUSICDIR;Locale Platte;0;*.mp3/*.ogg/*.wav" + echo "/media/usb;USB-Stick;1;*.mp3/*.ogg/*.wav" + echo "/media/cdrom;CDROM;1;*.mp3/*.ogg/*.wav" + echo "/media/cdfs;CD-Audio;1;*.wav" + echo "" + } > $VDRCONFDIR/plugins/mp3sources.conf + fi + chown $VDRUSER:$VDRGROUP $VDRCONFDIR/plugins/mp3sources.conf + + # mplayersources.conf + if [ -f $DIR/mplayersources.conf ]; then + cp -f $DIR/mplayersources.conf $VDRCONFDIR/plugins + else + { + echo "$DIVXDIR;DivX Filme;0;*.avi" + echo "$DVDISODIR;DVD Filme;0;*.iso" + echo "$VIDEODIR;Aufnahmen;0;*0*.vdr" + echo "$MEDIADIR/DVD-VCD;DVD or VCD;0" + [ "$vodcatcher" = "on" ] && echo "/tmp;Vodcatcher;0" + echo "/media/usb;USB-Stick;1" + echo "" + } > $VDRCONFDIR/plugins/mplayersources.conf + fi + chown $VDRUSER:$VDRGROUP $VDRCONFDIR/plugins/mplayersources.conf + + # mplayer + if [ -f $SOURCEDIR/x-vdr/utilities/mplayer/mplayer.sh ]; then + cp -f $SOURCEDIR/x-vdr/utilities/mplayer/mplayer.sh $VDRSCRIPTDIR + cp -f $SOURCEDIR/x-vdr/utilities/mplayer/mplayer.sh.conf $VDRSCRIPTDIR + chown $VDRUSER:$VDRGROUP $VDRSCRIPTDIR/mplayer.sh $VDRSCRIPTDIR/mplayer.sh.conf + chmod 0744 $VDRSCRIPTDIR/mplayer.sh + fi + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/mp3/tracklist-fix.diff b/plugins/mp3/tracklist-fix.diff new file mode 100644 index 0000000..27af1cb --- /dev/null +++ b/plugins/mp3/tracklist-fix.diff @@ -0,0 +1,33 @@ +diff -ruN mp3/mp3.c mp3/mp3.c +--- mp3/mp3.c ++++ mp3/mp3.c +@@ -780,16 +780,15 @@ + case kNext: + case kNext|k_Repeat: + #endif +- mgr->Next(); player->Play(); ++ if(!mgr->Eol() && mgr->Next()) player->Play(); + break; + case kDown: + case kDown|k_Repeat: + #if APIVERSNUM >= 10347 + case kPrev: + case kPrev|k_Repeat: + #endif +- if(!player->PrevCheck()) mgr->Prev(); +- player->Play(); ++ if(mgr->Prev()) player->Play(); + break; + case kLeft: + case kLeft|k_Repeat: +diff -ruN mp3/player-mp3.h mp3/player-mp3.h +--- mp3/player-mp3.h ++++ mp3/player-mp3.h +@@ -118,6 +118,7 @@ + bool NextCurrent(void); + void Release(void); + void Throttle(bool thr); ++ bool Eol(void) { return eol; } + }; + + extern cPlayManager *mgr; diff --git a/plugins/muggle/muggle-server.diff b/plugins/muggle/muggle-server.diff new file mode 100644 index 0000000..71a33fe --- /dev/null +++ b/plugins/muggle/muggle-server.diff @@ -0,0 +1,11 @@ +--- Makefile.org 2007-03-27 20:14:55.000000000 +0200 ++++ Makefile 2007-03-24 09:20:58.000000000 +0100 +@@ -20,7 +20,7 @@ + + #if you do not want to compile in code for embedded mysql, + #define this: +-#HAVE_ONLY_SERVER=1 ++HAVE_ONLY_SERVER=1 + + # Define what database you want to use, one of MySQL (HAVE_MYSQL=1), + # PostgreSQL (HAVE_PG=1) or SQLite (HAVE_SQLITE=1). Default is MySQL. diff --git a/plugins/muggle/patches/muggle-sqlite.diff b/plugins/muggle/patches/muggle-sqlite.diff new file mode 100644 index 0000000..f709d52 --- /dev/null +++ b/plugins/muggle/patches/muggle-sqlite.diff @@ -0,0 +1,14 @@ +--- Makefile.orig ++++ Makefile +@@ -24,9 +24,9 @@ + + # Define what database you want to use, one of MySQL (HAVE_MYSQL=1), + # PostgreSQL (HAVE_PG=1) or SQLite (HAVE_SQLITE=1). Default is MySQL. +-#HAVE_SQLITE = 1 ++HAVE_SQLITE = 1 + #HAVE_PG = 1 +-HAVE_MYSQL = 1 ++#HAVE_MYSQL = 1 + + ### The version number of this plugin (taken from the main source file): + diff --git a/plugins/muggle/plugin.sh b/plugins/muggle/plugin.sh new file mode 100644 index 0000000..e4d15ed --- /dev/null +++ b/plugins/muggle/plugin.sh @@ -0,0 +1,83 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 23.01.2009 +# +# vdr-muggle + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://projects.vdr-developer.org/attachments/download/53/vdr-muggle-0.2.3.tgz" +VERSION="muggle-0.2.3" +LINK="muggle" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + rm -f $VDRBINDIR/image_convert.sh + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + apt_install "sqlite3 libsqlite3-dev" + # oder Patch entfernen und... +# apt_install "libmysqlclient15-dev mysql-server mysql-client" + + apt_install "libmad0-dev libtag1-dev libvorbis-dev" + apt_install "libwrap0-dev" + # Googlyric2 Beta 3 und Python + apt_install "python" + if [ -f /usr/share/apps/amarok/scripts/Googlyrics2.Beta3.amarokscript.tar.gz ]; then + echo "Googlyrics vorhanden" + else + cd /usr/share/apps + mkdir amarok + mkdir amarok/scripts + cd /usr/share/apps/amarok/scripts/ + wget http://quicode.com/Googlyrics2.Beta3.amarokscript.tar.gz + tar -xzf Googlyrics2.Beta3.amarokscript.tar.gz + fi + mkdir $VDRCONFDIR/plugins/$LINK + mkdir $VDRCONFDIR/plugins/$LINK/scripts + cp -f $SOURCEDIR/VDR/PLUGINS/src/$LINK/scripts/* $VDRCONFDIR/plugins/$LINK/scripts + chmod 0755 $VDRCONFDIR/plugins/$LINK/scripts/muggle_getlyrics + chmod 0755 $VDRCONFDIR/plugins/$LINK/scripts/*.py + + # scripts + if [ -f $DIR/muggle-image-convert ]; then + cp -f $DIR/muggle-image-convert $VDRBINDIR + else + cp -f $SOURCEDIR/VDR/PLUGINS/src/$LINK/scripts/muggle-image-convert $VDRBINDIR + fi + chmod 0755 $VDRBINDIR/muggle-image-convert + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/music/getcover.pl b/plugins/music/getcover.pl new file mode 100644 index 0000000..0ee6969 --- /dev/null +++ b/plugins/music/getcover.pl @@ -0,0 +1,113 @@ +#!/usr/bin/perl -X + +# EDIT only! path2java + + +$ENV{PATH}="/bin:/sbin:/usr/bin:/usr/local/bin:/usr/lib/jvm/java-1.5.0-sun/jre/bin"; + + +$artist = "$ARGV[0]"; +$album = "\L$ARGV[1]"; +$coverdir = "$ARGV[2]"; +$tmpdir = "$ARGV[3]"; +$maxdl = "$ARGV[4]"; +$basedir = "$ARGV[5]"; +$filename = "$ARGV[6]"; +$logger = "$tmpdir/cover.log"; +$path2java = "/usr/lib/jvm/java-1.5.0-sun/jre/bin"; + + +print "\n +----------------------------------------------------------------------------------------------\n +NAME: + getcover.pl - Perl Script to download coverpictures + from amazons webservice. +\n +SYNOPSIS: + getcover.pl 'artist' 'album' 'coverdir' 'tempdir' 'maxdownloads' 'basedir' 'filename' +\n +DESCRIPTION: + This Perl script makes it a lot easier to fill your + musiccollection with coverpictures. +\n +OPTIONS: + artist = Artist of track + album = Name of album + coverdir = Path to artists cover directory + tempdir = Path to this script (getcover.pl) + maxdownloads = How much coverpicture do you want ? + basedir = Path to track + filename = Full path to track without suffix +\n +----------------------------------------------------------------------------------------------\n +\n"; + +# START....... + +system("echo 'Cover download started !\n' > $logger"); + +# DON'T CHANGE ANYTHING HERE +system("echo 'Artist : $artist +Album : $album +Coverdir : $coverdir +Tempdir : $tmpdir +MaxDL : $maxdl +Logfile : $logger +Javapath : $path2java +\n +<value> ARTIST =$artist +<value> ALBUM =$album +<value> COVERDIR =$coverdir +<value> BASEDIR =$basedir +<value> FILENAME =$filename +\n' >> $logger"); + + + + +if(!$artist) { + system("echo '\nArtist empty. Give up !' >> $logger"); + die; +} + + +if(-r "$tmpdir/cover_0.jpg") { + system("echo '\nEntferne vorhandene Bilddateien\n' >> $logger"); + system("rm -f $tmpdir/*.jpg"); +} + +system("echo 'Executing: $path2java/java -cp jdom.jar:coverdownload.jar:. cover.cover \"$artist\" \"$album\" \"cover\" $maxdl' >> $logger"); +system("cd $tmpdir; $path2java/java -cp jdom.jar:coverdownload.jar:. cover.cover \"$artist\" \"$album\" \"cover\" $maxdl >/dev/null"); + +if(-r "$tmpdir/cover_0.jpg") { + system("echo '\nDownload von Cover erfolgreich !\n' >> $logger"); + +# $artist =~ s/\//-/g; +# $artist =~ s/\'/ /g; +# $artist =~ s/\"/ /g; + +# if(-r "$coverdir/$artist.jpg") { +# system("echo 'Entferne altes Cover\n' >> $logger"); +# system("rm -f \"$coverdir/$artist.jpg\""); +# } + + +# $cmd = "cp -f \"$tmpdir/cover_1.jpg\" \"$coverdir/$artist.jpg\""; + +# system("echo 'Kopiere: $cmd\n' >> $logger"); +# system("$cmd"); + +# if(-r "$coverdir/$artist.jpg") { +# system("echo '\nCover erfolgreich kopiert !\n' >> $logger"); +# } +# else { +# system("echo '\nERROR: Cover wurde NICHT kopiert !\n' >> $logger"); +# } + + } +else { + system("echo '\nERROR: Download von Cover NICHT erfolgreich !\n' >> $logger"); +} + +system("cat '$logger'"); +
\ No newline at end of file diff --git a/plugins/music/oldpatches/_plugin.sh b/plugins/music/oldpatches/_plugin.sh new file mode 100644 index 0000000..058fbec --- /dev/null +++ b/plugins/music/oldpatches/_plugin.sh @@ -0,0 +1,131 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 20.12.2007 +# +# vdr-music + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +[ -f ./../../vdr/patchlevel.conf ] && source ./../../vdr/patchlevel.conf + +WEB="http://www.vdr.glaserei-franz.de/files/moron-suite-0.0.2.tar.bz2" +VERSION="music-0.2.0" +LINK="music" +VAR_music="vdr-music-0.2.0.tar.gz" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + [ "$mp3" != "on" ] && rm -f $VDRLIBDIR/libvdr-mplayer.so* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + + if [ ! -f "$FILES/plugins/$VAR_music" ] && [ -f "$FILES/plugins/$VAR" ]; then + [ -d "$FILES/plugins/moron" ] && rm -rf $FILES/plugins/moron + tar xjf "$FILES/plugins/$VAR" -C "$FILES/plugins" + mv -f $FILES/plugins/moron/vdr-*.tar.gz $FILES/plugins + [ -d "$FILES/plugins/moron" ] && rm -rf $FILES/plugins/moron + fi + VAR="$VAR_music" + + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + + patch_plugin + + ## plugin specials - start ## + # wareagle-icons +# if [ "${VDRVERSION:2:1}" = "4" ]; then + if [ "$WAREAGLEICON" = "on" ]; then + cd "$SOURCEDIR/VDR/PLUGINS/src/$LINK" + echo "apply patch have_iconpatch.diff" + patch < $DIR/have_iconpatch.diff + fi + + # mplayer + if [ "$mp3" != "on" ]; then + cd "$SOURCEDIR/VDR/PLUGINS/src/$LINK" + echo "apply patch with_mplayer.diff" + patch < $DIR/with_mplayer.diff + fi + + # music - config, scripts and themes + cp -fR $SOURCEDIR/VDR/PLUGINS/src/$LINK/music $VDRCONFDIR/plugins + rm -f $VDRCONFDIR/plugins/music/themes/*-DEEP3*.theme + rm -f $VDRCONFDIR/plugins/music/themes/osd-ENIGMANG*.theme + + cp -f $DIR/getcover.pl $VDRCONFDIR/plugins/music/downloads/music_cover + cp -f $DIR/musiccmds.dat $VDRCONFDIR/plugins/music/data + cp -f $DIR/scripts/* $VDRCONFDIR/plugins/music/scripts + cp -f $DIR/themes/* $VDRCONFDIR/plugins/music/themes + + + chmod 0744 $VDRCONFDIR/plugins/music/scripts/* + chmod 0744 $VDRCONFDIR/plugins/music/downloads/music_cover/getcover.pl + + # mp3sources.conf + if [ -f $DIR/musicsources.conf ]; then + cp -f $DIR/musicsources.conf $VDRCONFDIR/plugins/music + else + { + echo "$MUSICDIR;Locale Platte;0;*.mp3/*.ogg/*.wav" + echo "/media/cdrom0;CDROM;1" + echo "/media/cdfs;CD-Audio;1;*.wav" + echo "" + } > $VDRCONFDIR/plugins/music/musicsources.conf + fi + chown -R $VDRUSER:$VDRGROUP $VDRCONFDIR/plugins/music + + # mplayersources.conf + if [ -f $DIR/mplayersources.conf ]; then + cp -f $DIR/mplayersources.conf $VDRCONFDIR/plugins + else + { + echo "$DIVXDIR;DivX Filme;0;*.avi" + echo "$DVDISODIR;DVD Filme;0;*.iso" + echo "$VIDEODIR;Aufnahmen;0;*0*.vdr" + echo "$MEDIADIR/DVD-VCD;DVD or VCD;0" + [ "$vodcatcher" = "on" ] && echo "/tmp;Vodcatcher;0" + echo "" + } > $VDRCONFDIR/plugins/mplayersources.conf + fi + chown $VDRUSER:$VDRGROUP $VDRCONFDIR/plugins/mplayersources.conf + + # mplayer.sh + if [ -f $SOURCEDIR/x-vdr/utilities/mplayer/mplayer.sh ]; then + cp -f $SOURCEDIR/x-vdr/utilities/mplayer/mplayer.sh $VDRSCRIPTDIR + cp -f $SOURCEDIR/x-vdr/utilities/mplayer/mplayer.sh.conf $VDRSCRIPTDIR + chown $VDRUSER:$VDRGROUP $VDRSCRIPTDIR/mplayer.sh $VDRSCRIPTDIR/mplayer.sh.conf + chmod 0744 $VDRSCRIPTDIR/mplayer.sh + fi + ## plugin specials - ende ## + + +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/music/oldpatches/have_iconpatch.diff b/plugins/music/oldpatches/have_iconpatch.diff new file mode 100644 index 0000000..5e8b141 --- /dev/null +++ b/plugins/music/oldpatches/have_iconpatch.diff @@ -0,0 +1,11 @@ +--- Makefile.ORG ++++ Makefile +@@ -32,7 +32,7 @@ + #HAVE_MAGICK=1 + + # Uncomment, if you patched VDR with Wareagle-iconpatch +-#HAVE_ICONPATCH=1 ++HAVE_ICONPATCH=1 + + # Uncomment one of these lines, if you don't want one of the plugins + #WITHOUT_MP3=1 diff --git a/plugins/music/oldpatches/have_osdmod.diff b/plugins/music/oldpatches/have_osdmod.diff new file mode 100644 index 0000000..0b22a86 --- /dev/null +++ b/plugins/music/oldpatches/have_osdmod.diff @@ -0,0 +1,11 @@ +--- Makefile.ORG ++++ Makefile +@@ -26,7 +26,7 @@ + HAVE_FFCARD=1 + + # Uncomment if you own enough ram for OSD (e.g modded FF-Card to 4MB ram or softdecoder) +-#HAVE_OSDMOD=1 ++HAVE_OSDMOD=1 + + # Default: Imlib2, otherwise uncomment + #HAVE_MAGICK=1
\ No newline at end of file diff --git a/plugins/music/oldpatches/music-0.2.0-mplayer_vdr150.diff b/plugins/music/oldpatches/music-0.2.0-mplayer_vdr150.diff new file mode 100644 index 0000000..aff8b7b --- /dev/null +++ b/plugins/music/oldpatches/music-0.2.0-mplayer_vdr150.diff @@ -0,0 +1,30 @@ +diff -ruN music-0.2.0/mplayer.c~ music-0.2.0/mplayer.c +--- music-0.2.0/mplayer.c~ ++++ music-0.2.0/mplayer.c +@@ -231,7 +231,12 @@ + #else + Interface->Close(); + #endif ++#if VDRVERSNUM >= 10500 ++ visible = modeOnly = false; ++ SetNeedsFastResponse(visible); ++#else + needsFastResponse=visible=modeOnly=false; ++#endif + } + } + +@@ -302,7 +307,13 @@ + Interface->Clear(); + if(MPlayerSetup.OsdPos>0) Interface->Fill(0,3,Interface->Width(),MPlayerSetup.OsdPos,clrTransparent); + #endif ++#if VDRVERSNUM >= 10500 ++ visible = true; ++ SetNeedsFastResponse(visible); ++ modeOnly=false; ++#else + needsFastResponse=visible=true; modeOnly=false; ++#endif + lastCurrent=lastTotal=-1; + flush=true; + } diff --git a/plugins/music/oldpatches/music-0.2.0_scrollmode.diff b/plugins/music/oldpatches/music-0.2.0_scrollmode.diff new file mode 100644 index 0000000..e186884 --- /dev/null +++ b/plugins/music/oldpatches/music-0.2.0_scrollmode.diff @@ -0,0 +1,68 @@ +diff -ruN music-0.1.0/mp3control.c music/mp3control.c +--- music-0.1.0/mp3control.c ++++ music/mp3control.c +@@ -978,6 +978,8 @@ + clrListTextFG = MP3Skin.clrListTextFG; + clrListTextActiveFG = MP3Skin.clrListTextActiveFG; + clrListTextActiveBG = MP3Skin.clrListTextActiveBG; ++ clrListTextScrollFG = MP3Skin.clrListTextScrollFG; ++ clrListTextScrollBG = MP3Skin.clrListTextScrollBG; + clrListRating = MP3Skin.clrListRating; + + clrInfoBG1 = MP3Skin.clrInfoBG1; +@@ -1441,8 +1443,8 @@ + #else + font=cFont::GetFont(fontOsd); + #endif +- bg=clrListTextActiveFG; +- fg=clrListTextActiveBG; ++ bg=clrListTextScrollBG; ++ fg=clrListTextScrollFG; + hash=(hash^77) + 23; + } + else font=cFont::GetFont(fontSml); +diff -ruN music-0.1.0/mp3control.h music/mp3control.h +--- music-0.1.0/mp3control.h ++++ music/mp3control.h +@@ -62,6 +62,8 @@ + int clrListTextFG; + int clrListTextActiveFG; + int clrListTextActiveBG; ++ int clrListTextScrollFG; ++ int clrListTextScrollBG; + int clrListRating; + int clrInfoBG1; + int clrInfoBG2; +diff -ruN music-0.1.0/skin.c music/skin.c +--- music-0.1.0/skin.c ++++ music/skin.c +@@ -52,6 +52,8 @@ + clrListTextFG = 0xFFBABBC0; + clrListTextActiveFG = 0xFFF2A00C; + clrListTextActiveBG = 0xDF303F52; ++ clrListTextScrollFG = 0xFFF2A00C; ++ clrListTextScrollBG = 0xDF303F52; + clrListRating = 0xFFCC0C0C; + // INFO: 4 colors + clrInfoBG1 = 0xEF2D435A; +@@ -148,6 +150,8 @@ + else if (strstr(line.c_str(),"clrListTextFG")) clrListTextFG = strtoul(Value.c_str(), NULL,16); + else if (strstr(line.c_str(),"clrListTextActiveFG")) clrListTextActiveFG = strtoul(Value.c_str(), NULL,16); + else if (strstr(line.c_str(),"clrListTextActiveBG")) clrListTextActiveBG = strtoul(Value.c_str(), NULL,16); ++ else if (strstr(line.c_str(),"clrListTextScrollFG")) clrListTextScrollFG = strtoul(Value.c_str(), NULL,16); ++ else if (strstr(line.c_str(),"clrListTextScrollBG")) clrListTextScrollBG = strtoul(Value.c_str(), NULL,16); + else if (strstr(line.c_str(),"clrListRating")) clrListRating = strtoul(Value.c_str(), NULL,16); + + else if (strstr(line.c_str(),"clrInfoBG1")) clrInfoBG1 = strtoul(Value.c_str(), NULL,16); +diff -ruN music-0.1.0/skin.h music/skin.h +--- music-0.1.0/skin.h ++++ music/skin.h +@@ -45,6 +45,8 @@ + int clrListTextFG; + int clrListTextActiveFG; + int clrListTextActiveBG; ++ int clrListTextScrollFG; ++ int clrListTextScrollBG; + int clrListRating; + int clrInfoBG1; + int clrInfoBG2; diff --git a/plugins/music/oldpatches/music-0.2.0_types.diff b/plugins/music/oldpatches/music-0.2.0_types.diff new file mode 100644 index 0000000..fcf1d80 --- /dev/null +++ b/plugins/music/oldpatches/music-0.2.0_types.diff @@ -0,0 +1,11 @@ +diff -ruN music-0.2.0/player-mp3.c music/player-mp3.c +--- music-0.2.0/player-mp3.c ++++ music/player-mp3.c +@@ -25,6 +25,7 @@ + #include <sys/ioctl.h> + #include <math.h> + #include <glob.h> ++#include <asm-i386/types.h> + + #ifdef WITH_OSS + #include <sys/soundcard.h> diff --git a/plugins/music/oldpatches/music-0.2.0_vdr153.diff b/plugins/music/oldpatches/music-0.2.0_vdr153.diff new file mode 100644 index 0000000..3d46c2b --- /dev/null +++ b/plugins/music/oldpatches/music-0.2.0_vdr153.diff @@ -0,0 +1,33 @@ +--- music/menubrowse.c~ 2007-06-17 22:50:45.000000000 +0200 ++++ music/menubrowse.c 2007-06-17 22:52:07.000000000 +0200 +@@ -245,7 +245,11 @@ + + void cMenuPlayList::Buttons(void) + { ++#if VDRVERSNUM >= 10503 ++ SetHelp(tr("Add"), showid3?tr("Filenames"):tr("ID3 names"), tr("Remove"), tr("button$Mark")); ++#else + SetHelp(tr("Add"), showid3?tr("Filenames"):tr("ID3 names"), tr("Remove"), tr(BUTTON"Mark")); ++#endif + } + + void cMenuPlayList::Refresh(bool all) +@@ -425,10 +429,18 @@ + { + switch(num) { + case 1: ++#if VDRVERSNUM >= 10503 ++ SetHelp(tr("button$Edit"), tr("Source"), tr("Browse"), ">>"); ++#else + SetHelp(tr(BUTTON"Edit"), tr("Source"), tr("Browse"), ">>"); ++#endif + break; + case 2: ++#if VDRVERSNUM >= 10503 ++ SetHelp("<<", tr("button$New"), tr("button$Delete"), tr("Rename")); ++#else + SetHelp("<<", tr(BUTTON"New"), tr(BUTTON"Delete"), tr("Rename")); ++#endif + break; + } + buttonnum=num; Display(); diff --git a/plugins/music/oldpatches/no_ffcard.diff b/plugins/music/oldpatches/no_ffcard.diff new file mode 100644 index 0000000..4538c05 --- /dev/null +++ b/plugins/music/oldpatches/no_ffcard.diff @@ -0,0 +1,11 @@ +--- Makefile.ORG ++++ Makefile +@@ -23,7 +23,7 @@ + + # Uncomment if you own a FF-Card , otherwise scrollmode is disabled . + # If you have problems with scrolling oder hang-ups , dont use it. +-HAVE_FFCARD=1 ++#HAVE_FFCARD=1 + + # Uncomment if you own enough ram for OSD (e.g modded FF-Card to 4MB ram or softdecoder) + #HAVE_OSDMOD=1 diff --git a/plugins/music/oldpatches/with_mplayer.diff b/plugins/music/oldpatches/with_mplayer.diff new file mode 100644 index 0000000..6130426 --- /dev/null +++ b/plugins/music/oldpatches/with_mplayer.diff @@ -0,0 +1,11 @@ +--- Makefile.ORG ++++ Makefile +@@ -36,7 +36,7 @@ + + # Uncomment one of these lines, if you don't want one of the plugins + #WITHOUT_MP3=1 +-WITHOUT_MPLAYER=1 ++#WITHOUT_MPLAYER=1 + + # Uncomment the following line, if you don't have libsndfile installed + #WITHOUT_LIBSNDFILE=1 diff --git a/plugins/music/patches/config.c.diff b/plugins/music/patches/config.c.diff new file mode 100644 index 0000000..a8f94dc --- /dev/null +++ b/plugins/music/patches/config.c.diff @@ -0,0 +1,11 @@ +--- config.c.orig 2008-12-20 17:20:00.000000000 +0100 ++++ config.c 2008-12-20 17:15:20.000000000 +0100 +@@ -6,7 +6,7 @@ + + #include <vdr/font.h> + #include "config.h" +- ++#include <algorithm> + + cMusicConfig MusicConfig; + diff --git a/plugins/music/patches/icons.c.diff b/plugins/music/patches/icons.c.diff new file mode 100644 index 0000000..4f0c3f0 --- /dev/null +++ b/plugins/music/patches/icons.c.diff @@ -0,0 +1,10 @@ +--- icons.c.orig 2008-12-20 17:18:50.000000000 +0100 ++++ icons.c 2008-12-20 17:21:40.000000000 +0100 +@@ -2,6 +2,7 @@ + #include <vdr/plugin.h> + #include "icons.h" + #include "config.h" ++#include <langinfo.h> + + // --- Icons ------------------------------------------------------------------ + bool Icons::IsUTF8=false; diff --git a/plugins/music/patches/imagecache.h.diff b/plugins/music/patches/imagecache.h.diff new file mode 100644 index 0000000..26fe7ab --- /dev/null +++ b/plugins/music/patches/imagecache.h.diff @@ -0,0 +1,36 @@ +--- imagecache.h.orig 2008-12-20 18:03:31.000000000 +0100 ++++ imagecache.h 2008-12-20 17:17:10.000000000 +0100 +@@ -19,21 +19,21 @@ + + item_map mItems; + usage_list mUsage; +- uint mMaxItems; ++ unsigned int mMaxItems; + + protected: + virtual void DeleteObject(const key_type &Key, data_type &Data) = 0; + virtual void ResetObject(data_type &Data) = 0; + + public: +- cxCache(uint MaxItems); ++ cxCache(unsigned int MaxItems); + virtual ~cxCache(); + + void Reset(void); + void Flush(void); + bool Contains(const key_type &Key); + data_type &operator[](const key_type &Key); +- uint Count(void) { return mUsage.size(); } ++ unsigned int Count(void) { return mUsage.size(); } + }; + + template<class key_type, class data_type> +@@ -43,7 +43,7 @@ + } + + template<class key_type, class data_type> +-cxCache<key_type, data_type>::cxCache(uint MaxItems) ++cxCache<key_type, data_type>::cxCache(unsigned int MaxItems) + { + mMaxItems = MaxItems; + } diff --git a/plugins/music/plugin.sh b/plugins/music/plugin.sh new file mode 100644 index 0000000..5a479ee --- /dev/null +++ b/plugins/music/plugin.sh @@ -0,0 +1,100 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 21.02.2009 +# +# vdr-music + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +[ -f ./../../vdr/patchlevel.conf ] && source ./../../vdr/patchlevel.conf + +WEB="http://www.glaserei-franz.de/VDR/Moronimo2/files/vdr-music-0.4.0-b3.tgz" +VERSION="music-0.4.0-b3" +LINK="music" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + [ "$mp3" != "on" ] && rm -f $VDRLIBDIR/libvdr-mplayer.so* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + + patch_plugin + + ## plugin specials - start ## + [ "$VDRUPDATE" = "on" ] && [ -d $VDRCONFDIR/plugins/music ] && return + + if [ ! -d $VDRCONFDIR/plugins/music ] && [ -d $SOURCEDIR/VDR/PLUGINS/src/$LINK/music ]; then + cp -rf $SOURCEDIR/VDR/PLUGINS/src/$LINK/music $VDRCONFDIR/plugins + fi + + # mp3sources.conf + if [ -f $DIR/musicsources.conf ]; then + cp -f $DIR/musicsources.conf $VDRCONFDIR/plugins/music + else + { + echo "$MUSICDIR;Locale Platte;0;*.mp3/*.ogg/*.wav" + echo "/media/usb;USB-Stick;1;*.mp3/*.ogg/*.wav" + echo "/media/cdrom;CDROM;1;*.mp3/*.ogg/*.wav" + echo "/media/cdfs;CD-Audio;1;*.wav" + echo "" + } > $VDRCONFDIR/plugins/music/musicsources.conf + fi + chown -R $VDRUSER:$VDRGROUP $VDRCONFDIR/plugins/music + + # mplayersources.conf + if [ -f $DIR/mplayersources.conf ]; then + cp -f $DIR/mplayersources.conf $VDRCONFDIR/plugins + else + { + echo "$DIVXDIR;DivX Filme;0;*.avi" + echo "$DVDISODIR;DVD Filme;0;*.iso" + echo "$VIDEODIR;Aufnahmen;0;*0*.vdr" + echo "$MEDIADIR/DVD-VCD;DVD or VCD;0" + [ "$vodcatcher" = "on" ] && echo "/tmp;Vodcatcher;0" + echo "/media/usb;USB-Stick;1" + echo "" + } > $VDRCONFDIR/plugins/mplayersources.conf + fi + chown $VDRUSER:$VDRGROUP $VDRCONFDIR/plugins/mplayersources.conf + + # mplayer.sh + if [ -f $SOURCEDIR/x-vdr/utilities/mplayer/mplayer.sh ]; then + cp -f $SOURCEDIR/x-vdr/utilities/mplayer/mplayer.sh $VDRSCRIPTDIR + cp -f $SOURCEDIR/x-vdr/utilities/mplayer/mplayer.sh.conf $VDRSCRIPTDIR + chown $VDRUSER:$VDRGROUP $VDRSCRIPTDIR/mplayer.sh $VDRSCRIPTDIR/mplayer.sh.conf + chmod 0744 $VDRSCRIPTDIR/mplayer.sh + fi + ## plugin specials - ende ## + + +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/netconfig/plugin.sh b/plugins/netconfig/plugin.sh new file mode 100644 index 0000000..b956d77 --- /dev/null +++ b/plugins/netconfig/plugin.sh @@ -0,0 +1,54 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 05.05.2008 +# +# vdr-netconfig + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://vdr-wiki.de/vdr/vdr-netconfig/vdr-netconfig-0.0.2.tar.gz" +VERSION="netconfig-0.0.2" +LINK="netconfig" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + rm -f $VDRCONFDIR/plugins/netconfig.conf + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + cp -f $SOURCEDIR/VDR/PLUGINS/src/$LINK/examples/netconfig.conf $VDRCONFDIR/plugins + chown $VDRUSER:$VDRGROUP $VDRCONFDIR/plugins/netconfig.conf + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/newsticker/patches/newsticker-gcc41.diff b/plugins/newsticker/patches/newsticker-gcc41.diff new file mode 100644 index 0000000..c3ba299 --- /dev/null +++ b/plugins/newsticker/patches/newsticker-gcc41.diff @@ -0,0 +1,13 @@ +--- newsticker.c.ORG ++++ newsticker.c +@@ -98,7 +98,7 @@ + void Show(void) {Start(); } + eOSState ProcessKey(eKeys Key); + int scrollMessage(char* message, int speed, int position, cOsd *osd, tColor ColorFg, tColor ColorBg, eDvbFont font); +- cOsd* cOSDNewsticker::createOSDLine(int row, eDvbFont font); ++ cOsd* createOSDLine(int row, eDvbFont font); + }; + + cOSDNewsticker::cOSDNewsticker(void) + + diff --git a/plugins/newsticker/plugin.sh b/plugins/newsticker/plugin.sh new file mode 100644 index 0000000..51a27e8 --- /dev/null +++ b/plugins/newsticker/plugin.sh @@ -0,0 +1,51 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 22.04.2006 +# +# vdr-newsticker + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://www.zulu-entertainment.de/files/vdr-newsticker/vdr-newsticker-0.0.4.tar.gz" +VERSION="newsticker-0.0.4" +LINK="newsticker" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/noepgmenu/plugin.sh b/plugins/noepgmenu/plugin.sh new file mode 100644 index 0000000..26fba3f --- /dev/null +++ b/plugins/noepgmenu/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 24.04.2008 +# +# vdr-noepgmenu + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://winni.vdr-developer.org/noepgmenu/downloads/beta/vdr-noepgmenu-0.0.6.beta2.tgz" +VERSION="noepgmenu-0.0.6.beta2" +LINK="noepgmenu" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/nordlichtsepg/patches/vdr-nordlichtsepg-0.9-test1-progressbar_fix.diff b/plugins/nordlichtsepg/patches/vdr-nordlichtsepg-0.9-test1-progressbar_fix.diff new file mode 100644 index 0000000..d280dfe --- /dev/null +++ b/plugins/nordlichtsepg/patches/vdr-nordlichtsepg-0.9-test1-progressbar_fix.diff @@ -0,0 +1,33 @@ +--- mywhatsonitem.c.old 2008-04-19 14:25:11.000000000 +0200 ++++ mywhatsonitem.c 2008-04-19 14:26:13.000000000 +0200 +@@ -97,26 +97,15 @@ + progress=9; + + std::string ProgressBar; ++ ProgressBar+=Icons::ProgressStart(); + for(i=0;i < 10;i++) + { +- if(i == 0 && progress > 0) ++ if(i < progress) + ProgressBar+=Icons::ProgressFilled(); + else +- ProgressBar+=Icons::ProgressStart(); +- +- if(i > 0 && i < 9) +- { +- if(i < progress) +- ProgressBar+=Icons::ProgressFilled(); +- else +- ProgressBar+=Icons::ProgressEmpty(); +- } +- +- if(i == 9 && progress == 9) +- ProgressBar+=Icons::ProgressFilled(); +- else +- ProgressBar+=Icons::ProgressEnd(); ++ ProgressBar+=Icons::ProgressEmpty(); + } ++ ProgressBar+=Icons::ProgressEnd(); + + if(showchannelnumbers) + asprintf(&buffer,"%c\t%d\t%-10s\t %s\t%s",m,channel->Number(),channel->ShortName(true),(!(event->RunningStatus()==4)&&next)?*event->GetTimeString():ProgressBar.c_str(),event->Title()); diff --git a/plugins/nordlichtsepg/patches/vdr-nordlichtsepg-0.9-test1-utf8fix.diff b/plugins/nordlichtsepg/patches/vdr-nordlichtsepg-0.9-test1-utf8fix.diff new file mode 100644 index 0000000..9f9a59e --- /dev/null +++ b/plugins/nordlichtsepg/patches/vdr-nordlichtsepg-0.9-test1-utf8fix.diff @@ -0,0 +1,84 @@ +diff -Nur nordlichtsepg-0.9/mywhatsonitem.c nordlichtsepg-0.9.am/mywhatsonitem.c +--- nordlichtsepg-0.9/mywhatsonitem.c 2008-03-30 19:54:33.000000000 +0200 ++++ nordlichtsepg-0.9.am/mywhatsonitem.c 2008-04-10 12:51:34.000000000 +0200 +@@ -11,32 +11,6 @@ + #include "mywhatsonitem.h" + + // --- Icons ------------------------------------------------------------------ +-class Icons +-{ +- private: +- static bool IsUTF8; +- public: +- static void InitCharSet(); +- static const char* Continue(){return IsUTF8?"\ue000":"\x80";} +- static const char* DVD(){return IsUTF8?"\ue001":"\x81";} +- static const char* Directory(){return IsUTF8?"\ue002":"\x82";} +- static const char* FixedBlank(){return IsUTF8?"\ue003":"\x83";} +- static const char* Scissor(){return IsUTF8?"\ue004":"\x84";} +- static const char* MovingRecording(){return IsUTF8?"\ue005":"\x85";} +- static const char* MovingDirectory(){return IsUTF8?"\ue006":"\x86";} +- static const char* ProgressStart(){return IsUTF8?"\ue007":"\x87";} +- static const char* ProgressFilled(){return IsUTF8?"\ue008":"\x88";} +- static const char* ProgressEmpty(){return IsUTF8?"\ue009":"\x89";} +- static const char* ProgressEnd(){return IsUTF8?"\ue00a":"\x8a";} +- static const char* Recording(){return IsUTF8?"\ue00b":"\x8b";} +- static const char* AlarmClock(){return IsUTF8?"\ue00c":"\x8c";} +- static const char* TVScrambled(){return IsUTF8?"\ue00d":"\x8d";} +- static const char* Radio(){return IsUTF8?"\ue00e":"\x8e";} +- static const char* TV(){return IsUTF8?"\ue00f":"\x8f";} +- static const char* New(){return IsUTF8?"\ue010":"\x90";} +- static const char* Repititive_timer(){return IsUTF8?"\ue011":"\x91";} +- static const char* Running(){return IsUTF8?"\ue012":"\x92";} +-}; + + bool Icons::IsUTF8=false; + +diff -Nur nordlichtsepg-0.9/mywhatsonitem.h nordlichtsepg-0.9.am/mywhatsonitem.h +--- nordlichtsepg-0.9/mywhatsonitem.h 2008-03-30 19:54:33.000000000 +0200 ++++ nordlichtsepg-0.9.am/mywhatsonitem.h 2008-04-10 12:53:29.000000000 +0200 +@@ -2,6 +2,33 @@ + * See the README file for copyright information and how to reach the author. + */ + ++class Icons ++{ ++ private: ++ static bool IsUTF8; ++ public: ++ static void InitCharSet(); ++ static const char* Continue(){return IsUTF8?"\ue000":"\x80";} ++ static const char* DVD(){return IsUTF8?"\ue001":"\x81";} ++ static const char* Directory(){return IsUTF8?"\ue002":"\x82";} ++ static const char* FixedBlank(){return IsUTF8?"\ue003":"\x83";} ++ static const char* Scissor(){return IsUTF8?"\ue004":"\x84";} ++ static const char* MovingRecording(){return IsUTF8?"\ue005":"\x85";} ++ static const char* MovingDirectory(){return IsUTF8?"\ue006":"\x86";} ++ static const char* ProgressStart(){return IsUTF8?"\ue007":"\x87";} ++ static const char* ProgressFilled(){return IsUTF8?"\ue008":"\x88";} ++ static const char* ProgressEmpty(){return IsUTF8?"\ue009":"\x89";} ++ static const char* ProgressEnd(){return IsUTF8?"\ue00a":"\x8a";} ++ static const char* Recording(){return IsUTF8?"\ue00b":"\x8b";} ++ static const char* AlarmClock(){return IsUTF8?"\ue00c":"\x8c";} ++ static const char* TVScrambled(){return IsUTF8?"\ue00d":"\x8d";} ++ static const char* Radio(){return IsUTF8?"\ue00e":"\x8e";} ++ static const char* TV(){return IsUTF8?"\ue00f":"\x8f";} ++ static const char* New(){return IsUTF8?"\ue010":"\x90";} ++ static const char* Repititive_timer(){return IsUTF8?"\ue011":"\x91";} ++ static const char* Running(){return IsUTF8?"\ue012":"\x92";} ++}; ++ + extern int showchannelnumbers; + extern time_t t; + +diff -Nur nordlichtsepg-0.9/nordlichtsepg.c nordlichtsepg-0.9.am/nordlichtsepg.c +--- nordlichtsepg-0.9/nordlichtsepg.c 2008-03-30 19:58:17.000000000 +0200 ++++ nordlichtsepg-0.9.am/nordlichtsepg.c 2008-04-10 12:49:40.000000000 +0200 +@@ -395,6 +395,7 @@ + + bool cPluginNordlichtsepg::Start(void) + { ++ Icons::InitCharSet(); + return true; + } + diff --git a/plugins/nordlichtsepg/plugin.sh b/plugins/nordlichtsepg/plugin.sh new file mode 100644 index 0000000..08be53c --- /dev/null +++ b/plugins/nordlichtsepg/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 31.03.2008 +# +# vdr-nordlichtsepg + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://martins-kabuff.de/download/vdr-nordlichtsepg-0.9-test1.tgz" +VERSION="nordlichtsepg-0.9" +LINK="nordlichtsepg" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/osdadjust/plugin.sh b/plugins/osdadjust/plugin.sh new file mode 100644 index 0000000..4f97395 --- /dev/null +++ b/plugins/osdadjust/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 08.01.2009 +# +# vdr-osdadjust + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.zulu-entertainment.de/files/vdr-osdadjust/vdr-osdadjust-0.0.3.tgz" +VERSION="osdadjust-0.0.3" +LINK="osdadjust" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/osdout/plugin.sh b/plugins/osdout/plugin.sh new file mode 100644 index 0000000..d52a777 --- /dev/null +++ b/plugins/osdout/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 05.05.2008 +# +# vdr-osdout + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://vdr-wiki.de/vdr/vdr-osdout/vdr-osdout-0.0.1.tgz" +VERSION="osdout-0.0.1" +LINK="osdout" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/osdpip/patches/osdpip-0.0.10-ffmpeg-svn.diff b/plugins/osdpip/patches/osdpip-0.0.10-ffmpeg-svn.diff new file mode 100644 index 0000000..bc897d3 --- /dev/null +++ b/plugins/osdpip/patches/osdpip-0.0.10-ffmpeg-svn.diff @@ -0,0 +1,57 @@ +diff -ruN osdpip-0.0.10/decoder.c osdpip-0.0.10-fixed/decoder.c +--- osdpip-0.0.10/decoder.c 2008-05-03 20:55:47.000000000 +0200 ++++ osdpip-0.0.10-fixed/decoder.c 2009-03-23 14:37:40.000000000 +0100 +@@ -79,18 +79,33 @@ + struct SwsContext * context; + + av_picture_crop(&pic_crop, (AVPicture *) m_PicDecoded, PIX_FMT_YUV420P, OsdPipSetup.CropTop, OsdPipSetup.CropLeft); ++#if LIBAVCODEC_VERSION_INT < ((52<<16)+(21<<8)+0) + context = sws_getContext(m_Context->width - (OsdPipSetup.CropLeft + OsdPipSetup.CropRight), + m_Context->height - (OsdPipSetup.CropTop + OsdPipSetup.CropBottom), + PIX_FMT_YUV420P, + m_Width, m_Height, ConvertToRGB ? PIX_FMT_RGBA32 : PIX_FMT_YUV420P, + SWS_LANCZOS, NULL, NULL, NULL); ++#else ++ context = sws_getContext(m_Context->width - (OsdPipSetup.CropLeft + OsdPipSetup.CropRight), ++ m_Context->height - (OsdPipSetup.CropTop + OsdPipSetup.CropBottom), ++ PIX_FMT_YUV420P, ++ m_Width, m_Height, ConvertToRGB ? PIX_FMT_RGB32 : PIX_FMT_YUV420P, ++ SWS_LANCZOS, NULL, NULL, NULL); ++#endif ++ + if (!context) { + printf("Error initializing scale context.\n"); + return -1; + } ++#if LIBAVCODEC_VERSION_INT < ((52<<16)+(21<<8)+0) + avpicture_fill((AVPicture *) m_PicResample, m_BufferResample, + ConvertToRGB ? PIX_FMT_RGBA32 : PIX_FMT_YUV420P, + m_Width, m_Height); ++#else ++ avpicture_fill((AVPicture *) m_PicResample, m_BufferResample, ++ ConvertToRGB ? PIX_FMT_RGB32 : PIX_FMT_YUV420P, ++ m_Width, m_Height); ++#endif + sws_scale(context, pic_crop.data, pic_crop.linesize, + 0, m_Context->height - (OsdPipSetup.CropTop + OsdPipSetup.CropBottom), + m_PicResample->data, m_PicResample->linesize); +@@ -120,11 +135,19 @@ + img_resample_close(contextResample); + if (ConvertToRGB) + { ++#if LIBAVCODEC_VERSION_INT < ((52<<16)+(21<<8)+0) + avpicture_fill((AVPicture *) m_PicConvert, m_BufferConvert, + PIX_FMT_RGBA32, m_Width, m_Height); + img_convert((AVPicture *) m_PicConvert, PIX_FMT_RGBA32, + (AVPicture *) m_PicResample, PIX_FMT_YUV420P, + m_Width, m_Height); ++#else ++ avpicture_fill((AVPicture *) m_PicConvert, m_BufferConvert, ++ PIX_FMT_RGB32, m_Width, m_Height); ++ img_convert((AVPicture *) m_PicConvert, PIX_FMT_RGB32, ++ (AVPicture *) m_PicResample, PIX_FMT_YUV420P, ++ m_Width, m_Height); ++#endif + } + #endif + diff --git a/plugins/osdpip/patches/osdpip-0.0.10_ffmpeg.diff b/plugins/osdpip/patches/osdpip-0.0.10_ffmpeg.diff new file mode 100644 index 0000000..cffd3c2 --- /dev/null +++ b/plugins/osdpip/patches/osdpip-0.0.10_ffmpeg.diff @@ -0,0 +1,26 @@ +--- Makefile~ 2008-05-03 21:30:09.000000000 +0200 ++++ Makefile 2009-01-10 00:22:56.000000000 +0100 +@@ -13,7 +13,7 @@ + # + ### uncomment the following line, if you have a recent FFMPEG version that + ### has a changed structure of its header files. +-#WITH_NEW_FFMPEG_HEADERS=1 ++WITH_NEW_FFMPEG_HEADERS=1 + + # The official name of this plugin. + # This name will be used in the '-P...' option of VDR to load the plugin. +@@ -53,8 +53,12 @@ + + ### Includes and Defines (add further entries here): + +-INCLUDES += -I$(VDRDIR)/include -I$(DVBDIR)/include -I. -I$(FFMDIR)/libavcodec +-LIBS = -L$(FFMDIR)/libavcodec -lavcodec ++INCLUDES += -I$(VDRDIR)/include -I$(DVBDIR)/include -I. -I$(FFMDIR) ++ifneq ($(shell which pkg-config),) ++ LIBS = $(shell pkg-config --silence-errors --libs libavcodec) ++else ++ LIBS = -lavcodec ++endif + DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"' + DEFINES += -D_GNU_SOURCE + diff --git a/plugins/osdpip/plugin.sh b/plugins/osdpip/plugin.sh new file mode 100644 index 0000000..e6a094e --- /dev/null +++ b/plugins/osdpip/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 04.05.2008 +# +# vdr-osdpip + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://home.arcor.de/andreas.regel/files/osdpip/vdr-osdpip-0.0.10.tgz" +VERSION="osdpip-0.0.10" +LINK="osdpip" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/osdserver/file-browser.sh b/plugins/osdserver/file-browser.sh new file mode 100644 index 0000000..f5142af --- /dev/null +++ b/plugins/osdserver/file-browser.sh @@ -0,0 +1,160 @@ +#!/bin/bash +# file-browser.sh - Version 0.0.2 +# A small file-browser for the vdr-osdserver + +if [ "$*" != "0" ] && [ -x "$*" ] && [ -d "$*" ]; then + directory=$(echo "$*" | sed s?//?/?g) +else + directory="/" +fi +exit_cmd= +svdrpsend="svdrpsend.pl" + +mkfifo --mode=700 /tmp/pipe-in$$ /tmp/pipe-out$$ +exec 3<> /tmp/pipe-in$$ +exec 4<> /tmp/pipe-out$$ +rm /tmp/pipe-in$$ /tmp/pipe-out$$ + +{ netcat localhost 2010 ; echo 499 disconnected ; } <&3 >&4 & +pid=$! + + +function error() { + SendCmd Quit + + exec 3>&- + exec 4>&- + + kill $pid + + exit 1 +} + +function ReadReply() { + reply2xx=() + reply3xx=() + reply4xx=() + + while read -r code line <&4 ; do + echo "< $code $line" + case $code in + 2*) IFS=$' \t\n\r' reply2xx=($code "$line") + ;; + 3*) IFS=$' \t\n\r' reply3xx=($code $line) + ;; + 4*) IFS=$' \t\n\r' reply4xx=($code "$line") + ;; + esac + [ -n "${reply2xx[0]}" ] && break; + done + + [ -n "${reply4xx[0]}" ] && return 1 + return 0 +} + +function SendCmd() { + echo "> $*" + echo "$*" >&3 + + ReadReply +} + +function FileBrowser() { + n=1 # counter reset + # menu + SendCmd "menu=NewMenu \"File-Browser: $directory\"" || return 1 + if [ "$directory" != "/" ] ; then + SendCmd "opt${n}=menu.AddOsdItem \".\"" || return 1 + ((n=n+1)) + SendCmd "opt${n}=menu.AddOsdItem \"..\"" || return 1 + ((n=n+1)) + fi + files=$(ls -I $(basename $0) -B "$directory") + if [ -n "$files" ] ; then + for i in $files ; do + SendCmd "opt$n=menu.AddOsdItem \"$i\"" || return 1 + ((n=n+1)) + done + fi + + SendCmd 'menu.Show' || return 1 + SendCmd 'menu.EnableEvent keyOk close' || return 1 + SendCmd 'menu.SleepEvent' || return 1 + + # reply + if [ "${reply3xx[0]}" != "300" ] ; then return 1 ; fi + + if [ "${reply3xx[2]}" == "close" ] ; then + if [ "$directory" != "/" ] ; then + exit_cmd="$0 \"$(dirname "$directory")\"" + else + SendCmd 'Message "Closing File-Browser ..."' || return 1 + fi + + SendCmd 'menu.SendState osEnd' || return 1 + return 0 + fi + + if [ "${reply3xx[2]}" != "keyOk" ] ; then return 1 ; fi + + SendCmd 'menu.GetCurrent' || return 1 + if [ "${reply3xx[0]}" != "302" ] ; then return 1 ; fi + + # options + n=1 + if [ "$directory" != "/" ] ; then + if [ "${reply3xx[2]}" == "opt${n}" ] ; then + exit_cmd="$0 /" + SendCmd 'menu.SendState osEnd' || return 1 + return 0 + fi + ((n=n+1)) + + if [ "${reply3xx[2]}" == "opt${n}" ] ; then + exit_cmd="$0 \"$(dirname "$directory")\"" + SendCmd 'menu.SendState osEnd' || return 1 + return 0 + fi + ((n=n+1)) + fi + + if [ -n "$files" ] ; then + for i in $files ; do + if [ "${reply3xx[2]}" == "opt${n}" ] ; then + if [ -d "${directory}/${i}" ] ; then + exit_cmd="$0 \"${directory}/${i}\"" + break + elif [ -f "${directory}/${i}" ] && [ -x "${directory}/${i}" ] ; then + SendCmd "Message \"Executing $i ...\"" + exit_cmd="${directory}/${i}" + break + elif [ -f "${directory}/${i}" ] && [ -r "${directory}/${i}" ] ; then + SendCmd "Message \"Not supported: $i\"" +# exit_cmd="${directory}/${i}" + break + else + SendCmd "Message \"Not supported: $i\"" + break + fi + else + ((n=n+1)) + fi + done + fi + + SendCmd 'menu.SendState osEnd' || return 1 + return 0 +} + + +ReadReply +SendCmd 'Version 0' || error + +FileBrowser || error + +SendCmd Quit + +exec 3>&- +exec 4>&- + +eval $exit_cmd diff --git a/plugins/osdserver/plugin.sh b/plugins/osdserver/plugin.sh new file mode 100644 index 0000000..8570eb9 --- /dev/null +++ b/plugins/osdserver/plugin.sh @@ -0,0 +1,51 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 08.01.2009 +# +# vdr-osdserver + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://www.udo-richter.de/vdr/files/vdr-osdserver-0.1.2.tgz" +VERSION="osdserver-0.1.2" +LINK="osdserver" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/osdteletext/plugin.sh b/plugins/osdteletext/plugin.sh new file mode 100644 index 0000000..ebaf144 --- /dev/null +++ b/plugins/osdteletext/plugin.sh @@ -0,0 +1,55 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 11.01.2008 +# +# vdr-osdteletext + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://projects.vdr-developer.org/attachments/download/47/vdr-osdteletext-0.8.1.tgz" +VERSION="osdteletext-0.8.1" +LINK="osdteletext" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + patch_p1_plugin + + ## plugin specials - start ## + mkdir -p /vtx + chown -R $VDRUSER:$VDRGROUP /vtx + chmod -R 0755 /vtx + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/osdtest256/plugin.sh b/plugins/osdtest256/plugin.sh new file mode 100644 index 0000000..f3d8ac4 --- /dev/null +++ b/plugins/osdtest256/plugin.sh @@ -0,0 +1,51 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 11.02.2008 +# +# vdr-osdtest256 + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://www.escape-edv.de/endriss/vdr/vdr-osdtest256-0.1.0.tgz" +VERSION="osdtest256-0.1.0" +LINK="osdtest256" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/picselshow/patches/picselshow-0.0.2_vdr150.diff b/plugins/picselshow/patches/picselshow-0.0.2_vdr150.diff new file mode 100644 index 0000000..f6c112f --- /dev/null +++ b/plugins/picselshow/patches/picselshow-0.0.2_vdr150.diff @@ -0,0 +1,51 @@ +--- control-image.c~ 2007-05-18 12:00:59.000000000 +0200 ++++ control-image.c 2007-06-11 15:38:54.000000000 +0200 +@@ -194,7 +194,11 @@ + + void cImageControl::FadeIn(void) + { +-needsFastResponse = true; ++#if VDRVERSNUM >= 10500 ++ SetNeedsFastResponse(true); ++#else ++ needsFastResponse = true; ++#endif + int i; + int alpha = 0; + +@@ -237,13 +241,21 @@ + fd--; + } + +-needsFastResponse = false; ++#if VDRVERSNUM >= 10500 ++ SetNeedsFastResponse(false); ++#else ++ needsFastResponse = false; ++#endif + } + + + void cImageControl::FadeOut(void) + { +-needsFastResponse = true; ++#if VDRVERSNUM >= 10500 ++ SetNeedsFastResponse(true); ++#else ++ needsFastResponse = true; ++#endif + int i; + int alpha = 255; + int fd = 16; +@@ -283,7 +295,11 @@ + fd--; + } + ++#if VDRVERSNUM >= 10500 ++ SetNeedsFastResponse(false); ++#else + needsFastResponse = false; ++#endif + } + + diff --git a/plugins/picselshow/plugin.sh b/plugins/picselshow/plugin.sh new file mode 100644 index 0000000..ba170a0 --- /dev/null +++ b/plugins/picselshow/plugin.sh @@ -0,0 +1,61 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 03.06.2007 +# +# vdr-picselshow + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.glaserei-franz.de/VDR/Moronimo2/files/moron-suite-0.0.2.tar.bz2" +VERSION="picselshow-0.0.2" +LINK="picselshow" +VAR_picsel="vdr-picselshow-0.0.2.tar.gz" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + + if [ ! -f "$FILES/plugins/$VAR_picsel" ] && [ -f "$FILES/plugins/$VAR" ]; then + [ -d "$FILES/plugins/moron" ] && rm -rf $FILES/plugins/moron + tar xjf "$FILES/plugins/$VAR" -C "$FILES/plugins" + mv -f $FILES/plugins/moron/vdr-*.tar.gz $FILES/plugins + [ -d "$FILES/plugins/moron" ] && rm -rf $FILES/plugins/moron + fi + VAR="$VAR_picsel" + + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/pilot/patches/pilot-0.0.8_channelcheck.diff b/plugins/pilot/patches/pilot-0.0.8_channelcheck.diff new file mode 100644 index 0000000..81b1997 --- /dev/null +++ b/plugins/pilot/patches/pilot-0.0.8_channelcheck.diff @@ -0,0 +1,11 @@ +--- pilotosd.c.orig 2006-05-02 23:33:11.000000000 +0200 ++++ pilotosd.c 2007-06-25 00:40:27.000000000 +0200 +@@ -632,7 +632,7 @@ + DrawMenu(0,2); + DisplayBitmap(); + cChannel *Channel = Channels.GetByNumber(PilotChannelNumber); +- if (Channel){ ++ if (Channel && Channel->Number() != cDevice::CurrentChannel()){ + cDevice::PrimaryDevice()->SwitchChannel(Channel, true); + } + } diff --git a/plugins/pilot/plugin.sh b/plugins/pilot/plugin.sh new file mode 100644 index 0000000..cd9d625 --- /dev/null +++ b/plugins/pilot/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 24.10.2007 +# +# vdr-pilot + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://famillejacques.free.fr/vdr/pilot/vdr-pilot-0.0.9.tgz" +VERSION="pilot-0.0.9" +LINK="pilot" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK + rm -rf $VERSION + rm -f $VDRLIBDIR/libvdr-$LINK.so* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/pilotskin/patches/pilotskin-0.0.2_channelcheck.diff b/plugins/pilotskin/patches/pilotskin-0.0.2_channelcheck.diff new file mode 100644 index 0000000..08fcefa --- /dev/null +++ b/plugins/pilotskin/patches/pilotskin-0.0.2_channelcheck.diff @@ -0,0 +1,11 @@ +--- pilotskinosd.c.orig 2006-05-02 23:33:11.000000000 +0200 ++++ pilotskinosd.c 2007-06-25 00:40:27.000000000 +0200 +@@ -453,7 +453,7 @@ + void cPilotskinOsd::CursorOK() { + DrawMenu(0,2); + cChannel *Channel = Channels.GetByNumber(PilotChannelNumber); +- if (Channel){ ++ if (Channel && Channel->Number() != cDevice::CurrentChannel()){ + cDevice::PrimaryDevice()->SwitchChannel(Channel, true); + } + } diff --git a/plugins/pilotskin/plugin.sh b/plugins/pilotskin/plugin.sh new file mode 100644 index 0000000..6f1900d --- /dev/null +++ b/plugins/pilotskin/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 09.01.2009 +# +# vdr-pilotskin + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.zulu-entertainment.de/files/vdr-pilotskin/vdr-pilotskin-0.0.4.tgz" +VERSION="pilotskin-0.0.4" +LINK="pilotskin" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/pim/plugin.sh b/plugins/pim/plugin.sh new file mode 100644 index 0000000..82a8f60 --- /dev/null +++ b/plugins/pim/plugin.sh @@ -0,0 +1,51 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 30.12.2007 +# +# vdr-pim + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://pim.vdr-developer.org/source/vdr-pim-0.0.8.tgz" +VERSION="pim-0.0.8" +LINK="pim" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/pin/plugin.sh b/plugins/pin/plugin.sh new file mode 100644 index 0000000..8b78b50 --- /dev/null +++ b/plugins/pin/plugin.sh @@ -0,0 +1,61 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 06.06.2007 +# +# vdr-pin + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://www.jwendel.de/vdr/vdr-pin-0.1.9.tgz" +VERSION="pin-0.1.9" +LINK="pin" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + rm -f $VDRSCRIPTDIR/fskprotect.sh + rm -f $VDRBINDIR/fskcheck + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + cp -f $SOURCEDIR/VDR/PLUGINS/src/$LINK/scripts/fskprotect.sh $VDRSCRIPTDIR + chmod 0744 $VDRSCRIPTDIR/fskprotect.sh + chown $VDRUSER:$VDRGROUP $VDRSCRIPTDIR/fskprotect.sh + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +# install fskcheck +if [ "$cmd" = "-m" ] || [ "$cmd" = "--make" ] || [ "$cmd" = "-r" ] || [ "$cmd" = "--remake" ]; then + cp -f $SOURCEDIR/VDR/PLUGINS/src/$LINK/fskcheck $VDRBINDIR + chmod 0755 $VDRBINDIR/fskcheck +fi + +exit 0 diff --git a/plugins/playlist/patches/playlist-0.0.2-1.5.7.diff b/plugins/playlist/patches/playlist-0.0.2-1.5.7.diff new file mode 100644 index 0000000..c825201 --- /dev/null +++ b/plugins/playlist/patches/playlist-0.0.2-1.5.7.diff @@ -0,0 +1,36 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 93_playlist-0.0.2-1.5.7.dpatch by Thomas Günther <tom@toms-cafe.de> +## http://toms-cafe.de/vdr/download/playlist-0.0.2-1.5.7.diff +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Changes for VDR >= 1.5.7. + +@DPATCH@ +--- playlist-0.0.2/playlist.c ++++ playlist-0.0.2/playlist.c +@@ -159,7 +159,11 @@ cPluginPlaylist::cPluginPlaylist(void) + // Initialize any member variables here. + // DON'T DO ANYTHING ELSE THAT MAY HAVE SIDE EFFECTS, REQUIRE GLOBAL + // VDR OBJECTS TO EXIST OR PRODUCE ANY OUTPUT! ++#if VDRVERSNUM >= 10507 ++ OSDLanguage = NULL; ++#else + OSDLanguage = -1; ++#endif + PluginPlaylist = this; + } + +--- playlist-0.0.2/playlist.h ++++ playlist-0.0.2/playlist.h +@@ -139,7 +139,11 @@ void ExpandEnvironment(tParamFile *FileS + class cPluginPlaylist : public cPlugin { + private: + // Add any member variables or functions you may need here. ++#if VDRVERSNUM >= 10507 ++ const char *OSDLanguage; ++#else + int OSDLanguage; ++#endif + void TestAndSetOSDLanguage(void); + bool ProcessArg(int argc, char *argv[]); + diff --git a/plugins/playlist/patches/playlist-0.0.2-1.7.3.diff b/plugins/playlist/patches/playlist-0.0.2-1.7.3.diff new file mode 100644 index 0000000..a3eee46 --- /dev/null +++ b/plugins/playlist/patches/playlist-0.0.2-1.7.3.diff @@ -0,0 +1,72 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 94_playlist-0.0.2-1.7.3.dpatch by Thomas Günther <tom@toms-cafe.de> +## http://toms-cafe.de/vdr/download/playlist-0.0.2-1.7.3.diff +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Changes for VDR >= 1.7.3. + +@DPATCH@ +--- playlist-0.0.2/dataplaylist.c ++++ playlist-0.0.2/dataplaylist.c +@@ -125,6 +125,7 @@ void cPlaylistRecord::SetDefaults(cRecor + isdel = false; + isnew = false; + isedited = false; ++ isPesRecording = false; + start = 0; + title = NULL; + summary = NULL; +@@ -139,6 +140,9 @@ bool cPlaylistRecord::CopyFromRecording( + if (recording) + { + isedited = recording->IsEdited(); ++#if VDRVERSNUM >= 10703 ++ isPesRecording = recording->IsPesRecording(); ++#endif + isnew = recording->IsNew(); + start = recording->start; + title = strdup(recording->Title('\t', true, recording->HierarchyLevels())); +--- playlist-0.0.2/dataplaylist.h ++++ playlist-0.0.2/dataplaylist.h +@@ -43,6 +43,7 @@ private: + time_t start; // copy from cRecording + char *title; // copy from cRecording + bool isedited; // copy from cRecording ++ bool isPesRecording; // copy from cRecording + char *summary; // copy from cRecording + int options[Option_max]; + cPlaylistRecord *parent; +@@ -66,6 +67,7 @@ public: + char *Filename(void) { return filename; } + bool IsNew(void) { return isnew; } + bool IsEdited(void) { return isedited; } ++ bool IsPesRecording(void) const { return isPesRecording; } + bool IsDir(void) { return isdir; } + bool IsDel(void) { return isdel; } + bool IsDirOrDel(void) { return isdir || isdel; } +--- playlist-0.0.2/menucontrol.c ++++ playlist-0.0.2/menucontrol.c +@@ -188,7 +188,11 @@ eOSState cControlPlaylist::PlayRecording + { + if (PlaylistRecord->IsNew() && !PlaylistRecord->IsEdited() && PlaylistRecord->Option(Option_jumpmark)) + { ++#if VDRVERSNUM >= 10703 ++ cResumeFile *resume = new cResumeFile(PlaylistRecord->Filename(), PlaylistRecord->IsPesRecording()); ++#else + cResumeFile *resume = new cResumeFile(PlaylistRecord->Filename()); ++#endif + int res = resume->Read(); + delete resume; + if (res < 0) // new file +@@ -205,7 +209,11 @@ eOSState cControlPlaylist::PlayRecording + mark = marks->GetNext(mark)->position; + mark = marks->GetNext(mark)->position; + } ++#if VDRVERSNUM >= 10703 ++ cResumeFile *resume = new cResumeFile(PlaylistRecord->Filename(), PlaylistRecord->IsPesRecording()); ++#else + cResumeFile *resume = new cResumeFile(PlaylistRecord->Filename()); ++#endif + if (mark > 0 && resume) + { + resume->Save(mark); diff --git a/plugins/playlist/patches/playlist-0.0.2-makefile.diff b/plugins/playlist/patches/playlist-0.0.2-makefile.diff new file mode 100644 index 0000000..f00c117 --- /dev/null +++ b/plugins/playlist/patches/playlist-0.0.2-makefile.diff @@ -0,0 +1,33 @@ +--- Makefile.orig ++++ Makefile +@@ -17,20 +17,23 @@ + + CXX ?= g++ +-CXXFLAGS ?= -O2 -Wall -Woverloaded-virtual ++CXXFLAGS ?= -fPIC -O2 -Wall -Woverloaded-virtual + +-### Allow user defined options to overwrite defaults: +- +--include $(VDRDIR)/Make.config +- + ### The directory environment: + + DVBDIR = ../../../../DVB + VDRDIR = ../../.. + LIBDIR = ../../lib + TMPDIR = /tmp + ++### Allow user defined options to overwrite defaults: ++ ++-include $(VDRDIR)/Make.config ++ ++### The version number of VDR's plugin API (taken from VDR's "config.h"): ++ ++APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g') ++ + ### The version number of VDR (taken from VDR's "config.h"): + +-VDRVERSION = $(shell grep 'define VDRVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g') + VDRVERSNUM = $(shell grep 'define VDRVERSNUM ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g') + +### DEFINES += -DVDRVERSNUM=$(VDRVERSNUM) diff --git a/plugins/playlist/patches/playlist-0.0.2.patch b/plugins/playlist/patches/playlist-0.0.2.patch new file mode 100644 index 0000000..5271e30 --- /dev/null +++ b/plugins/playlist/patches/playlist-0.0.2.patch @@ -0,0 +1,83 @@ +diff -ruN VDR.org/PLUGINS/src/playlist-0.0.2/dataplaylist.c VDR/PLUGINS/src/playlist-0.0.2/dataplaylist.c +--- VDR.org/PLUGINS/src/playlist-0.0.2/dataplaylist.c 2004-10-08 02:34:00.000000000 +0200 ++++ VDR/PLUGINS/src/playlist-0.0.2/dataplaylist.c 2005-11-07 02:26:38.000000000 +0100 +@@ -145,7 +145,11 @@ + char *temp = strrchr(title, '\t'); + if (temp) + *temp = 0; ++#if VDRVERSNUM >= 10325 ++ summary = recording->Info()->Title() ? strdup(recording->Info()->Title()) : NULL; ++#else + summary = recording->Summary() ? strdup(recording->Summary()) : NULL; ++#endif + return true; + } + isdel = true; +diff -ruN VDR.org/PLUGINS/src/playlist-0.0.2/menuplaylist.c VDR/PLUGINS/src/playlist-0.0.2/menuplaylist.c +--- VDR.org/PLUGINS/src/playlist-0.0.2/menuplaylist.c 2004-10-08 02:34:00.000000000 +0200 ++++ VDR/PLUGINS/src/playlist-0.0.2/menuplaylist.c 2005-11-07 02:26:38.000000000 +0100 +@@ -154,7 +154,11 @@ + else + { + cRecording *recording = GetRecording(ri); ++#if VDRVERSNUM >= 10325 ++ SetHelp(singleselect ? tr("Select") : tr("Add"), singleselect ? NULL : ri->IsMark() ? tr("UnMark") : tr("Mark"), deleterecords.u ? tr("Delete") : NULL, (recording && recording->Info()->Title() && *recording->Info()->Title()) ? tr("Summary") : NULL); ++#else + SetHelp(singleselect ? tr("Select") : tr("Add"), singleselect ? NULL : ri->IsMark() ? tr("UnMark") : tr("Mark"), deleterecords.u ? tr("Delete") : NULL, (recording && recording->Summary() && *recording->Summary()) ? tr("Summary") : NULL); ++#endif + } + } else + { +@@ -256,12 +260,24 @@ + if (ri && !ri->IsDirectory()) + { + cRecording *recording = GetRecording(ri); ++#if VDRVERSNUM >= 10325 ++ if (recording && recording->Info()->Title() && *recording->Info()->Title()) ++#else + if (recording && recording->Summary() && *recording->Summary()) ++#endif + #if VDRVERSNUM >= 10307 ++#if VDRVERSNUM >= 10325 ++ return AddSubMenu(new cMenuText(tr("Summary"), recording->Info()->Title())); ++#else + return AddSubMenu(new cMenuText(tr("Summary"), recording->Summary())); ++#endif ++#else ++#if VDRVERSNUM >= 10325 ++ return AddSubMenu(new cMenuItemText(tr("Summary"), recording->Info()->Title())); + #else + return AddSubMenu(new cMenuItemText(tr("Summary"), recording->Summary())); + #endif ++#endif + } + return osContinue; + } +diff -ruN VDR.org/PLUGINS/src/playlist-0.0.2/playlist.c VDR/PLUGINS/src/playlist-0.0.2/playlist.c +--- VDR.org/PLUGINS/src/playlist-0.0.2/playlist.c 2004-10-08 02:34:00.000000000 +0200 ++++ VDR/PLUGINS/src/playlist-0.0.2/playlist.c 2005-11-07 02:28:51.000000000 +0100 +@@ -378,10 +378,11 @@ + asprintf(&p, "%s%s%s", q, *(q + strlen(q) - 1) == '/' ? "" : "/", playlistconfigfile.u); + if (!access(playlistconfigfile.u, F_OK) && !access(playlistconfigfile.u, R_OK) || !access(p, F_OK) && !access(p, R_OK)) + { ++ char *s; + #define MAXARGS 100 + int fargc = 1; + char *fargv[MAXARGS]; +- char buffer[MAXPARSEBUFFER]; ++ cReadLine ReadLine; + bool done; + FILE *f; + +@@ -405,9 +406,9 @@ + esyslog("%s: ERROR: cannot open config file: [%s]%s", plugin_name, ConfigDirectory(""), playlistconfigfile.u); + return false; + } +- while (fgets(buffer, sizeof(buffer), f) > 0) ++ while ((s = ReadLine.Read(f)) != NULL) + { +- p = skipspace(stripspace(buffer)); ++ p = skipspace(stripspace(s)); + q = NULL; + done = false; + while (!done) diff --git a/plugins/playlist/plugin.sh b/plugins/playlist/plugin.sh new file mode 100644 index 0000000..00cbac0 --- /dev/null +++ b/plugins/playlist/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 08.04.2009 +# +# vdr-playlist + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.zulu-entertainment.de/files/vdr-playlist/vdr-playlist-0.0.2rc3.tgz" +VERSION="playlist-0.0.2" +LINK="playlist" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/podcatcher/patches/p1/podcatcher-0.1.1_gcc43.diff b/plugins/podcatcher/patches/p1/podcatcher-0.1.1_gcc43.diff new file mode 100644 index 0000000..351afd1 --- /dev/null +++ b/plugins/podcatcher/patches/p1/podcatcher-0.1.1_gcc43.diff @@ -0,0 +1,34 @@ +diff -ruNp podcatcher-0.1.1/src/pesaudiopacket.h podcatcher-0.1.1-new/src/pesaudiopacket.h +--- podcatcher-0.1.1/src/pesaudiopacket.h 2006-04-24 23:30:29.000000000 +0200 ++++ podcatcher-0.1.1-new/src/pesaudiopacket.h 2009-01-30 19:41:46.000000000 +0100 +@@ -23,6 +23,8 @@ + #ifndef ___PESAUDIOPACKET_H + #define ___PESAUDIOPACKET_H + ++#include <stdlib.h> ++#include <string.h> + #include "refptr.h" + + class PesAudioPacket +diff -ruNp podcatcher-0.1.1/src/rfc822datetime.h podcatcher-0.1.1-new/src/rfc822datetime.h +--- podcatcher-0.1.1/src/rfc822datetime.h 2006-04-24 23:30:29.000000000 +0200 ++++ podcatcher-0.1.1-new/src/rfc822datetime.h 2009-01-30 19:41:48.000000000 +0100 +@@ -23,6 +23,7 @@ + #ifndef ___RFC822DATETIME_H + #define ___RFC822DATETIME_H + ++#include <stdlib.h> + #include <string> + + class Rfc822DateTime +diff -ruNp podcatcher-0.1.1/src/rssfeedparser.h podcatcher-0.1.1-new/src/rssfeedparser.h +--- podcatcher-0.1.1/src/rssfeedparser.h 2006-04-24 23:30:29.000000000 +0200 ++++ podcatcher-0.1.1-new/src/rssfeedparser.h 2009-01-30 19:41:33.000000000 +0100 +@@ -23,6 +23,7 @@ + #ifndef ___RSSFEEDPARSER_H + #define ___RSSFEEDPARSER_H + ++#include <string.h> + #include <libxml++/libxml++.h> + #include "feedparser.h" + diff --git a/plugins/podcatcher/plugin.sh b/plugins/podcatcher/plugin.sh new file mode 100644 index 0000000..ba81986 --- /dev/null +++ b/plugins/podcatcher/plugin.sh @@ -0,0 +1,56 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 30.01.2009 +# +# vdr-podcatcher + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://vdr-wiki.de/vdr/vdr-podcatcher/vdr-podcatcher-0.1.1.tar.gz" +VERSION="podcatcher-0.1.1" +LINK="podcatcher" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + patch_p1_plugin + + ## plugin specials - start ## + mkdir -p /var/cache/podcatcher + chown -R $VDRUSER:$VDRGROUP /var/cache/podcatcher + cp -f $SOURCEDIR/VDR/PLUGINS/src/$LINK/examples/podcatchersources.conf $VDRCONFDIR/plugins + chown $VDRUSER:$VDRGROUP $VDRCONFDIR/plugins/podcatchersources.conf + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/powermate/plugin.sh b/plugins/powermate/plugin.sh new file mode 100644 index 0000000..e447780 --- /dev/null +++ b/plugins/powermate/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 11.09.2008 +# +# vdr-powermate + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://home.arcor.de/andreas.regel/files/powermate/vdr-powermate-0.0.5.tgz" +VERSION="powermate-0.0.5" +LINK="powermate" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/prefermenu/patches/prefermenu-0.6.6-1.5.3+SetAreas-bugfix.diff b/plugins/prefermenu/patches/prefermenu-0.6.6-1.5.3+SetAreas-bugfix.diff new file mode 100644 index 0000000..16aa518 --- /dev/null +++ b/plugins/prefermenu/patches/prefermenu-0.6.6-1.5.3+SetAreas-bugfix.diff @@ -0,0 +1,74 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 90_prefermenu-0.6.6-1.5.3+SetAreas-bugfix.dpatch by Thomas Günther <tom@toms-cafe.de> +## http://toms-cafe.de/vdr/download/prefermenu-0.6.6-1.5.3+SetAreas-bugfix.diff +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Changes for VDR >= 1.5.3. + +@DPATCH@ +--- prefermenu-0.6.6/prefermenu.c ++++ prefermenu-0.6.6/prefermenu.c +@@ -75,6 +75,7 @@ + } + // Clean up the file with current VDR channels.conf + PreferedChannelsList.Save(); ++ const int LINEHEIGHT = cFont::GetFont(fontOsd)->Height(); + config.height= (config.lines * (LINEHEIGHT+BORDERSIZE+2))+BORDERSIZE; + return new cPreferOsd; + } +--- prefermenu-0.6.6/preferosd.c ++++ prefermenu-0.6.6/preferosd.c +@@ -60,6 +60,7 @@ + } + osd=cOsdProvider::NewOsd(config.originx, config.originy); + if (osd) { +- tArea Area = { 0, 0, config.width+LINEHEIGHT, config.height-1, 4}; ++ const int LINEHEIGHT = cFont::GetFont(fontOsd)->Height(); ++ tArea Area = { 0, 0, ((config.width+LINEHEIGHT) & ~0x01) - 1, config.height-1, 4}; + osd->SetAreas(&Area, 1); + DrawPreferMenu(0,0); +@@ -168,6 +169,7 @@ + { + if (current > 1) { + current -= 1; ++ const int LINEHEIGHT = cFont::GetFont(fontOsd)->Height(); + DrawPreferMenu(-LINEHEIGHT,1); + DisplayPreferMenu(); + //DrawPreferMneu(-10,1); +@@ -181,6 +183,7 @@ + { + if (current < number) { + current += 1; ++ const int LINEHEIGHT = cFont::GetFont(fontOsd)->Height(); + DrawPreferMenu(+LINEHEIGHT,-1); + DisplayPreferMenu(); + //DrawPreferMenu(+10,-1); +@@ -315,6 +318,8 @@ + + void cPreferOsd::DrawPreferMenu(int delta, int highlight) + { ++ const cFont *font = cFont::GetFont(fontOsd); ++ const int LINEHEIGHT = font->Height(); + + int middle = int(config.height/2) + config.height%2; + +@@ -390,6 +395,8 @@ + + void cPreferOsd::DrawChannelsNames(int delta) + { ++ const cFont *font = cFont::GetFont(fontOsd); ++ const int LINEHEIGHT = font->Height(); + + // XXX The margin is hardcoded for now + // TODO: make it more flexible +--- prefermenu-0.6.6/preferosd.h ++++ prefermenu-0.6.6/preferosd.h +@@ -4,8 +4,6 @@ + #include <vdr/plugin.h> + + static const int BORDERSIZE = 2; +-static const cFont *font = cFont::GetFont(fontOsd); +-static const int LINEHEIGHT = font->Height(); + + + class cPreferOsd : public cOsdObject { diff --git a/plugins/prefermenu/plugin.sh b/plugins/prefermenu/plugin.sh new file mode 100644 index 0000000..8fa1224 --- /dev/null +++ b/plugins/prefermenu/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 05.05.2008 +# +# vdr-prefermenu + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://vdr-wiki.de/vdr/vdr-prefermenu/vdr-prefermenu-0.6.6.tgz" +VERSION="prefermenu-0.6.6" +LINK="prefermenu" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/premiereepg/patches/premiereepg-0.0.8.diff b/plugins/premiereepg/patches/premiereepg-0.0.8.diff new file mode 100644 index 0000000..70d8606 --- /dev/null +++ b/plugins/premiereepg/patches/premiereepg-0.0.8.diff @@ -0,0 +1,10 @@ +--- premiereepg.c.orig 2007-08-27 17:22:38.000000000 +0200 ++++ premiereepg.c 2007-10-23 14:24:10.000000000 +0200 +@@ -626,6 +626,7 @@ + else if(tid==0x03 && sid==0xf5) { tid=0x03; sid=0xdc; } + else if(tid==0x04 && sid==0xd2) { tid=0x11; sid=0xe2; } + else if(tid==0x11 && sid==0xd3) { tid=0x11; sid=0xe3; } ++ else if(tid==0x01 && sid==0xd4) { tid=0x04; sid=0xe4; } + } + } + tChannelID channelID(Source(),nid,tid,sid); diff --git a/plugins/premiereepg/plugin.sh b/plugins/premiereepg/plugin.sh new file mode 100644 index 0000000..c1beb38 --- /dev/null +++ b/plugins/premiereepg/plugin.sh @@ -0,0 +1,51 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 23.10.2007 +# +# vdr-premiereepg + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://www.muempf.de/down/vdr-premiereepg-0.0.8.tar.gz" +VERSION="premiereepg-0.0.8" +LINK="premiereepg" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/proxy/plugin.sh b/plugins/proxy/plugin.sh new file mode 100644 index 0000000..a6d2826 --- /dev/null +++ b/plugins/proxy/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 30.04.2008 +# +# vdr-proxy + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.udo-richter.de/vdr/files/vdr-proxy-0.1.4.tgz" +VERSION="proxy-0.1.4" +LINK="proxy" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/pvrinput/_plugin.sh b/plugins/pvrinput/_plugin.sh new file mode 100644 index 0000000..02266c5 --- /dev/null +++ b/plugins/pvrinput/_plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 01.01.2007 +# +# vdr-pvrinput + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://home.arcor.de/andreas.regel/files/pvrinput/vdr-pvrinput-0.1.1.tgz" +VERSION="pvrinput-0.1.1" +LINK="pvrinput" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/pvrinput/patches/p1/pvrinput-2008-12-24_p1.diff b/plugins/pvrinput/patches/p1/pvrinput-2008-12-24_p1.diff new file mode 100644 index 0000000..2244179 --- /dev/null +++ b/plugins/pvrinput/patches/p1/pvrinput-2008-12-24_p1.diff @@ -0,0 +1,30 @@ +diff -ur pvrinput-2008-10-04/example/channels.conf_newsyntax.example pvrinput-2008-12-24/example/channels.conf_newsyntax.example +--- pvrinput-2008-10-04/example/channels.conf_newsyntax.example 2008-06-01 19:10:12.000000000 +0200 ++++ pvrinput-2008-12-24/example/channels.conf_newsyntax.example 2008-12-24 15:21:31.000000000 +0100 +@@ -33,7 +33,9 @@ + S26:343250:PVRINPUT|TV:P:0:301:300:305:0:5492:0:0:0 + S27:351250:PVRINPUT|TV:P:0:301:300:305:0:5620:0:0:0 + S28:359250:PVRINPUT|TV:P:0:301:300:305:0:5748:0:0:0 +-S30:343250:PVRINPUT|TV:P:0:301:300:305:0:6004:0:0:0 ++S29:367250:PVRINPUT|TV:P:0:301:300:305:0:5876:0:0:0 ++S30:375250:PVRINPUT|TV:P:0:301:300:305:0:6004:0:0:0 ++S35:359250:PVRINPUT|TV:P:0:301:300:305:0:6644:0:0:0 + k21:471250:PVRINPUT|TV:P:0:301:300:305:0:7540:0:0:0 + k22:479250:PVRINPUT|TV:P:0:301:300:305:0:7668:0:0:0 + k23:487250:PVRINPUT|TV:P:0:301:300:305:0:7796:0:0:0 +Nur in pvrinput-2008-12-24/example: channels.conf_newsyntax.example~. +diff -ur pvrinput-2008-10-04/example/channels.conf_oldsyntax.example pvrinput-2008-12-24/example/channels.conf_oldsyntax.example +--- pvrinput-2008-10-04/example/channels.conf_oldsyntax.example 2008-06-01 19:10:00.000000000 +0200 ++++ pvrinput-2008-12-24/example/channels.conf_oldsyntax.example 2008-12-24 15:15:51.000000000 +0100 +@@ -33,7 +33,9 @@ + S26:343250:C0:C:0:301:300:305:A1:5492:0:0:0 + S27:351250:C0:C:0:301:300:305:A1:5620:0:0:0 + S28:359250:C0:C:0:301:300:305:A1:5748:0:0:0 +-S30:343250:C0:C:0:301:300:305:A1:6004:0:0:0 ++S29:367250:C0:C:0:301:300:305:A1:5876:0:0:0 ++S30:375250:C0:C:0:301:300:305:A1:6004:0:0:0 ++S35:415250:C0:C:0:301:300:305:A1:6644:0:0:0 + k21:471250:C0:C:0:301:300:305:A1:7540:0:0:0 + k22:479250:C0:C:0:301:300:305:A1:7668:0:0:0 + k23:487250:C0:C:0:301:300:305:A1:7796:0:0:0 +Nur in pvrinput-2008-12-24/example: channels.conf_oldsyntax.example~. diff --git a/plugins/pvrinput/patches/pvrinput-2008-12-24_p0.diff b/plugins/pvrinput/patches/pvrinput-2008-12-24_p0.diff new file mode 100644 index 0000000..b2538d7 --- /dev/null +++ b/plugins/pvrinput/patches/pvrinput-2008-12-24_p0.diff @@ -0,0 +1,60 @@ +diff -ur pvrinput-2008-10-04/HISTORY pvrinput-2008-12-24/HISTORY +--- pvrinput-2008-10-04/HISTORY 2008-10-04 12:13:45.000000000 +0200 ++++ pvrinput-2008-12-24/HISTORY 2008-12-24 15:23:45.000000000 +0100 +@@ -1,6 +1,19 @@ + VDR Plugin 'pvrinput' Revision History + --------------------------------- + ++2008-12-24 (Dr. Seltsam) ++- The previous fix in cPluginPvrInput::MainMenuAction must depend on ++ PLUGINPARAMPATCHVERSNUM. Oherwise it does not compile with a vdr version ++ that is not patched with the pluginparam-patch ++- fix frequency of S30 in channels.conf examples, add S29 and S35 ++ ++2008-10-26 (Dr. Seltsam) ++- fix usage of PvrMenuMain on channels with iptv-syntax ++- fix permission of directories ++- remove executable flag from patches and conf files ++- fix Makefile ++ ++ + 2008-10-03 (Dr. Seltsam) + - add possibility to force the plugin to use only a certain card by using the + new value PvrSetup.UseOnlyCard. (see README) +Nur in pvrinput-2008-12-24: HISTORY~. +diff -ur pvrinput-2008-10-04/Makefile pvrinput-2008-12-24/Makefile +--- pvrinput-2008-10-04/Makefile 2008-08-24 20:00:46.000000000 +0200 ++++ pvrinput-2008-12-24/Makefile 2008-10-12 19:29:22.000000000 +0200 +@@ -131,9 +131,6 @@ + + dist: clean + @-rm -rf $(TMPDIR)/$(ARCHIVE) +- @chmod -x * +- @chmod -x po/* +- @chmod +x po2i18n.pl + @mkdir $(TMPDIR)/$(ARCHIVE) + @cp -a * $(TMPDIR)/$(ARCHIVE) + @tar czf $(PACKAGE).tgz -C $(TMPDIR) $(ARCHIVE) +diff -ur pvrinput-2008-10-04/plugin.c pvrinput-2008-12-24/plugin.c +--- pvrinput-2008-10-04/plugin.c 2008-10-04 11:28:46.000000000 +0200 ++++ pvrinput-2008-12-24/plugin.c 2008-12-24 14:49:44.000000000 +0100 +@@ -1,6 +1,6 @@ + #include "common.h" + +-static const char *VERSION = "2008-10-04"; ++static const char *VERSION = "2008-12-24"; + static const char *DESCRIPTION = tr("Setup.pvrinput$use Hauppauge PVR as input device"); + static const char *MAINMENUENTRY = tr("Setup.pvrinput$PVR picture settings"); + +@@ -66,7 +66,11 @@ + cOsdObject * cPluginPvrInput::MainMenuAction(void) { + cChannel * channel = Channels.GetByNumber(cDevice::CurrentChannel()); + if (channel && ++#ifdef PLUGINPARAMPATCHVERSNUM ++ ((channel->IsCable() && channel->Ca() == kPvrCa) || channel->IsPlug()) ) ++#else + (channel->IsCable() && channel->Ca() == kPvrCa)) ++#endif + return new cPvrMenuMain(); + Skins.Message(mtError, tr("Setup.pvrinput$Not on an analogue channel!"), 2); + return NULL; diff --git a/plugins/pvrinput/plugin.sh b/plugins/pvrinput/plugin.sh new file mode 100644 index 0000000..b8553cb --- /dev/null +++ b/plugins/pvrinput/plugin.sh @@ -0,0 +1,53 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 15.02.2009 +# +# vdr-pvrinput + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://drseltsam.device.name/vdr/pvr/src/pvrinput/vdr-pvrinput-2008-10-04.tgz" +VERSION="pvrinput-2008-10-04" +LINK="pvrinput" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + patch_p1_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/radio/patches/radio-0.2.4_vdr-1.7.2.diff b/plugins/radio/patches/radio-0.2.4_vdr-1.7.2.diff new file mode 100644 index 0000000..978c162 --- /dev/null +++ b/plugins/radio/patches/radio-0.2.4_vdr-1.7.2.diff @@ -0,0 +1,13 @@ +diff -ruNp radio-0.2.4~/radioaudio.h radio-0.2.4/radioaudio.h +--- radio-0.2.4~/radioaudio.h 2007-10-06 19:42:00.000000000 +0200 ++++ radio-0.2.4/radioaudio.h 2009-01-11 02:42:42.000000000 +0100 +@@ -84,6 +84,9 @@ private: + void RassDecode(uchar *Data, int Length); + protected: + virtual void Play(const uchar *Data, int Length, uchar Id); ++#if VDRVERSNUM >= 10702 ++ virtual void PlayTs(const uchar *Data, int Length) {}; ++#endif + virtual void Mute(bool On) {}; + virtual void Clear(void) {}; + public: diff --git a/plugins/radio/patches/vdr-radio-0.2.4.diff b/plugins/radio/patches/vdr-radio-0.2.4.diff new file mode 100644 index 0000000..333df22 --- /dev/null +++ b/plugins/radio/patches/vdr-radio-0.2.4.diff @@ -0,0 +1,22 @@ +diff -ru radio-0.2.4.org/radio.c radio-0.2.4/radio.c +--- radio-0.2.4.org/radio.c 2007-10-09 18:15:35.000000000 +0200 ++++ radio-0.2.4/radio.c 2008-12-22 11:44:16.000000000 +0100 +@@ -710,6 +710,9 @@ + bool isRadio = false; + + if (On && FileName != NULL) { ++ char *vdrfile; ++ asprintf(&vdrfile, "%s/001.vdr", FileName); ++ if (file_exists(vdrfile)) { // check only VDR-Recordings + cFileName fn(FileName, false, true); + cUnbufferedFile *f = fn.Open(); + if (f) { +@@ -719,6 +722,8 @@ + isRadio = (b[0] == 0x00) && (b[1] == 0x00) && (b[2] == 0x01) && (0xc0 <= b[3] && b[3] <= 0xdf); + } + } ++ free(vdrfile); ++ } + + if (isRadio) { + if (!file_exists(ReplayFile)) diff --git a/plugins/radio/plugin.sh b/plugins/radio/plugin.sh new file mode 100644 index 0000000..cd7a145 --- /dev/null +++ b/plugins/radio/plugin.sh @@ -0,0 +1,54 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 23.10.2007 +# +# vdr-radio + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://www.egal-vdr.de/plugins/vdr-radio-0.2.4.tgz" +VERSION="radio-0.2.4" +LINK="radio" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + rm -rf $VDRCONFDIR/plugins/radio + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + [ ! -d $VDRCONFDIR/plugins/radio ] && mkdir -p $VDRCONFDIR/plugins/radio + cp -f $SOURCEDIR/VDR/PLUGINS/src/$LINK/config/mpegstill/* $VDRCONFDIR/plugins/radio + chown -R $VDRUSER:$VDRGROUP $VDRCONFDIR/plugins/radio + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/recstatus/plugin.sh b/plugins/recstatus/plugin.sh new file mode 100644 index 0000000..dacff52 --- /dev/null +++ b/plugins/recstatus/plugin.sh @@ -0,0 +1,51 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 06.01.2008 +# +# vdr-recstatus + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://www.zulu-entertainment.de/files/vdr-recstatus/vdr-recstatus-0.0.8-beta1.tgz" +VERSION="recstatus-0.0.8-beta1" +LINK="recstatus" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/reelchannelscan/patches/p1/reelchannelscan-0.4.3-gettext-i18n.diff b/plugins/reelchannelscan/patches/p1/reelchannelscan-0.4.3-gettext-i18n.diff new file mode 100644 index 0000000..786f028 --- /dev/null +++ b/plugins/reelchannelscan/patches/p1/reelchannelscan-0.4.3-gettext-i18n.diff @@ -0,0 +1,5933 @@ +diff -Nru reelchannelscan-0.4.3/channelscan.c reelchannelscan-0.4.3-gettext-i18n/channelscan.c +--- reelchannelscan-0.4.3/channelscan.c 2007-05-19 15:50:09.000000000 +0200 ++++ reelchannelscan-0.4.3-gettext-i18n/channelscan.c 2008-04-01 22:31:08.000000000 +0200 +@@ -24,7 +24,9 @@ + ***************************************************************************/ + /* kate: set expandtab tabstop=4 shiftwidth=4: */ + ++#if APIVERSNUM < 10507 + #include "i18n.h" ++#endif + #include "service.h" + #include "csmenu.h" + #include "channelscan.h" +diff -Nru reelchannelscan-0.4.3/csmenu.c reelchannelscan-0.4.3-gettext-i18n/csmenu.c +--- reelchannelscan-0.4.3/csmenu.c 2007-05-19 15:50:09.000000000 +0200 ++++ reelchannelscan-0.4.3-gettext-i18n/csmenu.c 2008-04-01 22:09:57.000000000 +0200 +@@ -251,7 +251,7 @@ + /* TODO aktivate loop mode again! + if (loopMode && ::Setup.DiSEqC) + { +- Add(new cMenuInfoItem("Scanning configured satellites")); ++ Add(new cMenuInfoItem(tr("Scanning configured satellites"))); + AddBlankLineItem(4); + } + +@@ -293,7 +293,7 @@ + Add(new cMenuEditIntItem(tr("Frequency (MHz)"), &frequency)); + Add(new cMenuEditChrItem(tr("Polarization"),&polarization, "HVLR")); + Add(new cMenuEditIntItem(tr("Symbolrate"), &symbolrate)); +- Add(new cMenuEditStraItem("FEC", &fecStat, 10, fecTexts )); ++ Add(new cMenuEditStraItem(tr("FEC"), &fecStat, 10, fecTexts )); + break; + + case TERR: +diff -Nru reelchannelscan-0.4.3/i18n.c reelchannelscan-0.4.3-gettext-i18n/i18n.c +--- reelchannelscan-0.4.3/i18n.c 2007-05-19 15:50:09.000000000 +0200 ++++ reelchannelscan-0.4.3-gettext-i18n/i18n.c 2008-04-01 22:30:39.000000000 +0200 +@@ -6,6 +6,7 @@ + * $Id: + */ + ++#if APIVERSNUM < 10507 + #include "i18n.h" + + const tI18nPhrase Phrases[] = { +@@ -1310,4 +1311,4 @@ + }, + { NULL } + }; +- ++#endif +diff -Nru reelchannelscan-0.4.3/Makefile reelchannelscan-0.4.3-gettext-i18n/Makefile +--- reelchannelscan-0.4.3/Makefile 2007-05-19 16:09:31.000000000 +0200 ++++ reelchannelscan-0.4.3-gettext-i18n/Makefile 2008-04-01 22:12:11.000000000 +0200 +@@ -86,10 +86,35 @@ + + -include $(DEPFILE) + ++### Internationalization (I18N): ++ ++PODIR = po ++LOCALEDIR = $(VDRDIR)/locale ++I18Npo = $(wildcard $(PODIR)/*.po) ++I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file)))))) ++I18Npot = $(PODIR)/$(PLUGIN).pot ++ ++%.mo: %.po ++ msgfmt -c -o $@ $< ++ ++$(I18Npot): $(wildcard *.c) ++ xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='<micky979@free.fr>' -o $@ $^ ++ ++%.po: $(I18Npot) ++ msgmerge -U --no-wrap --no-location --backup=none -q $@ $< ++ @touch $@ ++ ++$(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo ++ @mkdir -p $(dir $@) ++ cp $< $@ ++ ++.PHONY: i18n ++i18n: $(I18Nmsgs) ++ + ### Targets: + + +-all: libvdr-$(PLUGIN).so ++all: libvdr-$(PLUGIN).so i18n + + libvdr-$(PLUGIN).so: $(OBJS) + $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@ +@@ -104,5 +129,6 @@ + @echo Distribution package created as $(PACKAGE).tgz + + clean: ++ @-rm -f $(PODIR)/*.mo $(PODIR)/*.pot + @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ + +diff -Nru reelchannelscan-0.4.3/po/ca_ES.po reelchannelscan-0.4.3-gettext-i18n/po/ca_ES.po +--- reelchannelscan-0.4.3/po/ca_ES.po 1970-01-01 01:00:00.000000000 +0100 ++++ reelchannelscan-0.4.3-gettext-i18n/po/ca_ES.po 2008-04-01 22:12:11.000000000 +0200 +@@ -0,0 +1,261 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Marc Rovira Vall <tm05462@salleURL.edu>, 2003 ++# Ramon Roca <ramon.roca@xcombo.com>, 2003 ++# Jordi Vilà <jvila@tinet.org>, 2003 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-01 22:12+0200\n" ++"PO-Revision-Date: 2008-04-01 22:12+0200\n" ++"Last-Translator: Jordi Vilà <jvila@tinet.org>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-1\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: channelscan.c:43 ++msgid "TV only" ++msgstr "" ++ ++#: channelscan.c:44 ++msgid "Radio only" ++msgstr "" ++ ++#: channelscan.c:45 ++msgid "Radio + TV" ++msgstr "" ++ ++#: channelscan.c:54 ++msgid "Service Type" ++msgstr "" ++ ++#: csmenu.c:70 ++msgid "Channelscan" ++msgstr "" ++ ++#: csmenu.c:92 ++msgid "None" ++msgstr "" ++ ++#: csmenu.c:101 csmenu.c:962 csmenu.c:964 ++msgid "Auto" ++msgstr "" ++ ++#: csmenu.c:116 csmenu.c:133 csmenu.c:277 csmenu.c:280 ++msgid "Manual" ++msgstr "" ++ ++#: csmenu.c:117 csmenu.c:277 csmenu.c:280 ++msgid "SearchMode$Auto" ++msgstr "" ++ ++#: csmenu.c:118 ++msgid "SearchMode$Auto NIT" ++msgstr "" ++ ++#: csmenu.c:131 ++msgid "Intelligent 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:132 ++msgid "Try all 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:200 ++msgid "DVB-T - Terrestrial" ++msgstr "" ++ ++#: csmenu.c:200 csmenu.c:204 csmenu.c:208 ++msgid "Tuner" ++msgstr "" ++ ++#: csmenu.c:204 ++msgid "DVB-C - Cable" ++msgstr "" ++ ++#: csmenu.c:208 ++msgid "DVB-S - Satellite" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:265 ++msgid "Setup.DVB$Update channels" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "no" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "yes" ++msgstr "" ++ ++#: csmenu.c:263 ++msgid "Select channel list" ++msgstr "" ++ ++#: csmenu.c:268 ++msgid "Source" ++msgstr "" ++ ++#: csmenu.c:272 csmenu.c:277 csmenu.c:280 ++msgid "Search Mode" ++msgstr "" ++ ++#: csmenu.c:273 ++msgid "Position" ++msgstr "" ++ ++#: csmenu.c:276 ++msgid "Detailed search" ++msgstr "" ++ ++#: csmenu.c:293 ++msgid "Frequency (MHz)" ++msgstr "" ++ ++#: csmenu.c:294 ++msgid "Polarization" ++msgstr "" ++ ++#: csmenu.c:295 csmenu.c:310 ++msgid "Symbolrate" ++msgstr "" ++ ++#: csmenu.c:296 ++msgid "FEC" ++msgstr "" ++ ++#: csmenu.c:301 csmenu.c:308 ++msgid "Frequency (kHz)" ++msgstr "" ++ ++#: csmenu.c:302 csmenu.c:309 ++msgid "Bandwidth" ++msgstr "" ++ ++#: csmenu.c:311 ++msgid "Modulation" ++msgstr "" ++ ++#: csmenu.c:333 csmenu.c:335 ++msgid "Button$Start" ++msgstr "" ++ ++#: csmenu.c:333 ++msgid "Channel sel." ++msgstr "" ++ ++#: csmenu.c:352 ++msgid "DiSEqC" ++msgstr "" ++ ++#: csmenu.c:357 csmenu.c:711 ++msgid "Scanning aborted" ++msgstr "" ++ ++#: csmenu.c:360 ++msgid "Scanning succed" ++msgstr "" ++ ++#: csmenu.c:363 ++msgid "Retrieving transponders failed!" ++msgstr "" ++ ++#: csmenu.c:364 ++msgid "Please check satellites.conf." ++msgstr "" ++ ++#: csmenu.c:367 ++msgid "Tuner preserved no lock!" ++msgstr "" ++ ++#: csmenu.c:368 ++msgid "Please check your comnections and satellites.conf." ++msgstr "" ++ ++#: csmenu.c:371 ++msgid "Unpredictable error occured!" ++msgstr "" ++ ++#: csmenu.c:372 ++msgid "Please try again later" ++msgstr "" ++ ++#: csmenu.c:377 ++msgid "channels in current list" ++msgstr "" ++ ++#: csmenu.c:546 ++msgid "TV CHANNELS RADIO" ++msgstr "" ++ ++#: csmenu.c:655 ++#, c-format ++msgid "Retrieving transponder list from %s" ++msgstr "" ++ ++#: csmenu.c:664 ++#, c-format ++msgid "Scanning %s (%iMHz)\t%s" ++msgstr "" ++ ++#: csmenu.c:670 ++#, c-format ++msgid "Scanning %s (%.3fMHz)\t%s" ++msgstr "" ++ ++#: csmenu.c:682 ++msgid "No new channels found" ++msgstr "" ++ ++#: csmenu.c:686 ++msgid "Added new channels" ++msgstr "" ++ ++#: csmenu.c:690 ++msgid "Press OK to finish or Exit for new scan" ++msgstr "" ++ ++#: csmenu.c:946 ++msgid "Scanning on transponder" ++msgstr "" ++ ++#: csmenu.c:1037 ++msgid "disabled" ++msgstr "" ++ ++#: csmenu.c:1037 ++msgid "enabled" ++msgstr "" ++ ++#: csmenu.c:1075 ++msgid "Channel lists" ++msgstr "" ++ ++#: csmenu.c:1165 ++msgid "Changes Done" ++msgstr "" ++ ++#: csmenu.c:1167 ++msgid "Please check your Timers!" ++msgstr "" ++ ++#: csmenu.c:1172 ++msgid "Changes failed" ++msgstr "" ++ ++#: csmenu.c:1241 ++msgid "Delete channel list?" ++msgstr "" ++ ++#: transponders.c:295 transponders.c:507 ++msgid "Terrestrial" ++msgstr "" ++ ++#: transponders.c:307 ++msgid "Cable" ++msgstr "" +diff -Nru reelchannelscan-0.4.3/po/channelscan.pot reelchannelscan-0.4.3-gettext-i18n/po/channelscan.pot +--- reelchannelscan-0.4.3/po/channelscan.pot 1970-01-01 01:00:00.000000000 +0100 ++++ reelchannelscan-0.4.3-gettext-i18n/po/channelscan.pot 2008-04-01 22:12:11.000000000 +0200 +@@ -0,0 +1,260 @@ ++# SOME DESCRIPTIVE TITLE. ++# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER ++# This file is distributed under the same license as the PACKAGE package. ++# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. ++# ++#, fuzzy ++msgid "" ++msgstr "" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-01 22:12+0200\n" ++"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" ++"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" ++"Language-Team: LANGUAGE <LL@li.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=CHARSET\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: channelscan.c:43 ++msgid "TV only" ++msgstr "" ++ ++#: channelscan.c:44 ++msgid "Radio only" ++msgstr "" ++ ++#: channelscan.c:45 ++msgid "Radio + TV" ++msgstr "" ++ ++#: channelscan.c:54 ++msgid "Service Type" ++msgstr "" ++ ++#: csmenu.c:70 ++msgid "Channelscan" ++msgstr "" ++ ++#: csmenu.c:92 ++msgid "None" ++msgstr "" ++ ++#: csmenu.c:101 csmenu.c:962 csmenu.c:964 ++msgid "Auto" ++msgstr "" ++ ++#: csmenu.c:116 csmenu.c:133 csmenu.c:277 csmenu.c:280 ++msgid "Manual" ++msgstr "" ++ ++#: csmenu.c:117 csmenu.c:277 csmenu.c:280 ++msgid "SearchMode$Auto" ++msgstr "" ++ ++#: csmenu.c:118 ++msgid "SearchMode$Auto NIT" ++msgstr "" ++ ++#: csmenu.c:131 ++msgid "Intelligent 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:132 ++msgid "Try all 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:200 ++msgid "DVB-T - Terrestrial" ++msgstr "" ++ ++#: csmenu.c:200 csmenu.c:204 csmenu.c:208 ++msgid "Tuner" ++msgstr "" ++ ++#: csmenu.c:204 ++msgid "DVB-C - Cable" ++msgstr "" ++ ++#: csmenu.c:208 ++msgid "DVB-S - Satellite" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:265 ++msgid "Setup.DVB$Update channels" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "no" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "yes" ++msgstr "" ++ ++#: csmenu.c:263 ++msgid "Select channel list" ++msgstr "" ++ ++#: csmenu.c:268 ++msgid "Source" ++msgstr "" ++ ++#: csmenu.c:272 csmenu.c:277 csmenu.c:280 ++msgid "Search Mode" ++msgstr "" ++ ++#: csmenu.c:273 ++msgid "Position" ++msgstr "" ++ ++#: csmenu.c:276 ++msgid "Detailed search" ++msgstr "" ++ ++#: csmenu.c:293 ++msgid "Frequency (MHz)" ++msgstr "" ++ ++#: csmenu.c:294 ++msgid "Polarization" ++msgstr "" ++ ++#: csmenu.c:295 csmenu.c:310 ++msgid "Symbolrate" ++msgstr "" ++ ++#: csmenu.c:296 ++msgid "FEC" ++msgstr "" ++ ++#: csmenu.c:301 csmenu.c:308 ++msgid "Frequency (kHz)" ++msgstr "" ++ ++#: csmenu.c:302 csmenu.c:309 ++msgid "Bandwidth" ++msgstr "" ++ ++#: csmenu.c:311 ++msgid "Modulation" ++msgstr "" ++ ++#: csmenu.c:333 csmenu.c:335 ++msgid "Button$Start" ++msgstr "" ++ ++#: csmenu.c:333 ++msgid "Channel sel." ++msgstr "" ++ ++#: csmenu.c:352 ++msgid "DiSEqC" ++msgstr "" ++ ++#: csmenu.c:357 csmenu.c:711 ++msgid "Scanning aborted" ++msgstr "" ++ ++#: csmenu.c:360 ++msgid "Scanning succed" ++msgstr "" ++ ++#: csmenu.c:363 ++msgid "Retrieving transponders failed!" ++msgstr "" ++ ++#: csmenu.c:364 ++msgid "Please check satellites.conf." ++msgstr "" ++ ++#: csmenu.c:367 ++msgid "Tuner preserved no lock!" ++msgstr "" ++ ++#: csmenu.c:368 ++msgid "Please check your comnections and satellites.conf." ++msgstr "" ++ ++#: csmenu.c:371 ++msgid "Unpredictable error occured!" ++msgstr "" ++ ++#: csmenu.c:372 ++msgid "Please try again later" ++msgstr "" ++ ++#: csmenu.c:377 ++msgid "channels in current list" ++msgstr "" ++ ++#: csmenu.c:546 ++msgid "TV CHANNELS RADIO" ++msgstr "" ++ ++#: csmenu.c:655 ++#, c-format ++msgid "Retrieving transponder list from %s" ++msgstr "" ++ ++#: csmenu.c:664 ++#, c-format ++msgid "Scanning %s (%iMHz)\t%s" ++msgstr "" ++ ++#: csmenu.c:670 ++#, c-format ++msgid "Scanning %s (%.3fMHz)\t%s" ++msgstr "" ++ ++#: csmenu.c:682 ++msgid "No new channels found" ++msgstr "" ++ ++#: csmenu.c:686 ++msgid "Added new channels" ++msgstr "" ++ ++#: csmenu.c:690 ++msgid "Press OK to finish or Exit for new scan" ++msgstr "" ++ ++#: csmenu.c:946 ++msgid "Scanning on transponder" ++msgstr "" ++ ++#: csmenu.c:1037 ++msgid "disabled" ++msgstr "" ++ ++#: csmenu.c:1037 ++msgid "enabled" ++msgstr "" ++ ++#: csmenu.c:1075 ++msgid "Channel lists" ++msgstr "" ++ ++#: csmenu.c:1165 ++msgid "Changes Done" ++msgstr "" ++ ++#: csmenu.c:1167 ++msgid "Please check your Timers!" ++msgstr "" ++ ++#: csmenu.c:1172 ++msgid "Changes failed" ++msgstr "" ++ ++#: csmenu.c:1241 ++msgid "Delete channel list?" ++msgstr "" ++ ++#: transponders.c:295 transponders.c:507 ++msgid "Terrestrial" ++msgstr "" ++ ++#: transponders.c:307 ++msgid "Cable" ++msgstr "" +diff -Nru reelchannelscan-0.4.3/po/cs_CZ.po reelchannelscan-0.4.3-gettext-i18n/po/cs_CZ.po +--- reelchannelscan-0.4.3/po/cs_CZ.po 1970-01-01 01:00:00.000000000 +0100 ++++ reelchannelscan-0.4.3-gettext-i18n/po/cs_CZ.po 2008-04-01 22:12:11.000000000 +0200 +@@ -0,0 +1,259 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Vladimír Bárta <vladimir.barta@k2atmitec.cz>, 2006 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-01 22:12+0200\n" ++"PO-Revision-Date: 2008-04-01 22:12+0200\n" ++"Last-Translator: Vladimír Bárta <vladimir.barta@k2atmitec.cz>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-2\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: channelscan.c:43 ++msgid "TV only" ++msgstr "" ++ ++#: channelscan.c:44 ++msgid "Radio only" ++msgstr "" ++ ++#: channelscan.c:45 ++msgid "Radio + TV" ++msgstr "" ++ ++#: channelscan.c:54 ++msgid "Service Type" ++msgstr "" ++ ++#: csmenu.c:70 ++msgid "Channelscan" ++msgstr "" ++ ++#: csmenu.c:92 ++msgid "None" ++msgstr "" ++ ++#: csmenu.c:101 csmenu.c:962 csmenu.c:964 ++msgid "Auto" ++msgstr "" ++ ++#: csmenu.c:116 csmenu.c:133 csmenu.c:277 csmenu.c:280 ++msgid "Manual" ++msgstr "" ++ ++#: csmenu.c:117 csmenu.c:277 csmenu.c:280 ++msgid "SearchMode$Auto" ++msgstr "" ++ ++#: csmenu.c:118 ++msgid "SearchMode$Auto NIT" ++msgstr "" ++ ++#: csmenu.c:131 ++msgid "Intelligent 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:132 ++msgid "Try all 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:200 ++msgid "DVB-T - Terrestrial" ++msgstr "" ++ ++#: csmenu.c:200 csmenu.c:204 csmenu.c:208 ++msgid "Tuner" ++msgstr "" ++ ++#: csmenu.c:204 ++msgid "DVB-C - Cable" ++msgstr "" ++ ++#: csmenu.c:208 ++msgid "DVB-S - Satellite" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:265 ++msgid "Setup.DVB$Update channels" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "no" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "yes" ++msgstr "" ++ ++#: csmenu.c:263 ++msgid "Select channel list" ++msgstr "" ++ ++#: csmenu.c:268 ++msgid "Source" ++msgstr "" ++ ++#: csmenu.c:272 csmenu.c:277 csmenu.c:280 ++msgid "Search Mode" ++msgstr "" ++ ++#: csmenu.c:273 ++msgid "Position" ++msgstr "" ++ ++#: csmenu.c:276 ++msgid "Detailed search" ++msgstr "" ++ ++#: csmenu.c:293 ++msgid "Frequency (MHz)" ++msgstr "" ++ ++#: csmenu.c:294 ++msgid "Polarization" ++msgstr "" ++ ++#: csmenu.c:295 csmenu.c:310 ++msgid "Symbolrate" ++msgstr "" ++ ++#: csmenu.c:296 ++msgid "FEC" ++msgstr "" ++ ++#: csmenu.c:301 csmenu.c:308 ++msgid "Frequency (kHz)" ++msgstr "" ++ ++#: csmenu.c:302 csmenu.c:309 ++msgid "Bandwidth" ++msgstr "" ++ ++#: csmenu.c:311 ++msgid "Modulation" ++msgstr "" ++ ++#: csmenu.c:333 csmenu.c:335 ++msgid "Button$Start" ++msgstr "" ++ ++#: csmenu.c:333 ++msgid "Channel sel." ++msgstr "" ++ ++#: csmenu.c:352 ++msgid "DiSEqC" ++msgstr "" ++ ++#: csmenu.c:357 csmenu.c:711 ++msgid "Scanning aborted" ++msgstr "" ++ ++#: csmenu.c:360 ++msgid "Scanning succed" ++msgstr "" ++ ++#: csmenu.c:363 ++msgid "Retrieving transponders failed!" ++msgstr "" ++ ++#: csmenu.c:364 ++msgid "Please check satellites.conf." ++msgstr "" ++ ++#: csmenu.c:367 ++msgid "Tuner preserved no lock!" ++msgstr "" ++ ++#: csmenu.c:368 ++msgid "Please check your comnections and satellites.conf." ++msgstr "" ++ ++#: csmenu.c:371 ++msgid "Unpredictable error occured!" ++msgstr "" ++ ++#: csmenu.c:372 ++msgid "Please try again later" ++msgstr "" ++ ++#: csmenu.c:377 ++msgid "channels in current list" ++msgstr "" ++ ++#: csmenu.c:546 ++msgid "TV CHANNELS RADIO" ++msgstr "" ++ ++#: csmenu.c:655 ++#, c-format ++msgid "Retrieving transponder list from %s" ++msgstr "" ++ ++#: csmenu.c:664 ++#, c-format ++msgid "Scanning %s (%iMHz)\t%s" ++msgstr "" ++ ++#: csmenu.c:670 ++#, c-format ++msgid "Scanning %s (%.3fMHz)\t%s" ++msgstr "" ++ ++#: csmenu.c:682 ++msgid "No new channels found" ++msgstr "" ++ ++#: csmenu.c:686 ++msgid "Added new channels" ++msgstr "" ++ ++#: csmenu.c:690 ++msgid "Press OK to finish or Exit for new scan" ++msgstr "" ++ ++#: csmenu.c:946 ++msgid "Scanning on transponder" ++msgstr "" ++ ++#: csmenu.c:1037 ++msgid "disabled" ++msgstr "" ++ ++#: csmenu.c:1037 ++msgid "enabled" ++msgstr "" ++ ++#: csmenu.c:1075 ++msgid "Channel lists" ++msgstr "" ++ ++#: csmenu.c:1165 ++msgid "Changes Done" ++msgstr "" ++ ++#: csmenu.c:1167 ++msgid "Please check your Timers!" ++msgstr "" ++ ++#: csmenu.c:1172 ++msgid "Changes failed" ++msgstr "" ++ ++#: csmenu.c:1241 ++msgid "Delete channel list?" ++msgstr "" ++ ++#: transponders.c:295 transponders.c:507 ++msgid "Terrestrial" ++msgstr "" ++ ++#: transponders.c:307 ++msgid "Cable" ++msgstr "" +diff -Nru reelchannelscan-0.4.3/po/da_DK.po reelchannelscan-0.4.3-gettext-i18n/po/da_DK.po +--- reelchannelscan-0.4.3/po/da_DK.po 1970-01-01 01:00:00.000000000 +0100 ++++ reelchannelscan-0.4.3-gettext-i18n/po/da_DK.po 2008-04-01 22:12:11.000000000 +0200 +@@ -0,0 +1,259 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Mogens Elneff <mogens@elneff.dk>, 2004 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-01 22:12+0200\n" ++"PO-Revision-Date: 2008-04-01 22:12+0200\n" ++"Last-Translator: Mogens Elneff <mogens@elneff.dk>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-15\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: channelscan.c:43 ++msgid "TV only" ++msgstr "" ++ ++#: channelscan.c:44 ++msgid "Radio only" ++msgstr "" ++ ++#: channelscan.c:45 ++msgid "Radio + TV" ++msgstr "" ++ ++#: channelscan.c:54 ++msgid "Service Type" ++msgstr "" ++ ++#: csmenu.c:70 ++msgid "Channelscan" ++msgstr "" ++ ++#: csmenu.c:92 ++msgid "None" ++msgstr "" ++ ++#: csmenu.c:101 csmenu.c:962 csmenu.c:964 ++msgid "Auto" ++msgstr "" ++ ++#: csmenu.c:116 csmenu.c:133 csmenu.c:277 csmenu.c:280 ++msgid "Manual" ++msgstr "" ++ ++#: csmenu.c:117 csmenu.c:277 csmenu.c:280 ++msgid "SearchMode$Auto" ++msgstr "" ++ ++#: csmenu.c:118 ++msgid "SearchMode$Auto NIT" ++msgstr "" ++ ++#: csmenu.c:131 ++msgid "Intelligent 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:132 ++msgid "Try all 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:200 ++msgid "DVB-T - Terrestrial" ++msgstr "" ++ ++#: csmenu.c:200 csmenu.c:204 csmenu.c:208 ++msgid "Tuner" ++msgstr "" ++ ++#: csmenu.c:204 ++msgid "DVB-C - Cable" ++msgstr "" ++ ++#: csmenu.c:208 ++msgid "DVB-S - Satellite" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:265 ++msgid "Setup.DVB$Update channels" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "no" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "yes" ++msgstr "" ++ ++#: csmenu.c:263 ++msgid "Select channel list" ++msgstr "" ++ ++#: csmenu.c:268 ++msgid "Source" ++msgstr "" ++ ++#: csmenu.c:272 csmenu.c:277 csmenu.c:280 ++msgid "Search Mode" ++msgstr "" ++ ++#: csmenu.c:273 ++msgid "Position" ++msgstr "" ++ ++#: csmenu.c:276 ++msgid "Detailed search" ++msgstr "" ++ ++#: csmenu.c:293 ++msgid "Frequency (MHz)" ++msgstr "" ++ ++#: csmenu.c:294 ++msgid "Polarization" ++msgstr "" ++ ++#: csmenu.c:295 csmenu.c:310 ++msgid "Symbolrate" ++msgstr "" ++ ++#: csmenu.c:296 ++msgid "FEC" ++msgstr "" ++ ++#: csmenu.c:301 csmenu.c:308 ++msgid "Frequency (kHz)" ++msgstr "" ++ ++#: csmenu.c:302 csmenu.c:309 ++msgid "Bandwidth" ++msgstr "" ++ ++#: csmenu.c:311 ++msgid "Modulation" ++msgstr "" ++ ++#: csmenu.c:333 csmenu.c:335 ++msgid "Button$Start" ++msgstr "" ++ ++#: csmenu.c:333 ++msgid "Channel sel." ++msgstr "" ++ ++#: csmenu.c:352 ++msgid "DiSEqC" ++msgstr "" ++ ++#: csmenu.c:357 csmenu.c:711 ++msgid "Scanning aborted" ++msgstr "" ++ ++#: csmenu.c:360 ++msgid "Scanning succed" ++msgstr "" ++ ++#: csmenu.c:363 ++msgid "Retrieving transponders failed!" ++msgstr "" ++ ++#: csmenu.c:364 ++msgid "Please check satellites.conf." ++msgstr "" ++ ++#: csmenu.c:367 ++msgid "Tuner preserved no lock!" ++msgstr "" ++ ++#: csmenu.c:368 ++msgid "Please check your comnections and satellites.conf." ++msgstr "" ++ ++#: csmenu.c:371 ++msgid "Unpredictable error occured!" ++msgstr "" ++ ++#: csmenu.c:372 ++msgid "Please try again later" ++msgstr "" ++ ++#: csmenu.c:377 ++msgid "channels in current list" ++msgstr "" ++ ++#: csmenu.c:546 ++msgid "TV CHANNELS RADIO" ++msgstr "" ++ ++#: csmenu.c:655 ++#, c-format ++msgid "Retrieving transponder list from %s" ++msgstr "" ++ ++#: csmenu.c:664 ++#, c-format ++msgid "Scanning %s (%iMHz)\t%s" ++msgstr "" ++ ++#: csmenu.c:670 ++#, c-format ++msgid "Scanning %s (%.3fMHz)\t%s" ++msgstr "" ++ ++#: csmenu.c:682 ++msgid "No new channels found" ++msgstr "" ++ ++#: csmenu.c:686 ++msgid "Added new channels" ++msgstr "" ++ ++#: csmenu.c:690 ++msgid "Press OK to finish or Exit for new scan" ++msgstr "" ++ ++#: csmenu.c:946 ++msgid "Scanning on transponder" ++msgstr "" ++ ++#: csmenu.c:1037 ++msgid "disabled" ++msgstr "" ++ ++#: csmenu.c:1037 ++msgid "enabled" ++msgstr "" ++ ++#: csmenu.c:1075 ++msgid "Channel lists" ++msgstr "" ++ ++#: csmenu.c:1165 ++msgid "Changes Done" ++msgstr "" ++ ++#: csmenu.c:1167 ++msgid "Please check your Timers!" ++msgstr "" ++ ++#: csmenu.c:1172 ++msgid "Changes failed" ++msgstr "" ++ ++#: csmenu.c:1241 ++msgid "Delete channel list?" ++msgstr "" ++ ++#: transponders.c:295 transponders.c:507 ++msgid "Terrestrial" ++msgstr "" ++ ++#: transponders.c:307 ++msgid "Cable" ++msgstr "" +diff -Nru reelchannelscan-0.4.3/po/de_DE.po reelchannelscan-0.4.3-gettext-i18n/po/de_DE.po +--- reelchannelscan-0.4.3/po/de_DE.po 1970-01-01 01:00:00.000000000 +0100 ++++ reelchannelscan-0.4.3-gettext-i18n/po/de_DE.po 2008-04-01 22:12:11.000000000 +0200 +@@ -0,0 +1,259 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Klaus Schmidinger <kls@cadsoft.de>, 2000 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-01 22:12+0200\n" ++"PO-Revision-Date: 2008-04-01 22:12+0200\n" ++"Last-Translator: Klaus Schmidinger <kls@cadsoft.de>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-15\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: channelscan.c:43 ++msgid "TV only" ++msgstr "nur TV" ++ ++#: channelscan.c:44 ++msgid "Radio only" ++msgstr "nur Radio" ++ ++#: channelscan.c:45 ++msgid "Radio + TV" ++msgstr "Radio + TV" ++ ++#: channelscan.c:54 ++msgid "Service Type" ++msgstr "Service Arten" ++ ++#: csmenu.c:70 ++msgid "Channelscan" ++msgstr "Kanalsuche" ++ ++#: csmenu.c:92 ++msgid "None" ++msgstr "Keine" ++ ++#: csmenu.c:101 csmenu.c:962 csmenu.c:964 ++msgid "Auto" ++msgstr "Auto" ++ ++#: csmenu.c:116 csmenu.c:133 csmenu.c:277 csmenu.c:280 ++msgid "Manual" ++msgstr "Manuell" ++ ++#: csmenu.c:117 csmenu.c:277 csmenu.c:280 ++msgid "SearchMode$Auto" ++msgstr "Automatisch" ++ ++#: csmenu.c:118 ++msgid "SearchMode$Auto NIT" ++msgstr "" ++ ++#: csmenu.c:131 ++msgid "Intelligent 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:132 ++msgid "Try all 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:200 ++msgid "DVB-T - Terrestrial" ++msgstr "DVB-T - Terrestrisch" ++ ++#: csmenu.c:200 csmenu.c:204 csmenu.c:208 ++msgid "Tuner" ++msgstr "" ++ ++#: csmenu.c:204 ++msgid "DVB-C - Cable" ++msgstr "DVB-C - Kabel" ++ ++#: csmenu.c:208 ++msgid "DVB-S - Satellite" ++msgstr "DVB-S - Satellit" ++ ++#: csmenu.c:260 csmenu.c:265 ++msgid "Setup.DVB$Update channels" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "no" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "yes" ++msgstr "" ++ ++#: csmenu.c:263 ++msgid "Select channel list" ++msgstr "" ++ ++#: csmenu.c:268 ++msgid "Source" ++msgstr "" ++ ++#: csmenu.c:272 csmenu.c:277 csmenu.c:280 ++msgid "Search Mode" ++msgstr "Suchmodus" ++ ++#: csmenu.c:273 ++msgid "Position" ++msgstr "Position" ++ ++#: csmenu.c:276 ++msgid "Detailed search" ++msgstr "Detaillierte Suche" ++ ++#: csmenu.c:293 ++msgid "Frequency (MHz)" ++msgstr "Frequenz (MHz)" ++ ++#: csmenu.c:294 ++msgid "Polarization" ++msgstr "" ++ ++#: csmenu.c:295 csmenu.c:310 ++msgid "Symbolrate" ++msgstr "Symbolrate" ++ ++#: csmenu.c:296 ++msgid "FEC" ++msgstr "FEC" ++ ++#: csmenu.c:301 csmenu.c:308 ++msgid "Frequency (kHz)" ++msgstr "Frequenz (kHz)" ++ ++#: csmenu.c:302 csmenu.c:309 ++msgid "Bandwidth" ++msgstr "" ++ ++#: csmenu.c:311 ++msgid "Modulation" ++msgstr "" ++ ++#: csmenu.c:333 csmenu.c:335 ++msgid "Button$Start" ++msgstr "Start" ++ ++#: csmenu.c:333 ++msgid "Channel sel." ++msgstr "Kanalliste" ++ ++#: csmenu.c:352 ++msgid "DiSEqC" ++msgstr "DiSEqC" ++ ++#: csmenu.c:357 csmenu.c:711 ++msgid "Scanning aborted" ++msgstr "" ++ ++#: csmenu.c:360 ++msgid "Scanning succed" ++msgstr "" ++ ++#: csmenu.c:363 ++msgid "Retrieving transponders failed!" ++msgstr "" ++ ++#: csmenu.c:364 ++msgid "Please check satellites.conf." ++msgstr "" ++ ++#: csmenu.c:367 ++msgid "Tuner preserved no lock!" ++msgstr "" ++ ++#: csmenu.c:368 ++msgid "Please check your comnections and satellites.conf." ++msgstr "" ++ ++#: csmenu.c:371 ++msgid "Unpredictable error occured!" ++msgstr "" ++ ++#: csmenu.c:372 ++msgid "Please try again later" ++msgstr "" ++ ++#: csmenu.c:377 ++msgid "channels in current list" ++msgstr "Kanäle in aktueller Liste" ++ ++#: csmenu.c:546 ++msgid "TV CHANNELS RADIO" ++msgstr "TV KANÄLE RADIO" ++ ++#: csmenu.c:655 ++#, c-format ++msgid "Retrieving transponder list from %s" ++msgstr "Erhalte Transponderliste von %s" ++ ++#: csmenu.c:664 ++#, c-format ++msgid "Scanning %s (%iMHz)\t%s" ++msgstr "Durchsuche %s (%iMHz)\t%s" ++ ++#: csmenu.c:670 ++#, c-format ++msgid "Scanning %s (%.3fMHz)\t%s" ++msgstr "Durchsuche %s (%.3fMHz)\t%s" ++ ++#: csmenu.c:682 ++msgid "No new channels found" ++msgstr "Keine neuen Kanäle gefunden" ++ ++#: csmenu.c:686 ++msgid "Added new channels" ++msgstr "Neue Kanäle hinzugefügt" ++ ++#: csmenu.c:690 ++msgid "Press OK to finish or Exit for new scan" ++msgstr "Drücken Sie OK zum Beenden oder Exit für eine neue Kanalsuche." ++ ++#: csmenu.c:946 ++msgid "Scanning on transponder" ++msgstr "Durchsuche Transponder" ++ ++#: csmenu.c:1037 ++msgid "disabled" ++msgstr "deaktiviert" ++ ++#: csmenu.c:1037 ++msgid "enabled" ++msgstr "aktiviert" ++ ++#: csmenu.c:1075 ++msgid "Channel lists" ++msgstr "Kanallisten" ++ ++#: csmenu.c:1165 ++msgid "Changes Done" ++msgstr "Änderung übernommen" ++ ++#: csmenu.c:1167 ++msgid "Please check your Timers!" ++msgstr "Bitte Timer überprüfen!" ++ ++#: csmenu.c:1172 ++msgid "Changes failed" ++msgstr "Änderung fehlgeschlagen" ++ ++#: csmenu.c:1241 ++msgid "Delete channel list?" ++msgstr "" ++ ++#: transponders.c:295 transponders.c:507 ++msgid "Terrestrial" ++msgstr "Terr." ++ ++#: transponders.c:307 ++msgid "Cable" ++msgstr "Kabel" +diff -Nru reelchannelscan-0.4.3/po/el_GR.po reelchannelscan-0.4.3-gettext-i18n/po/el_GR.po +--- reelchannelscan-0.4.3/po/el_GR.po 1970-01-01 01:00:00.000000000 +0100 ++++ reelchannelscan-0.4.3-gettext-i18n/po/el_GR.po 2008-04-01 22:12:11.000000000 +0200 +@@ -0,0 +1,259 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Dimitrios Dimitrakos <mail@dimitrios.de>, 2002 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-01 22:12+0200\n" ++"PO-Revision-Date: 2008-04-01 22:12+0200\n" ++"Last-Translator: Dimitrios Dimitrakos <mail@dimitrios.de>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-7\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: channelscan.c:43 ++msgid "TV only" ++msgstr "" ++ ++#: channelscan.c:44 ++msgid "Radio only" ++msgstr "" ++ ++#: channelscan.c:45 ++msgid "Radio + TV" ++msgstr "" ++ ++#: channelscan.c:54 ++msgid "Service Type" ++msgstr "" ++ ++#: csmenu.c:70 ++msgid "Channelscan" ++msgstr "" ++ ++#: csmenu.c:92 ++msgid "None" ++msgstr "" ++ ++#: csmenu.c:101 csmenu.c:962 csmenu.c:964 ++msgid "Auto" ++msgstr "" ++ ++#: csmenu.c:116 csmenu.c:133 csmenu.c:277 csmenu.c:280 ++msgid "Manual" ++msgstr "" ++ ++#: csmenu.c:117 csmenu.c:277 csmenu.c:280 ++msgid "SearchMode$Auto" ++msgstr "" ++ ++#: csmenu.c:118 ++msgid "SearchMode$Auto NIT" ++msgstr "" ++ ++#: csmenu.c:131 ++msgid "Intelligent 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:132 ++msgid "Try all 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:200 ++msgid "DVB-T - Terrestrial" ++msgstr "" ++ ++#: csmenu.c:200 csmenu.c:204 csmenu.c:208 ++msgid "Tuner" ++msgstr "" ++ ++#: csmenu.c:204 ++msgid "DVB-C - Cable" ++msgstr "" ++ ++#: csmenu.c:208 ++msgid "DVB-S - Satellite" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:265 ++msgid "Setup.DVB$Update channels" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "no" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "yes" ++msgstr "" ++ ++#: csmenu.c:263 ++msgid "Select channel list" ++msgstr "" ++ ++#: csmenu.c:268 ++msgid "Source" ++msgstr "" ++ ++#: csmenu.c:272 csmenu.c:277 csmenu.c:280 ++msgid "Search Mode" ++msgstr "" ++ ++#: csmenu.c:273 ++msgid "Position" ++msgstr "" ++ ++#: csmenu.c:276 ++msgid "Detailed search" ++msgstr "" ++ ++#: csmenu.c:293 ++msgid "Frequency (MHz)" ++msgstr "" ++ ++#: csmenu.c:294 ++msgid "Polarization" ++msgstr "" ++ ++#: csmenu.c:295 csmenu.c:310 ++msgid "Symbolrate" ++msgstr "" ++ ++#: csmenu.c:296 ++msgid "FEC" ++msgstr "" ++ ++#: csmenu.c:301 csmenu.c:308 ++msgid "Frequency (kHz)" ++msgstr "" ++ ++#: csmenu.c:302 csmenu.c:309 ++msgid "Bandwidth" ++msgstr "" ++ ++#: csmenu.c:311 ++msgid "Modulation" ++msgstr "" ++ ++#: csmenu.c:333 csmenu.c:335 ++msgid "Button$Start" ++msgstr "" ++ ++#: csmenu.c:333 ++msgid "Channel sel." ++msgstr "" ++ ++#: csmenu.c:352 ++msgid "DiSEqC" ++msgstr "" ++ ++#: csmenu.c:357 csmenu.c:711 ++msgid "Scanning aborted" ++msgstr "" ++ ++#: csmenu.c:360 ++msgid "Scanning succed" ++msgstr "" ++ ++#: csmenu.c:363 ++msgid "Retrieving transponders failed!" ++msgstr "" ++ ++#: csmenu.c:364 ++msgid "Please check satellites.conf." ++msgstr "" ++ ++#: csmenu.c:367 ++msgid "Tuner preserved no lock!" ++msgstr "" ++ ++#: csmenu.c:368 ++msgid "Please check your comnections and satellites.conf." ++msgstr "" ++ ++#: csmenu.c:371 ++msgid "Unpredictable error occured!" ++msgstr "" ++ ++#: csmenu.c:372 ++msgid "Please try again later" ++msgstr "" ++ ++#: csmenu.c:377 ++msgid "channels in current list" ++msgstr "" ++ ++#: csmenu.c:546 ++msgid "TV CHANNELS RADIO" ++msgstr "" ++ ++#: csmenu.c:655 ++#, c-format ++msgid "Retrieving transponder list from %s" ++msgstr "" ++ ++#: csmenu.c:664 ++#, c-format ++msgid "Scanning %s (%iMHz)\t%s" ++msgstr "" ++ ++#: csmenu.c:670 ++#, c-format ++msgid "Scanning %s (%.3fMHz)\t%s" ++msgstr "" ++ ++#: csmenu.c:682 ++msgid "No new channels found" ++msgstr "" ++ ++#: csmenu.c:686 ++msgid "Added new channels" ++msgstr "" ++ ++#: csmenu.c:690 ++msgid "Press OK to finish or Exit for new scan" ++msgstr "" ++ ++#: csmenu.c:946 ++msgid "Scanning on transponder" ++msgstr "" ++ ++#: csmenu.c:1037 ++msgid "disabled" ++msgstr "" ++ ++#: csmenu.c:1037 ++msgid "enabled" ++msgstr "" ++ ++#: csmenu.c:1075 ++msgid "Channel lists" ++msgstr "" ++ ++#: csmenu.c:1165 ++msgid "Changes Done" ++msgstr "" ++ ++#: csmenu.c:1167 ++msgid "Please check your Timers!" ++msgstr "" ++ ++#: csmenu.c:1172 ++msgid "Changes failed" ++msgstr "" ++ ++#: csmenu.c:1241 ++msgid "Delete channel list?" ++msgstr "" ++ ++#: transponders.c:295 transponders.c:507 ++msgid "Terrestrial" ++msgstr "" ++ ++#: transponders.c:307 ++msgid "Cable" ++msgstr "" +diff -Nru reelchannelscan-0.4.3/po/es_ES.po reelchannelscan-0.4.3-gettext-i18n/po/es_ES.po +--- reelchannelscan-0.4.3/po/es_ES.po 1970-01-01 01:00:00.000000000 +0100 ++++ reelchannelscan-0.4.3-gettext-i18n/po/es_ES.po 2008-04-01 22:12:11.000000000 +0200 +@@ -0,0 +1,259 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Ruben Nunez Francisco <ruben.nunez@tang-it.com>, 2002 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-01 22:12+0200\n" ++"PO-Revision-Date: 2008-04-01 22:12+0200\n" ++"Last-Translator: Ruben Nunez Francisco <ruben.nunez@tang-it.com>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-15\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: channelscan.c:43 ++msgid "TV only" ++msgstr "" ++ ++#: channelscan.c:44 ++msgid "Radio only" ++msgstr "" ++ ++#: channelscan.c:45 ++msgid "Radio + TV" ++msgstr "" ++ ++#: channelscan.c:54 ++msgid "Service Type" ++msgstr "" ++ ++#: csmenu.c:70 ++msgid "Channelscan" ++msgstr "" ++ ++#: csmenu.c:92 ++msgid "None" ++msgstr "" ++ ++#: csmenu.c:101 csmenu.c:962 csmenu.c:964 ++msgid "Auto" ++msgstr "" ++ ++#: csmenu.c:116 csmenu.c:133 csmenu.c:277 csmenu.c:280 ++msgid "Manual" ++msgstr "" ++ ++#: csmenu.c:117 csmenu.c:277 csmenu.c:280 ++msgid "SearchMode$Auto" ++msgstr "" ++ ++#: csmenu.c:118 ++msgid "SearchMode$Auto NIT" ++msgstr "" ++ ++#: csmenu.c:131 ++msgid "Intelligent 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:132 ++msgid "Try all 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:200 ++msgid "DVB-T - Terrestrial" ++msgstr "" ++ ++#: csmenu.c:200 csmenu.c:204 csmenu.c:208 ++msgid "Tuner" ++msgstr "" ++ ++#: csmenu.c:204 ++msgid "DVB-C - Cable" ++msgstr "" ++ ++#: csmenu.c:208 ++msgid "DVB-S - Satellite" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:265 ++msgid "Setup.DVB$Update channels" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "no" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "yes" ++msgstr "" ++ ++#: csmenu.c:263 ++msgid "Select channel list" ++msgstr "" ++ ++#: csmenu.c:268 ++msgid "Source" ++msgstr "" ++ ++#: csmenu.c:272 csmenu.c:277 csmenu.c:280 ++msgid "Search Mode" ++msgstr "" ++ ++#: csmenu.c:273 ++msgid "Position" ++msgstr "" ++ ++#: csmenu.c:276 ++msgid "Detailed search" ++msgstr "" ++ ++#: csmenu.c:293 ++msgid "Frequency (MHz)" ++msgstr "" ++ ++#: csmenu.c:294 ++msgid "Polarization" ++msgstr "" ++ ++#: csmenu.c:295 csmenu.c:310 ++msgid "Symbolrate" ++msgstr "" ++ ++#: csmenu.c:296 ++msgid "FEC" ++msgstr "" ++ ++#: csmenu.c:301 csmenu.c:308 ++msgid "Frequency (kHz)" ++msgstr "" ++ ++#: csmenu.c:302 csmenu.c:309 ++msgid "Bandwidth" ++msgstr "" ++ ++#: csmenu.c:311 ++msgid "Modulation" ++msgstr "" ++ ++#: csmenu.c:333 csmenu.c:335 ++msgid "Button$Start" ++msgstr "" ++ ++#: csmenu.c:333 ++msgid "Channel sel." ++msgstr "" ++ ++#: csmenu.c:352 ++msgid "DiSEqC" ++msgstr "" ++ ++#: csmenu.c:357 csmenu.c:711 ++msgid "Scanning aborted" ++msgstr "" ++ ++#: csmenu.c:360 ++msgid "Scanning succed" ++msgstr "" ++ ++#: csmenu.c:363 ++msgid "Retrieving transponders failed!" ++msgstr "" ++ ++#: csmenu.c:364 ++msgid "Please check satellites.conf." ++msgstr "" ++ ++#: csmenu.c:367 ++msgid "Tuner preserved no lock!" ++msgstr "" ++ ++#: csmenu.c:368 ++msgid "Please check your comnections and satellites.conf." ++msgstr "" ++ ++#: csmenu.c:371 ++msgid "Unpredictable error occured!" ++msgstr "" ++ ++#: csmenu.c:372 ++msgid "Please try again later" ++msgstr "" ++ ++#: csmenu.c:377 ++msgid "channels in current list" ++msgstr "" ++ ++#: csmenu.c:546 ++msgid "TV CHANNELS RADIO" ++msgstr "" ++ ++#: csmenu.c:655 ++#, c-format ++msgid "Retrieving transponder list from %s" ++msgstr "" ++ ++#: csmenu.c:664 ++#, c-format ++msgid "Scanning %s (%iMHz)\t%s" ++msgstr "" ++ ++#: csmenu.c:670 ++#, c-format ++msgid "Scanning %s (%.3fMHz)\t%s" ++msgstr "" ++ ++#: csmenu.c:682 ++msgid "No new channels found" ++msgstr "" ++ ++#: csmenu.c:686 ++msgid "Added new channels" ++msgstr "" ++ ++#: csmenu.c:690 ++msgid "Press OK to finish or Exit for new scan" ++msgstr "" ++ ++#: csmenu.c:946 ++msgid "Scanning on transponder" ++msgstr "" ++ ++#: csmenu.c:1037 ++msgid "disabled" ++msgstr "" ++ ++#: csmenu.c:1037 ++msgid "enabled" ++msgstr "" ++ ++#: csmenu.c:1075 ++msgid "Channel lists" ++msgstr "" ++ ++#: csmenu.c:1165 ++msgid "Changes Done" ++msgstr "" ++ ++#: csmenu.c:1167 ++msgid "Please check your Timers!" ++msgstr "" ++ ++#: csmenu.c:1172 ++msgid "Changes failed" ++msgstr "" ++ ++#: csmenu.c:1241 ++msgid "Delete channel list?" ++msgstr "" ++ ++#: transponders.c:295 transponders.c:507 ++msgid "Terrestrial" ++msgstr "" ++ ++#: transponders.c:307 ++msgid "Cable" ++msgstr "" +diff -Nru reelchannelscan-0.4.3/po/et_EE.po reelchannelscan-0.4.3-gettext-i18n/po/et_EE.po +--- reelchannelscan-0.4.3/po/et_EE.po 1970-01-01 01:00:00.000000000 +0100 ++++ reelchannelscan-0.4.3-gettext-i18n/po/et_EE.po 2008-04-01 22:12:11.000000000 +0200 +@@ -0,0 +1,259 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Arthur Konovalov <kasjas@hot.ee>, 2004 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-01 22:12+0200\n" ++"PO-Revision-Date: 2008-04-01 22:12+0200\n" ++"Last-Translator: Arthur Konovalov <kasjas@hot.ee>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-13\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: channelscan.c:43 ++msgid "TV only" ++msgstr "" ++ ++#: channelscan.c:44 ++msgid "Radio only" ++msgstr "" ++ ++#: channelscan.c:45 ++msgid "Radio + TV" ++msgstr "" ++ ++#: channelscan.c:54 ++msgid "Service Type" ++msgstr "" ++ ++#: csmenu.c:70 ++msgid "Channelscan" ++msgstr "" ++ ++#: csmenu.c:92 ++msgid "None" ++msgstr "" ++ ++#: csmenu.c:101 csmenu.c:962 csmenu.c:964 ++msgid "Auto" ++msgstr "" ++ ++#: csmenu.c:116 csmenu.c:133 csmenu.c:277 csmenu.c:280 ++msgid "Manual" ++msgstr "" ++ ++#: csmenu.c:117 csmenu.c:277 csmenu.c:280 ++msgid "SearchMode$Auto" ++msgstr "" ++ ++#: csmenu.c:118 ++msgid "SearchMode$Auto NIT" ++msgstr "" ++ ++#: csmenu.c:131 ++msgid "Intelligent 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:132 ++msgid "Try all 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:200 ++msgid "DVB-T - Terrestrial" ++msgstr "" ++ ++#: csmenu.c:200 csmenu.c:204 csmenu.c:208 ++msgid "Tuner" ++msgstr "" ++ ++#: csmenu.c:204 ++msgid "DVB-C - Cable" ++msgstr "" ++ ++#: csmenu.c:208 ++msgid "DVB-S - Satellite" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:265 ++msgid "Setup.DVB$Update channels" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "no" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "yes" ++msgstr "" ++ ++#: csmenu.c:263 ++msgid "Select channel list" ++msgstr "" ++ ++#: csmenu.c:268 ++msgid "Source" ++msgstr "" ++ ++#: csmenu.c:272 csmenu.c:277 csmenu.c:280 ++msgid "Search Mode" ++msgstr "" ++ ++#: csmenu.c:273 ++msgid "Position" ++msgstr "" ++ ++#: csmenu.c:276 ++msgid "Detailed search" ++msgstr "" ++ ++#: csmenu.c:293 ++msgid "Frequency (MHz)" ++msgstr "" ++ ++#: csmenu.c:294 ++msgid "Polarization" ++msgstr "" ++ ++#: csmenu.c:295 csmenu.c:310 ++msgid "Symbolrate" ++msgstr "" ++ ++#: csmenu.c:296 ++msgid "FEC" ++msgstr "" ++ ++#: csmenu.c:301 csmenu.c:308 ++msgid "Frequency (kHz)" ++msgstr "" ++ ++#: csmenu.c:302 csmenu.c:309 ++msgid "Bandwidth" ++msgstr "" ++ ++#: csmenu.c:311 ++msgid "Modulation" ++msgstr "" ++ ++#: csmenu.c:333 csmenu.c:335 ++msgid "Button$Start" ++msgstr "" ++ ++#: csmenu.c:333 ++msgid "Channel sel." ++msgstr "" ++ ++#: csmenu.c:352 ++msgid "DiSEqC" ++msgstr "" ++ ++#: csmenu.c:357 csmenu.c:711 ++msgid "Scanning aborted" ++msgstr "" ++ ++#: csmenu.c:360 ++msgid "Scanning succed" ++msgstr "" ++ ++#: csmenu.c:363 ++msgid "Retrieving transponders failed!" ++msgstr "" ++ ++#: csmenu.c:364 ++msgid "Please check satellites.conf." ++msgstr "" ++ ++#: csmenu.c:367 ++msgid "Tuner preserved no lock!" ++msgstr "" ++ ++#: csmenu.c:368 ++msgid "Please check your comnections and satellites.conf." ++msgstr "" ++ ++#: csmenu.c:371 ++msgid "Unpredictable error occured!" ++msgstr "" ++ ++#: csmenu.c:372 ++msgid "Please try again later" ++msgstr "" ++ ++#: csmenu.c:377 ++msgid "channels in current list" ++msgstr "" ++ ++#: csmenu.c:546 ++msgid "TV CHANNELS RADIO" ++msgstr "" ++ ++#: csmenu.c:655 ++#, c-format ++msgid "Retrieving transponder list from %s" ++msgstr "" ++ ++#: csmenu.c:664 ++#, c-format ++msgid "Scanning %s (%iMHz)\t%s" ++msgstr "" ++ ++#: csmenu.c:670 ++#, c-format ++msgid "Scanning %s (%.3fMHz)\t%s" ++msgstr "" ++ ++#: csmenu.c:682 ++msgid "No new channels found" ++msgstr "" ++ ++#: csmenu.c:686 ++msgid "Added new channels" ++msgstr "" ++ ++#: csmenu.c:690 ++msgid "Press OK to finish or Exit for new scan" ++msgstr "" ++ ++#: csmenu.c:946 ++msgid "Scanning on transponder" ++msgstr "" ++ ++#: csmenu.c:1037 ++msgid "disabled" ++msgstr "" ++ ++#: csmenu.c:1037 ++msgid "enabled" ++msgstr "" ++ ++#: csmenu.c:1075 ++msgid "Channel lists" ++msgstr "" ++ ++#: csmenu.c:1165 ++msgid "Changes Done" ++msgstr "" ++ ++#: csmenu.c:1167 ++msgid "Please check your Timers!" ++msgstr "" ++ ++#: csmenu.c:1172 ++msgid "Changes failed" ++msgstr "" ++ ++#: csmenu.c:1241 ++msgid "Delete channel list?" ++msgstr "" ++ ++#: transponders.c:295 transponders.c:507 ++msgid "Terrestrial" ++msgstr "" ++ ++#: transponders.c:307 ++msgid "Cable" ++msgstr "" +diff -Nru reelchannelscan-0.4.3/po/fi_FI.po reelchannelscan-0.4.3-gettext-i18n/po/fi_FI.po +--- reelchannelscan-0.4.3/po/fi_FI.po 1970-01-01 01:00:00.000000000 +0100 ++++ reelchannelscan-0.4.3-gettext-i18n/po/fi_FI.po 2008-04-01 22:12:11.000000000 +0200 +@@ -0,0 +1,262 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Hannu Savolainen <hannu@opensound.com>, 2002 ++# Jaakko Hyvätti <jaakko@hyvatti.iki.fi>, 2002 ++# Niko Tarnanen <niko.tarnanen@hut.fi>, 2003 ++# Rolf Ahrenberg <rahrenbe@cc.hut.fi>, 2003 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-01 22:12+0200\n" ++"PO-Revision-Date: 2008-04-01 22:12+0200\n" ++"Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-15\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: channelscan.c:43 ++msgid "TV only" ++msgstr "vain TV" ++ ++#: channelscan.c:44 ++msgid "Radio only" ++msgstr "vain radio" ++ ++#: channelscan.c:45 ++msgid "Radio + TV" ++msgstr "radio + TV" ++ ++#: channelscan.c:54 ++msgid "Service Type" ++msgstr "Haettavat palvelut" ++ ++#: csmenu.c:70 ++msgid "Channelscan" ++msgstr "Kanavahaku" ++ ++#: csmenu.c:92 ++msgid "None" ++msgstr "ei" ++ ++#: csmenu.c:101 csmenu.c:962 csmenu.c:964 ++msgid "Auto" ++msgstr "auto" ++ ++#: csmenu.c:116 csmenu.c:133 csmenu.c:277 csmenu.c:280 ++msgid "Manual" ++msgstr "manuaalinen" ++ ++#: csmenu.c:117 csmenu.c:277 csmenu.c:280 ++msgid "SearchMode$Auto" ++msgstr "automaattinen" ++ ++#: csmenu.c:118 ++msgid "SearchMode$Auto NIT" ++msgstr "" ++ ++#: csmenu.c:131 ++msgid "Intelligent 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:132 ++msgid "Try all 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:200 ++msgid "DVB-T - Terrestrial" ++msgstr "" ++ ++#: csmenu.c:200 csmenu.c:204 csmenu.c:208 ++msgid "Tuner" ++msgstr "" ++ ++#: csmenu.c:204 ++msgid "DVB-C - Cable" ++msgstr "" ++ ++#: csmenu.c:208 ++msgid "DVB-S - Satellite" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:265 ++msgid "Setup.DVB$Update channels" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "no" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "yes" ++msgstr "" ++ ++#: csmenu.c:263 ++msgid "Select channel list" ++msgstr "" ++ ++#: csmenu.c:268 ++msgid "Source" ++msgstr "" ++ ++#: csmenu.c:272 csmenu.c:277 csmenu.c:280 ++msgid "Search Mode" ++msgstr "Hakutapa" ++ ++#: csmenu.c:273 ++msgid "Position" ++msgstr "Sijainti" ++ ++#: csmenu.c:276 ++msgid "Detailed search" ++msgstr "" ++ ++#: csmenu.c:293 ++msgid "Frequency (MHz)" ++msgstr "" ++ ++#: csmenu.c:294 ++msgid "Polarization" ++msgstr "" ++ ++#: csmenu.c:295 csmenu.c:310 ++msgid "Symbolrate" ++msgstr "Symbolinopeus" ++ ++#: csmenu.c:296 ++msgid "FEC" ++msgstr "FEC" ++ ++#: csmenu.c:301 csmenu.c:308 ++msgid "Frequency (kHz)" ++msgstr "" ++ ++#: csmenu.c:302 csmenu.c:309 ++msgid "Bandwidth" ++msgstr "" ++ ++#: csmenu.c:311 ++msgid "Modulation" ++msgstr "" ++ ++#: csmenu.c:333 csmenu.c:335 ++msgid "Button$Start" ++msgstr "Aloita" ++ ++#: csmenu.c:333 ++msgid "Channel sel." ++msgstr "" ++ ++#: csmenu.c:352 ++msgid "DiSEqC" ++msgstr "DiSEqC-kytkin" ++ ++#: csmenu.c:357 csmenu.c:711 ++msgid "Scanning aborted" ++msgstr "" ++ ++#: csmenu.c:360 ++msgid "Scanning succed" ++msgstr "" ++ ++#: csmenu.c:363 ++msgid "Retrieving transponders failed!" ++msgstr "" ++ ++#: csmenu.c:364 ++msgid "Please check satellites.conf." ++msgstr "" ++ ++#: csmenu.c:367 ++msgid "Tuner preserved no lock!" ++msgstr "" ++ ++#: csmenu.c:368 ++msgid "Please check your comnections and satellites.conf." ++msgstr "" ++ ++#: csmenu.c:371 ++msgid "Unpredictable error occured!" ++msgstr "" ++ ++#: csmenu.c:372 ++msgid "Please try again later" ++msgstr "" ++ ++#: csmenu.c:377 ++msgid "channels in current list" ++msgstr "Tämänhetkiset kanavat" ++ ++#: csmenu.c:546 ++msgid "TV CHANNELS RADIO" ++msgstr "TV-kanavat Radio" ++ ++#: csmenu.c:655 ++#, c-format ++msgid "Retrieving transponder list from %s" ++msgstr "" ++ ++#: csmenu.c:664 ++#, c-format ++msgid "Scanning %s (%iMHz)\t%s" ++msgstr "" ++ ++#: csmenu.c:670 ++#, c-format ++msgid "Scanning %s (%.3fMHz)\t%s" ++msgstr "" ++ ++#: csmenu.c:682 ++msgid "No new channels found" ++msgstr "Uusia kanavia ei löydetty" ++ ++#: csmenu.c:686 ++msgid "Added new channels" ++msgstr "Uudet kanavat lisätty" ++ ++#: csmenu.c:690 ++msgid "Press OK to finish or Exit for new scan" ++msgstr "" ++ ++#: csmenu.c:946 ++msgid "Scanning on transponder" ++msgstr "Haetaan transponderilta" ++ ++#: csmenu.c:1037 ++msgid "disabled" ++msgstr "pois" ++ ++#: csmenu.c:1037 ++msgid "enabled" ++msgstr "päällä" ++ ++#: csmenu.c:1075 ++msgid "Channel lists" ++msgstr "" ++ ++#: csmenu.c:1165 ++msgid "Changes Done" ++msgstr "" ++ ++#: csmenu.c:1167 ++msgid "Please check your Timers!" ++msgstr "" ++ ++#: csmenu.c:1172 ++msgid "Changes failed" ++msgstr "" ++ ++#: csmenu.c:1241 ++msgid "Delete channel list?" ++msgstr "" ++ ++#: transponders.c:295 transponders.c:507 ++msgid "Terrestrial" ++msgstr "" ++ ++#: transponders.c:307 ++msgid "Cable" ++msgstr "" +diff -Nru reelchannelscan-0.4.3/po/fr_FR.po reelchannelscan-0.4.3-gettext-i18n/po/fr_FR.po +--- reelchannelscan-0.4.3/po/fr_FR.po 1970-01-01 01:00:00.000000000 +0100 ++++ reelchannelscan-0.4.3-gettext-i18n/po/fr_FR.po 2008-04-01 22:29:14.000000000 +0200 +@@ -0,0 +1,262 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Jean-Claude Repetto <jc@repetto.org>, 2001 ++# Olivier Jacques <jacquesolivier@hotmail.com>, 2003 ++# Gregoire Favre <greg@magma.unil.ch>, 2003 ++# Nicolas Huillard <nhuillard@e-dition.fr>, 2005 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-01 22:12+0200\n" ++"PO-Revision-Date: 2008-04-01 22:12+0200\n" ++"Last-Translator: Nicolas Huillard <nhuillard@e-dition.fr>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-1\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: channelscan.c:43 ++msgid "TV only" ++msgstr "TV seulement" ++ ++#: channelscan.c:44 ++msgid "Radio only" ++msgstr "Radio seulement" ++ ++#: channelscan.c:45 ++msgid "Radio + TV" ++msgstr "Radio + TV" ++ ++#: channelscan.c:54 ++msgid "Service Type" ++msgstr "Type de service" ++ ++#: csmenu.c:70 ++msgid "Channelscan" ++msgstr "Channelscan" ++ ++#: csmenu.c:92 ++msgid "None" ++msgstr "Aucun" ++ ++#: csmenu.c:101 csmenu.c:962 csmenu.c:964 ++msgid "Auto" ++msgstr "Auto" ++ ++#: csmenu.c:116 csmenu.c:133 csmenu.c:277 csmenu.c:280 ++msgid "Manual" ++msgstr "Manuel" ++ ++#: csmenu.c:117 csmenu.c:277 csmenu.c:280 ++msgid "SearchMode$Auto" ++msgstr "Auto" ++ ++#: csmenu.c:118 ++msgid "SearchMode$Auto NIT" ++msgstr "Auto NIT" ++ ++#: csmenu.c:131 ++msgid "Intelligent 6900/6875/6111" ++msgstr "Intelligent 6900/6875/6111" ++ ++#: csmenu.c:132 ++msgid "Try all 6900/6875/6111" ++msgstr "Essayer tous 6900/6875/6111" ++ ++#: csmenu.c:200 ++msgid "DVB-T - Terrestrial" ++msgstr "DVB-T - Terrestre" ++ ++#: csmenu.c:200 csmenu.c:204 csmenu.c:208 ++msgid "Tuner" ++msgstr "Tuner" ++ ++#: csmenu.c:204 ++msgid "DVB-C - Cable" ++msgstr "DVB-C - Câble" ++ ++#: csmenu.c:208 ++msgid "DVB-S - Satellite" ++msgstr "DVB-S - Satellite" ++ ++#: csmenu.c:260 csmenu.c:265 ++msgid "Setup.DVB$Update channels" ++msgstr "MAJ des chaînes" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "no" ++msgstr "non" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "yes" ++msgstr "oui" ++ ++#: csmenu.c:263 ++msgid "Select channel list" ++msgstr "Sélectionner liste de chaîne" ++ ++#: csmenu.c:268 ++msgid "Source" ++msgstr "Source" ++ ++#: csmenu.c:272 csmenu.c:277 csmenu.c:280 ++msgid "Search Mode" ++msgstr "Mode de recherche" ++ ++#: csmenu.c:273 ++msgid "Position" ++msgstr "Position" ++ ++#: csmenu.c:276 ++msgid "Detailed search" ++msgstr "Recherche détaillée" ++ ++#: csmenu.c:293 ++msgid "Frequency (MHz)" ++msgstr "Fréquence (Mhz)" ++ ++#: csmenu.c:294 ++msgid "Polarization" ++msgstr "Polarisation" ++ ++#: csmenu.c:295 csmenu.c:310 ++msgid "Symbolrate" ++msgstr "Symbolrate" ++ ++#: csmenu.c:296 ++msgid "FEC" ++msgstr "FEC" ++ ++#: csmenu.c:301 csmenu.c:308 ++msgid "Frequency (kHz)" ++msgstr "Fréquence (kHz)" ++ ++#: csmenu.c:302 csmenu.c:309 ++msgid "Bandwidth" ++msgstr "Bandwidth" ++ ++#: csmenu.c:311 ++msgid "Modulation" ++msgstr "Modulation" ++ ++#: csmenu.c:333 csmenu.c:335 ++msgid "Button$Start" ++msgstr "Start" ++ ++#: csmenu.c:333 ++msgid "Channel sel." ++msgstr "Sel. chaîne" ++ ++#: csmenu.c:352 ++msgid "DiSEqC" ++msgstr "DiSeqC" ++ ++#: csmenu.c:357 csmenu.c:711 ++msgid "Scanning aborted" ++msgstr "Abandon du scanne" ++ ++#: csmenu.c:360 ++msgid "Scanning succed" ++msgstr "Succès du scanne" ++ ++#: csmenu.c:363 ++msgid "Retrieving transponders failed!" ++msgstr "Récupération des transpondeurs en echec" ++ ++#: csmenu.c:364 ++msgid "Please check satellites.conf." ++msgstr "SVP regardé satellites.conf" ++ ++#: csmenu.c:367 ++msgid "Tuner preserved no lock!" ++msgstr "Vérouillage du tuner non préservé !" ++ ++#: csmenu.c:368 ++msgid "Please check your comnections and satellites.conf." ++msgstr "SVP regardé la connections et satellites.conf." ++ ++#: csmenu.c:371 ++msgid "Unpredictable error occured!" ++msgstr "Une erreur imprévisible c'est produite !" ++ ++#: csmenu.c:372 ++msgid "Please try again later" ++msgstr "SVP reéssayez plus tard" ++ ++#: csmenu.c:377 ++msgid "channels in current list" ++msgstr "Chaînes dan la liste courante" ++ ++#: csmenu.c:546 ++msgid "TV CHANNELS RADIO" ++msgstr "CHAINES TV RADIO" ++ ++#: csmenu.c:655 ++#, c-format ++msgid "Retrieving transponder list from %s" ++msgstr "Récupération de la liste des trans. pour %s" ++ ++#: csmenu.c:664 ++#, c-format ++msgid "Scanning %s (%iMHz)\t%s" ++msgstr "Scanne de %s (%iMHz)\t%s" ++ ++#: csmenu.c:670 ++#, c-format ++msgid "Scanning %s (%.3fMHz)\t%s" ++msgstr "Scanne de %s (%.3fMHz)\t%s" ++ ++#: csmenu.c:682 ++msgid "No new channels found" ++msgstr "Auune nouvelle chaîne trouvée" ++ ++#: csmenu.c:686 ++msgid "Added new channels" ++msgstr "Ajouté nouvelles chaînes" ++ ++#: csmenu.c:690 ++msgid "Press OK to finish or Exit for new scan" ++msgstr "Appuyer sur OK pour finir ou Exit pour un nouveau scan" ++ ++#: csmenu.c:946 ++msgid "Scanning on transponder" ++msgstr "Scanne du transpondeur" ++ ++#: csmenu.c:1037 ++msgid "disabled" ++msgstr "désactivé" ++ ++#: csmenu.c:1037 ++msgid "enabled" ++msgstr "activé" ++ ++#: csmenu.c:1075 ++msgid "Channel lists" ++msgstr "Liste de chaîne" ++ ++#: csmenu.c:1165 ++msgid "Changes Done" ++msgstr "Changement effectué" ++ ++#: csmenu.c:1167 ++msgid "Please check your Timers!" ++msgstr "SVP regardez votre programmateur!" ++ ++#: csmenu.c:1172 ++msgid "Changes failed" ++msgstr "Echec du changement" ++ ++#: csmenu.c:1241 ++msgid "Delete channel list?" ++msgstr "Supprimer la liste de chaîne ?" ++ ++#: transponders.c:295 transponders.c:507 ++msgid "Terrestrial" ++msgstr "Terrestre" ++ ++#: transponders.c:307 ++msgid "Cable" ++msgstr "Câble" +diff -Nru reelchannelscan-0.4.3/po/hr_HR.po reelchannelscan-0.4.3-gettext-i18n/po/hr_HR.po +--- reelchannelscan-0.4.3/po/hr_HR.po 1970-01-01 01:00:00.000000000 +0100 ++++ reelchannelscan-0.4.3-gettext-i18n/po/hr_HR.po 2008-04-01 22:12:11.000000000 +0200 +@@ -0,0 +1,260 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Drazen Dupor <drazen.dupor@dupor.com>, 2004 ++# Dino Ravnic <dino.ravnic@fer.hr>, 2004 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-01 22:12+0200\n" ++"PO-Revision-Date: 2008-04-01 22:12+0200\n" ++"Last-Translator: Drazen Dupor <drazen.dupor@dupor.com>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-2\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: channelscan.c:43 ++msgid "TV only" ++msgstr "" ++ ++#: channelscan.c:44 ++msgid "Radio only" ++msgstr "" ++ ++#: channelscan.c:45 ++msgid "Radio + TV" ++msgstr "" ++ ++#: channelscan.c:54 ++msgid "Service Type" ++msgstr "" ++ ++#: csmenu.c:70 ++msgid "Channelscan" ++msgstr "" ++ ++#: csmenu.c:92 ++msgid "None" ++msgstr "" ++ ++#: csmenu.c:101 csmenu.c:962 csmenu.c:964 ++msgid "Auto" ++msgstr "" ++ ++#: csmenu.c:116 csmenu.c:133 csmenu.c:277 csmenu.c:280 ++msgid "Manual" ++msgstr "" ++ ++#: csmenu.c:117 csmenu.c:277 csmenu.c:280 ++msgid "SearchMode$Auto" ++msgstr "" ++ ++#: csmenu.c:118 ++msgid "SearchMode$Auto NIT" ++msgstr "" ++ ++#: csmenu.c:131 ++msgid "Intelligent 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:132 ++msgid "Try all 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:200 ++msgid "DVB-T - Terrestrial" ++msgstr "" ++ ++#: csmenu.c:200 csmenu.c:204 csmenu.c:208 ++msgid "Tuner" ++msgstr "" ++ ++#: csmenu.c:204 ++msgid "DVB-C - Cable" ++msgstr "" ++ ++#: csmenu.c:208 ++msgid "DVB-S - Satellite" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:265 ++msgid "Setup.DVB$Update channels" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "no" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "yes" ++msgstr "" ++ ++#: csmenu.c:263 ++msgid "Select channel list" ++msgstr "" ++ ++#: csmenu.c:268 ++msgid "Source" ++msgstr "" ++ ++#: csmenu.c:272 csmenu.c:277 csmenu.c:280 ++msgid "Search Mode" ++msgstr "" ++ ++#: csmenu.c:273 ++msgid "Position" ++msgstr "" ++ ++#: csmenu.c:276 ++msgid "Detailed search" ++msgstr "" ++ ++#: csmenu.c:293 ++msgid "Frequency (MHz)" ++msgstr "" ++ ++#: csmenu.c:294 ++msgid "Polarization" ++msgstr "" ++ ++#: csmenu.c:295 csmenu.c:310 ++msgid "Symbolrate" ++msgstr "" ++ ++#: csmenu.c:296 ++msgid "FEC" ++msgstr "" ++ ++#: csmenu.c:301 csmenu.c:308 ++msgid "Frequency (kHz)" ++msgstr "" ++ ++#: csmenu.c:302 csmenu.c:309 ++msgid "Bandwidth" ++msgstr "" ++ ++#: csmenu.c:311 ++msgid "Modulation" ++msgstr "" ++ ++#: csmenu.c:333 csmenu.c:335 ++msgid "Button$Start" ++msgstr "" ++ ++#: csmenu.c:333 ++msgid "Channel sel." ++msgstr "" ++ ++#: csmenu.c:352 ++msgid "DiSEqC" ++msgstr "" ++ ++#: csmenu.c:357 csmenu.c:711 ++msgid "Scanning aborted" ++msgstr "" ++ ++#: csmenu.c:360 ++msgid "Scanning succed" ++msgstr "" ++ ++#: csmenu.c:363 ++msgid "Retrieving transponders failed!" ++msgstr "" ++ ++#: csmenu.c:364 ++msgid "Please check satellites.conf." ++msgstr "" ++ ++#: csmenu.c:367 ++msgid "Tuner preserved no lock!" ++msgstr "" ++ ++#: csmenu.c:368 ++msgid "Please check your comnections and satellites.conf." ++msgstr "" ++ ++#: csmenu.c:371 ++msgid "Unpredictable error occured!" ++msgstr "" ++ ++#: csmenu.c:372 ++msgid "Please try again later" ++msgstr "" ++ ++#: csmenu.c:377 ++msgid "channels in current list" ++msgstr "" ++ ++#: csmenu.c:546 ++msgid "TV CHANNELS RADIO" ++msgstr "" ++ ++#: csmenu.c:655 ++#, c-format ++msgid "Retrieving transponder list from %s" ++msgstr "" ++ ++#: csmenu.c:664 ++#, c-format ++msgid "Scanning %s (%iMHz)\t%s" ++msgstr "" ++ ++#: csmenu.c:670 ++#, c-format ++msgid "Scanning %s (%.3fMHz)\t%s" ++msgstr "" ++ ++#: csmenu.c:682 ++msgid "No new channels found" ++msgstr "" ++ ++#: csmenu.c:686 ++msgid "Added new channels" ++msgstr "" ++ ++#: csmenu.c:690 ++msgid "Press OK to finish or Exit for new scan" ++msgstr "" ++ ++#: csmenu.c:946 ++msgid "Scanning on transponder" ++msgstr "" ++ ++#: csmenu.c:1037 ++msgid "disabled" ++msgstr "" ++ ++#: csmenu.c:1037 ++msgid "enabled" ++msgstr "" ++ ++#: csmenu.c:1075 ++msgid "Channel lists" ++msgstr "" ++ ++#: csmenu.c:1165 ++msgid "Changes Done" ++msgstr "" ++ ++#: csmenu.c:1167 ++msgid "Please check your Timers!" ++msgstr "" ++ ++#: csmenu.c:1172 ++msgid "Changes failed" ++msgstr "" ++ ++#: csmenu.c:1241 ++msgid "Delete channel list?" ++msgstr "" ++ ++#: transponders.c:295 transponders.c:507 ++msgid "Terrestrial" ++msgstr "" ++ ++#: transponders.c:307 ++msgid "Cable" ++msgstr "" +diff -Nru reelchannelscan-0.4.3/po/hu_HU.po reelchannelscan-0.4.3-gettext-i18n/po/hu_HU.po +--- reelchannelscan-0.4.3/po/hu_HU.po 1970-01-01 01:00:00.000000000 +0100 ++++ reelchannelscan-0.4.3-gettext-i18n/po/hu_HU.po 2008-04-01 22:12:11.000000000 +0200 +@@ -0,0 +1,260 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Istvan Koenigsberger <istvnko@hotmail.com>, 2002 ++# Guido Josten <guido.josten@t-online.de>, 2002 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-01 22:12+0200\n" ++"PO-Revision-Date: 2008-04-01 22:12+0200\n" ++"Last-Translator: Istvan Koenigsberger <istvnko@hotmail.com>, Guido Josten <guido.josten@t-online.de>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-2\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: channelscan.c:43 ++msgid "TV only" ++msgstr "" ++ ++#: channelscan.c:44 ++msgid "Radio only" ++msgstr "" ++ ++#: channelscan.c:45 ++msgid "Radio + TV" ++msgstr "" ++ ++#: channelscan.c:54 ++msgid "Service Type" ++msgstr "" ++ ++#: csmenu.c:70 ++msgid "Channelscan" ++msgstr "" ++ ++#: csmenu.c:92 ++msgid "None" ++msgstr "" ++ ++#: csmenu.c:101 csmenu.c:962 csmenu.c:964 ++msgid "Auto" ++msgstr "" ++ ++#: csmenu.c:116 csmenu.c:133 csmenu.c:277 csmenu.c:280 ++msgid "Manual" ++msgstr "" ++ ++#: csmenu.c:117 csmenu.c:277 csmenu.c:280 ++msgid "SearchMode$Auto" ++msgstr "" ++ ++#: csmenu.c:118 ++msgid "SearchMode$Auto NIT" ++msgstr "" ++ ++#: csmenu.c:131 ++msgid "Intelligent 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:132 ++msgid "Try all 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:200 ++msgid "DVB-T - Terrestrial" ++msgstr "" ++ ++#: csmenu.c:200 csmenu.c:204 csmenu.c:208 ++msgid "Tuner" ++msgstr "" ++ ++#: csmenu.c:204 ++msgid "DVB-C - Cable" ++msgstr "" ++ ++#: csmenu.c:208 ++msgid "DVB-S - Satellite" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:265 ++msgid "Setup.DVB$Update channels" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "no" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "yes" ++msgstr "" ++ ++#: csmenu.c:263 ++msgid "Select channel list" ++msgstr "" ++ ++#: csmenu.c:268 ++msgid "Source" ++msgstr "" ++ ++#: csmenu.c:272 csmenu.c:277 csmenu.c:280 ++msgid "Search Mode" ++msgstr "" ++ ++#: csmenu.c:273 ++msgid "Position" ++msgstr "" ++ ++#: csmenu.c:276 ++msgid "Detailed search" ++msgstr "" ++ ++#: csmenu.c:293 ++msgid "Frequency (MHz)" ++msgstr "" ++ ++#: csmenu.c:294 ++msgid "Polarization" ++msgstr "" ++ ++#: csmenu.c:295 csmenu.c:310 ++msgid "Symbolrate" ++msgstr "" ++ ++#: csmenu.c:296 ++msgid "FEC" ++msgstr "" ++ ++#: csmenu.c:301 csmenu.c:308 ++msgid "Frequency (kHz)" ++msgstr "" ++ ++#: csmenu.c:302 csmenu.c:309 ++msgid "Bandwidth" ++msgstr "" ++ ++#: csmenu.c:311 ++msgid "Modulation" ++msgstr "" ++ ++#: csmenu.c:333 csmenu.c:335 ++msgid "Button$Start" ++msgstr "" ++ ++#: csmenu.c:333 ++msgid "Channel sel." ++msgstr "" ++ ++#: csmenu.c:352 ++msgid "DiSEqC" ++msgstr "" ++ ++#: csmenu.c:357 csmenu.c:711 ++msgid "Scanning aborted" ++msgstr "" ++ ++#: csmenu.c:360 ++msgid "Scanning succed" ++msgstr "" ++ ++#: csmenu.c:363 ++msgid "Retrieving transponders failed!" ++msgstr "" ++ ++#: csmenu.c:364 ++msgid "Please check satellites.conf." ++msgstr "" ++ ++#: csmenu.c:367 ++msgid "Tuner preserved no lock!" ++msgstr "" ++ ++#: csmenu.c:368 ++msgid "Please check your comnections and satellites.conf." ++msgstr "" ++ ++#: csmenu.c:371 ++msgid "Unpredictable error occured!" ++msgstr "" ++ ++#: csmenu.c:372 ++msgid "Please try again later" ++msgstr "" ++ ++#: csmenu.c:377 ++msgid "channels in current list" ++msgstr "" ++ ++#: csmenu.c:546 ++msgid "TV CHANNELS RADIO" ++msgstr "" ++ ++#: csmenu.c:655 ++#, c-format ++msgid "Retrieving transponder list from %s" ++msgstr "" ++ ++#: csmenu.c:664 ++#, c-format ++msgid "Scanning %s (%iMHz)\t%s" ++msgstr "" ++ ++#: csmenu.c:670 ++#, c-format ++msgid "Scanning %s (%.3fMHz)\t%s" ++msgstr "" ++ ++#: csmenu.c:682 ++msgid "No new channels found" ++msgstr "" ++ ++#: csmenu.c:686 ++msgid "Added new channels" ++msgstr "" ++ ++#: csmenu.c:690 ++msgid "Press OK to finish or Exit for new scan" ++msgstr "" ++ ++#: csmenu.c:946 ++msgid "Scanning on transponder" ++msgstr "" ++ ++#: csmenu.c:1037 ++msgid "disabled" ++msgstr "" ++ ++#: csmenu.c:1037 ++msgid "enabled" ++msgstr "" ++ ++#: csmenu.c:1075 ++msgid "Channel lists" ++msgstr "" ++ ++#: csmenu.c:1165 ++msgid "Changes Done" ++msgstr "" ++ ++#: csmenu.c:1167 ++msgid "Please check your Timers!" ++msgstr "" ++ ++#: csmenu.c:1172 ++msgid "Changes failed" ++msgstr "" ++ ++#: csmenu.c:1241 ++msgid "Delete channel list?" ++msgstr "" ++ ++#: transponders.c:295 transponders.c:507 ++msgid "Terrestrial" ++msgstr "" ++ ++#: transponders.c:307 ++msgid "Cable" ++msgstr "" +diff -Nru reelchannelscan-0.4.3/po/it_IT.po reelchannelscan-0.4.3-gettext-i18n/po/it_IT.po +--- reelchannelscan-0.4.3/po/it_IT.po 1970-01-01 01:00:00.000000000 +0100 ++++ reelchannelscan-0.4.3-gettext-i18n/po/it_IT.po 2008-04-01 22:12:11.000000000 +0200 +@@ -0,0 +1,261 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Alberto Carraro <bertocar@tin.it>, 2001 ++# Antonio Ospite <ospite@studenti.unina.it>, 2003 ++# Sean Carlos <seanc@libero.it>, 2005 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-01 22:12+0200\n" ++"PO-Revision-Date: 2008-04-01 22:12+0200\n" ++"Last-Translator: Sean Carlos <seanc@libero.it>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-15\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: channelscan.c:43 ++msgid "TV only" ++msgstr "Solo TV" ++ ++#: channelscan.c:44 ++msgid "Radio only" ++msgstr "Solo radio" ++ ++#: channelscan.c:45 ++msgid "Radio + TV" ++msgstr "Radio + TV" ++ ++#: channelscan.c:54 ++msgid "Service Type" ++msgstr "Tipo servizio" ++ ++#: csmenu.c:70 ++msgid "Channelscan" ++msgstr "Scansione canali" ++ ++#: csmenu.c:92 ++msgid "None" ++msgstr "Nessun" ++ ++#: csmenu.c:101 csmenu.c:962 csmenu.c:964 ++msgid "Auto" ++msgstr "Auto" ++ ++#: csmenu.c:116 csmenu.c:133 csmenu.c:277 csmenu.c:280 ++msgid "Manual" ++msgstr "Manuale" ++ ++#: csmenu.c:117 csmenu.c:277 csmenu.c:280 ++msgid "SearchMode$Auto" ++msgstr "Ricerca automatica" ++ ++#: csmenu.c:118 ++msgid "SearchMode$Auto NIT" ++msgstr "" ++ ++#: csmenu.c:131 ++msgid "Intelligent 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:132 ++msgid "Try all 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:200 ++msgid "DVB-T - Terrestrial" ++msgstr "" ++ ++#: csmenu.c:200 csmenu.c:204 csmenu.c:208 ++msgid "Tuner" ++msgstr "" ++ ++#: csmenu.c:204 ++msgid "DVB-C - Cable" ++msgstr "" ++ ++#: csmenu.c:208 ++msgid "DVB-S - Satellite" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:265 ++msgid "Setup.DVB$Update channels" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "no" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "yes" ++msgstr "" ++ ++#: csmenu.c:263 ++msgid "Select channel list" ++msgstr "" ++ ++#: csmenu.c:268 ++msgid "Source" ++msgstr "" ++ ++#: csmenu.c:272 csmenu.c:277 csmenu.c:280 ++msgid "Search Mode" ++msgstr "Modalita' di Ricerca" ++ ++#: csmenu.c:273 ++msgid "Position" ++msgstr "Posizione" ++ ++#: csmenu.c:276 ++msgid "Detailed search" ++msgstr "" ++ ++#: csmenu.c:293 ++msgid "Frequency (MHz)" ++msgstr "" ++ ++#: csmenu.c:294 ++msgid "Polarization" ++msgstr "" ++ ++#: csmenu.c:295 csmenu.c:310 ++msgid "Symbolrate" ++msgstr "Symbolrate" ++ ++#: csmenu.c:296 ++msgid "FEC" ++msgstr "FEC" ++ ++#: csmenu.c:301 csmenu.c:308 ++msgid "Frequency (kHz)" ++msgstr "" ++ ++#: csmenu.c:302 csmenu.c:309 ++msgid "Bandwidth" ++msgstr "" ++ ++#: csmenu.c:311 ++msgid "Modulation" ++msgstr "" ++ ++#: csmenu.c:333 csmenu.c:335 ++msgid "Button$Start" ++msgstr "Start" ++ ++#: csmenu.c:333 ++msgid "Channel sel." ++msgstr "" ++ ++#: csmenu.c:352 ++msgid "DiSEqC" ++msgstr "DiSEqC" ++ ++#: csmenu.c:357 csmenu.c:711 ++msgid "Scanning aborted" ++msgstr "" ++ ++#: csmenu.c:360 ++msgid "Scanning succed" ++msgstr "" ++ ++#: csmenu.c:363 ++msgid "Retrieving transponders failed!" ++msgstr "" ++ ++#: csmenu.c:364 ++msgid "Please check satellites.conf." ++msgstr "" ++ ++#: csmenu.c:367 ++msgid "Tuner preserved no lock!" ++msgstr "" ++ ++#: csmenu.c:368 ++msgid "Please check your comnections and satellites.conf." ++msgstr "" ++ ++#: csmenu.c:371 ++msgid "Unpredictable error occured!" ++msgstr "" ++ ++#: csmenu.c:372 ++msgid "Please try again later" ++msgstr "" ++ ++#: csmenu.c:377 ++msgid "channels in current list" ++msgstr "Canali presenti nella lista" ++ ++#: csmenu.c:546 ++msgid "TV CHANNELS RADIO" ++msgstr "CANALI TV RADIO" ++ ++#: csmenu.c:655 ++#, c-format ++msgid "Retrieving transponder list from %s" ++msgstr "" ++ ++#: csmenu.c:664 ++#, c-format ++msgid "Scanning %s (%iMHz)\t%s" ++msgstr "" ++ ++#: csmenu.c:670 ++#, c-format ++msgid "Scanning %s (%.3fMHz)\t%s" ++msgstr "" ++ ++#: csmenu.c:682 ++msgid "No new channels found" ++msgstr "Non sono stati trovati nuovi canali" ++ ++#: csmenu.c:686 ++msgid "Added new channels" ++msgstr "Aggiunti nuovi canali" ++ ++#: csmenu.c:690 ++msgid "Press OK to finish or Exit for new scan" ++msgstr "" ++ ++#: csmenu.c:946 ++msgid "Scanning on transponder" ++msgstr "Ricerca Transponders" ++ ++#: csmenu.c:1037 ++msgid "disabled" ++msgstr "disabilitato" ++ ++#: csmenu.c:1037 ++msgid "enabled" ++msgstr "abilitato" ++ ++#: csmenu.c:1075 ++msgid "Channel lists" ++msgstr "" ++ ++#: csmenu.c:1165 ++msgid "Changes Done" ++msgstr "" ++ ++#: csmenu.c:1167 ++msgid "Please check your Timers!" ++msgstr "" ++ ++#: csmenu.c:1172 ++msgid "Changes failed" ++msgstr "" ++ ++#: csmenu.c:1241 ++msgid "Delete channel list?" ++msgstr "" ++ ++#: transponders.c:295 transponders.c:507 ++msgid "Terrestrial" ++msgstr "" ++ ++#: transponders.c:307 ++msgid "Cable" ++msgstr "" +diff -Nru reelchannelscan-0.4.3/po/nl_NL.po reelchannelscan-0.4.3-gettext-i18n/po/nl_NL.po +--- reelchannelscan-0.4.3/po/nl_NL.po 1970-01-01 01:00:00.000000000 +0100 ++++ reelchannelscan-0.4.3-gettext-i18n/po/nl_NL.po 2008-04-01 22:12:11.000000000 +0200 +@@ -0,0 +1,261 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Arnold Niessen <niessen@iae.nl> <arnold.niessen@philips.com>, 2001 ++# Hans Dingemans <hans.dingemans@tacticalops.nl>, 2003 ++# Maarten Wisse <Maarten.Wisse@urz.uni-hd.de>, 2005 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-01 22:12+0200\n" ++"PO-Revision-Date: 2008-04-01 22:12+0200\n" ++"Last-Translator: Maarten Wisse <Maarten.Wisse@urz.uni-hd.de>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-15\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: channelscan.c:43 ++msgid "TV only" ++msgstr "Alleen TV" ++ ++#: channelscan.c:44 ++msgid "Radio only" ++msgstr "Alleen Radio" ++ ++#: channelscan.c:45 ++msgid "Radio + TV" ++msgstr "Radio + TV" ++ ++#: channelscan.c:54 ++msgid "Service Type" ++msgstr "Service type" ++ ++#: csmenu.c:70 ++msgid "Channelscan" ++msgstr "Kanaal scan" ++ ++#: csmenu.c:92 ++msgid "None" ++msgstr "Geen" ++ ++#: csmenu.c:101 csmenu.c:962 csmenu.c:964 ++msgid "Auto" ++msgstr "Auto" ++ ++#: csmenu.c:116 csmenu.c:133 csmenu.c:277 csmenu.c:280 ++msgid "Manual" ++msgstr "Handmatig" ++ ++#: csmenu.c:117 csmenu.c:277 csmenu.c:280 ++msgid "SearchMode$Auto" ++msgstr "Automatisch" ++ ++#: csmenu.c:118 ++msgid "SearchMode$Auto NIT" ++msgstr "" ++ ++#: csmenu.c:131 ++msgid "Intelligent 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:132 ++msgid "Try all 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:200 ++msgid "DVB-T - Terrestrial" ++msgstr "" ++ ++#: csmenu.c:200 csmenu.c:204 csmenu.c:208 ++msgid "Tuner" ++msgstr "" ++ ++#: csmenu.c:204 ++msgid "DVB-C - Cable" ++msgstr "" ++ ++#: csmenu.c:208 ++msgid "DVB-S - Satellite" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:265 ++msgid "Setup.DVB$Update channels" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "no" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "yes" ++msgstr "" ++ ++#: csmenu.c:263 ++msgid "Select channel list" ++msgstr "" ++ ++#: csmenu.c:268 ++msgid "Source" ++msgstr "" ++ ++#: csmenu.c:272 csmenu.c:277 csmenu.c:280 ++msgid "Search Mode" ++msgstr "Zoek mode" ++ ++#: csmenu.c:273 ++msgid "Position" ++msgstr "Positie" ++ ++#: csmenu.c:276 ++msgid "Detailed search" ++msgstr "" ++ ++#: csmenu.c:293 ++msgid "Frequency (MHz)" ++msgstr "" ++ ++#: csmenu.c:294 ++msgid "Polarization" ++msgstr "" ++ ++#: csmenu.c:295 csmenu.c:310 ++msgid "Symbolrate" ++msgstr "Symbolrate" ++ ++#: csmenu.c:296 ++msgid "FEC" ++msgstr "FEC" ++ ++#: csmenu.c:301 csmenu.c:308 ++msgid "Frequency (kHz)" ++msgstr "" ++ ++#: csmenu.c:302 csmenu.c:309 ++msgid "Bandwidth" ++msgstr "" ++ ++#: csmenu.c:311 ++msgid "Modulation" ++msgstr "" ++ ++#: csmenu.c:333 csmenu.c:335 ++msgid "Button$Start" ++msgstr "Start" ++ ++#: csmenu.c:333 ++msgid "Channel sel." ++msgstr "" ++ ++#: csmenu.c:352 ++msgid "DiSEqC" ++msgstr "DiSEqC" ++ ++#: csmenu.c:357 csmenu.c:711 ++msgid "Scanning aborted" ++msgstr "" ++ ++#: csmenu.c:360 ++msgid "Scanning succed" ++msgstr "" ++ ++#: csmenu.c:363 ++msgid "Retrieving transponders failed!" ++msgstr "" ++ ++#: csmenu.c:364 ++msgid "Please check satellites.conf." ++msgstr "" ++ ++#: csmenu.c:367 ++msgid "Tuner preserved no lock!" ++msgstr "" ++ ++#: csmenu.c:368 ++msgid "Please check your comnections and satellites.conf." ++msgstr "" ++ ++#: csmenu.c:371 ++msgid "Unpredictable error occured!" ++msgstr "" ++ ++#: csmenu.c:372 ++msgid "Please try again later" ++msgstr "" ++ ++#: csmenu.c:377 ++msgid "channels in current list" ++msgstr "Kanalen in huidige lijst" ++ ++#: csmenu.c:546 ++msgid "TV CHANNELS RADIO" ++msgstr "TV KANALEN RADIO" ++ ++#: csmenu.c:655 ++#, c-format ++msgid "Retrieving transponder list from %s" ++msgstr "" ++ ++#: csmenu.c:664 ++#, c-format ++msgid "Scanning %s (%iMHz)\t%s" ++msgstr "" ++ ++#: csmenu.c:670 ++#, c-format ++msgid "Scanning %s (%.3fMHz)\t%s" ++msgstr "" ++ ++#: csmenu.c:682 ++msgid "No new channels found" ++msgstr "Geen nieuwe kanalen gevonden" ++ ++#: csmenu.c:686 ++msgid "Added new channels" ++msgstr "Nieuwe kanalen toegevoegd" ++ ++#: csmenu.c:690 ++msgid "Press OK to finish or Exit for new scan" ++msgstr "" ++ ++#: csmenu.c:946 ++msgid "Scanning on transponder" ++msgstr "Scannen op transponder" ++ ++#: csmenu.c:1037 ++msgid "disabled" ++msgstr "uitgeschakeld" ++ ++#: csmenu.c:1037 ++msgid "enabled" ++msgstr "ingeschakeld" ++ ++#: csmenu.c:1075 ++msgid "Channel lists" ++msgstr "" ++ ++#: csmenu.c:1165 ++msgid "Changes Done" ++msgstr "" ++ ++#: csmenu.c:1167 ++msgid "Please check your Timers!" ++msgstr "" ++ ++#: csmenu.c:1172 ++msgid "Changes failed" ++msgstr "" ++ ++#: csmenu.c:1241 ++msgid "Delete channel list?" ++msgstr "" ++ ++#: transponders.c:295 transponders.c:507 ++msgid "Terrestrial" ++msgstr "" ++ ++#: transponders.c:307 ++msgid "Cable" ++msgstr "" +diff -Nru reelchannelscan-0.4.3/po/nn_NO.po reelchannelscan-0.4.3-gettext-i18n/po/nn_NO.po +--- reelchannelscan-0.4.3/po/nn_NO.po 1970-01-01 01:00:00.000000000 +0100 ++++ reelchannelscan-0.4.3-gettext-i18n/po/nn_NO.po 2008-04-01 22:12:11.000000000 +0200 +@@ -0,0 +1,260 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Jørgen Tvedt <pjtvedt@online.no>, 2001 ++# Truls Slevigen <truls@slevigen.no>, 2002 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-01 22:12+0200\n" ++"PO-Revision-Date: 2008-04-01 22:12+0200\n" ++"Last-Translator: Truls Slevigen <truls@slevigen.no>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-1\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: channelscan.c:43 ++msgid "TV only" ++msgstr "" ++ ++#: channelscan.c:44 ++msgid "Radio only" ++msgstr "" ++ ++#: channelscan.c:45 ++msgid "Radio + TV" ++msgstr "" ++ ++#: channelscan.c:54 ++msgid "Service Type" ++msgstr "" ++ ++#: csmenu.c:70 ++msgid "Channelscan" ++msgstr "" ++ ++#: csmenu.c:92 ++msgid "None" ++msgstr "" ++ ++#: csmenu.c:101 csmenu.c:962 csmenu.c:964 ++msgid "Auto" ++msgstr "" ++ ++#: csmenu.c:116 csmenu.c:133 csmenu.c:277 csmenu.c:280 ++msgid "Manual" ++msgstr "" ++ ++#: csmenu.c:117 csmenu.c:277 csmenu.c:280 ++msgid "SearchMode$Auto" ++msgstr "" ++ ++#: csmenu.c:118 ++msgid "SearchMode$Auto NIT" ++msgstr "" ++ ++#: csmenu.c:131 ++msgid "Intelligent 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:132 ++msgid "Try all 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:200 ++msgid "DVB-T - Terrestrial" ++msgstr "" ++ ++#: csmenu.c:200 csmenu.c:204 csmenu.c:208 ++msgid "Tuner" ++msgstr "" ++ ++#: csmenu.c:204 ++msgid "DVB-C - Cable" ++msgstr "" ++ ++#: csmenu.c:208 ++msgid "DVB-S - Satellite" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:265 ++msgid "Setup.DVB$Update channels" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "no" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "yes" ++msgstr "" ++ ++#: csmenu.c:263 ++msgid "Select channel list" ++msgstr "" ++ ++#: csmenu.c:268 ++msgid "Source" ++msgstr "" ++ ++#: csmenu.c:272 csmenu.c:277 csmenu.c:280 ++msgid "Search Mode" ++msgstr "" ++ ++#: csmenu.c:273 ++msgid "Position" ++msgstr "" ++ ++#: csmenu.c:276 ++msgid "Detailed search" ++msgstr "" ++ ++#: csmenu.c:293 ++msgid "Frequency (MHz)" ++msgstr "" ++ ++#: csmenu.c:294 ++msgid "Polarization" ++msgstr "" ++ ++#: csmenu.c:295 csmenu.c:310 ++msgid "Symbolrate" ++msgstr "" ++ ++#: csmenu.c:296 ++msgid "FEC" ++msgstr "" ++ ++#: csmenu.c:301 csmenu.c:308 ++msgid "Frequency (kHz)" ++msgstr "" ++ ++#: csmenu.c:302 csmenu.c:309 ++msgid "Bandwidth" ++msgstr "" ++ ++#: csmenu.c:311 ++msgid "Modulation" ++msgstr "" ++ ++#: csmenu.c:333 csmenu.c:335 ++msgid "Button$Start" ++msgstr "" ++ ++#: csmenu.c:333 ++msgid "Channel sel." ++msgstr "" ++ ++#: csmenu.c:352 ++msgid "DiSEqC" ++msgstr "" ++ ++#: csmenu.c:357 csmenu.c:711 ++msgid "Scanning aborted" ++msgstr "" ++ ++#: csmenu.c:360 ++msgid "Scanning succed" ++msgstr "" ++ ++#: csmenu.c:363 ++msgid "Retrieving transponders failed!" ++msgstr "" ++ ++#: csmenu.c:364 ++msgid "Please check satellites.conf." ++msgstr "" ++ ++#: csmenu.c:367 ++msgid "Tuner preserved no lock!" ++msgstr "" ++ ++#: csmenu.c:368 ++msgid "Please check your comnections and satellites.conf." ++msgstr "" ++ ++#: csmenu.c:371 ++msgid "Unpredictable error occured!" ++msgstr "" ++ ++#: csmenu.c:372 ++msgid "Please try again later" ++msgstr "" ++ ++#: csmenu.c:377 ++msgid "channels in current list" ++msgstr "" ++ ++#: csmenu.c:546 ++msgid "TV CHANNELS RADIO" ++msgstr "" ++ ++#: csmenu.c:655 ++#, c-format ++msgid "Retrieving transponder list from %s" ++msgstr "" ++ ++#: csmenu.c:664 ++#, c-format ++msgid "Scanning %s (%iMHz)\t%s" ++msgstr "" ++ ++#: csmenu.c:670 ++#, c-format ++msgid "Scanning %s (%.3fMHz)\t%s" ++msgstr "" ++ ++#: csmenu.c:682 ++msgid "No new channels found" ++msgstr "" ++ ++#: csmenu.c:686 ++msgid "Added new channels" ++msgstr "" ++ ++#: csmenu.c:690 ++msgid "Press OK to finish or Exit for new scan" ++msgstr "" ++ ++#: csmenu.c:946 ++msgid "Scanning on transponder" ++msgstr "" ++ ++#: csmenu.c:1037 ++msgid "disabled" ++msgstr "" ++ ++#: csmenu.c:1037 ++msgid "enabled" ++msgstr "" ++ ++#: csmenu.c:1075 ++msgid "Channel lists" ++msgstr "" ++ ++#: csmenu.c:1165 ++msgid "Changes Done" ++msgstr "" ++ ++#: csmenu.c:1167 ++msgid "Please check your Timers!" ++msgstr "" ++ ++#: csmenu.c:1172 ++msgid "Changes failed" ++msgstr "" ++ ++#: csmenu.c:1241 ++msgid "Delete channel list?" ++msgstr "" ++ ++#: transponders.c:295 transponders.c:507 ++msgid "Terrestrial" ++msgstr "" ++ ++#: transponders.c:307 ++msgid "Cable" ++msgstr "" +diff -Nru reelchannelscan-0.4.3/po/pl_PL.po reelchannelscan-0.4.3-gettext-i18n/po/pl_PL.po +--- reelchannelscan-0.4.3/po/pl_PL.po 1970-01-01 01:00:00.000000000 +0100 ++++ reelchannelscan-0.4.3-gettext-i18n/po/pl_PL.po 2008-04-01 22:12:11.000000000 +0200 +@@ -0,0 +1,259 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Michael Rakowski <mrak@gmx.de>, 2002 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-01 22:12+0200\n" ++"PO-Revision-Date: 2008-04-01 22:12+0200\n" ++"Last-Translator: Michael Rakowski <mrak@gmx.de>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-2\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: channelscan.c:43 ++msgid "TV only" ++msgstr "" ++ ++#: channelscan.c:44 ++msgid "Radio only" ++msgstr "" ++ ++#: channelscan.c:45 ++msgid "Radio + TV" ++msgstr "" ++ ++#: channelscan.c:54 ++msgid "Service Type" ++msgstr "" ++ ++#: csmenu.c:70 ++msgid "Channelscan" ++msgstr "" ++ ++#: csmenu.c:92 ++msgid "None" ++msgstr "" ++ ++#: csmenu.c:101 csmenu.c:962 csmenu.c:964 ++msgid "Auto" ++msgstr "" ++ ++#: csmenu.c:116 csmenu.c:133 csmenu.c:277 csmenu.c:280 ++msgid "Manual" ++msgstr "" ++ ++#: csmenu.c:117 csmenu.c:277 csmenu.c:280 ++msgid "SearchMode$Auto" ++msgstr "" ++ ++#: csmenu.c:118 ++msgid "SearchMode$Auto NIT" ++msgstr "" ++ ++#: csmenu.c:131 ++msgid "Intelligent 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:132 ++msgid "Try all 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:200 ++msgid "DVB-T - Terrestrial" ++msgstr "" ++ ++#: csmenu.c:200 csmenu.c:204 csmenu.c:208 ++msgid "Tuner" ++msgstr "" ++ ++#: csmenu.c:204 ++msgid "DVB-C - Cable" ++msgstr "" ++ ++#: csmenu.c:208 ++msgid "DVB-S - Satellite" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:265 ++msgid "Setup.DVB$Update channels" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "no" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "yes" ++msgstr "" ++ ++#: csmenu.c:263 ++msgid "Select channel list" ++msgstr "" ++ ++#: csmenu.c:268 ++msgid "Source" ++msgstr "" ++ ++#: csmenu.c:272 csmenu.c:277 csmenu.c:280 ++msgid "Search Mode" ++msgstr "" ++ ++#: csmenu.c:273 ++msgid "Position" ++msgstr "" ++ ++#: csmenu.c:276 ++msgid "Detailed search" ++msgstr "" ++ ++#: csmenu.c:293 ++msgid "Frequency (MHz)" ++msgstr "" ++ ++#: csmenu.c:294 ++msgid "Polarization" ++msgstr "" ++ ++#: csmenu.c:295 csmenu.c:310 ++msgid "Symbolrate" ++msgstr "" ++ ++#: csmenu.c:296 ++msgid "FEC" ++msgstr "" ++ ++#: csmenu.c:301 csmenu.c:308 ++msgid "Frequency (kHz)" ++msgstr "" ++ ++#: csmenu.c:302 csmenu.c:309 ++msgid "Bandwidth" ++msgstr "" ++ ++#: csmenu.c:311 ++msgid "Modulation" ++msgstr "" ++ ++#: csmenu.c:333 csmenu.c:335 ++msgid "Button$Start" ++msgstr "" ++ ++#: csmenu.c:333 ++msgid "Channel sel." ++msgstr "" ++ ++#: csmenu.c:352 ++msgid "DiSEqC" ++msgstr "" ++ ++#: csmenu.c:357 csmenu.c:711 ++msgid "Scanning aborted" ++msgstr "" ++ ++#: csmenu.c:360 ++msgid "Scanning succed" ++msgstr "" ++ ++#: csmenu.c:363 ++msgid "Retrieving transponders failed!" ++msgstr "" ++ ++#: csmenu.c:364 ++msgid "Please check satellites.conf." ++msgstr "" ++ ++#: csmenu.c:367 ++msgid "Tuner preserved no lock!" ++msgstr "" ++ ++#: csmenu.c:368 ++msgid "Please check your comnections and satellites.conf." ++msgstr "" ++ ++#: csmenu.c:371 ++msgid "Unpredictable error occured!" ++msgstr "" ++ ++#: csmenu.c:372 ++msgid "Please try again later" ++msgstr "" ++ ++#: csmenu.c:377 ++msgid "channels in current list" ++msgstr "" ++ ++#: csmenu.c:546 ++msgid "TV CHANNELS RADIO" ++msgstr "" ++ ++#: csmenu.c:655 ++#, c-format ++msgid "Retrieving transponder list from %s" ++msgstr "" ++ ++#: csmenu.c:664 ++#, c-format ++msgid "Scanning %s (%iMHz)\t%s" ++msgstr "" ++ ++#: csmenu.c:670 ++#, c-format ++msgid "Scanning %s (%.3fMHz)\t%s" ++msgstr "" ++ ++#: csmenu.c:682 ++msgid "No new channels found" ++msgstr "" ++ ++#: csmenu.c:686 ++msgid "Added new channels" ++msgstr "" ++ ++#: csmenu.c:690 ++msgid "Press OK to finish or Exit for new scan" ++msgstr "" ++ ++#: csmenu.c:946 ++msgid "Scanning on transponder" ++msgstr "" ++ ++#: csmenu.c:1037 ++msgid "disabled" ++msgstr "" ++ ++#: csmenu.c:1037 ++msgid "enabled" ++msgstr "" ++ ++#: csmenu.c:1075 ++msgid "Channel lists" ++msgstr "" ++ ++#: csmenu.c:1165 ++msgid "Changes Done" ++msgstr "" ++ ++#: csmenu.c:1167 ++msgid "Please check your Timers!" ++msgstr "" ++ ++#: csmenu.c:1172 ++msgid "Changes failed" ++msgstr "" ++ ++#: csmenu.c:1241 ++msgid "Delete channel list?" ++msgstr "" ++ ++#: transponders.c:295 transponders.c:507 ++msgid "Terrestrial" ++msgstr "" ++ ++#: transponders.c:307 ++msgid "Cable" ++msgstr "" +diff -Nru reelchannelscan-0.4.3/po/pt_PT.po reelchannelscan-0.4.3-gettext-i18n/po/pt_PT.po +--- reelchannelscan-0.4.3/po/pt_PT.po 1970-01-01 01:00:00.000000000 +0100 ++++ reelchannelscan-0.4.3-gettext-i18n/po/pt_PT.po 2008-04-01 22:12:11.000000000 +0200 +@@ -0,0 +1,259 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Paulo Lopes <pmml@netvita.pt>, 2001 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-01 22:12+0200\n" ++"PO-Revision-Date: 2008-04-01 22:12+0200\n" ++"Last-Translator: Paulo Lopes <pmml@netvita.pt>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-1\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: channelscan.c:43 ++msgid "TV only" ++msgstr "" ++ ++#: channelscan.c:44 ++msgid "Radio only" ++msgstr "" ++ ++#: channelscan.c:45 ++msgid "Radio + TV" ++msgstr "" ++ ++#: channelscan.c:54 ++msgid "Service Type" ++msgstr "" ++ ++#: csmenu.c:70 ++msgid "Channelscan" ++msgstr "" ++ ++#: csmenu.c:92 ++msgid "None" ++msgstr "" ++ ++#: csmenu.c:101 csmenu.c:962 csmenu.c:964 ++msgid "Auto" ++msgstr "" ++ ++#: csmenu.c:116 csmenu.c:133 csmenu.c:277 csmenu.c:280 ++msgid "Manual" ++msgstr "" ++ ++#: csmenu.c:117 csmenu.c:277 csmenu.c:280 ++msgid "SearchMode$Auto" ++msgstr "" ++ ++#: csmenu.c:118 ++msgid "SearchMode$Auto NIT" ++msgstr "" ++ ++#: csmenu.c:131 ++msgid "Intelligent 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:132 ++msgid "Try all 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:200 ++msgid "DVB-T - Terrestrial" ++msgstr "" ++ ++#: csmenu.c:200 csmenu.c:204 csmenu.c:208 ++msgid "Tuner" ++msgstr "" ++ ++#: csmenu.c:204 ++msgid "DVB-C - Cable" ++msgstr "" ++ ++#: csmenu.c:208 ++msgid "DVB-S - Satellite" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:265 ++msgid "Setup.DVB$Update channels" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "no" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "yes" ++msgstr "" ++ ++#: csmenu.c:263 ++msgid "Select channel list" ++msgstr "" ++ ++#: csmenu.c:268 ++msgid "Source" ++msgstr "" ++ ++#: csmenu.c:272 csmenu.c:277 csmenu.c:280 ++msgid "Search Mode" ++msgstr "" ++ ++#: csmenu.c:273 ++msgid "Position" ++msgstr "" ++ ++#: csmenu.c:276 ++msgid "Detailed search" ++msgstr "" ++ ++#: csmenu.c:293 ++msgid "Frequency (MHz)" ++msgstr "" ++ ++#: csmenu.c:294 ++msgid "Polarization" ++msgstr "" ++ ++#: csmenu.c:295 csmenu.c:310 ++msgid "Symbolrate" ++msgstr "" ++ ++#: csmenu.c:296 ++msgid "FEC" ++msgstr "" ++ ++#: csmenu.c:301 csmenu.c:308 ++msgid "Frequency (kHz)" ++msgstr "" ++ ++#: csmenu.c:302 csmenu.c:309 ++msgid "Bandwidth" ++msgstr "" ++ ++#: csmenu.c:311 ++msgid "Modulation" ++msgstr "" ++ ++#: csmenu.c:333 csmenu.c:335 ++msgid "Button$Start" ++msgstr "" ++ ++#: csmenu.c:333 ++msgid "Channel sel." ++msgstr "" ++ ++#: csmenu.c:352 ++msgid "DiSEqC" ++msgstr "" ++ ++#: csmenu.c:357 csmenu.c:711 ++msgid "Scanning aborted" ++msgstr "" ++ ++#: csmenu.c:360 ++msgid "Scanning succed" ++msgstr "" ++ ++#: csmenu.c:363 ++msgid "Retrieving transponders failed!" ++msgstr "" ++ ++#: csmenu.c:364 ++msgid "Please check satellites.conf." ++msgstr "" ++ ++#: csmenu.c:367 ++msgid "Tuner preserved no lock!" ++msgstr "" ++ ++#: csmenu.c:368 ++msgid "Please check your comnections and satellites.conf." ++msgstr "" ++ ++#: csmenu.c:371 ++msgid "Unpredictable error occured!" ++msgstr "" ++ ++#: csmenu.c:372 ++msgid "Please try again later" ++msgstr "" ++ ++#: csmenu.c:377 ++msgid "channels in current list" ++msgstr "" ++ ++#: csmenu.c:546 ++msgid "TV CHANNELS RADIO" ++msgstr "" ++ ++#: csmenu.c:655 ++#, c-format ++msgid "Retrieving transponder list from %s" ++msgstr "" ++ ++#: csmenu.c:664 ++#, c-format ++msgid "Scanning %s (%iMHz)\t%s" ++msgstr "" ++ ++#: csmenu.c:670 ++#, c-format ++msgid "Scanning %s (%.3fMHz)\t%s" ++msgstr "" ++ ++#: csmenu.c:682 ++msgid "No new channels found" ++msgstr "" ++ ++#: csmenu.c:686 ++msgid "Added new channels" ++msgstr "" ++ ++#: csmenu.c:690 ++msgid "Press OK to finish or Exit for new scan" ++msgstr "" ++ ++#: csmenu.c:946 ++msgid "Scanning on transponder" ++msgstr "" ++ ++#: csmenu.c:1037 ++msgid "disabled" ++msgstr "" ++ ++#: csmenu.c:1037 ++msgid "enabled" ++msgstr "" ++ ++#: csmenu.c:1075 ++msgid "Channel lists" ++msgstr "" ++ ++#: csmenu.c:1165 ++msgid "Changes Done" ++msgstr "" ++ ++#: csmenu.c:1167 ++msgid "Please check your Timers!" ++msgstr "" ++ ++#: csmenu.c:1172 ++msgid "Changes failed" ++msgstr "" ++ ++#: csmenu.c:1241 ++msgid "Delete channel list?" ++msgstr "" ++ ++#: transponders.c:295 transponders.c:507 ++msgid "Terrestrial" ++msgstr "" ++ ++#: transponders.c:307 ++msgid "Cable" ++msgstr "" +diff -Nru reelchannelscan-0.4.3/po/ro_RO.po reelchannelscan-0.4.3-gettext-i18n/po/ro_RO.po +--- reelchannelscan-0.4.3/po/ro_RO.po 1970-01-01 01:00:00.000000000 +0100 ++++ reelchannelscan-0.4.3-gettext-i18n/po/ro_RO.po 2008-04-01 22:12:11.000000000 +0200 +@@ -0,0 +1,260 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Paul Lacatus <paul@campina.iiruc.ro>, 2002 ++# Lucian Muresan <lucianm@users.sourceforge.net>, 2004 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-01 22:12+0200\n" ++"PO-Revision-Date: 2008-04-01 22:12+0200\n" ++"Last-Translator: Lucian Muresan <lucianm@users.sourceforge.net>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-2\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: channelscan.c:43 ++msgid "TV only" ++msgstr "" ++ ++#: channelscan.c:44 ++msgid "Radio only" ++msgstr "" ++ ++#: channelscan.c:45 ++msgid "Radio + TV" ++msgstr "" ++ ++#: channelscan.c:54 ++msgid "Service Type" ++msgstr "" ++ ++#: csmenu.c:70 ++msgid "Channelscan" ++msgstr "" ++ ++#: csmenu.c:92 ++msgid "None" ++msgstr "" ++ ++#: csmenu.c:101 csmenu.c:962 csmenu.c:964 ++msgid "Auto" ++msgstr "" ++ ++#: csmenu.c:116 csmenu.c:133 csmenu.c:277 csmenu.c:280 ++msgid "Manual" ++msgstr "" ++ ++#: csmenu.c:117 csmenu.c:277 csmenu.c:280 ++msgid "SearchMode$Auto" ++msgstr "" ++ ++#: csmenu.c:118 ++msgid "SearchMode$Auto NIT" ++msgstr "" ++ ++#: csmenu.c:131 ++msgid "Intelligent 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:132 ++msgid "Try all 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:200 ++msgid "DVB-T - Terrestrial" ++msgstr "" ++ ++#: csmenu.c:200 csmenu.c:204 csmenu.c:208 ++msgid "Tuner" ++msgstr "" ++ ++#: csmenu.c:204 ++msgid "DVB-C - Cable" ++msgstr "" ++ ++#: csmenu.c:208 ++msgid "DVB-S - Satellite" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:265 ++msgid "Setup.DVB$Update channels" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "no" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "yes" ++msgstr "" ++ ++#: csmenu.c:263 ++msgid "Select channel list" ++msgstr "" ++ ++#: csmenu.c:268 ++msgid "Source" ++msgstr "" ++ ++#: csmenu.c:272 csmenu.c:277 csmenu.c:280 ++msgid "Search Mode" ++msgstr "" ++ ++#: csmenu.c:273 ++msgid "Position" ++msgstr "" ++ ++#: csmenu.c:276 ++msgid "Detailed search" ++msgstr "" ++ ++#: csmenu.c:293 ++msgid "Frequency (MHz)" ++msgstr "" ++ ++#: csmenu.c:294 ++msgid "Polarization" ++msgstr "" ++ ++#: csmenu.c:295 csmenu.c:310 ++msgid "Symbolrate" ++msgstr "" ++ ++#: csmenu.c:296 ++msgid "FEC" ++msgstr "" ++ ++#: csmenu.c:301 csmenu.c:308 ++msgid "Frequency (kHz)" ++msgstr "" ++ ++#: csmenu.c:302 csmenu.c:309 ++msgid "Bandwidth" ++msgstr "" ++ ++#: csmenu.c:311 ++msgid "Modulation" ++msgstr "" ++ ++#: csmenu.c:333 csmenu.c:335 ++msgid "Button$Start" ++msgstr "" ++ ++#: csmenu.c:333 ++msgid "Channel sel." ++msgstr "" ++ ++#: csmenu.c:352 ++msgid "DiSEqC" ++msgstr "" ++ ++#: csmenu.c:357 csmenu.c:711 ++msgid "Scanning aborted" ++msgstr "" ++ ++#: csmenu.c:360 ++msgid "Scanning succed" ++msgstr "" ++ ++#: csmenu.c:363 ++msgid "Retrieving transponders failed!" ++msgstr "" ++ ++#: csmenu.c:364 ++msgid "Please check satellites.conf." ++msgstr "" ++ ++#: csmenu.c:367 ++msgid "Tuner preserved no lock!" ++msgstr "" ++ ++#: csmenu.c:368 ++msgid "Please check your comnections and satellites.conf." ++msgstr "" ++ ++#: csmenu.c:371 ++msgid "Unpredictable error occured!" ++msgstr "" ++ ++#: csmenu.c:372 ++msgid "Please try again later" ++msgstr "" ++ ++#: csmenu.c:377 ++msgid "channels in current list" ++msgstr "" ++ ++#: csmenu.c:546 ++msgid "TV CHANNELS RADIO" ++msgstr "" ++ ++#: csmenu.c:655 ++#, c-format ++msgid "Retrieving transponder list from %s" ++msgstr "" ++ ++#: csmenu.c:664 ++#, c-format ++msgid "Scanning %s (%iMHz)\t%s" ++msgstr "" ++ ++#: csmenu.c:670 ++#, c-format ++msgid "Scanning %s (%.3fMHz)\t%s" ++msgstr "" ++ ++#: csmenu.c:682 ++msgid "No new channels found" ++msgstr "" ++ ++#: csmenu.c:686 ++msgid "Added new channels" ++msgstr "" ++ ++#: csmenu.c:690 ++msgid "Press OK to finish or Exit for new scan" ++msgstr "" ++ ++#: csmenu.c:946 ++msgid "Scanning on transponder" ++msgstr "" ++ ++#: csmenu.c:1037 ++msgid "disabled" ++msgstr "" ++ ++#: csmenu.c:1037 ++msgid "enabled" ++msgstr "" ++ ++#: csmenu.c:1075 ++msgid "Channel lists" ++msgstr "" ++ ++#: csmenu.c:1165 ++msgid "Changes Done" ++msgstr "" ++ ++#: csmenu.c:1167 ++msgid "Please check your Timers!" ++msgstr "" ++ ++#: csmenu.c:1172 ++msgid "Changes failed" ++msgstr "" ++ ++#: csmenu.c:1241 ++msgid "Delete channel list?" ++msgstr "" ++ ++#: transponders.c:295 transponders.c:507 ++msgid "Terrestrial" ++msgstr "" ++ ++#: transponders.c:307 ++msgid "Cable" ++msgstr "" +diff -Nru reelchannelscan-0.4.3/po/ru_RU.po reelchannelscan-0.4.3-gettext-i18n/po/ru_RU.po +--- reelchannelscan-0.4.3/po/ru_RU.po 1970-01-01 01:00:00.000000000 +0100 ++++ reelchannelscan-0.4.3-gettext-i18n/po/ru_RU.po 2008-04-01 22:12:11.000000000 +0200 +@@ -0,0 +1,259 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Vyacheslav Dikonov <sdiconov@mail.ru>, 2004 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-01 22:12+0200\n" ++"PO-Revision-Date: 2008-04-01 22:12+0200\n" ++"Last-Translator: Vyacheslav Dikonov <sdiconov@mail.ru>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-5\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: channelscan.c:43 ++msgid "TV only" ++msgstr "" ++ ++#: channelscan.c:44 ++msgid "Radio only" ++msgstr "" ++ ++#: channelscan.c:45 ++msgid "Radio + TV" ++msgstr "" ++ ++#: channelscan.c:54 ++msgid "Service Type" ++msgstr "" ++ ++#: csmenu.c:70 ++msgid "Channelscan" ++msgstr "¿ÞØáÚ ÚÐÝÐÛÞÒ" ++ ++#: csmenu.c:92 ++msgid "None" ++msgstr "" ++ ++#: csmenu.c:101 csmenu.c:962 csmenu.c:964 ++msgid "Auto" ++msgstr "" ++ ++#: csmenu.c:116 csmenu.c:133 csmenu.c:277 csmenu.c:280 ++msgid "Manual" ++msgstr "" ++ ++#: csmenu.c:117 csmenu.c:277 csmenu.c:280 ++msgid "SearchMode$Auto" ++msgstr "" ++ ++#: csmenu.c:118 ++msgid "SearchMode$Auto NIT" ++msgstr "" ++ ++#: csmenu.c:131 ++msgid "Intelligent 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:132 ++msgid "Try all 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:200 ++msgid "DVB-T - Terrestrial" ++msgstr "" ++ ++#: csmenu.c:200 csmenu.c:204 csmenu.c:208 ++msgid "Tuner" ++msgstr "" ++ ++#: csmenu.c:204 ++msgid "DVB-C - Cable" ++msgstr "" ++ ++#: csmenu.c:208 ++msgid "DVB-S - Satellite" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:265 ++msgid "Setup.DVB$Update channels" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "no" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "yes" ++msgstr "" ++ ++#: csmenu.c:263 ++msgid "Select channel list" ++msgstr "" ++ ++#: csmenu.c:268 ++msgid "Source" ++msgstr "" ++ ++#: csmenu.c:272 csmenu.c:277 csmenu.c:280 ++msgid "Search Mode" ++msgstr "" ++ ++#: csmenu.c:273 ++msgid "Position" ++msgstr "" ++ ++#: csmenu.c:276 ++msgid "Detailed search" ++msgstr "" ++ ++#: csmenu.c:293 ++msgid "Frequency (MHz)" ++msgstr "" ++ ++#: csmenu.c:294 ++msgid "Polarization" ++msgstr "" ++ ++#: csmenu.c:295 csmenu.c:310 ++msgid "Symbolrate" ++msgstr "ÁØÜÒ.áÚÞàÞáâì" ++ ++#: csmenu.c:296 ++msgid "FEC" ++msgstr "" ++ ++#: csmenu.c:301 csmenu.c:308 ++msgid "Frequency (kHz)" ++msgstr "" ++ ++#: csmenu.c:302 csmenu.c:309 ++msgid "Bandwidth" ++msgstr "" ++ ++#: csmenu.c:311 ++msgid "Modulation" ++msgstr "" ++ ++#: csmenu.c:333 csmenu.c:335 ++msgid "Button$Start" ++msgstr "" ++ ++#: csmenu.c:333 ++msgid "Channel sel." ++msgstr "" ++ ++#: csmenu.c:352 ++msgid "DiSEqC" ++msgstr "" ++ ++#: csmenu.c:357 csmenu.c:711 ++msgid "Scanning aborted" ++msgstr "" ++ ++#: csmenu.c:360 ++msgid "Scanning succed" ++msgstr "" ++ ++#: csmenu.c:363 ++msgid "Retrieving transponders failed!" ++msgstr "" ++ ++#: csmenu.c:364 ++msgid "Please check satellites.conf." ++msgstr "" ++ ++#: csmenu.c:367 ++msgid "Tuner preserved no lock!" ++msgstr "" ++ ++#: csmenu.c:368 ++msgid "Please check your comnections and satellites.conf." ++msgstr "" ++ ++#: csmenu.c:371 ++msgid "Unpredictable error occured!" ++msgstr "" ++ ++#: csmenu.c:372 ++msgid "Please try again later" ++msgstr "" ++ ++#: csmenu.c:377 ++msgid "channels in current list" ++msgstr "" ++ ++#: csmenu.c:546 ++msgid "TV CHANNELS RADIO" ++msgstr "" ++ ++#: csmenu.c:655 ++#, c-format ++msgid "Retrieving transponder list from %s" ++msgstr "" ++ ++#: csmenu.c:664 ++#, c-format ++msgid "Scanning %s (%iMHz)\t%s" ++msgstr "" ++ ++#: csmenu.c:670 ++#, c-format ++msgid "Scanning %s (%.3fMHz)\t%s" ++msgstr "" ++ ++#: csmenu.c:682 ++msgid "No new channels found" ++msgstr "" ++ ++#: csmenu.c:686 ++msgid "Added new channels" ++msgstr "" ++ ++#: csmenu.c:690 ++msgid "Press OK to finish or Exit for new scan" ++msgstr "" ++ ++#: csmenu.c:946 ++msgid "Scanning on transponder" ++msgstr "" ++ ++#: csmenu.c:1037 ++msgid "disabled" ++msgstr "" ++ ++#: csmenu.c:1037 ++msgid "enabled" ++msgstr "" ++ ++#: csmenu.c:1075 ++msgid "Channel lists" ++msgstr "" ++ ++#: csmenu.c:1165 ++msgid "Changes Done" ++msgstr "" ++ ++#: csmenu.c:1167 ++msgid "Please check your Timers!" ++msgstr "" ++ ++#: csmenu.c:1172 ++msgid "Changes failed" ++msgstr "" ++ ++#: csmenu.c:1241 ++msgid "Delete channel list?" ++msgstr "" ++ ++#: transponders.c:295 transponders.c:507 ++msgid "Terrestrial" ++msgstr "" ++ ++#: transponders.c:307 ++msgid "Cable" ++msgstr "" +diff -Nru reelchannelscan-0.4.3/po/sl_SI.po reelchannelscan-0.4.3-gettext-i18n/po/sl_SI.po +--- reelchannelscan-0.4.3/po/sl_SI.po 1970-01-01 01:00:00.000000000 +0100 ++++ reelchannelscan-0.4.3-gettext-i18n/po/sl_SI.po 2008-04-01 22:12:11.000000000 +0200 +@@ -0,0 +1,260 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Miha Setina <mihasetina@softhome.net>, 2000 ++# Matjaz Thaler <matjaz.thaler@guest.arnes.si>, 2003 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-01 22:12+0200\n" ++"PO-Revision-Date: 2008-04-01 22:12+0200\n" ++"Last-Translator: Matjaz Thaler <matjaz.thaler@guest.arnes.si>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-2\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: channelscan.c:43 ++msgid "TV only" ++msgstr "" ++ ++#: channelscan.c:44 ++msgid "Radio only" ++msgstr "" ++ ++#: channelscan.c:45 ++msgid "Radio + TV" ++msgstr "" ++ ++#: channelscan.c:54 ++msgid "Service Type" ++msgstr "" ++ ++#: csmenu.c:70 ++msgid "Channelscan" ++msgstr "" ++ ++#: csmenu.c:92 ++msgid "None" ++msgstr "" ++ ++#: csmenu.c:101 csmenu.c:962 csmenu.c:964 ++msgid "Auto" ++msgstr "" ++ ++#: csmenu.c:116 csmenu.c:133 csmenu.c:277 csmenu.c:280 ++msgid "Manual" ++msgstr "" ++ ++#: csmenu.c:117 csmenu.c:277 csmenu.c:280 ++msgid "SearchMode$Auto" ++msgstr "" ++ ++#: csmenu.c:118 ++msgid "SearchMode$Auto NIT" ++msgstr "" ++ ++#: csmenu.c:131 ++msgid "Intelligent 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:132 ++msgid "Try all 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:200 ++msgid "DVB-T - Terrestrial" ++msgstr "" ++ ++#: csmenu.c:200 csmenu.c:204 csmenu.c:208 ++msgid "Tuner" ++msgstr "" ++ ++#: csmenu.c:204 ++msgid "DVB-C - Cable" ++msgstr "" ++ ++#: csmenu.c:208 ++msgid "DVB-S - Satellite" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:265 ++msgid "Setup.DVB$Update channels" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "no" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "yes" ++msgstr "" ++ ++#: csmenu.c:263 ++msgid "Select channel list" ++msgstr "" ++ ++#: csmenu.c:268 ++msgid "Source" ++msgstr "" ++ ++#: csmenu.c:272 csmenu.c:277 csmenu.c:280 ++msgid "Search Mode" ++msgstr "" ++ ++#: csmenu.c:273 ++msgid "Position" ++msgstr "" ++ ++#: csmenu.c:276 ++msgid "Detailed search" ++msgstr "" ++ ++#: csmenu.c:293 ++msgid "Frequency (MHz)" ++msgstr "" ++ ++#: csmenu.c:294 ++msgid "Polarization" ++msgstr "" ++ ++#: csmenu.c:295 csmenu.c:310 ++msgid "Symbolrate" ++msgstr "" ++ ++#: csmenu.c:296 ++msgid "FEC" ++msgstr "" ++ ++#: csmenu.c:301 csmenu.c:308 ++msgid "Frequency (kHz)" ++msgstr "" ++ ++#: csmenu.c:302 csmenu.c:309 ++msgid "Bandwidth" ++msgstr "" ++ ++#: csmenu.c:311 ++msgid "Modulation" ++msgstr "" ++ ++#: csmenu.c:333 csmenu.c:335 ++msgid "Button$Start" ++msgstr "" ++ ++#: csmenu.c:333 ++msgid "Channel sel." ++msgstr "" ++ ++#: csmenu.c:352 ++msgid "DiSEqC" ++msgstr "DiSEqC" ++ ++#: csmenu.c:357 csmenu.c:711 ++msgid "Scanning aborted" ++msgstr "" ++ ++#: csmenu.c:360 ++msgid "Scanning succed" ++msgstr "" ++ ++#: csmenu.c:363 ++msgid "Retrieving transponders failed!" ++msgstr "" ++ ++#: csmenu.c:364 ++msgid "Please check satellites.conf." ++msgstr "" ++ ++#: csmenu.c:367 ++msgid "Tuner preserved no lock!" ++msgstr "" ++ ++#: csmenu.c:368 ++msgid "Please check your comnections and satellites.conf." ++msgstr "" ++ ++#: csmenu.c:371 ++msgid "Unpredictable error occured!" ++msgstr "" ++ ++#: csmenu.c:372 ++msgid "Please try again later" ++msgstr "" ++ ++#: csmenu.c:377 ++msgid "channels in current list" ++msgstr "" ++ ++#: csmenu.c:546 ++msgid "TV CHANNELS RADIO" ++msgstr "" ++ ++#: csmenu.c:655 ++#, c-format ++msgid "Retrieving transponder list from %s" ++msgstr "" ++ ++#: csmenu.c:664 ++#, c-format ++msgid "Scanning %s (%iMHz)\t%s" ++msgstr "" ++ ++#: csmenu.c:670 ++#, c-format ++msgid "Scanning %s (%.3fMHz)\t%s" ++msgstr "" ++ ++#: csmenu.c:682 ++msgid "No new channels found" ++msgstr "" ++ ++#: csmenu.c:686 ++msgid "Added new channels" ++msgstr "" ++ ++#: csmenu.c:690 ++msgid "Press OK to finish or Exit for new scan" ++msgstr "" ++ ++#: csmenu.c:946 ++msgid "Scanning on transponder" ++msgstr "" ++ ++#: csmenu.c:1037 ++msgid "disabled" ++msgstr "" ++ ++#: csmenu.c:1037 ++msgid "enabled" ++msgstr "" ++ ++#: csmenu.c:1075 ++msgid "Channel lists" ++msgstr "" ++ ++#: csmenu.c:1165 ++msgid "Changes Done" ++msgstr "" ++ ++#: csmenu.c:1167 ++msgid "Please check your Timers!" ++msgstr "" ++ ++#: csmenu.c:1172 ++msgid "Changes failed" ++msgstr "" ++ ++#: csmenu.c:1241 ++msgid "Delete channel list?" ++msgstr "" ++ ++#: transponders.c:295 transponders.c:507 ++msgid "Terrestrial" ++msgstr "" ++ ++#: transponders.c:307 ++msgid "Cable" ++msgstr "" +diff -Nru reelchannelscan-0.4.3/po/sv_SE.po reelchannelscan-0.4.3-gettext-i18n/po/sv_SE.po +--- reelchannelscan-0.4.3/po/sv_SE.po 1970-01-01 01:00:00.000000000 +0100 ++++ reelchannelscan-0.4.3-gettext-i18n/po/sv_SE.po 2008-04-01 22:12:11.000000000 +0200 +@@ -0,0 +1,260 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Tomas Prybil <tomas@prybil.se>, 2002 ++# Jan Ekholm <chakie@infa.abo.fi>, 2003 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-01 22:12+0200\n" ++"PO-Revision-Date: 2008-04-01 22:12+0200\n" ++"Last-Translator: Tomas Prybil <tomas@prybil.se>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-1\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: channelscan.c:43 ++msgid "TV only" ++msgstr "" ++ ++#: channelscan.c:44 ++msgid "Radio only" ++msgstr "" ++ ++#: channelscan.c:45 ++msgid "Radio + TV" ++msgstr "" ++ ++#: channelscan.c:54 ++msgid "Service Type" ++msgstr "" ++ ++#: csmenu.c:70 ++msgid "Channelscan" ++msgstr "" ++ ++#: csmenu.c:92 ++msgid "None" ++msgstr "" ++ ++#: csmenu.c:101 csmenu.c:962 csmenu.c:964 ++msgid "Auto" ++msgstr "" ++ ++#: csmenu.c:116 csmenu.c:133 csmenu.c:277 csmenu.c:280 ++msgid "Manual" ++msgstr "" ++ ++#: csmenu.c:117 csmenu.c:277 csmenu.c:280 ++msgid "SearchMode$Auto" ++msgstr "" ++ ++#: csmenu.c:118 ++msgid "SearchMode$Auto NIT" ++msgstr "" ++ ++#: csmenu.c:131 ++msgid "Intelligent 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:132 ++msgid "Try all 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:200 ++msgid "DVB-T - Terrestrial" ++msgstr "" ++ ++#: csmenu.c:200 csmenu.c:204 csmenu.c:208 ++msgid "Tuner" ++msgstr "" ++ ++#: csmenu.c:204 ++msgid "DVB-C - Cable" ++msgstr "" ++ ++#: csmenu.c:208 ++msgid "DVB-S - Satellite" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:265 ++msgid "Setup.DVB$Update channels" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "no" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "yes" ++msgstr "" ++ ++#: csmenu.c:263 ++msgid "Select channel list" ++msgstr "" ++ ++#: csmenu.c:268 ++msgid "Source" ++msgstr "" ++ ++#: csmenu.c:272 csmenu.c:277 csmenu.c:280 ++msgid "Search Mode" ++msgstr "" ++ ++#: csmenu.c:273 ++msgid "Position" ++msgstr "" ++ ++#: csmenu.c:276 ++msgid "Detailed search" ++msgstr "" ++ ++#: csmenu.c:293 ++msgid "Frequency (MHz)" ++msgstr "" ++ ++#: csmenu.c:294 ++msgid "Polarization" ++msgstr "" ++ ++#: csmenu.c:295 csmenu.c:310 ++msgid "Symbolrate" ++msgstr "" ++ ++#: csmenu.c:296 ++msgid "FEC" ++msgstr "" ++ ++#: csmenu.c:301 csmenu.c:308 ++msgid "Frequency (kHz)" ++msgstr "" ++ ++#: csmenu.c:302 csmenu.c:309 ++msgid "Bandwidth" ++msgstr "" ++ ++#: csmenu.c:311 ++msgid "Modulation" ++msgstr "" ++ ++#: csmenu.c:333 csmenu.c:335 ++msgid "Button$Start" ++msgstr "" ++ ++#: csmenu.c:333 ++msgid "Channel sel." ++msgstr "" ++ ++#: csmenu.c:352 ++msgid "DiSEqC" ++msgstr "" ++ ++#: csmenu.c:357 csmenu.c:711 ++msgid "Scanning aborted" ++msgstr "" ++ ++#: csmenu.c:360 ++msgid "Scanning succed" ++msgstr "" ++ ++#: csmenu.c:363 ++msgid "Retrieving transponders failed!" ++msgstr "" ++ ++#: csmenu.c:364 ++msgid "Please check satellites.conf." ++msgstr "" ++ ++#: csmenu.c:367 ++msgid "Tuner preserved no lock!" ++msgstr "" ++ ++#: csmenu.c:368 ++msgid "Please check your comnections and satellites.conf." ++msgstr "" ++ ++#: csmenu.c:371 ++msgid "Unpredictable error occured!" ++msgstr "" ++ ++#: csmenu.c:372 ++msgid "Please try again later" ++msgstr "" ++ ++#: csmenu.c:377 ++msgid "channels in current list" ++msgstr "" ++ ++#: csmenu.c:546 ++msgid "TV CHANNELS RADIO" ++msgstr "" ++ ++#: csmenu.c:655 ++#, c-format ++msgid "Retrieving transponder list from %s" ++msgstr "" ++ ++#: csmenu.c:664 ++#, c-format ++msgid "Scanning %s (%iMHz)\t%s" ++msgstr "" ++ ++#: csmenu.c:670 ++#, c-format ++msgid "Scanning %s (%.3fMHz)\t%s" ++msgstr "" ++ ++#: csmenu.c:682 ++msgid "No new channels found" ++msgstr "" ++ ++#: csmenu.c:686 ++msgid "Added new channels" ++msgstr "" ++ ++#: csmenu.c:690 ++msgid "Press OK to finish or Exit for new scan" ++msgstr "" ++ ++#: csmenu.c:946 ++msgid "Scanning on transponder" ++msgstr "" ++ ++#: csmenu.c:1037 ++msgid "disabled" ++msgstr "" ++ ++#: csmenu.c:1037 ++msgid "enabled" ++msgstr "" ++ ++#: csmenu.c:1075 ++msgid "Channel lists" ++msgstr "" ++ ++#: csmenu.c:1165 ++msgid "Changes Done" ++msgstr "" ++ ++#: csmenu.c:1167 ++msgid "Please check your Timers!" ++msgstr "" ++ ++#: csmenu.c:1172 ++msgid "Changes failed" ++msgstr "" ++ ++#: csmenu.c:1241 ++msgid "Delete channel list?" ++msgstr "" ++ ++#: transponders.c:295 transponders.c:507 ++msgid "Terrestrial" ++msgstr "" ++ ++#: transponders.c:307 ++msgid "Cable" ++msgstr "" +diff -Nru reelchannelscan-0.4.3/po/tr_TR.po reelchannelscan-0.4.3-gettext-i18n/po/tr_TR.po +--- reelchannelscan-0.4.3/po/tr_TR.po 1970-01-01 01:00:00.000000000 +0100 ++++ reelchannelscan-0.4.3-gettext-i18n/po/tr_TR.po 2008-04-01 22:12:11.000000000 +0200 +@@ -0,0 +1,259 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Oktay Yolgeçen <oktay_73@yahoo.de>, 2007 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2008-04-01 22:12+0200\n" ++"PO-Revision-Date: 2008-04-01 22:12+0200\n" ++"Last-Translator: Oktay Yolgeçen <oktay_73@yahoo.de>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-9\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: channelscan.c:43 ++msgid "TV only" ++msgstr "" ++ ++#: channelscan.c:44 ++msgid "Radio only" ++msgstr "" ++ ++#: channelscan.c:45 ++msgid "Radio + TV" ++msgstr "" ++ ++#: channelscan.c:54 ++msgid "Service Type" ++msgstr "" ++ ++#: csmenu.c:70 ++msgid "Channelscan" ++msgstr "" ++ ++#: csmenu.c:92 ++msgid "None" ++msgstr "" ++ ++#: csmenu.c:101 csmenu.c:962 csmenu.c:964 ++msgid "Auto" ++msgstr "" ++ ++#: csmenu.c:116 csmenu.c:133 csmenu.c:277 csmenu.c:280 ++msgid "Manual" ++msgstr "" ++ ++#: csmenu.c:117 csmenu.c:277 csmenu.c:280 ++msgid "SearchMode$Auto" ++msgstr "" ++ ++#: csmenu.c:118 ++msgid "SearchMode$Auto NIT" ++msgstr "" ++ ++#: csmenu.c:131 ++msgid "Intelligent 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:132 ++msgid "Try all 6900/6875/6111" ++msgstr "" ++ ++#: csmenu.c:200 ++msgid "DVB-T - Terrestrial" ++msgstr "" ++ ++#: csmenu.c:200 csmenu.c:204 csmenu.c:208 ++msgid "Tuner" ++msgstr "" ++ ++#: csmenu.c:204 ++msgid "DVB-C - Cable" ++msgstr "" ++ ++#: csmenu.c:208 ++msgid "DVB-S - Satellite" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:265 ++msgid "Setup.DVB$Update channels" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "no" ++msgstr "" ++ ++#: csmenu.c:260 csmenu.c:276 ++msgid "yes" ++msgstr "" ++ ++#: csmenu.c:263 ++msgid "Select channel list" ++msgstr "" ++ ++#: csmenu.c:268 ++msgid "Source" ++msgstr "" ++ ++#: csmenu.c:272 csmenu.c:277 csmenu.c:280 ++msgid "Search Mode" ++msgstr "" ++ ++#: csmenu.c:273 ++msgid "Position" ++msgstr "" ++ ++#: csmenu.c:276 ++msgid "Detailed search" ++msgstr "" ++ ++#: csmenu.c:293 ++msgid "Frequency (MHz)" ++msgstr "" ++ ++#: csmenu.c:294 ++msgid "Polarization" ++msgstr "" ++ ++#: csmenu.c:295 csmenu.c:310 ++msgid "Symbolrate" ++msgstr "" ++ ++#: csmenu.c:296 ++msgid "FEC" ++msgstr "" ++ ++#: csmenu.c:301 csmenu.c:308 ++msgid "Frequency (kHz)" ++msgstr "" ++ ++#: csmenu.c:302 csmenu.c:309 ++msgid "Bandwidth" ++msgstr "" ++ ++#: csmenu.c:311 ++msgid "Modulation" ++msgstr "" ++ ++#: csmenu.c:333 csmenu.c:335 ++msgid "Button$Start" ++msgstr "" ++ ++#: csmenu.c:333 ++msgid "Channel sel." ++msgstr "" ++ ++#: csmenu.c:352 ++msgid "DiSEqC" ++msgstr "" ++ ++#: csmenu.c:357 csmenu.c:711 ++msgid "Scanning aborted" ++msgstr "" ++ ++#: csmenu.c:360 ++msgid "Scanning succed" ++msgstr "" ++ ++#: csmenu.c:363 ++msgid "Retrieving transponders failed!" ++msgstr "" ++ ++#: csmenu.c:364 ++msgid "Please check satellites.conf." ++msgstr "" ++ ++#: csmenu.c:367 ++msgid "Tuner preserved no lock!" ++msgstr "" ++ ++#: csmenu.c:368 ++msgid "Please check your comnections and satellites.conf." ++msgstr "" ++ ++#: csmenu.c:371 ++msgid "Unpredictable error occured!" ++msgstr "" ++ ++#: csmenu.c:372 ++msgid "Please try again later" ++msgstr "" ++ ++#: csmenu.c:377 ++msgid "channels in current list" ++msgstr "" ++ ++#: csmenu.c:546 ++msgid "TV CHANNELS RADIO" ++msgstr "" ++ ++#: csmenu.c:655 ++#, c-format ++msgid "Retrieving transponder list from %s" ++msgstr "" ++ ++#: csmenu.c:664 ++#, c-format ++msgid "Scanning %s (%iMHz)\t%s" ++msgstr "" ++ ++#: csmenu.c:670 ++#, c-format ++msgid "Scanning %s (%.3fMHz)\t%s" ++msgstr "" ++ ++#: csmenu.c:682 ++msgid "No new channels found" ++msgstr "" ++ ++#: csmenu.c:686 ++msgid "Added new channels" ++msgstr "" ++ ++#: csmenu.c:690 ++msgid "Press OK to finish or Exit for new scan" ++msgstr "" ++ ++#: csmenu.c:946 ++msgid "Scanning on transponder" ++msgstr "" ++ ++#: csmenu.c:1037 ++msgid "disabled" ++msgstr "" ++ ++#: csmenu.c:1037 ++msgid "enabled" ++msgstr "" ++ ++#: csmenu.c:1075 ++msgid "Channel lists" ++msgstr "" ++ ++#: csmenu.c:1165 ++msgid "Changes Done" ++msgstr "" ++ ++#: csmenu.c:1167 ++msgid "Please check your Timers!" ++msgstr "" ++ ++#: csmenu.c:1172 ++msgid "Changes failed" ++msgstr "" ++ ++#: csmenu.c:1241 ++msgid "Delete channel list?" ++msgstr "" ++ ++#: transponders.c:295 transponders.c:507 ++msgid "Terrestrial" ++msgstr "" ++ ++#: transponders.c:307 ++msgid "Cable" ++msgstr "" +diff -Nru reelchannelscan-0.4.3/transponders.c reelchannelscan-0.4.3-gettext-i18n/transponders.c +--- reelchannelscan-0.4.3/transponders.c 2007-05-19 15:50:09.000000000 +0200 ++++ reelchannelscan-0.4.3-gettext-i18n/transponders.c 2008-04-01 22:11:31.000000000 +0200 +@@ -292,7 +292,7 @@ + } + else if (cSource::IsTerr(sourceCode_)) + { +- position_ = "Terrestrial"; ++ position_ = trNOOP("Terrestrial"); + //if (scp->frequency == 0 || scp->frequency == -1) + if (scp->frequency == 1) + CalcTerrTpl(); +@@ -304,7 +304,7 @@ + } + else if (cSource::IsCable(sourceCode_)) + { +- position_ = "Cable"; ++ position_ = trNOOP("Cable"); + if (scp->frequency == 1) + CalcCableTpl(0, scp); + else { +@@ -504,7 +504,7 @@ + int channel; + int bandwidth; + +- position_ = "Terrestrial"; ++ position_ = trNOOP("Terrestrial"); + + for (channel=5; channel <= 69; channel++) + { diff --git a/plugins/reelchannelscan/patches/reelchannelscan-0.4.3-vdr-1.5.10.diff b/plugins/reelchannelscan/patches/reelchannelscan-0.4.3-vdr-1.5.10.diff new file mode 100644 index 0000000..2f018a1 --- /dev/null +++ b/plugins/reelchannelscan/patches/reelchannelscan-0.4.3-vdr-1.5.10.diff @@ -0,0 +1,31 @@ +diff -Naur reelchannelscan-0.4.3-orig/filter.c reelchannelscan-0.4.3/filter.c +--- reelchannelscan-0.4.3-orig/filter.c 2007-05-19 15:50:09.000000000 +0200 ++++ reelchannelscan-0.4.3/filter.c 2007-10-20 13:33:05.000000000 +0200 +@@ -400,9 +400,15 @@ + int Ppid = pmt.getPCRPid(); + int Apids[MAXAPIDS + 1] = { 0 }; + int Dpids[MAXDPIDS + 1] = { 0 }; ++#if VDRVERSNUM >= 10510 ++ int Spids[MAXDPIDS + 1] = { 0 }; ++#endif + #if VDRVERSNUM >= 10332 + char ALangs[MAXAPIDS + 1][MAXLANGCODE2] = { "" }; + char DLangs[MAXDPIDS + 1][MAXLANGCODE2] = { "" }; ++#if VDRVERSNUM >= 10510 ++ char SLangs[MAXDPIDS + 1][MAXLANGCODE2] = { "" }; ++#endif + #else + char ALangs[MAXAPIDS + 1][4] = { "" }; + char DLangs[MAXDPIDS + 1][4] = { "" }; +@@ -481,7 +484,11 @@ + delete d; + } + } ++#if VDRVERSNUM >= 10510 ++ Channel->SetPids(Vpid, Vpid ? Ppid : 0, Apids, ALangs, Dpids, DLangs, Spids, SLangs, Tpid); ++#else + Channel->SetPids(Vpid, Vpid ? Ppid : 0, Apids, ALangs, Dpids, DLangs, Tpid); ++#endif + //printf("#### %i %s %i %i SID %i\n",num,Channel->Name(),Vpid, Apids[0], Channel->Sid()); + Channel->SetCaIds(CaDescriptors->CaIds()); + Channel->SetCaDescriptors(CaDescriptorHandler.AddCaDescriptors(CaDescriptors)); diff --git a/plugins/reelchannelscan/patches/reelchannelscan-0.4.3.diff b/plugins/reelchannelscan/patches/reelchannelscan-0.4.3.diff new file mode 100644 index 0000000..70b60a1 --- /dev/null +++ b/plugins/reelchannelscan/patches/reelchannelscan-0.4.3.diff @@ -0,0 +1,18 @@ +--- Makefile~ 2007-05-19 16:09:31.000000000 +0200 ++++ Makefile 2007-06-07 16:17:20.000000000 +0200 +@@ -30,11 +30,11 @@ + + -include $(VDRDIR)/Make.config + +-ifdef REELVDR +-PLUGIN = channelscan +-else ++#ifdef REELVDR ++#PLUGIN = channelscan ++#else + PLUGIN = reelchannelscan +-endif ++#endif + + ### The version number of VDR (taken from VDR's "config.h"): + diff --git a/plugins/reelchannelscan/patches/reelchannelscan-0.4.3_gcc43.diff b/plugins/reelchannelscan/patches/reelchannelscan-0.4.3_gcc43.diff new file mode 100644 index 0000000..1a8118f --- /dev/null +++ b/plugins/reelchannelscan/patches/reelchannelscan-0.4.3_gcc43.diff @@ -0,0 +1,36 @@ +diff -pruN vdr-plugin-reelchannelscan-0.4.3~r2.org/csmenu.c vdr-plugin-reelchannelscan-0.4.3~r2/csmenu.c +--- vdr-plugin-reelchannelscan-0.4.3~r2.org/csmenu.c 2007-05-04 19:19:45.000000000 +0200 ++++ vdr-plugin-reelchannelscan-0.4.3~r2/csmenu.c 2008-06-11 14:05:24.000000000 +0200 +@@ -648,7 +648,7 @@ void cMenuScanActive::Setup() + + if (cMenuChannelscan::scanState <= ssGetChannels) + { +- char *txts[3]={"TV only","Radio only","Radio + TV"}; ++ const char *txts[3]={"TV only","Radio only","Radio + TV"}; + + if (cMenuChannelscan::scanState == ssGetTransponders) + { +diff -pruN vdr-plugin-reelchannelscan-0.4.3~r2.org/filter.h vdr-plugin-reelchannelscan-0.4.3~r2/filter.h +--- vdr-plugin-reelchannelscan-0.4.3~r2.org/filter.h 2007-05-04 19:19:45.000000000 +0200 ++++ vdr-plugin-reelchannelscan-0.4.3~r2/filter.h 2008-06-11 14:04:44.000000000 +0200 +@@ -90,7 +90,7 @@ public: + #ifdef REELVDR + #define MAXNITS 256 + #endif +-#define MAXNETWORKNAME 256 ++//#define MAXNETWORKNAME 256 + + + class NitFilter : public cFilter { +diff -pruN vdr-plugin-reelchannelscan-0.4.3~r2.org/transponders.h vdr-plugin-reelchannelscan-0.4.3~r2/transponders.h +--- vdr-plugin-reelchannelscan-0.4.3~r2.org/transponders.h 2007-05-04 19:19:45.000000000 +0200 ++++ vdr-plugin-reelchannelscan-0.4.3~r2/transponders.h 2008-06-11 14:04:44.000000000 +0200 +@@ -19,6 +19,7 @@ + #include <sstream> + #include <string> + #include <vector> ++#include <memory> //definition of auto_ptr + + #include <assert.h> + #include <dirent.h> + diff --git a/plugins/reelchannelscan/plugin.sh b/plugins/reelchannelscan/plugin.sh new file mode 100644 index 0000000..b3d6542 --- /dev/null +++ b/plugins/reelchannelscan/plugin.sh @@ -0,0 +1,56 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 13.04.2008 +# +# vdr-reelchannelscan + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.zulu-entertainment.de/files/vdr-reelchannelscan/vdr-reelchannelscan-0.4.3.tgz" +VERSION="reelchannelscan-0.4.3" +LINK="reelchannelscan" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + rm -rf $VDRCONFDIR/plugins/transponders + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + patch_p1_plugin + + ## plugin specials - start ## + cp -fR $SOURCEDIR/VDR/PLUGINS/src/$LINK/transponders $VDRCONFDIR/plugins + # rechte setzen + chown -R $VDRUSER:$VDRGROUP $VDRCONFDIR/plugins/transponders + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/remote/plugin.sh b/plugins/remote/plugin.sh new file mode 100644 index 0000000..78a0f49 --- /dev/null +++ b/plugins/remote/plugin.sh @@ -0,0 +1,51 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 23.10.2007 +# +# vdr-remote + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://www.escape-edv.de/endriss/vdr/vdr-remote-0.4.0.tgz" +VERSION="remote-0.4.0" +LINK="remote" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/remoteosd/patches/remoteosd-readconfig.diff b/plugins/remoteosd/patches/remoteosd-readconfig.diff new file mode 100644 index 0000000..cac0e0d --- /dev/null +++ b/plugins/remoteosd/patches/remoteosd-readconfig.diff @@ -0,0 +1,13 @@ +--- remoteosd.c.orig 2007-03-19 12:58:42.000000000 +0100 ++++ remoteosd.c 2007-03-19 12:59:27.000000000 +0100 +@@ -108,6 +108,10 @@ + { + if (!strcasecmp(Name, "HideMainMenuEntry")) + RemoteOsdSetup.hideMainMenuEntry = atoi(Value); ++ else if (!strcasecmp(Name, "ReplaceSchedule")) ++ RemoteOsdSetup.replaceSchedule = atoi(Value); ++ else if (!strcasecmp(Name, "ReplaceTimers")) ++ RemoteOsdSetup.replaceTimers = atoi(Value); + else if (!strcasecmp(Name, "ServerIp")) + strn0cpy(RemoteOsdSetup.serverIp, Value, sizeof(RemoteOsdSetup.serverIp)); + else if (!strcasecmp(Name, "ServerPort")) diff --git a/plugins/remoteosd/plugin.sh b/plugins/remoteosd/plugin.sh new file mode 100644 index 0000000..a7acdcc --- /dev/null +++ b/plugins/remoteosd/plugin.sh @@ -0,0 +1,51 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 03.05.2007 +# +# vdr-remoteosd + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://vdr.schmirler.de/remoteosd/vdr-remoteosd-0.0.2.tgz" +VERSION="remoteosd-0.0.2" +LINK="remoteosd" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/remotetimers/plugin.sh b/plugins/remotetimers/plugin.sh new file mode 100644 index 0000000..8f3058e --- /dev/null +++ b/plugins/remotetimers/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 24.02.2009 +# +# vdr-remotetimers + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://vdr.schmirler.de/remotetimers/vdr-remotetimers-0.1.1.tgz" +VERSION="remotetimers-0.1.1" +LINK="remotetimers" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/ripit/patches/ripit-0.0.2-preset.diff b/plugins/ripit/patches/ripit-0.0.2-preset.diff new file mode 100644 index 0000000..b48a6da --- /dev/null +++ b/plugins/ripit/patches/ripit-0.0.2-preset.diff @@ -0,0 +1,32 @@ +--- ripitosd.c~ 2006-11-14 18:43:48.000000000 +0100 ++++ ripitosd.c 2007-06-23 14:03:40.000000000 +0200 +@@ -108,10 +108,10 @@ + else if (RipitSetup.Ripit_maxbitrate == 9) maxbit = 320; + + if (RipitSetup.Ripit_preset == 0) strcpy(presetarg, ""); +- else if (RipitSetup.Ripit_preset == 1) strcpy(presetarg, "--preset 64"); +- else if (RipitSetup.Ripit_preset == 2) strcpy(presetarg, "--alt-preset 192"); +- else if (RipitSetup.Ripit_preset == 3) strcpy(presetarg, "--preset extreme -V 2 --vbr-new -h"); +- else if (RipitSetup.Ripit_preset == 4) strcpy(presetarg, "--preset 320 -h"); ++ else if (RipitSetup.Ripit_preset == 1) strcpy(presetarg, "--preset fast medium"); ++ else if (RipitSetup.Ripit_preset == 2) strcpy(presetarg, "--preset fast standard"); ++ else if (RipitSetup.Ripit_preset == 3) strcpy(presetarg, "--preset fast extreme"); ++ else if (RipitSetup.Ripit_preset == 4) strcpy(presetarg, "--preset insane"); + + + if(RipitSetup.Ripit_crc) { +@@ -209,10 +209,10 @@ + else if (RipitSetup.Ripit_maxbitrate == 9) maxbit = 320; + + if (RipitSetup.Ripit_preset == 0) strcpy(presetarg, ""); +- else if (RipitSetup.Ripit_preset == 1) strcpy(presetarg, "--preset 64"); +- else if (RipitSetup.Ripit_preset == 2) strcpy(presetarg, "--alt-preset 192"); +- else if (RipitSetup.Ripit_preset == 3) strcpy(presetarg, "--preset extreme -V 2 --vbr-new -h"); +- else if (RipitSetup.Ripit_preset == 4) strcpy(presetarg, "--preset 320 -h"); ++ else if (RipitSetup.Ripit_preset == 1) strcpy(presetarg, "--preset fast medium"); ++ else if (RipitSetup.Ripit_preset == 2) strcpy(presetarg, "--preset fast standard"); ++ else if (RipitSetup.Ripit_preset == 3) strcpy(presetarg, "--preset fast extreme"); ++ else if (RipitSetup.Ripit_preset == 4) strcpy(presetarg, "--preset insane"); + + + if(RipitSetup.Ripit_crc) { diff --git a/plugins/ripit/plugin.sh b/plugins/ripit/plugin.sh new file mode 100644 index 0000000..6168bb6 --- /dev/null +++ b/plugins/ripit/plugin.sh @@ -0,0 +1,56 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 23.06.2007 +# +# vdr-ripit + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://www.zulu-entertainment.de/files/vdr-ripit/vdr-ripit-0.0.2.tgz" +VERSION="ripit-0.0.2" +LINK="ripit" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK + rm -rf $VERSION + rm -f $VDRLIBDIR/libvdr-$LINK.so* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + apt_install "ripit id3 id3v2" + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + [ ! -f "$DIR/ripit.pl.orig" ] && [ -f /usr/bin/ripit.pl ] && cp /usr/bin/ripit.pl $DIR/ripit.pl.orig + cp -f $SOURCEDIR/VDR/PLUGINS/src/$LINK/commands/ripit.pl /usr/bin + sed -i "/usr/bin/ripit.pl" -e "s?/VDR/bin/svdrpsend.pl?$VDRBINDIR/svdrpsend.pl?g" + chmod 0755 /usr/bin/ripit.pl + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/rotor/patches/rotor-0.1.4_s2api.diff b/plugins/rotor/patches/rotor-0.1.4_s2api.diff new file mode 100644 index 0000000..31dc8db --- /dev/null +++ b/plugins/rotor/patches/rotor-0.1.4_s2api.diff @@ -0,0 +1,79 @@ +diff -ruN rotor-0.1.4/filter.c rotor-0.1.4-s2api/filter.c +--- rotor-0.1.4/filter.c 2008-04-16 21:30:02.000000000 +0200 ++++ rotor-0.1.4-s2api/filter.c 2009-04-10 12:04:24.000000000 +0200 +@@ -366,6 +366,9 @@ + SI::PMT::Stream stream; + int Vpid = 0; + int Ppid = pmt.getPCRPid(); ++#if VDRVERSNUM >= 10700 ++ int Vtype = stream.getStreamType(); ++#endif + int Apids[MAXAPIDS + 1] = { 0 }; + int Dpids[MAXDPIDS + 1] = { 0 }; + int Spids[MAXDPIDS + 1] = { 0 }; +@@ -451,7 +454,11 @@ + delete d; + } + } ++#if VDRVERSNUM >= 10700 ++ Menu->SetPids(pmt.getServiceId(), Vpid, Ppid, Vtype, Apids, ALangs, Dpids, DLangs, Spids, SLangs, Tpid); ++#else + Menu->SetPids(pmt.getServiceId(),Vpid, Vpid ? Ppid : 0, Apids, ALangs, Dpids, DLangs, Spids, SLangs, Tpid); ++#endif + Menu->SetCaIds(pmt.getServiceId(),CaDescriptors->CaIds()); + Menu->SetCaDescriptors(pmt.getServiceId(),CaDescriptorHandler.AddCaDescriptors(CaDescriptors)); + } +diff -ruN rotor-0.1.4/menu.c rotor-0.1.4-s2api/menu.c +--- rotor-0.1.4/menu.c 2008-05-16 10:55:33.000000000 +0200 ++++ rotor-0.1.4-s2api/menu.c 2009-04-10 12:01:46.000000000 +0200 +@@ -437,7 +437,11 @@ + } + for (int i=0; i<=MAXCAIDS; i++) + CaIds[i]=Channel[Num].Ca(i); ++#if VDRVERSNUM >= 10700 ++ channel->SetPids(Channel[Num].Vpid(),Channel[Num].Ppid(),Channel[Num].Vtype(),Apids,ALangs,Dpids,DLangs,Spids,SLangs,Channel[Num].Tpid()); ++#else + channel->SetPids(Channel[Num].Vpid(),Channel[Num].Ppid(),Apids,ALangs,Dpids,DLangs,Spids,SLangs,Channel[Num].Tpid()); ++#endif + channel->SetCaIds(CaIds); + } + else +@@ -466,16 +470,22 @@ + num++; + } + +-#if VDRVERSNUM>=10332 ++#if VDRVERSNUM >= 10700 ++void cMenuScan::SetPids(int Sid, int Vpid, int Vtype, int Ppid, int *Apids, char ALangs[][MAXLANGCODE2], int *Dpids, char DLangs[][MAXLANGCODE2], int *Spids, char SLangs[][MAXLANGCODE2], int Tpid) ++#elif VDRVERSNUM >= 10332 + void cMenuScan::SetPids(int Sid,int Vpid, int Ppid, int *Apids, char ALangs[][MAXLANGCODE2], int *Dpids, char DLangs[][MAXLANGCODE2], int *Spids, char SLangs[][MAXLANGCODE2], int Tpid) + #else + void cMenuScan::SetPids(int Sid,int Vpid, int Ppid, int *Apids, char ALangs[][4], int *Dpids, char DLangs[][4], int Tpid) + #endif + { + for (int i=0; i<num; i++) + if (Sid==Channel[i].Sid()) + { ++#if VDRVERSNUM >= 10700 ++ Channel[i].SetPids(Vpid,Ppid,Vtype,Apids,ALangs,Dpids,DLangs,Spids,SLangs,Tpid); ++#else + Channel[i].SetPids(Vpid,Ppid,Apids,ALangs,Dpids,DLangs,Spids,SLangs,Tpid); ++#endif + display(i); + } + } +diff -ruN rotor-0.1.4/menu.h rotor-0.1.4-s2api/menu.h +--- rotor-0.1.4/menu.h 2008-04-16 21:30:02.000000000 +0200 ++++ rotor-0.1.4-s2api/menu.h 2009-04-10 12:02:32.000000000 +0200 +@@ -116,7 +116,11 @@ + virtual eOSState ProcessKey(eKeys Key); + void AddChannel(int Num); + void NewChannel(const cChannel *Transponder, const char *Name, const char *ShortName, const char *Provider, int Nid, int Tid, int Sid); ++#if VDRVERSNUM >= 10700 ++ void SetPids(int Sid, int Vpid, int Ppid, int Vtype, int *Apids, char ALangs[][MAXLANGCODE2], int *Dpids, char DLangs[][MAXLANGCODE2], int *Spids, char SLangs[][MAXLANGCODE2], int Tpid); ++#else + void SetPids(int Sid,int Vpid, int Ppid, int *Apids, char ALangs[][MAXLANGCODE2], int *Dpids, char DLangs[][MAXLANGCODE2], int *Spids, char SLangs[][MAXLANGCODE2], int Tpid); ++#endif + void SetCaIds(int Sid,const int *CaIds); + void SetCaDescriptors(int Sid,int Level); + cChannel* GetChannel(int Sid); diff --git a/plugins/rotor/plugin.sh b/plugins/rotor/plugin.sh new file mode 100644 index 0000000..63e424d --- /dev/null +++ b/plugins/rotor/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 11.09.2008 +# +# vdr-rotor + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.zulu-entertainment.de/files/vdr-rotor/vdr-rotor-0.1.4-vdr-1.6.0.tgz" +VERSION="rotor-0.1.4" +LINK="rotor" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/rssreader/plugin.sh b/plugins/rssreader/plugin.sh new file mode 100644 index 0000000..463c295 --- /dev/null +++ b/plugins/rssreader/plugin.sh @@ -0,0 +1,54 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 05.04.2009 +# +# vdr-rssreader + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.saunalahti.fi/~rahrenbe/vdr/rssreader/files/vdr-rssreader-1.6.3.tgz" +VERSION="rssreader-1.6.3" +LINK="rssreader" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + rm -f $VDRCONFDIR/plugins/rssreader.conf + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + cp -f $SOURCEDIR/VDR/PLUGINS/src/$LINK/example/rssreader.conf $VDRCONFDIR/plugins + chown $VDRUSER:$VDRGROUP $VDRCONFDIR/plugins/rssreader.conf + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/screenshot/plugin.sh b/plugins/screenshot/plugin.sh new file mode 100755 index 0000000..b1757f6 --- /dev/null +++ b/plugins/screenshot/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 16.03.2009 +# +# vdr-screenshot + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.zulu-entertainment.de/files/vdr-screenshot/vdr-screenshot-0.0.13.tar.bz2" +VERSION="screenshot-0.0.13" +LINK="screenshot" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/setup/plugin.sh b/plugins/setup/plugin.sh new file mode 100644 index 0000000..6e7e8f5 --- /dev/null +++ b/plugins/setup/plugin.sh @@ -0,0 +1,58 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 21.02.2009 +# +# vdr-setup + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.zulu-entertainment.de/files/vdr-setup/vdr-setup-0.3.1-zulu-edition.tgz" +VERSION="setup-0.3.1-zulu-edition" +LINK="setup" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + rm -rf $VDRCONFDIR/plugins/setup + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + patch_p1_plugin + + ## plugin specials - start ## + [ "$VDRUPDATE" = "on" ] && [ -d $VDRCONFDIR/plugins/setup ] && return + + cp -rf $DIR/setup $VDRCONFDIR/plugins + chown -R $VDRUSER:$VDRGROUP $VDRCONFDIR/plugins/setup + chmod 0744 $VDRCONFDIR/plugins/setup/*.xml + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/setup/setup/help/setup_actplugins.hlp b/plugins/setup/setup/help/setup_actplugins.hlp new file mode 100644 index 0000000..f68ed87 --- /dev/null +++ b/plugins/setup/setup/help/setup_actplugins.hlp @@ -0,0 +1,2 @@ +Plugins an- und abwählen +======================== diff --git a/plugins/setup/setup/help/setup_cicam.hlp b/plugins/setup/setup/help/setup_cicam.hlp new file mode 100644 index 0000000..f18fabc --- /dev/null +++ b/plugins/setup/setup/help/setup_cicam.hlp @@ -0,0 +1,11 @@ +CICAM heißt ausgesprochen "Common Interface Conditional Access Module". + +Mit CICAM oder auch CI-Modul wird ein kleiner Decoder bezeichnet, der ein +verschlüsseltes Programm mittels einer SmartCard decodiert (entschlüsselt). + Will man verschlüsselte Sender sehen, muss man sich passend zur +DVB-Karte ein solches CI -Modul in den Rechner einbauen, ein oder zwei +CAM-Module dort einstecken und ent sprechende SmartCards für die +CAM-Module kaufen. Bekannteste CAM-Module in Deutschland sind das +Irdeto-Modul und das Alphacrypt-Modul. Mit beiden kann mittels +entsprechender SmartCard das PayTV-Angebot von PremiereWorld empfangen werden. + diff --git a/plugins/setup/setup/help/setup_dvb.hlp b/plugins/setup/setup/help/setup_dvb.hlp new file mode 100644 index 0000000..f3dd10c --- /dev/null +++ b/plugins/setup/setup/help/setup_dvb.hlp @@ -0,0 +1,7 @@ +Primäres DVB Interface = 1 + + Legt das primäre DB Interface fest, (daher dasjenige, das die Menüs darstellt und auf Eingaben reagiert). Gültige Werte reichen von '1' bis zu der Anzahl der installierten DVB Karten. Falls mehr als eine DVB Karte installiert ist und eine Aufnahme begonnen werden soll wird das Programm versuchen, ein anderes als das primäre Interface zum Aufnehmen zu verwenden, um den Benutzer so wenig wie möglich zu stören. + +Video Format = 4:3 + + Das Video Format (oder Seitenverhältnis) des Fernsehgeräts, das verwendet wird (4:3 oder 16:9). diff --git a/plugins/setup/setup/help/setup_editmenu.hlp b/plugins/setup/setup/help/setup_editmenu.hlp new file mode 100644 index 0000000..1cf3a47 --- /dev/null +++ b/plugins/setup/setup/help/setup_editmenu.hlp @@ -0,0 +1,3 @@ +VDR-Menü bearbeiten +=================== + diff --git a/plugins/setup/setup/help/setup_epg.hlp b/plugins/setup/setup/help/setup_epg.hlp new file mode 100644 index 0000000..1cc36a8 --- /dev/null +++ b/plugins/setup/setup/help/setup_epg.hlp @@ -0,0 +1,22 @@ +Zeit bis EPG Scan = 5 + + Die Zeit (in Stunden) die der Nutzer inaktiv sein muss um bei Systemen mit einer Karte das Scannen der Kanäle zu beginnen um die EPG-Daten aktuell zu halten. Ein Wert von '0' schaltet das Scannen ab auf System mit sowohl einer wie auch mehreren Karten. + +EPG Fehlerbereinigung = 2 + + Manche Sender strahlen merkwürdig formatierte EPG Daten aus. VDR versucht, diese Fehler mit folgendem Aufwand zu beheben: + + 0 - Keine Reperatur + 1 - Einfache Reperatur der Textpositionen (Titel, Epsiode und erweiterte Beschreibung) + 2 - Entfernen von übermässigen Leerräumen und Bindestrichen, Korrektur von ungültigen Zeichen. + + Voreinstellung ist '2'. + Beachten Sie bitte dass bei Änderungen dieser Einstellungen die bereits empfangenen EPG Daten nicht verändert werden. Nur neu empfangene Daten werden entsprechend bearbeitet. Starten Sie VDR neu wenn Sie alle Daten verändert haben wollen. + +Systemzeit stellen = nein + + Bestimmt ob die Systemzeit nach der Zeit, die im EPG Strom gesendet wird, gesetzt werden soll. Beachten Sie dass dies nur funktioniert wenn VDR mit einer UserId läuft, die ein Setzen der Uhrzeit zulässt. Sie benötigen ausserdem die Option "Transponder für Systemzeit" für einen Kanal dem Sie die Ausstrahlung einer verlässlichen Zeitbasis zutrauen (Nicht alle Kanäle scheinen Zugriff auf eine korrekte Zeitbasis zu haben). + +Transponder für Systemzeit = 0 + + Die Frequenz des Transponders, der zum Setzen der Systemzeit genutzt werden soll. Das Menü "Einstellungen" bietet die vollständige Liste der Kanäle an, selbst wenn einiger dieser auf dem gleichen Transponder liegen. Ausserdem kann es sein dass nach Wahl eines Kanals, Verlassen und erneuter Wahl des Menüs ein anderer Kanal eingestellt ist, da der erste Kanal des gewählten Transponders in der Datei 'channels.conf' genommen wird. Beachten Sie weiterhin, daß zum Setzen der Systemzeit mit den Transponderdaten die Option "Systemzeit stellen" ebenfalls aktiviert sein muss. diff --git a/plugins/setup/setup/help/setup_lnb.hlp b/plugins/setup/setup/help/setup_lnb.hlp new file mode 100644 index 0000000..6f044d1 --- /dev/null +++ b/plugins/setup/setup/help/setup_lnb.hlp @@ -0,0 +1,12 @@ +SLOF = 11700 + + Die Schaltfrequenz (in MHz) zwischen unterem und oberen LOF + +Untere LNB Frequenz = 9750 +Obere LNB Frequenz = 10600 + + Die untere und obere lokale Oszillationsfrequenz des LNB (in MHz, haben für DVB-C Empfänger keine Bedeutung) + +DiSEqC benutzen = nein + + Schaltet den DiSEqC Betrieb generell an oder aus. diff --git a/plugins/setup/setup/help/setup_misc.hlp b/plugins/setup/setup/help/setup_misc.hlp new file mode 100644 index 0000000..e48086d --- /dev/null +++ b/plugins/setup/setup/help/setup_misc.hlp @@ -0,0 +1,8 @@ +Mindest Event Pause = 30 +Min. Benutzer-Inaktivität = 120 + + Wenn die Kommandozeilenoption '-s' gesetzt ist wird VDR den Rechner herunterfahren wenn der nächste Timer mindestens MinEventTimeout Minuten in der Zukunft liegt, und der Benutzer mindestens MinUserInactivity nicht aktiv war. MinUserInactivity auf 0 zu setzten deaktiviert ein automatisches Herunterfahren, es bleibt dabei möglich den Recher manuell herunterzufahren. + +SVDRP Timeout = 300 + + Die Zeit (in Sekunden) einer offenen SVDRP Verbindung, nach der die Verbindung automatisch getrennt wird. Voreingestellt ist 300, ein Wert von 0 bedeutet keinen Timeout. diff --git a/plugins/setup/setup/help/setup_osd.hlp b/plugins/setup/setup/help/setup_osd.hlp new file mode 100644 index 0000000..36e3276 --- /dev/null +++ b/plugins/setup/setup/help/setup_osd.hlp @@ -0,0 +1,23 @@ +Die Abürzung OSD steht für On Screen Display das in dieser Beschreibung Textfeld genannt wurde. +In diesem Abschnitt können Einstellungen zu seiner Erscheinungsform gemacht werden + +Sprache = Deutsch +Die Sprache in der die Texte des OSD dargestellt werden sollen. +Breite = 52 +Höhe = 18 +Die Breite und Höhe des OSD. Gültige Bereiche sind für Breite=40...56, Höhe=12...21. +Anzeigedauer für Nachrichten = 1 +Die Zeit (in Sekunden) für die eine Information im OSD dargestellt werden soll. Gültige Werte sind zwischen 1...60. +Kanal-Info Position = unten +Die Position des Kanal-Info Fensters im OSD (entweder 'unten' oder 'oben'). +Info beim Kanalwechsel = ja +Schaltet die Darstellung der Momentan/Nächste Information an oder aus wenn der Kanal gewechselt wird. Die Information wird immer dargestellt, wenn der "Ok" Knopf im normalen Anzeigemodus ist. +Seitenweise scrollen = ja +Wenn der Cursor auf der ersten (letzen) Zeile einer Seite steht und die 'Auf' ('Ab') Taste gedrückt wird, wird die Liste um jeweils eine ganze Seite zurückgescrollt (vorgescrollt) und der Cursor auf die letzte (erste) Zeile der Seite gesetzt. +Timer sortieren = ja +Schaltet das Sortieren im "Timer" Menü an oder aus. Timer werden aufsteigend nach Startzeit sortiert, der erste ist dabei derjenige der als nächstes startet. +Aufnahmeverzeichnisse = ja +Symbole in der Kanalinfo = ja +Zeitbalken in der Kanalinfo = ja +Zeitbalken in 'Was läuft jetzt?' = ja +Wochentag anzeigen = nein diff --git a/plugins/setup/setup/help/setup_record.hlp b/plugins/setup/setup/help/setup_record.hlp new file mode 100644 index 0000000..884f306 --- /dev/null +++ b/plugins/setup/setup/help/setup_record.hlp @@ -0,0 +1,44 @@ +Zeitpuffer bei Beginn = 2 +Zeitpuffer bei Ende = 10 + + Bestimmt wieviele Minuten VDR vor der ofiziellen Startzeit einer Sendung mit der Aufnahme beginnen soll, und wie lange nach dem offiziellen Enden der Sendung es aufhören soll. Diese Puffer werden automatisch zu Timern hinzugefügt, die aus den EPG-Daten erstellt werden. + +Primär-Limit = 0 + + Die kleinste Priorität die ein Timer aufweisen muss um auf dem primären DVB Interface aufzeichnen zu dürfen oder einen anderen Timer mit höherer Priorität dazu zu zwingen, das primäre DVB Interface zu benutzen. Dies ist hauptsächlich nützlich für Aufnahmen, die nur dann stattfinden sollen wenn es sonst nichts zu tun gibt, aber den Nutzer dennoch nicht davon abhalten sollen, auf dem primären Interface etwas anzuschauen. Auf Systemen mit nur einer DVB Karte werden Timer mit einer Priorität geringer als PrimaryLimit niemals ausgeführt. + +Default Priorität = 50 +Default Lebenszeit = 50 + + Die voreingestellten Werte für Priorität und Lebensdauer die benutzt werden wenn ein neuer Timer erstellt wird. Eine Lebensdauer von 99 bedeutet, daß das diese Aufnahme niemals automatisch gelöscht wird. + +Episodennamen verwenden = ja + + Wiederholende Timer können die EPG Information 'Episodenname' verwenden um Dateinamen in einer hirarchischen Struktur zu erzeugen (zum Beispiel um alle Episoden einer Serie in einem gemeinsamen Verzeichnis zu speichern). Mit diesem Parameter kann dies kontrolliert werden: + + nein - 'Episodenname' nicht verwenden + ja - verwenden (und Unterverzeichnisse anlegen) + +Direktaufzeichnung markieren = ja + + Bestimmt ob eine "Direkteaufnahme" (ausgelöst durch den Knopf "Rot" im "VDR" Menü) mit einem '@' Zeichen markiert wird, um sie von Timeraufnahmen im "Aufnahmen" Menü unterscheidbar zu machen. + +Direktaufzeichnung benennen = TITEL EPISODE + + Bestimmt, wie eine Direktaufzeichnung benannt werden soll. Wenn die Schlüsselworte TITLE und/order EPISODE gegeben sind, werden diese durch den Titel und Epsiode aus den EPG Daten zum Zeitpunkt der Aufnahme erstetzt (sofern diese Informationen vorhanden sind). Wird dieser Parameter leer gelassen, wird der Kanalname genutzt. + +Dauer der Direktaufzeichnung = 180 + + Bestimmt die Dauer einer Direktaufzeichnung in Minuten. Voreinstellung ist 180 Minuten (3 Stunden). Die Stoppzeit einer Direktaufnahme kann jederzeit durch Bearbeiten des entsprechenden Timers im "Timer" Menü verändert werden. + +Dolby Digital Ton aufzeichnen = ja + + Schaltet das Aufnehmen des Dolby Digital Kanals an oder aus. Dies kann nützlich sein, wenn Sie nicht die erforderliche Ausstattung haben um Dolby Digital wiederzugeben, Sie können so Plattenplatz sparen. + +Max. Video Datei Grösse = 2000 + + Die maximale Grösse einer Datei einer Aufnahme in MB. Die gültigen Werte sind 100...2000. Voreingestellt sind 2000, aber kleinere Werte können verwendet werden wenn, die Aufnahmen beispielsweise auf CD archiviert werden sollen. + +Editierte Dateien aufteilen = nein + + Während des tatsächlichen Schneideprozesses schreibt VDR in Dateien die grösser werden können als MaxVideoFileSize. Setzen Sie diese Option auf 'ja' wenn Sie es vorziehen, daß jede geschnitte Sequenz in einer eigenen Datei gespeichert wird (mit Namen 001.vdr, 002.vdr, ...). diff --git a/plugins/setup/setup/help/setup_replay.hlp b/plugins/setup/setup/help/setup_replay.hlp new file mode 100644 index 0000000..366b702 --- /dev/null +++ b/plugins/setup/setup/help/setup_replay.hlp @@ -0,0 +1,7 @@ +MultiSpeed Modus = nein + + Bestimmt die Funktion der Tasten "Links" und "Rechtes" im Wiedergabemodus. Auf "Nein" gesetzt wird nur eine Geschwindigkeit genutzt, auf "Ja" stehen drei Geschwindigkeiten zur Verfügung für langsamen und schnellen Vor-/Rücklauf. + +Wiedergabestatus anzeigen = nein + + Schaltet die Anzeige des momentanen Wiedergabemodus an oder aus. diff --git a/plugins/setup/setup/sysconfig b/plugins/setup/setup/sysconfig new file mode 100644 index 0000000..58fa5ee --- /dev/null +++ b/plugins/setup/setup/sysconfig @@ -0,0 +1,12 @@ +# +# Generated by Setup-Plugin, +# (c) 2005 by Ralf Dotzert and MiniVDR.de +# +# Diese Datei wird vom Plugin beim speichern automatisch erzeugt +# und mit den zusätzlichen Variablen gefüllt. +# +# Minimal sollte am Anfang zumindest der folgende Eintrag vorhanden sein. +# + +PLUGINLIST=" \"-Psetup\" " +USE_SYSCONFIG="off" diff --git a/plugins/setup/setup/vdr-menu.1.xml b/plugins/setup/setup/vdr-menu.1.xml new file mode 100755 index 0000000..f50eb2f --- /dev/null +++ b/plugins/setup/setup/vdr-menu.1.xml @@ -0,0 +1,119 @@ +<!-- +- VDR Menu-Configuration File +- +- +- Example: +- + <menus> + <system name="Schedule" /> + <system name="Channels" /> + <system name="Timers" /> + <system name="Recordings" /> + <menu name="System"> + <system name="Setup" /> + <system name="Commands" /> + <plugin name="setup" /> + <command name="myCommand1" execute="/usr/bin/mycommand1" /> + <command name="myCommand2" execute="/usr/bin/mycommand2" confirm="yes" /> + <plugin name="epgsearch" /> + <menu name="mySubSubMenu"> + ... + </menu> + </menu> + <menu name="Suche"> + <plugin name="epgsearch" /> + ... + </menu> + </menus> +--> +<menus suffix=""> + <system name="Schedule" /> + <system name="Channels" /> + <system name="Timers" /> + <system name="Recordings" /> + <plugin name="arghdirector" /> + <plugin name="music" /> + <menu name="Multimedia"> + <plugin name="cdda" /> + <plugin name="ripit" /> + <command name="CD auswerfen" execute="eject /dev/cdrw" /> + <plugin name="image" /> + <plugin name="audiorecorder" /> + <plugin name="dvd" /> + <menu name="DVD-Recorder"> + <plugin name="burn" /> + <menu name="DVD-Cover erstellen"> + <thread name="Blend Only" execute='burn-bc -f draw-storke -w default' /> + <thread name="Simple Cropping" execute='echo "burn-bc -f 'crop resize draw-storke unsharp' -w default' /> + <thread name="Zoom Center" execute='burn-bc -f 'crop zoom-center resize draw-storke unsharp' -w default' /> + <thread name="Zoom Left" execute='burn-bc -f 'crop zoom-left resize draw-storke unsharp' -w default' /> + <thread name="Zoom Right" execute='burn-bc -f 'crop zoom-right resize draw-storke unsharp' -w default' /> + <thread name="Serial Foto" execute='burn-bc -f 'crop zoom-center resize draw-storke serial-foto unsharp' -w default' /> + <thread name="Serial Movie" execute='burn-bc -f 'crop zoom-center resize draw-storke serial-movie unsharp' -w default' /> + <thread name="Big Serial Movie" execute='burn-bc -f 'crop zoom-center resize draw-bigsize serial-movie unsharp' -w default' /> + </menu> + <command name="Aufraeumen" execute="rm -rf /media/hda7/video/vdr-burn.*" confirm="yes" /> + </menu> + <command name="DVD auswerfen" execute="eject /dev/dvdrw" /> + <plugin name="dvdswitch" /> + <plugin name="mplayer" /> + <plugin name="vodcatcher" /> + </menu> + <menu name="Information"> + <plugin name="recstatus" /> + <plugin name="newsticker" /> + <plugin name="osdteletext" /> + <plugin name="sport" /> + <plugin name="weatherng" /> + <plugin name="femon" /> + </menu> + <menu name="Spiele"> + <plugin name="games" /> + <plugin name="solitaire" /> + <plugin name="sudoku" /> + <plugin name="freecell" /> + <plugin name="spider" /> + </menu> + <menu name="Sonstiges"> + <plugin name="pilotskin" /> + <plugin name="osdpip" /> + <plugin name="screenshot" /> + <plugin name="sleeptimer" /> + </menu> + <menu name="Projektor"> + <command name="Tvtime starten" execute='echo "/usr/bin/vdrplayer --player tvtime"|at now' confirm="yes" /> + <command name="Tvtime und X-Server beenden" execute='echo "/usr/bin/vdrplayer --killall"|at now' confirm="yes" /> + </menu> + <menu name="System"> + <system name="Setup" /> + <menu name="Kanal Menu"> + <system name="Channels" /> + <plugin name="channellists" /> + <plugin name="reelchannelscan" /> + <plugin name="chanorg" /> + <plugin name="chanman" /> + <plugin name="femon" /> + </menu> + <plugin name="setup" /> + <thread name="VDR Setup" execute='sudo /usr/lib/vdr/scripts/vdrsetup' /> + <menu name="Server"> + <command name="Server wecken" execute="sudo /usr/lib/vdr/scripts/vdr2root wakeonlan" confirm="yes" /> + <command name="Server einbinden" execute="sudo /usr/lib/vdr/scripts/vdr2root mount" confirm="yes" /> + <command name="Server loesen" execute="sudo /usr/lib/vdr/scripts/vdr2root umount" confirm="yes" /> + </menu> + <menu name="Daten und Logs"> + <command name="System-Log anzeigen" execute="sudo /usr/lib/vdr/scripts/vdr2root show-log" /> + <command name="System-Log saeubern" execute="sudo /usr/lib/vdr/scripts/vdr2root clean-log" confirm="yes" /> + <thread name="EPG Daten loeschen" execute='svdrpsend.pl CLRE' confirm="yes" /> + <thread name="Aufnahmen Liste aktualisieren" execute='sudo /usr/lib/vdr/scripts/vdr2root video-update; sleep 1; svdrpsend.pl HITK Recordings' /> + <plugin name="filebrowser" /> + <command name="Zeige Belegung der Laufwerke" execute='df -h|awk '/%/ { printf("%4.4s : %5.5s : %s\n",$5,$4,$6) }'' /> + </menu> + <menu name="Befehle"> + <command name="VDR neustarten" execute="sudo /usr/lib/vdr/scripts/vdr2root vdr-restart" confirm="yes" /> + <command name="VDR beenden" execute="sudo /usr/lib/vdr/scripts/vdr2root vdr-stop" confirm="yes" /> + <command name="System neustarten" execute="sudo /usr/lib/vdr/scripts/vdr2root reboot" confirm="yes" /> + <thread name="System beenden" execute='svdrpsend.pl HITK Power' confirm="yes" /> + </menu> + </menu> +</menus> diff --git a/plugins/setup/setup/vdr-menu.de_DE.xml b/plugins/setup/setup/vdr-menu.de_DE.xml new file mode 100644 index 0000000..e3521e1 --- /dev/null +++ b/plugins/setup/setup/vdr-menu.de_DE.xml @@ -0,0 +1,131 @@ +<!-- +- VDR Menu-Configuration File +- +- +- Example: +- + <menus> + <system name="Schedule" /> + <system name="Channels" /> + <system name="Timers" /> + <system name="Recordings" /> + <menu name="System"> + <system name="Setup" /> + <system name="Commands" /> + <plugin name="setup" title="My Setup" /> + <command name="myCommand1" execute="/usr/bin/mycommand1" /> + <command name="myCommand2" execute="/usr/bin/mycommand2" confirm="yes" /> + <thread name="myCommand3" execute="/usr/bin/mycommand3" confirm="yes" /> + <plugin name="epgsearch" title="myProgram" /> + <menu name="mySubSubMenu"> + ... + </menu> + </menu> + <menu name="Suche"> + <plugin name="epgsearch" /> + ... + </menu> + </menus> +--> +<menus suffix=""> + <system name="Schedule" /> + <system name="Channels" /> + <system name="Timers" /> + <plugin name="epgsearchonly" /> + <system name="Recordings" /> + <plugin name="music" title="Mp3 JukeBox" /> + <menu name="Multimedia"> + <plugin name="cdda" title="CD Spieler" /> + <plugin name="ripit" title="CD als Mp3 speichern" /> + <command name="CD auswerfen" execute="eject /dev/cdrw" /> + <plugin name="image" /> + <plugin name="dvd" title="DVD Spieler" /> + <menu name="DVD Recorder"> + <plugin name="burn" /> + <menu name="DVD-Cover erstellen"> + <thread name="Blend Only" execute="burn-bc -f draw-storke -w default" /> + <thread name="Simple Cropping" execute='echo "burn-bc -f 'crop resize draw-storke unsharp' -w default' /> + <thread name="Zoom Center" execute="burn-bc -f 'crop zoom-center resize draw-storke unsharp' -w default" /> + <thread name="Zoom Left" execute="burn-bc -f 'crop zoom-left resize draw-storke unsharp' -w default" /> + <thread name="Zoom Right" execute="burn-bc -f 'crop zoom-right resize draw-storke unsharp' -w default" /> + <thread name="Serial Foto" execute="burn-bc -f 'crop zoom-center resize draw-storke serial-foto unsharp' -w default" /> + <thread name="Serial Movie" execute="burn-bc -f 'crop zoom-center resize draw-storke serial-movie unsharp' -w default" /> + <thread name="Big Serial Movie" execute="burn-bc -f 'crop zoom-center resize draw-bigsize serial-movie unsharp' -w default" /> + </menu> + <command name="Aufräumen" execute="rm -rf /media/disk1part5/video/vdr-burn.*" confirm="yes" /> + <menu name="DVDs konvertieren"> + <command name="Starte DVD zu VDR" execute='echo "/usr/lib/vdr/scripts/dvdconvert/dvd2vdr.sh >> /var/cache/vdr/dvdconvert/log/dvd2vdr.log 2>&1"|at now' /> + <command name="Starte DVD zu DVD" execute='echo "/usr/lib/vdr/scripts/dvdconvert/dvd2dvd.sh >> /var/cache/vdr/dvdconvert/log/dvd2dvd.log 2>&1"|at now' /> + <command name="Sperre aufheben" execute="rm -f /var/cache/vdr/dvdconvert/log/dvd2*.LOCK" /> + </menu> + </menu> + <menu name="DVD Drehzahlkontrolle"> + <command name="Zweifach" execute="sudo speedcontrol -x 2 /dev/dvdrw" /> + <command name="Vierfach" execute="sudo speedcontrol -x 4 /dev/dvdrw" /> + <command name="Achtfach" execute="sudo speedcontrol -x 8 /dev/dvdrw" /> + <command name="Zurücksetzen" execute="sudo speedcontrol -x 0 /dev/dvdrw" /> + </menu> + <command name="DVD auswerfen" execute="eject /dev/dvdrw" /> + <plugin name="dvdswitch" title="DVD von Festplatte" /> + <plugin name="music" title="Mp3 JukeBox" /> + <plugin name="mplayer" title="Medien" /> + <menu name="Externe Medien"> + <command name="USB-Stick einbinden" execute="sudo /usr/lib/vdr/scripts/vdr2root usb mount" /> + <command name="USB-Stick entfernen" execute="sudo /usr/lib/vdr/scripts/vdr2root usb umount" confirm="yes" /> + </menu> + <plugin name="vodcatcher" /> + </menu> + <menu name="Information"> + <plugin name="recstatus" /> + <plugin name="newsticker" title="Nachrichten" /> + <plugin name="weatherng" title="Wetter (geht noch nicht)" /> + <plugin name="femon" /> + </menu> + <plugin name="sportng" title="Sport" /> + <menu name="Sonstiges"> + <plugin name="clock" title="Uhr" /> + <plugin name="pilotskin" title="Navigator" /> + <plugin name="osdpip" title="Bild in Bild" /> + <plugin name="screenshot" title="Schnapschuß" /> + <plugin name="sleeptimer" title="Automatisch abschalten" /> + <plugin name="extrecmenu" title="Aufzeichnungen (erweitert)" /> + </menu> + <menu name="Spiele"> + <plugin name="solitaire" /> + <plugin name="sudoku" /> + </menu> + <menu name="Projektion"> + <thread name="VDRplayer starten" execute="/usr/bin/vdrplayer --player vdr-sxfe --ip 127.0.0.1" confirm="yes" /> + <plugin name="xineliboutput" /> + <thread name="Player und X-Server beenden" execute="/usr/bin/vdrplayer --killall" confirm="yes" /> + </menu> + <menu name="System"> + <system name="Setup" /> + <menu name="Kanal Menü"> + <system name="Channels" /> + <plugin name="channellists" /> + <plugin name="reelchannelscan" /> + <plugin name="noepgmenu" /> + <thread name="Neue Kanäle entfernen" execute='/usr/lib/vdr/scripts/channellists-reset.sh ":@1000 Neue Kanäle"' confirm="yes" /> + <plugin name="chanman" /> + <plugin name="femon" /> + </menu> + <plugin name="setup" /> + <plugin name="osdadjust" /> + <thread name="VDR Setup" execute="sudo /usr/lib/vdr/scripts/vdrsetup" /> + <menu name="Daten und Logs"> + <command name="System-Log anzeigen" execute="sudo /usr/lib/vdr/scripts/vdr2root show-log" /> + <command name="System-Log säubern" execute="sudo /usr/lib/vdr/scripts/vdr2root clean-log" confirm="yes" /> + <thread name="EPG aktualisieren" execute="svdrpsend.pl plug tvm2vdr FULLUPDATE" confirm="yes" /> + <thread name="EPG Daten löschen" execute="svdrpsend.pl CLRE" confirm="yes" /> + <thread name="Aufnahmen aktualisieren" execute="sudo /usr/lib/vdr/scripts/vdr2root video-update; sleep 1; svdrpsend.pl HITK Recordings" /> + <command name="Belegung der Laufwerke" execute='df -h|awk '/%/ { printf("%4.4s : %5.5s : %s\n",$5,$4,$6) }'' /> + </menu> + <menu name="Befehle"> + <command name="VDR neustarten" execute="sudo /usr/lib/vdr/scripts/vdr2root vdr-restart" confirm="yes" /> + <command name="VDR beenden" execute="sudo /usr/lib/vdr/scripts/vdr2root vdr-stop" confirm="yes" /> + <command name="System neustarten" execute="sudo /usr/lib/vdr/scripts/vdr2root reboot" confirm="yes" /> + <thread name="System beenden" execute="svdrpsend.pl HITK Power" confirm="yes" /> + </menu> + </menu> +</menus> diff --git a/plugins/setup/setup/vdr-menu.xml b/plugins/setup/setup/vdr-menu.xml new file mode 100755 index 0000000..51daec4 --- /dev/null +++ b/plugins/setup/setup/vdr-menu.xml @@ -0,0 +1,119 @@ +<!-- +- VDR Menu-Configuration File +- +- +- Example: +- + <menus> + <system name="Schedule" /> + <system name="Channels" /> + <system name="Timers" /> + <system name="Recordings" /> + <menu name="System"> + <system name="Setup" /> + <system name="Commands" /> + <plugin name="setup" /> + <command name="myCommand1" execute="/usr/bin/mycommand1" /> + <command name="myCommand2" execute="/usr/bin/mycommand2" confirm="yes" /> + <plugin name="epgsearch" /> + <menu name="mySubSubMenu"> + ... + </menu> + </menu> + <menu name="Suche"> + <plugin name="epgsearch" /> + ... + </menu> + </menus> +--> +<menus suffix=""> + <system name="Schedule" /> + <system name="Channels" /> + <system name="Timers" /> + <system name="Recordings" /> + <plugin name="arghdirector" /> + <plugin name="music" /> + <menu name="Multimedia"> + <plugin name="cdda" /> + <plugin name="ripit" /> + <command name="Eject CD" execute="eject /dev/cdrw" /> + <plugin name="image" /> + <plugin name="audiorecorder" /> + <plugin name="dvd" /> + <menu name="DVD-Recorder"> + <plugin name="burn" /> + <menu name="Create DVD-Cover"> + <thread name="Blend Only" execute='burn-bc -f draw-storke -w default' /> + <thread name="Simple Cropping" execute='burn-bc -f 'crop resize draw-storke unsharp' -w default' /> + <thread name="Zoom Center" execute='burn-bc -f 'crop zoom-center resize draw-storke unsharp' -w default' /> + <thread name="Zoom Left" execute='burn-bc -f 'crop zoom-left resize draw-storke unsharp' -w default' /> + <thread name="Zoom Right" execute='burn-bc -f 'crop zoom-right resize draw-storke unsharp' -w default' /> + <thread name="Serial Foto" execute='burn-bc -f 'crop zoom-center resize draw-storke serial-foto unsharp' -w default' /> + <thread name="Serial Movie" execute='burn-bc -f 'crop zoom-center resize draw-storke serial-movie unsharp' -w default' /> + <thread name="Big Serial Movie" execute='burn-bc -f 'crop zoom-center resize draw-bigsize serial-movie unsharp' -w default' /> + </menu> + <command name="Clean" execute="rm -rf /media/hda7/video/vdr-burn.*" confirm="yes" /> + </menu> + <command name="Eject DVD" execute="eject /dev/dvdrw" /> + <plugin name="dvdswitch" /> + <plugin name="mplayer" /> + <plugin name="vodcatcher" /> + </menu> + <menu name="Information"> + <plugin name="recstatus" /> + <plugin name="newsticker" /> + <plugin name="osdteletext" /> + <plugin name="sport" /> + <plugin name="weatherng" /> + <plugin name="femon" /> + </menu> + <menu name="Fun"> + <plugin name="games" /> + <plugin name="solitaire" /> + <plugin name="sudoku" /> + <plugin name="freecell" /> + <plugin name="spider" /> + </menu> + <menu name="Misc"> + <plugin name="pilotskin" /> + <plugin name="osdpip" /> + <plugin name="screenshot" /> + <plugin name="sleeptimer" /> + </menu> + <menu name="Projector"> + <command name="Start Tvtime" execute='echo "/usr/bin/vdrplayer --player tvtime"|at now' confirm="yes" /> + <command name="Close Tvtime and X-Server" execute='echo "/usr/bin/vdrplayer --killall"|at now' confirm="yes" /> + </menu> + <menu name="System"> + <system name="Setup" /> + <menu name="Channel Menu"> + <system name="Channels" /> + <plugin name="channellists" /> + <plugin name="reelchannelscan" /> + <plugin name="chanorg" /> + <plugin name="chanman" /> + <plugin name="femon" /> + </menu> + <plugin name="setup" /> + <thread name="VDR Setup" execute='sudo /usr/lib/vdr/scripts/vdrsetup' /> + <menu name="Server"> + <command name="Wakeup" execute="sudo /usr/lib/vdr/scripts/vdr2root wakeonlan" confirm="yes" /> + <command name="Mount" execute="sudo /usr/lib/vdr/scripts/vdr2root mount" confirm="yes" /> + <command name="Umount" execute="sudo /usr/lib/vdr/scripts/vdr2root umount" confirm="yes" /> + </menu> + <menu name="Data and Logs"> + <command name="Show Log" execute="sudo /usr/lib/vdr/scripts/vdr2root show-log" /> + <command name="Clean Log" execute="sudo /usr/lib/vdr/scripts/vdr2root clean-log" confirm="yes" /> + <thread name="Clean EPG Data" execute='svdrpsend.pl CLRE' confirm="yes" /> + <thread name="Update Recordings List" execute='sudo /usr/lib/vdr/scripts/vdr2root video-update; sleep 1; svdrpsend.pl HITK Recordings' /> + <plugin name="filebrowser" /> + <command name="HDD Info" execute='df -h|awk '/%/ { printf("%4.4s : %5.5s : %s\n",$5,$4,$6) }'' /> + </menu> + <menu name="Commands"> + <command name="VDR restart" execute="sudo /usr/lib/vdr/scripts/vdr2root vdr-restart" confirm="yes" /> + <command name="VDR stop" execute="sudo /usr/lib/vdr/scripts/vdr2root vdr-stop" confirm="yes" /> + <command name="Reboot" execute="sudo /usr/lib/vdr/scripts/vdr2root reboot" confirm="yes" /> + <thread name="Poweroff" execute='svdrpsend.pl HITK Power' confirm="yes" /> + </menu> + </menu> +</menus> diff --git a/plugins/setup/setup/vdr-setup.1.xml b/plugins/setup/setup/vdr-setup.1.xml new file mode 100755 index 0000000..b5c36e1 --- /dev/null +++ b/plugins/setup/setup/vdr-setup.1.xml @@ -0,0 +1,67 @@ +<!-- +- Example: +- +- <setup sysconfigFile="/etc/sysconfig"> +- bootLinux="/sbin/reboot" +- VDRlibDir="/usr/lib/vdr/plugins" +- <plugins sysconfig="PLUGINLIST"> +- <plugin name="setup" info="x-vdr-Setup" active="yes" /> +- <plugin name="vdrcd" param="-c /dev/dvd -c /media/dvd -c /media/cdfs" info="VDR CD"/> +- ... +- </plugin> +- <menus> +- <menu name="VDR-Einstellungen"> +- <menu name="Edit VDR-Menü" system="VDRMenu" /> +- <menu name="OSD" system="OSD" /> +- <menu name="EPG" system="EPG" /> +- <menu name="DVB" system="DVB" /> +- <menu name="LNB" system="LNB" /> +- <menu name="CICAM" system="CICAM" /> -- vdr-1.4.7 -- +- <menu name="CAM" system="CAM" /> -- vdr-1.5.x -- +- <menu name="Aufnahme" system="Record" /> +- <menu name="Wiedergabe" system="Replay" /> +- <menu name="Sonstiges" system="Misc" /> +- <menu name="Aktiviere Plugins" system="ActPlugins" /> +- <menu name="Plugins-Setup" system="Plugins" /> +- <menu name="LiveBuffer-Setup" system="LiveBuffer" /> -- Wenn der LiveBuffer-Patch angewendet wurde -- +- </menu> +- <menu name="Netzwerk" help1="Netzwerkeinstellungen" help2="network.hlp" command="/etc/init.d/network restart"> +- <entry name="Benutze DHCP" sysconfig="USE_DHCP" type="bool" value="true" command="/etc/init.d/network restart/> +- <entry name="IP-Adresse" sysconfig="IP" type="ip" value="192.168.0.111" /> +- ... +- </menu> +- <menu name="Sonstiges"> +- <entry name="Ramddisk im MB" sysconfig="RAMDISK" type="number" value="16" /> +- <menu name="SubMenu"> +- <entry ... /> +- </menu> +- </menu> +- </menus> +- </setup> +--> +<setup sysconfigFile="/var/lib/vdr/plugins/setup/sysconfig" bootLinux="sudo /usr/lib/vdr/vdr2root reboot" VDRlibDir="/usr/lib/vdr/plugins"> + <plugins sysconfig="PLUGINLIST"> + <plugin name="setup" info="setup" active="yes" /> + </plugins> + <menus> + <menu name="VDR"> + <menu name="OSD" help2="setup_osd.hlp" system="OSD" /> + <menu name="EPG" help2="setup_epg.hlp" system="EPG" /> + <menu name="DVB" help2="setup_dvb.hlp" system="DVB" /> + <menu name="LNB" help2="setup_lnb.hlp" system="LNB" /> + <menu name="CICAM" help2="setup_cicam.hlp" system="CICAM" /> + <menu name="Menu Edit" help2="setup_editmenu.hlp" system="VDRMenu" /> + <menu name="Recording" help2="setup_record.hlp" system="Record" /> + <menu name="Replay" help2="setup_replay.hlp" system="Replay" /> + <menu name="Miscellaneous" help2="setup_misc.hlp" system="Misc" /> + <menu name="Plugins" system="Plugins" /> + </menu> + <menu name="Plugins"> + <menu name="Plugins" system="Plugins" /> + <menu name="Plugins activate / deactivate" help2="setup_actplugins.hlp" system="ActPlugins" /> + </menu> + <menu name="System"> + <entry name="Nutze Sysconfig" sysconfig="USE_SYSCONFIG" type="bool" value="off" /> + </menu> + </menus> +</setup> diff --git a/plugins/setup/setup/vdr-setup.xml b/plugins/setup/setup/vdr-setup.xml new file mode 100755 index 0000000..17bda40 --- /dev/null +++ b/plugins/setup/setup/vdr-setup.xml @@ -0,0 +1,67 @@ +<!-- +- Example: +- +- <setup sysconfigFile="/etc/sysconfig"> +- bootLinux="/sbin/reboot" +- VDRlibDir="/usr/lib/vdr/plugins" +- <plugins sysconfig="PLUGINLIST"> +- <plugin name="setup" info="x-vdr-Setup" active="yes" /> +- <plugin name="vdrcd" param="-c /dev/dvd -c /media/dvd -c /media/cdfs" info="VDR CD"/> +- ... +- </plugin> +- <menus> +- <menu name="VDR-Einstellungen"> +- <menu name="Edit VDR-Menü" system="VDRMenu" /> +- <menu name="OSD" system="OSD" /> +- <menu name="EPG" system="EPG" /> +- <menu name="DVB" system="DVB" /> +- <menu name="LNB" system="LNB" /> +- <menu name="CICAM" system="CICAM" /> -- vdr-1.4.7 -- +- <menu name="CAM" system="CAM" /> -- vdr-1.5.x -- +- <menu name="Aufnahme" system="Record" /> +- <menu name="Wiedergabe" system="Replay" /> +- <menu name="Sonstiges" system="Misc" /> +- <menu name="Aktiviere Plugins" system="ActPlugins" /> +- <menu name="Plugins-Setup" system="Plugins" /> +- <menu name="LiveBuffer-Setup" system="LiveBuffer" /> -- Wenn der LiveBuffer-Patch angewendet wurde -- +- </menu> +- <menu name="Netzwerk" help1="Netzwerkeinstellungen" help2="network.hlp" command="/etc/init.d/network restart"> +- <entry name="Benutze DHCP" sysconfig="USE_DHCP" type="bool" value="true" command="/etc/init.d/network restart/> +- <entry name="IP-Adresse" sysconfig="IP" type="ip" value="192.168.0.111" /> +- ... +- </menu> +- <menu name="Sonstiges"> +- <entry name="Ramddisk im MB" sysconfig="RAMDISK" type="number" value="16" /> +- <menu name="SubMenu"> +- <entry ... /> +- </menu> +- </menu> +- </menus> +- </setup> +--> +<setup sysconfigFile="/var/lib/vdr/plugins/setup/sysconfig" bootLinux="sudo /usr/lib/vdr/vdr2root reboot" VDRlibDir="/usr/lib/vdr/plugins"> + <plugins sysconfig="PLUGINLIST"> + <plugin name="setup" info="setup" active="yes" /> + </plugins> + <menus> + <menu name="VDR"> + <menu name="OSD" help2="setup_osd.hlp" system="OSD" /> + <menu name="EPG" help2="setup_epg.hlp" system="EPG" /> + <menu name="DVB" help2="setup_dvb.hlp" system="DVB" /> + <menu name="LNB" help2="setup_lnb.hlp" system="LNB" /> + <menu name="CAM" help2="setup_cicam.hlp" system="CAM" /> + <menu name="Menu Edit" help2="setup_editmenu.hlp" system="VDRMenu" /> + <menu name="Recording" help2="setup_record.hlp" system="Record" /> + <menu name="Replay" help2="setup_replay.hlp" system="Replay" /> + <menu name="Miscellaneous" help2="setup_misc.hlp" system="Misc" /> + <menu name="Plugins" system="Plugins" /> + </menu> + <menu name="Plugins"> + <menu name="Plugins" system="Plugins" /> + <menu name="Plugins activate / deactivate" help2="setup_actplugins.hlp" system="ActPlugins" /> + </menu> + <menu name="System"> + <entry name="Use Sysconfig" sysconfig="USE_SYSCONFIG" type="bool" value="off" /> + </menu> + </menus> +</setup> diff --git a/plugins/skinelchi/patches/skinelchi-0.2.0_vdr173.diff b/plugins/skinelchi/patches/skinelchi-0.2.0_vdr173.diff new file mode 100644 index 0000000..27b4e6f --- /dev/null +++ b/plugins/skinelchi/patches/skinelchi-0.2.0_vdr173.diff @@ -0,0 +1,31 @@ +--- DisplayMenu.c.orig 2008-11-22 18:16:40.000000000 +0100 ++++ DisplayMenu.c 2009-03-06 00:30:46.000000000 +0100 +@@ -977,9 +977,16 @@ void cSkinElchiDisplayMenu::SetRecording + recsize = filesize[i-1]; + + if (hasMarks && index) { ++#if VDRVERSNUM >= 10703 ++ uint16_t FileNumber; ++ off_t FileOffset; ++ int Length; ++ bool PictureType; ++#else + uchar FileNumber; + int FileOffset, Length; + uchar PictureType; ++#endif + + bool cutin = true; + cMark *mark = marks.First(); +@@ -1029,7 +1036,11 @@ void cSkinElchiDisplayMenu::SetRecording + trVDR("Lifetime"), Recording->lifetime); + + if (lastIndex) ++#if VDRVERSNUM >= 10703 ++ text = cString::sprintf("%s%s: %.2f MBit/s (Video+Audio)\n", (const char *)text, tr("est. bit-rate"), (float)recsize/lastIndex*DEFAULTFRAMESPERSECOND*8/MEGABYTE(1)); ++#else + text = cString::sprintf("%s%s: %.2f MBit/s (Video+Audio)\n", (const char *)text, tr("est. bit-rate"), (float)recsize/lastIndex*FRAMESPERSEC*8/MEGABYTE(1)); ++#endif + + const cComponents *Components = Info->Components(); + if (Components) { diff --git a/plugins/skinelchi/plugin.sh b/plugins/skinelchi/plugin.sh new file mode 100644 index 0000000..846b762 --- /dev/null +++ b/plugins/skinelchi/plugin.sh @@ -0,0 +1,58 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 05.03.2009 +# +# vdr-skinelchi + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://firefly.vdr-developer.org/skinelchi/vdr-skinelchi-0.2.0.tar.bz2" +VERSION="skinelchi-0.2.0" +LINK="skinelchi" + +VAR=`basename $WEB` +DIR=`pwd` + +avardspatch="skinelchi-0.2.0-alpha3_no-avards.diff" + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + if [ "$avards" != "on" ] && [ -f "$DIR/$avardspatch" ]; then + cd "$SOURCEDIR/VDR/PLUGINS/src/$LINK" + echo "apply patch $avardspatch" + patch < $DIR/$avardspatch + fi + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/skinelchi/skinelchi-0.2.0-alpha3_no-avards.diff b/plugins/skinelchi/skinelchi-0.2.0-alpha3_no-avards.diff new file mode 100644 index 0000000..dbeea8b --- /dev/null +++ b/plugins/skinelchi/skinelchi-0.2.0-alpha3_no-avards.diff @@ -0,0 +1,11 @@ +--- Makefile~ 2008-04-06 11:43:00.000000000 +0200 ++++ Makefile 2008-04-17 23:32:23.000000000 +0200 +@@ -21,7 +21,7 @@ + #SKINELCHI_DEBUG = 1 # for syslog commandline-options, thread in DisplayMenu.c, screenshot-display of video-window, epgimages, and several calls + #uncomment DEBUG only when you really need it -> many log-entrys will be created + +-SKINELCHI_USE_AVARDS_PLUGIN = 1 # use Avards plugin for video info ++#SKINELCHI_USE_AVARDS_PLUGIN = 1 # use Avards plugin for video info + SKINELCHI_USE_EPGSEARCH_PLUGIN = 1 # use EPGSearch plugin for time conflict checking + #SKINELCHI_USE_MAILBOX_PLUGIN = 1 # use Mailbox plugin to show mail symbol if mail is available + diff --git a/plugins/skinenigmang/do_not_use_avards.diff b/plugins/skinenigmang/do_not_use_avards.diff new file mode 100644 index 0000000..bcf4567 --- /dev/null +++ b/plugins/skinenigmang/do_not_use_avards.diff @@ -0,0 +1,11 @@ +--- Makefile~ ++++ Makefile +@@ -24,7 +24,7 @@ + # Include code to support the Avards plugin: + # - Dynamic OSD size depending on current WSS mode. + # - Display current WSS mode in channel info and replay OSDs. +-SKINENIGMA_USE_PLUGIN_AVARDS = 1 ++#SKINENIGMA_USE_PLUGIN_AVARDS = 1 + + # Disable any code that is used for scrolling or blinking text. + # NOTE: this is only useful if you want to save some bytes because you diff --git a/plugins/skinenigmang/do_not_use_epgsearch.diff b/plugins/skinenigmang/do_not_use_epgsearch.diff new file mode 100644 index 0000000..8c1a510 --- /dev/null +++ b/plugins/skinenigmang/do_not_use_epgsearch.diff @@ -0,0 +1,9 @@ +--- Makefile~ ++++ Makefile +@@ -17,5 +17,5 @@ + # If you are using the epgsearch plugin and want to see the number of + # timer conflicts in the main menu's info area. +-SKINENIGMA_USE_PLUGIN_EPGSEARCH = 1 ++#SKINENIGMA_USE_PLUGIN_EPGSEARCH = 1 + + # If you use the mailbox plugin this will include support for it. diff --git a/plugins/skinenigmang/do_not_use_mailbox.diff b/plugins/skinenigmang/do_not_use_mailbox.diff new file mode 100644 index 0000000..921a1d0 --- /dev/null +++ b/plugins/skinenigmang/do_not_use_mailbox.diff @@ -0,0 +1,9 @@ +--- Makefile~ ++++ Makefile +@@ -20,5 +20,5 @@ + + # If you use the mailbox plugin this will include support for it. +-SKINENIGMA_USE_PLUGIN_MAILBOX = 1 ++#SKINENIGMA_USE_PLUGIN_MAILBOX = 1 + + # Include code to support the Avards plugin: diff --git a/plugins/skinenigmang/patches/have_magick.diff b/plugins/skinenigmang/patches/have_magick.diff new file mode 100644 index 0000000..9b1ec00 --- /dev/null +++ b/plugins/skinenigmang/patches/have_magick.diff @@ -0,0 +1,11 @@ +--- Makefile~ ++++ Makefile +@@ -12,7 +12,7 @@ + + # If you have installed ImageMagick and want to use + # images in event's and recording's details. +-#HAVE_IMAGEMAGICK = 1 ++HAVE_IMAGEMAGICK = 1 + + # If you are using the epgsearch plugin and want to see the number of + # timer conflicts in the main menu's info area. diff --git a/plugins/skinenigmang/plugin.sh b/plugins/skinenigmang/plugin.sh new file mode 100755 index 0000000..b1a73f1 --- /dev/null +++ b/plugins/skinenigmang/plugin.sh @@ -0,0 +1,101 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 22.03.2009 +# +# vdr-skinenigmang + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.zulu-entertainment.de/files/vdr-skinenigmang/vdr-skinenigmang-0.1.0pre.tgz" +VERSION="skinenigmang-0.1.0pre" +LINK="skinenigmang" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + rm -rf $VDRCONFDIR/plugins/skinenigmang + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + if [ "$avards" != "on" ] && [ -f "$DIR/do_not_use_avards.diff" ]; then + cd "$SOURCEDIR/VDR/PLUGINS/src/$LINK" + echo "apply patch do_not_use_avards.diff" + patch < $DIR/do_not_use_avards.diff + fi + + if [ "$epgsearch" != "on" ] && [ -f "$DIR/do_not_use_epgsearch.diff" ]; then + cd "$SOURCEDIR/VDR/PLUGINS/src/$LINK" + echo "apply patch do_not_use_epgsearch.diff" + patch < $DIR/do_not_use_epgsearch.diff + fi + + if [ "$mailbox" != "on" ] && [ -f "$DIR/do_not_use_mailbox.diff" ]; then + cd "$SOURCEDIR/VDR/PLUGINS/src/$LINK" + echo "apply patch do_not_use_mailbox.diff" + patch < $DIR/do_not_use_mailbox.diff + fi + + # logos and themes + cd $DIR + if [ "$dxr3" = "on" ]; then + local WEB="http://andreas.vdr-developer.org/enigmang/download/skinenigmang-channellogos-xpm-lo-20070702.tgz" + else + local WEB="http://andreas.vdr-developer.org/enigmang/download/skinenigmang-channellogos-xpm-hi-20070702.tgz" + fi + local VAR=`basename $WEB` + download_plugin + if echo "$FILES/plugins/$VAR" | grep "bz2$" - &>/dev/null; then + if tar xjf "$FILES/plugins/$VAR" -C $VDRCONFDIR/plugins; then log "extrahiere $VAR" ; fi + else + if tar xzf "$FILES/plugins/$VAR" -C $VDRCONFDIR/plugins; then log "extrahiere $VAR" ; fi + fi + + if [ "$dxr3" = "on" ]; then + local WEB="http://andreas.vdr-developer.org/enigmang/download/skinenigmang-logos-xpm-lo-20070702.tgz" + else + local WEB="http://andreas.vdr-developer.org/enigmang/download/skinenigmang-logos-xpm-hi-20070702.tgz" + fi + local VAR=`basename $WEB` + download_plugin + if echo "$FILES/plugins/$VAR" | grep "bz2$" - &>/dev/null; then + if tar xjf "$FILES/plugins/$VAR" -C $VDRCONFDIR/plugins; then log "extrahiere $VAR" ; fi + else + if tar xzf "$FILES/plugins/$VAR" -C $VDRCONFDIR/plugins; then log "extrahiere $VAR" ; fi + fi + + cp -f $SOURCEDIR/VDR/PLUGINS/src/$LINK/themes/*.theme $VDRCONFDIR/themes + chown -R $VDRUSER:$VDRGROUP $VDRCONFDIR/plugins/skinenigmang $VDRCONFDIR/themes + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/skinreel/plugin.sh b/plugins/skinreel/plugin.sh new file mode 100644 index 0000000..59a95da --- /dev/null +++ b/plugins/skinreel/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 05.05.2008 +# +# vdr-skinreel + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://vdr-wiki.de/vdr/vdr-skinreel/vdr-skinreel-0.0.1.tgz" +VERSION="skinreel-0.0.1" +LINK="skinreel" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/skinsoppalusikka/plugin.sh b/plugins/skinsoppalusikka/plugin.sh new file mode 100644 index 0000000..72eeb28 --- /dev/null +++ b/plugins/skinsoppalusikka/plugin.sh @@ -0,0 +1,60 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 07.01.2009 +# +# vdr-skinsoppalusikka + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.saunalahti.fi/~rahrenbe/vdr/soppalusikka/files/vdr-skinsoppalusikka-1.6.3.tgz" +VERSION="skinsoppalusikka-1.6.3" +LINK="skinsoppalusikka" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + if [ ! -d "$VDRCONFDIR/logos" ]; then + if [ -d $VDRCONFDIR/plugins/skinenigmang/logos ]; then + cp -rd $VDRCONFDIR/plugins/skinenigmang/logos $VDRCONFDIR + else + mkdir -p $VDRCONFDIR/logos + fi + fi + cp $SOURCEDIR/VDR/PLUGINS/src/$LINK/themes/*.theme $VDRCONFDIR/themes + chown -R $VDRUSER:$VDRGROUP $VDRCONFDIR/logos $VDRCONFDIR/themes + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/sleeptimer/patches/p1/sleeptimer-0.7-gettext_ru_po.diff b/plugins/sleeptimer/patches/p1/sleeptimer-0.7-gettext_ru_po.diff new file mode 100644 index 0000000..548436e --- /dev/null +++ b/plugins/sleeptimer/patches/p1/sleeptimer-0.7-gettext_ru_po.diff @@ -0,0 +1,1656 @@ +diff -Naur sleeptimer-0.7.old/Makefile sleeptimer-0.7/Makefile +--- sleeptimer-0.7.old/Makefile 2006-06-07 18:16:07.000000000 +0200 ++++ sleeptimer-0.7/Makefile 2008-03-29 11:03:08.000000000 +0100 +@@ -66,9 +66,34 @@ + + -include $(DEPFILE) + ++### Internationalization (I18N): ++ ++PODIR = po ++LOCALEDIR = $(VDRDIR)/locale ++I18Npo = $(wildcard $(PODIR)/*.po) ++I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file)))))) ++I18Npot = $(PODIR)/$(PLUGIN).pot ++ ++%.mo: %.po ++ msgfmt -c -o $@ $< ++ ++$(I18Npot): $(wildcard *.c) ++ xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='<freex@free-x.de>' -o $@ $^ ++ ++%.po: $(I18Npot) ++ msgmerge -U --no-wrap --no-location --backup=none -q $@ $< ++ @touch $@ ++ ++$(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo ++ @mkdir -p $(dir $@) ++ cp $< $@ ++ ++.PHONY: i18n ++i18n: $(I18Nmsgs) ++ + ### Targets: + +-all: libvdr-$(PLUGIN).so ++all: libvdr-$(PLUGIN).so i18n + + libvdr-$(PLUGIN).so: $(OBJS) + $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@ +@@ -83,4 +108,5 @@ + @echo Distribution package created as $(PACKAGE).tgz + + clean: ++ @-rm -f $(PODIR)/*.mo $(PODIR)/*.pot + @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ +diff -Naur sleeptimer-0.7.old/po/ca_ES.po sleeptimer-0.7/po/ca_ES.po +--- sleeptimer-0.7.old/po/ca_ES.po 1970-01-01 01:00:00.000000000 +0100 ++++ sleeptimer-0.7/po/ca_ES.po 2008-03-29 11:03:08.000000000 +0100 +@@ -0,0 +1,73 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Marc Rovira Vall <tm05462@salleURL.edu>, 2003 ++# Ramon Roca <ramon.roca@xcombo.com>, 2003 ++# Jordi Vilà <jvila@tinet.org>, 2003 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: freex@free-x.de\n" ++"POT-Creation-Date: 2008-03-28 10:03+0100\n" ++"PO-Revision-Date: 2008-03-28 10:03+0100\n" ++"Last-Translator: Jordi Vilà <jvila@tinet.org>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-1\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: sleeptimer.c:15 ++msgid "Sleep-Timer for VDR" ++msgstr "" ++ ++#: sleeptimer.c:16 ++msgid "Sleep-Timer" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Action" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Mute" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Shutdown" ++msgstr "" ++ ++#: sleeptimer.c:136 ++msgid "Going to sleep in about one minute" ++msgstr "" ++ ++#: sleeptimer.c:230 ++msgid "Not active" ++msgstr "" ++ ++#: sleeptimer.c:232 ++#, c-format ++msgid "Disable Sleep-Timer in %d minutes" ++msgstr "" ++ ++#: sleeptimer.c:245 ++msgid "Shutdown-Time" ++msgstr "" ++ ++#: sleeptimer.c:246 ++msgid "Shutdown-Minutes" ++msgstr "" ++ ++#: sleeptimer.c:258 ++msgid "Abort Sleep-Timer?" ++msgstr "" ++ ++#: sleeptimer.c:266 ++#, c-format ++msgid "Activate Sleep-Timer at %i:%0.2i?" ++msgstr "" ++ ++#: sleeptimer.c:275 ++#, c-format ++msgid "Activate Sleep-Timer in %d minutes?" ++msgstr "" +diff -Naur sleeptimer-0.7.old/po/cs_CZ.po sleeptimer-0.7/po/cs_CZ.po +--- sleeptimer-0.7.old/po/cs_CZ.po 1970-01-01 01:00:00.000000000 +0100 ++++ sleeptimer-0.7/po/cs_CZ.po 2008-03-29 11:03:08.000000000 +0100 +@@ -0,0 +1,71 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Vladimír Bárta <vladimir.barta@k2atmitec.cz>, 2006 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: freex@free-x.de\n" ++"POT-Creation-Date: 2008-03-28 10:03+0100\n" ++"PO-Revision-Date: 2008-03-28 10:03+0100\n" ++"Last-Translator: Vladimír Bárta <vladimir.barta@k2atmitec.cz>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-2\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: sleeptimer.c:15 ++msgid "Sleep-Timer for VDR" ++msgstr "" ++ ++#: sleeptimer.c:16 ++msgid "Sleep-Timer" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Action" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Mute" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Shutdown" ++msgstr "" ++ ++#: sleeptimer.c:136 ++msgid "Going to sleep in about one minute" ++msgstr "" ++ ++#: sleeptimer.c:230 ++msgid "Not active" ++msgstr "" ++ ++#: sleeptimer.c:232 ++#, c-format ++msgid "Disable Sleep-Timer in %d minutes" ++msgstr "" ++ ++#: sleeptimer.c:245 ++msgid "Shutdown-Time" ++msgstr "" ++ ++#: sleeptimer.c:246 ++msgid "Shutdown-Minutes" ++msgstr "" ++ ++#: sleeptimer.c:258 ++msgid "Abort Sleep-Timer?" ++msgstr "" ++ ++#: sleeptimer.c:266 ++#, c-format ++msgid "Activate Sleep-Timer at %i:%0.2i?" ++msgstr "" ++ ++#: sleeptimer.c:275 ++#, c-format ++msgid "Activate Sleep-Timer in %d minutes?" ++msgstr "" +diff -Naur sleeptimer-0.7.old/po/da_DK.po sleeptimer-0.7/po/da_DK.po +--- sleeptimer-0.7.old/po/da_DK.po 1970-01-01 01:00:00.000000000 +0100 ++++ sleeptimer-0.7/po/da_DK.po 2008-03-29 11:03:08.000000000 +0100 +@@ -0,0 +1,71 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Mogens Elneff <mogens@elneff.dk>, 2004 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: freex@free-x.de\n" ++"POT-Creation-Date: 2008-03-28 10:03+0100\n" ++"PO-Revision-Date: 2008-03-28 10:03+0100\n" ++"Last-Translator: Mogens Elneff <mogens@elneff.dk>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-15\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: sleeptimer.c:15 ++msgid "Sleep-Timer for VDR" ++msgstr "" ++ ++#: sleeptimer.c:16 ++msgid "Sleep-Timer" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Action" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Mute" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Shutdown" ++msgstr "" ++ ++#: sleeptimer.c:136 ++msgid "Going to sleep in about one minute" ++msgstr "" ++ ++#: sleeptimer.c:230 ++msgid "Not active" ++msgstr "" ++ ++#: sleeptimer.c:232 ++#, c-format ++msgid "Disable Sleep-Timer in %d minutes" ++msgstr "" ++ ++#: sleeptimer.c:245 ++msgid "Shutdown-Time" ++msgstr "" ++ ++#: sleeptimer.c:246 ++msgid "Shutdown-Minutes" ++msgstr "" ++ ++#: sleeptimer.c:258 ++msgid "Abort Sleep-Timer?" ++msgstr "" ++ ++#: sleeptimer.c:266 ++#, c-format ++msgid "Activate Sleep-Timer at %i:%0.2i?" ++msgstr "" ++ ++#: sleeptimer.c:275 ++#, c-format ++msgid "Activate Sleep-Timer in %d minutes?" ++msgstr "" +diff -Naur sleeptimer-0.7.old/po/de_DE.po sleeptimer-0.7/po/de_DE.po +--- sleeptimer-0.7.old/po/de_DE.po 1970-01-01 01:00:00.000000000 +0100 ++++ sleeptimer-0.7/po/de_DE.po 2008-03-29 11:03:08.000000000 +0100 +@@ -0,0 +1,71 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Klaus Schmidinger <kls@cadsoft.de>, 2000 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: freex@free-x.de\n" ++"POT-Creation-Date: 2008-03-28 10:03+0100\n" ++"PO-Revision-Date: 2008-03-28 10:03+0100\n" ++"Last-Translator: Klaus Schmidinger <kls@cadsoft.de>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-15\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: sleeptimer.c:15 ++msgid "Sleep-Timer for VDR" ++msgstr "" ++ ++#: sleeptimer.c:16 ++msgid "Sleep-Timer" ++msgstr "Sleep-Timer" ++ ++#: sleeptimer.c:86 ++msgid "Action" ++msgstr "Aktion" ++ ++#: sleeptimer.c:86 ++msgid "Mute" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Shutdown" ++msgstr "" ++ ++#: sleeptimer.c:136 ++msgid "Going to sleep in about one minute" ++msgstr "Sleep-Timer in einer Minute" ++ ++#: sleeptimer.c:230 ++msgid "Not active" ++msgstr "Nicht aktiv" ++ ++#: sleeptimer.c:232 ++#, c-format ++msgid "Disable Sleep-Timer in %d minutes" ++msgstr "Sleep-Timer in %d Minuten abbrechen" ++ ++#: sleeptimer.c:245 ++msgid "Shutdown-Time" ++msgstr "Shutdown-Zeit" ++ ++#: sleeptimer.c:246 ++msgid "Shutdown-Minutes" ++msgstr "Shutdown-Minuten" ++ ++#: sleeptimer.c:258 ++msgid "Abort Sleep-Timer?" ++msgstr "Sleep-Timer abbrechen?" ++ ++#: sleeptimer.c:266 ++#, c-format ++msgid "Activate Sleep-Timer at %i:%0.2i?" ++msgstr "Sleep-Timer um %i:%0.2i aktivieren?" ++ ++#: sleeptimer.c:275 ++#, c-format ++msgid "Activate Sleep-Timer in %d minutes?" ++msgstr "Sleep-Timer in %d Minuten aktivieren?" +diff -Naur sleeptimer-0.7.old/po/el_GR.po sleeptimer-0.7/po/el_GR.po +--- sleeptimer-0.7.old/po/el_GR.po 1970-01-01 01:00:00.000000000 +0100 ++++ sleeptimer-0.7/po/el_GR.po 2008-03-29 11:03:08.000000000 +0100 +@@ -0,0 +1,71 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Dimitrios Dimitrakos <mail@dimitrios.de>, 2002 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: freex@free-x.de\n" ++"POT-Creation-Date: 2008-03-28 10:03+0100\n" ++"PO-Revision-Date: 2008-03-28 10:03+0100\n" ++"Last-Translator: Dimitrios Dimitrakos <mail@dimitrios.de>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-7\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: sleeptimer.c:15 ++msgid "Sleep-Timer for VDR" ++msgstr "" ++ ++#: sleeptimer.c:16 ++msgid "Sleep-Timer" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Action" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Mute" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Shutdown" ++msgstr "" ++ ++#: sleeptimer.c:136 ++msgid "Going to sleep in about one minute" ++msgstr "" ++ ++#: sleeptimer.c:230 ++msgid "Not active" ++msgstr "" ++ ++#: sleeptimer.c:232 ++#, c-format ++msgid "Disable Sleep-Timer in %d minutes" ++msgstr "" ++ ++#: sleeptimer.c:245 ++msgid "Shutdown-Time" ++msgstr "" ++ ++#: sleeptimer.c:246 ++msgid "Shutdown-Minutes" ++msgstr "" ++ ++#: sleeptimer.c:258 ++msgid "Abort Sleep-Timer?" ++msgstr "" ++ ++#: sleeptimer.c:266 ++#, c-format ++msgid "Activate Sleep-Timer at %i:%0.2i?" ++msgstr "" ++ ++#: sleeptimer.c:275 ++#, c-format ++msgid "Activate Sleep-Timer in %d minutes?" ++msgstr "" +diff -Naur sleeptimer-0.7.old/po/es_ES.po sleeptimer-0.7/po/es_ES.po +--- sleeptimer-0.7.old/po/es_ES.po 1970-01-01 01:00:00.000000000 +0100 ++++ sleeptimer-0.7/po/es_ES.po 2008-03-29 11:03:08.000000000 +0100 +@@ -0,0 +1,71 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Ruben Nunez Francisco <ruben.nunez@tang-it.com>, 2002 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: freex@free-x.de\n" ++"POT-Creation-Date: 2008-03-28 10:03+0100\n" ++"PO-Revision-Date: 2008-03-28 10:03+0100\n" ++"Last-Translator: Ruben Nunez Francisco <ruben.nunez@tang-it.com>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-15\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: sleeptimer.c:15 ++msgid "Sleep-Timer for VDR" ++msgstr "" ++ ++#: sleeptimer.c:16 ++msgid "Sleep-Timer" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Action" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Mute" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Shutdown" ++msgstr "" ++ ++#: sleeptimer.c:136 ++msgid "Going to sleep in about one minute" ++msgstr "" ++ ++#: sleeptimer.c:230 ++msgid "Not active" ++msgstr "" ++ ++#: sleeptimer.c:232 ++#, c-format ++msgid "Disable Sleep-Timer in %d minutes" ++msgstr "" ++ ++#: sleeptimer.c:245 ++msgid "Shutdown-Time" ++msgstr "" ++ ++#: sleeptimer.c:246 ++msgid "Shutdown-Minutes" ++msgstr "" ++ ++#: sleeptimer.c:258 ++msgid "Abort Sleep-Timer?" ++msgstr "" ++ ++#: sleeptimer.c:266 ++#, c-format ++msgid "Activate Sleep-Timer at %i:%0.2i?" ++msgstr "" ++ ++#: sleeptimer.c:275 ++#, c-format ++msgid "Activate Sleep-Timer in %d minutes?" ++msgstr "" +diff -Naur sleeptimer-0.7.old/po/et_EE.po sleeptimer-0.7/po/et_EE.po +--- sleeptimer-0.7.old/po/et_EE.po 1970-01-01 01:00:00.000000000 +0100 ++++ sleeptimer-0.7/po/et_EE.po 2008-03-29 11:03:08.000000000 +0100 +@@ -0,0 +1,71 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Arthur Konovalov <kasjas@hot.ee>, 2004 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: freex@free-x.de\n" ++"POT-Creation-Date: 2008-03-28 10:03+0100\n" ++"PO-Revision-Date: 2008-03-28 10:03+0100\n" ++"Last-Translator: Arthur Konovalov <kasjas@hot.ee>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-13\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: sleeptimer.c:15 ++msgid "Sleep-Timer for VDR" ++msgstr "" ++ ++#: sleeptimer.c:16 ++msgid "Sleep-Timer" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Action" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Mute" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Shutdown" ++msgstr "" ++ ++#: sleeptimer.c:136 ++msgid "Going to sleep in about one minute" ++msgstr "" ++ ++#: sleeptimer.c:230 ++msgid "Not active" ++msgstr "" ++ ++#: sleeptimer.c:232 ++#, c-format ++msgid "Disable Sleep-Timer in %d minutes" ++msgstr "" ++ ++#: sleeptimer.c:245 ++msgid "Shutdown-Time" ++msgstr "" ++ ++#: sleeptimer.c:246 ++msgid "Shutdown-Minutes" ++msgstr "" ++ ++#: sleeptimer.c:258 ++msgid "Abort Sleep-Timer?" ++msgstr "" ++ ++#: sleeptimer.c:266 ++#, c-format ++msgid "Activate Sleep-Timer at %i:%0.2i?" ++msgstr "" ++ ++#: sleeptimer.c:275 ++#, c-format ++msgid "Activate Sleep-Timer in %d minutes?" ++msgstr "" +diff -Naur sleeptimer-0.7.old/po/fi_FI.po sleeptimer-0.7/po/fi_FI.po +--- sleeptimer-0.7.old/po/fi_FI.po 1970-01-01 01:00:00.000000000 +0100 ++++ sleeptimer-0.7/po/fi_FI.po 2008-03-29 11:03:08.000000000 +0100 +@@ -0,0 +1,74 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Hannu Savolainen <hannu@opensound.com>, 2002 ++# Jaakko Hyvätti <jaakko@hyvatti.iki.fi>, 2002 ++# Niko Tarnanen <niko.tarnanen@hut.fi>, 2003 ++# Rolf Ahrenberg <rahrenbe@cc.hut.fi>, 2003 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: freex@free-x.de\n" ++"POT-Creation-Date: 2008-03-28 10:03+0100\n" ++"PO-Revision-Date: 2008-03-28 10:03+0100\n" ++"Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-15\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: sleeptimer.c:15 ++msgid "Sleep-Timer for VDR" ++msgstr "" ++ ++#: sleeptimer.c:16 ++msgid "Sleep-Timer" ++msgstr "Ajastin" ++ ++#: sleeptimer.c:86 ++msgid "Action" ++msgstr "Toiminto" ++ ++#: sleeptimer.c:86 ++msgid "Mute" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Shutdown" ++msgstr "" ++ ++#: sleeptimer.c:136 ++msgid "Going to sleep in about one minute" ++msgstr "Ajastin aktivoituu noin minuutin kuluttua" ++ ++#: sleeptimer.c:230 ++msgid "Not active" ++msgstr "Ei aktiivinen" ++ ++#: sleeptimer.c:232 ++#, c-format ++msgid "Disable Sleep-Timer in %d minutes" ++msgstr "Peruuta %d minuutin ajastin?" ++ ++#: sleeptimer.c:245 ++msgid "Shutdown-Time" ++msgstr "Sammutusaika" ++ ++#: sleeptimer.c:246 ++msgid "Shutdown-Minutes" ++msgstr "Sammutus minuutteina" ++ ++#: sleeptimer.c:258 ++msgid "Abort Sleep-Timer?" ++msgstr "Keskeytä ajastin" ++ ++#: sleeptimer.c:266 ++#, c-format ++msgid "Activate Sleep-Timer at %i:%0.2i?" ++msgstr "Aktivoi ajastin %i:%0.2i?" ++ ++#: sleeptimer.c:275 ++#, c-format ++msgid "Activate Sleep-Timer in %d minutes?" ++msgstr "Aktivoi %d minuutin ajastin?" +diff -Naur sleeptimer-0.7.old/po/fr_FR.po sleeptimer-0.7/po/fr_FR.po +--- sleeptimer-0.7.old/po/fr_FR.po 1970-01-01 01:00:00.000000000 +0100 ++++ sleeptimer-0.7/po/fr_FR.po 2008-03-29 11:03:08.000000000 +0100 +@@ -0,0 +1,74 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Jean-Claude Repetto <jc@repetto.org>, 2001 ++# Olivier Jacques <jacquesolivier@hotmail.com>, 2003 ++# Gregoire Favre <greg@magma.unil.ch>, 2003 ++# Nicolas Huillard <nhuillard@e-dition.fr>, 2005 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: freex@free-x.de\n" ++"POT-Creation-Date: 2008-03-28 10:03+0100\n" ++"PO-Revision-Date: 2008-03-28 10:03+0100\n" ++"Last-Translator: Nicolas Huillard <nhuillard@e-dition.fr>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-1\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: sleeptimer.c:15 ++msgid "Sleep-Timer for VDR" ++msgstr "" ++ ++#: sleeptimer.c:16 ++msgid "Sleep-Timer" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Action" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Mute" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Shutdown" ++msgstr "" ++ ++#: sleeptimer.c:136 ++msgid "Going to sleep in about one minute" ++msgstr "" ++ ++#: sleeptimer.c:230 ++msgid "Not active" ++msgstr "" ++ ++#: sleeptimer.c:232 ++#, c-format ++msgid "Disable Sleep-Timer in %d minutes" ++msgstr "" ++ ++#: sleeptimer.c:245 ++msgid "Shutdown-Time" ++msgstr "" ++ ++#: sleeptimer.c:246 ++msgid "Shutdown-Minutes" ++msgstr "" ++ ++#: sleeptimer.c:258 ++msgid "Abort Sleep-Timer?" ++msgstr "" ++ ++#: sleeptimer.c:266 ++#, c-format ++msgid "Activate Sleep-Timer at %i:%0.2i?" ++msgstr "" ++ ++#: sleeptimer.c:275 ++#, c-format ++msgid "Activate Sleep-Timer in %d minutes?" ++msgstr "" +diff -Naur sleeptimer-0.7.old/po/hr_HR.po sleeptimer-0.7/po/hr_HR.po +--- sleeptimer-0.7.old/po/hr_HR.po 1970-01-01 01:00:00.000000000 +0100 ++++ sleeptimer-0.7/po/hr_HR.po 2008-03-29 11:03:08.000000000 +0100 +@@ -0,0 +1,72 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Drazen Dupor <drazen.dupor@dupor.com>, 2004 ++# Dino Ravnic <dino.ravnic@fer.hr>, 2004 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: freex@free-x.de\n" ++"POT-Creation-Date: 2008-03-28 10:03+0100\n" ++"PO-Revision-Date: 2008-03-28 10:03+0100\n" ++"Last-Translator: Drazen Dupor <drazen.dupor@dupor.com>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-2\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: sleeptimer.c:15 ++msgid "Sleep-Timer for VDR" ++msgstr "" ++ ++#: sleeptimer.c:16 ++msgid "Sleep-Timer" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Action" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Mute" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Shutdown" ++msgstr "" ++ ++#: sleeptimer.c:136 ++msgid "Going to sleep in about one minute" ++msgstr "" ++ ++#: sleeptimer.c:230 ++msgid "Not active" ++msgstr "" ++ ++#: sleeptimer.c:232 ++#, c-format ++msgid "Disable Sleep-Timer in %d minutes" ++msgstr "" ++ ++#: sleeptimer.c:245 ++msgid "Shutdown-Time" ++msgstr "" ++ ++#: sleeptimer.c:246 ++msgid "Shutdown-Minutes" ++msgstr "" ++ ++#: sleeptimer.c:258 ++msgid "Abort Sleep-Timer?" ++msgstr "" ++ ++#: sleeptimer.c:266 ++#, c-format ++msgid "Activate Sleep-Timer at %i:%0.2i?" ++msgstr "" ++ ++#: sleeptimer.c:275 ++#, c-format ++msgid "Activate Sleep-Timer in %d minutes?" ++msgstr "" +diff -Naur sleeptimer-0.7.old/po/hu_HU.po sleeptimer-0.7/po/hu_HU.po +--- sleeptimer-0.7.old/po/hu_HU.po 1970-01-01 01:00:00.000000000 +0100 ++++ sleeptimer-0.7/po/hu_HU.po 2008-03-29 11:03:08.000000000 +0100 +@@ -0,0 +1,72 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Istvan Koenigsberger <istvnko@hotmail.com>, 2002 ++# Guido Josten <guido.josten@t-online.de>, 2002 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: freex@free-x.de\n" ++"POT-Creation-Date: 2008-03-28 10:03+0100\n" ++"PO-Revision-Date: 2008-03-28 10:03+0100\n" ++"Last-Translator: Istvan Koenigsberger <istvnko@hotmail.com>, Guido Josten <guido.josten@t-online.de>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-2\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: sleeptimer.c:15 ++msgid "Sleep-Timer for VDR" ++msgstr "" ++ ++#: sleeptimer.c:16 ++msgid "Sleep-Timer" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Action" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Mute" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Shutdown" ++msgstr "" ++ ++#: sleeptimer.c:136 ++msgid "Going to sleep in about one minute" ++msgstr "" ++ ++#: sleeptimer.c:230 ++msgid "Not active" ++msgstr "" ++ ++#: sleeptimer.c:232 ++#, c-format ++msgid "Disable Sleep-Timer in %d minutes" ++msgstr "" ++ ++#: sleeptimer.c:245 ++msgid "Shutdown-Time" ++msgstr "" ++ ++#: sleeptimer.c:246 ++msgid "Shutdown-Minutes" ++msgstr "" ++ ++#: sleeptimer.c:258 ++msgid "Abort Sleep-Timer?" ++msgstr "" ++ ++#: sleeptimer.c:266 ++#, c-format ++msgid "Activate Sleep-Timer at %i:%0.2i?" ++msgstr "" ++ ++#: sleeptimer.c:275 ++#, c-format ++msgid "Activate Sleep-Timer in %d minutes?" ++msgstr "" +diff -Naur sleeptimer-0.7.old/po/it_IT.po sleeptimer-0.7/po/it_IT.po +--- sleeptimer-0.7.old/po/it_IT.po 1970-01-01 01:00:00.000000000 +0100 ++++ sleeptimer-0.7/po/it_IT.po 2008-03-29 11:03:08.000000000 +0100 +@@ -0,0 +1,73 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Alberto Carraro <bertocar@tin.it>, 2001 ++# Antonio Ospite <ospite@studenti.unina.it>, 2003 ++# Sean Carlos <seanc@libero.it>, 2005 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: freex@free-x.de\n" ++"POT-Creation-Date: 2008-03-28 10:03+0100\n" ++"PO-Revision-Date: 2008-03-28 10:03+0100\n" ++"Last-Translator: Sean Carlos <seanc@libero.it>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-15\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: sleeptimer.c:15 ++msgid "Sleep-Timer for VDR" ++msgstr "" ++ ++#: sleeptimer.c:16 ++msgid "Sleep-Timer" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Action" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Mute" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Shutdown" ++msgstr "" ++ ++#: sleeptimer.c:136 ++msgid "Going to sleep in about one minute" ++msgstr "" ++ ++#: sleeptimer.c:230 ++msgid "Not active" ++msgstr "" ++ ++#: sleeptimer.c:232 ++#, c-format ++msgid "Disable Sleep-Timer in %d minutes" ++msgstr "" ++ ++#: sleeptimer.c:245 ++msgid "Shutdown-Time" ++msgstr "" ++ ++#: sleeptimer.c:246 ++msgid "Shutdown-Minutes" ++msgstr "" ++ ++#: sleeptimer.c:258 ++msgid "Abort Sleep-Timer?" ++msgstr "" ++ ++#: sleeptimer.c:266 ++#, c-format ++msgid "Activate Sleep-Timer at %i:%0.2i?" ++msgstr "" ++ ++#: sleeptimer.c:275 ++#, c-format ++msgid "Activate Sleep-Timer in %d minutes?" ++msgstr "" +diff -Naur sleeptimer-0.7.old/po/nl_NL.po sleeptimer-0.7/po/nl_NL.po +--- sleeptimer-0.7.old/po/nl_NL.po 1970-01-01 01:00:00.000000000 +0100 ++++ sleeptimer-0.7/po/nl_NL.po 2008-03-29 11:03:08.000000000 +0100 +@@ -0,0 +1,73 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Arnold Niessen <niessen@iae.nl> <arnold.niessen@philips.com>, 2001 ++# Hans Dingemans <hans.dingemans@tacticalops.nl>, 2003 ++# Maarten Wisse <Maarten.Wisse@urz.uni-hd.de>, 2005 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: freex@free-x.de\n" ++"POT-Creation-Date: 2008-03-28 10:03+0100\n" ++"PO-Revision-Date: 2008-03-28 10:03+0100\n" ++"Last-Translator: Maarten Wisse <Maarten.Wisse@urz.uni-hd.de>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-15\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: sleeptimer.c:15 ++msgid "Sleep-Timer for VDR" ++msgstr "" ++ ++#: sleeptimer.c:16 ++msgid "Sleep-Timer" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Action" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Mute" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Shutdown" ++msgstr "" ++ ++#: sleeptimer.c:136 ++msgid "Going to sleep in about one minute" ++msgstr "" ++ ++#: sleeptimer.c:230 ++msgid "Not active" ++msgstr "" ++ ++#: sleeptimer.c:232 ++#, c-format ++msgid "Disable Sleep-Timer in %d minutes" ++msgstr "" ++ ++#: sleeptimer.c:245 ++msgid "Shutdown-Time" ++msgstr "" ++ ++#: sleeptimer.c:246 ++msgid "Shutdown-Minutes" ++msgstr "" ++ ++#: sleeptimer.c:258 ++msgid "Abort Sleep-Timer?" ++msgstr "" ++ ++#: sleeptimer.c:266 ++#, c-format ++msgid "Activate Sleep-Timer at %i:%0.2i?" ++msgstr "" ++ ++#: sleeptimer.c:275 ++#, c-format ++msgid "Activate Sleep-Timer in %d minutes?" ++msgstr "" +diff -Naur sleeptimer-0.7.old/po/nn_NO.po sleeptimer-0.7/po/nn_NO.po +--- sleeptimer-0.7.old/po/nn_NO.po 1970-01-01 01:00:00.000000000 +0100 ++++ sleeptimer-0.7/po/nn_NO.po 2008-03-29 11:03:08.000000000 +0100 +@@ -0,0 +1,72 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Jørgen Tvedt <pjtvedt@online.no>, 2001 ++# Truls Slevigen <truls@slevigen.no>, 2002 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: freex@free-x.de\n" ++"POT-Creation-Date: 2008-03-28 10:03+0100\n" ++"PO-Revision-Date: 2008-03-28 10:03+0100\n" ++"Last-Translator: Truls Slevigen <truls@slevigen.no>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-1\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: sleeptimer.c:15 ++msgid "Sleep-Timer for VDR" ++msgstr "" ++ ++#: sleeptimer.c:16 ++msgid "Sleep-Timer" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Action" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Mute" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Shutdown" ++msgstr "" ++ ++#: sleeptimer.c:136 ++msgid "Going to sleep in about one minute" ++msgstr "" ++ ++#: sleeptimer.c:230 ++msgid "Not active" ++msgstr "" ++ ++#: sleeptimer.c:232 ++#, c-format ++msgid "Disable Sleep-Timer in %d minutes" ++msgstr "" ++ ++#: sleeptimer.c:245 ++msgid "Shutdown-Time" ++msgstr "" ++ ++#: sleeptimer.c:246 ++msgid "Shutdown-Minutes" ++msgstr "" ++ ++#: sleeptimer.c:258 ++msgid "Abort Sleep-Timer?" ++msgstr "" ++ ++#: sleeptimer.c:266 ++#, c-format ++msgid "Activate Sleep-Timer at %i:%0.2i?" ++msgstr "" ++ ++#: sleeptimer.c:275 ++#, c-format ++msgid "Activate Sleep-Timer in %d minutes?" ++msgstr "" +diff -Naur sleeptimer-0.7.old/po/pl_PL.po sleeptimer-0.7/po/pl_PL.po +--- sleeptimer-0.7.old/po/pl_PL.po 1970-01-01 01:00:00.000000000 +0100 ++++ sleeptimer-0.7/po/pl_PL.po 2008-03-29 11:03:08.000000000 +0100 +@@ -0,0 +1,71 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Michael Rakowski <mrak@gmx.de>, 2002 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: freex@free-x.de\n" ++"POT-Creation-Date: 2008-03-28 10:03+0100\n" ++"PO-Revision-Date: 2008-03-28 10:03+0100\n" ++"Last-Translator: Michael Rakowski <mrak@gmx.de>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-2\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: sleeptimer.c:15 ++msgid "Sleep-Timer for VDR" ++msgstr "" ++ ++#: sleeptimer.c:16 ++msgid "Sleep-Timer" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Action" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Mute" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Shutdown" ++msgstr "" ++ ++#: sleeptimer.c:136 ++msgid "Going to sleep in about one minute" ++msgstr "" ++ ++#: sleeptimer.c:230 ++msgid "Not active" ++msgstr "" ++ ++#: sleeptimer.c:232 ++#, c-format ++msgid "Disable Sleep-Timer in %d minutes" ++msgstr "" ++ ++#: sleeptimer.c:245 ++msgid "Shutdown-Time" ++msgstr "" ++ ++#: sleeptimer.c:246 ++msgid "Shutdown-Minutes" ++msgstr "" ++ ++#: sleeptimer.c:258 ++msgid "Abort Sleep-Timer?" ++msgstr "" ++ ++#: sleeptimer.c:266 ++#, c-format ++msgid "Activate Sleep-Timer at %i:%0.2i?" ++msgstr "" ++ ++#: sleeptimer.c:275 ++#, c-format ++msgid "Activate Sleep-Timer in %d minutes?" ++msgstr "" +diff -Naur sleeptimer-0.7.old/po/pt_PT.po sleeptimer-0.7/po/pt_PT.po +--- sleeptimer-0.7.old/po/pt_PT.po 1970-01-01 01:00:00.000000000 +0100 ++++ sleeptimer-0.7/po/pt_PT.po 2008-03-29 11:03:08.000000000 +0100 +@@ -0,0 +1,71 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Paulo Lopes <pmml@netvita.pt>, 2001 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: freex@free-x.de\n" ++"POT-Creation-Date: 2008-03-28 10:03+0100\n" ++"PO-Revision-Date: 2008-03-28 10:03+0100\n" ++"Last-Translator: Paulo Lopes <pmml@netvita.pt>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-1\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: sleeptimer.c:15 ++msgid "Sleep-Timer for VDR" ++msgstr "" ++ ++#: sleeptimer.c:16 ++msgid "Sleep-Timer" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Action" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Mute" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Shutdown" ++msgstr "" ++ ++#: sleeptimer.c:136 ++msgid "Going to sleep in about one minute" ++msgstr "" ++ ++#: sleeptimer.c:230 ++msgid "Not active" ++msgstr "" ++ ++#: sleeptimer.c:232 ++#, c-format ++msgid "Disable Sleep-Timer in %d minutes" ++msgstr "" ++ ++#: sleeptimer.c:245 ++msgid "Shutdown-Time" ++msgstr "" ++ ++#: sleeptimer.c:246 ++msgid "Shutdown-Minutes" ++msgstr "" ++ ++#: sleeptimer.c:258 ++msgid "Abort Sleep-Timer?" ++msgstr "" ++ ++#: sleeptimer.c:266 ++#, c-format ++msgid "Activate Sleep-Timer at %i:%0.2i?" ++msgstr "" ++ ++#: sleeptimer.c:275 ++#, c-format ++msgid "Activate Sleep-Timer in %d minutes?" ++msgstr "" +diff -Naur sleeptimer-0.7.old/po/ro_RO.po sleeptimer-0.7/po/ro_RO.po +--- sleeptimer-0.7.old/po/ro_RO.po 1970-01-01 01:00:00.000000000 +0100 ++++ sleeptimer-0.7/po/ro_RO.po 2008-03-29 11:03:08.000000000 +0100 +@@ -0,0 +1,72 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Paul Lacatus <paul@campina.iiruc.ro>, 2002 ++# Lucian Muresan <lucianm@users.sourceforge.net>, 2004 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: freex@free-x.de\n" ++"POT-Creation-Date: 2008-03-28 10:03+0100\n" ++"PO-Revision-Date: 2008-03-28 10:03+0100\n" ++"Last-Translator: Lucian Muresan <lucianm@users.sourceforge.net>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-2\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: sleeptimer.c:15 ++msgid "Sleep-Timer for VDR" ++msgstr "" ++ ++#: sleeptimer.c:16 ++msgid "Sleep-Timer" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Action" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Mute" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Shutdown" ++msgstr "" ++ ++#: sleeptimer.c:136 ++msgid "Going to sleep in about one minute" ++msgstr "" ++ ++#: sleeptimer.c:230 ++msgid "Not active" ++msgstr "" ++ ++#: sleeptimer.c:232 ++#, c-format ++msgid "Disable Sleep-Timer in %d minutes" ++msgstr "" ++ ++#: sleeptimer.c:245 ++msgid "Shutdown-Time" ++msgstr "" ++ ++#: sleeptimer.c:246 ++msgid "Shutdown-Minutes" ++msgstr "" ++ ++#: sleeptimer.c:258 ++msgid "Abort Sleep-Timer?" ++msgstr "" ++ ++#: sleeptimer.c:266 ++#, c-format ++msgid "Activate Sleep-Timer at %i:%0.2i?" ++msgstr "" ++ ++#: sleeptimer.c:275 ++#, c-format ++msgid "Activate Sleep-Timer in %d minutes?" ++msgstr "" +diff -Naur sleeptimer-0.7.old/po/ru_RU.po sleeptimer-0.7/po/ru_RU.po +--- sleeptimer-0.7.old/po/ru_RU.po 1970-01-01 01:00:00.000000000 +0100 ++++ sleeptimer-0.7/po/ru_RU.po 2008-04-03 20:41:34.000000000 +0200 +@@ -0,0 +1,75 @@ ++# translation of sleeptimer-UTF8-ru_RU.po to Russian ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# ++# Vyacheslav Dikonov <sdiconov@mail.ru>, 2004. ++# Alexander Gross <Bikalexander@gmail.com>, 2008. ++msgid "" ++msgstr "" ++"Project-Id-Version: sleeptimer-UTF8-ru_RU\n" ++"Report-Msgid-Bugs-To: freex@free-x.de\n" ++"POT-Creation-Date: 2008-03-28 10:03+0100\n" ++"PO-Revision-Date: 2008-04-02 00:59+0200\n" ++"Last-Translator: Alexander Gross <Bikalexander@gmail.com>\n" ++"Language-Team: Russian <de@li.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++"X-Generator: KBabel 1.11.4\n" ++ ++#: sleeptimer.c:15 ++msgid "Sleep-Timer for VDR" ++msgstr "Выключение VDR по таймеру" ++ ++#: sleeptimer.c:16 ++msgid "Sleep-Timer" ++msgstr "Таймер автовыключениÑ" ++ ++#: sleeptimer.c:86 ++msgid "Action" ++msgstr "ДейÑтвие" ++ ++#: sleeptimer.c:86 ++msgid "Mute" ++msgstr "выключить звук" ++ ++#: sleeptimer.c:86 ++msgid "Shutdown" ++msgstr "выключить компьютер" ++ ++#: sleeptimer.c:136 ++msgid "Going to sleep in about one minute" ++msgstr "Таймер Ð°Ð²Ñ‚Ð¾Ð²Ñ‹ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸Ð¼ÐµÑ€Ð½Ð¾ через одну минуту" ++ ++#: sleeptimer.c:230 ++msgid "Not active" ++msgstr "Ðеактивен" ++ ++#: sleeptimer.c:232 ++#, c-format ++msgid "Disable Sleep-Timer in %d minutes" ++msgstr "Отменить автовыключение через %d минут" ++ ++#: sleeptimer.c:245 ++msgid "Shutdown-Time" ++msgstr "Ð’Ñ€ÐµÐ¼Ñ Ð²Ñ‹ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ" ++ ++#: sleeptimer.c:246 ++msgid "Shutdown-Minutes" ++msgstr "Минут до выключениÑ" ++ ++#: sleeptimer.c:258 ++msgid "Abort Sleep-Timer?" ++msgstr "Прервать таймер автовыключениÑ?" ++ ++#: sleeptimer.c:266 ++#, c-format ++msgid "Activate Sleep-Timer at %i:%0.2i?" ++msgstr "Ðктивировать таймер в %i:%0.2i?" ++ ++#: sleeptimer.c:275 ++#, c-format ++msgid "Activate Sleep-Timer in %d minutes?" ++msgstr "Ðктивировать таймер через %d минут?" ++ +diff -Naur sleeptimer-0.7.old/po/sl_SI.po sleeptimer-0.7/po/sl_SI.po +--- sleeptimer-0.7.old/po/sl_SI.po 1970-01-01 01:00:00.000000000 +0100 ++++ sleeptimer-0.7/po/sl_SI.po 2008-03-29 11:03:08.000000000 +0100 +@@ -0,0 +1,72 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Miha Setina <mihasetina@softhome.net>, 2000 ++# Matjaz Thaler <matjaz.thaler@guest.arnes.si>, 2003 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: freex@free-x.de\n" ++"POT-Creation-Date: 2008-03-28 10:03+0100\n" ++"PO-Revision-Date: 2008-03-28 10:03+0100\n" ++"Last-Translator: Matjaz Thaler <matjaz.thaler@guest.arnes.si>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-2\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: sleeptimer.c:15 ++msgid "Sleep-Timer for VDR" ++msgstr "" ++ ++#: sleeptimer.c:16 ++msgid "Sleep-Timer" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Action" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Mute" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Shutdown" ++msgstr "" ++ ++#: sleeptimer.c:136 ++msgid "Going to sleep in about one minute" ++msgstr "" ++ ++#: sleeptimer.c:230 ++msgid "Not active" ++msgstr "" ++ ++#: sleeptimer.c:232 ++#, c-format ++msgid "Disable Sleep-Timer in %d minutes" ++msgstr "" ++ ++#: sleeptimer.c:245 ++msgid "Shutdown-Time" ++msgstr "" ++ ++#: sleeptimer.c:246 ++msgid "Shutdown-Minutes" ++msgstr "" ++ ++#: sleeptimer.c:258 ++msgid "Abort Sleep-Timer?" ++msgstr "" ++ ++#: sleeptimer.c:266 ++#, c-format ++msgid "Activate Sleep-Timer at %i:%0.2i?" ++msgstr "" ++ ++#: sleeptimer.c:275 ++#, c-format ++msgid "Activate Sleep-Timer in %d minutes?" ++msgstr "" +diff -Naur sleeptimer-0.7.old/po/sv_SE.po sleeptimer-0.7/po/sv_SE.po +--- sleeptimer-0.7.old/po/sv_SE.po 1970-01-01 01:00:00.000000000 +0100 ++++ sleeptimer-0.7/po/sv_SE.po 2008-03-29 11:03:08.000000000 +0100 +@@ -0,0 +1,72 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Tomas Prybil <tomas@prybil.se>, 2002 ++# Jan Ekholm <chakie@infa.abo.fi>, 2003 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: freex@free-x.de\n" ++"POT-Creation-Date: 2008-03-28 10:03+0100\n" ++"PO-Revision-Date: 2008-03-28 10:03+0100\n" ++"Last-Translator: Tomas Prybil <tomas@prybil.se>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-1\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: sleeptimer.c:15 ++msgid "Sleep-Timer for VDR" ++msgstr "" ++ ++#: sleeptimer.c:16 ++msgid "Sleep-Timer" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Action" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Mute" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Shutdown" ++msgstr "" ++ ++#: sleeptimer.c:136 ++msgid "Going to sleep in about one minute" ++msgstr "" ++ ++#: sleeptimer.c:230 ++msgid "Not active" ++msgstr "" ++ ++#: sleeptimer.c:232 ++#, c-format ++msgid "Disable Sleep-Timer in %d minutes" ++msgstr "" ++ ++#: sleeptimer.c:245 ++msgid "Shutdown-Time" ++msgstr "" ++ ++#: sleeptimer.c:246 ++msgid "Shutdown-Minutes" ++msgstr "" ++ ++#: sleeptimer.c:258 ++msgid "Abort Sleep-Timer?" ++msgstr "" ++ ++#: sleeptimer.c:266 ++#, c-format ++msgid "Activate Sleep-Timer at %i:%0.2i?" ++msgstr "" ++ ++#: sleeptimer.c:275 ++#, c-format ++msgid "Activate Sleep-Timer in %d minutes?" ++msgstr "" +diff -Naur sleeptimer-0.7.old/po/tr_TR.po sleeptimer-0.7/po/tr_TR.po +--- sleeptimer-0.7.old/po/tr_TR.po 1970-01-01 01:00:00.000000000 +0100 ++++ sleeptimer-0.7/po/tr_TR.po 2008-03-29 11:03:08.000000000 +0100 +@@ -0,0 +1,71 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Oktay Yolgeçen <oktay_73@yahoo.de>, 2007 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: freex@free-x.de\n" ++"POT-Creation-Date: 2008-03-28 10:03+0100\n" ++"PO-Revision-Date: 2008-03-28 10:03+0100\n" ++"Last-Translator: Oktay Yolgeçen <oktay_73@yahoo.de>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-9\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: sleeptimer.c:15 ++msgid "Sleep-Timer for VDR" ++msgstr "" ++ ++#: sleeptimer.c:16 ++msgid "Sleep-Timer" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Action" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Mute" ++msgstr "" ++ ++#: sleeptimer.c:86 ++msgid "Shutdown" ++msgstr "" ++ ++#: sleeptimer.c:136 ++msgid "Going to sleep in about one minute" ++msgstr "" ++ ++#: sleeptimer.c:230 ++msgid "Not active" ++msgstr "" ++ ++#: sleeptimer.c:232 ++#, c-format ++msgid "Disable Sleep-Timer in %d minutes" ++msgstr "" ++ ++#: sleeptimer.c:245 ++msgid "Shutdown-Time" ++msgstr "" ++ ++#: sleeptimer.c:246 ++msgid "Shutdown-Minutes" ++msgstr "" ++ ++#: sleeptimer.c:258 ++msgid "Abort Sleep-Timer?" ++msgstr "" ++ ++#: sleeptimer.c:266 ++#, c-format ++msgid "Activate Sleep-Timer at %i:%0.2i?" ++msgstr "" ++ ++#: sleeptimer.c:275 ++#, c-format ++msgid "Activate Sleep-Timer in %d minutes?" ++msgstr "" +diff -Naur sleeptimer-0.7.old/sleeptimer.c sleeptimer-0.7/sleeptimer.c +--- sleeptimer-0.7.old/sleeptimer.c 2006-06-07 18:18:12.000000000 +0200 ++++ sleeptimer-0.7/sleeptimer.c 2008-03-29 11:03:08.000000000 +0100 +@@ -12,8 +12,8 @@ + #include "i18n.h" + + static const char *VERSION = "0.7"; +-static const char *DESCRIPTION = "Sleep-Timer for VDR"; +-static const char *MAINMENUENTRY = "Sleep-Timer"; ++static const char *DESCRIPTION = trNOOP("Sleep-Timer for VDR"); ++static const char *MAINMENUENTRY = trNOOP("Sleep-Timer"); + int multi = 15; + int max_minute = 360; + int sleepat = 0; diff --git a/plugins/sleeptimer/patches/sleeptimer-0.6-vdr-1.3.32.diff b/plugins/sleeptimer/patches/sleeptimer-0.6-vdr-1.3.32.diff new file mode 100644 index 0000000..80450b2 --- /dev/null +++ b/plugins/sleeptimer/patches/sleeptimer-0.6-vdr-1.3.32.diff @@ -0,0 +1,7 @@ +--- sleeptimer-0.6/sleeptimer.c ++++ sleeptimer-0.6/sleeptimer.c +@@ -8,2 +8,3 @@ + ++#include <vdr/device.h> + #include <vdr/plugin.h> + diff --git a/plugins/sleeptimer/patches/sleeptimer-0.6-vdrshutdown.diff b/plugins/sleeptimer/patches/sleeptimer-0.6-vdrshutdown.diff new file mode 100644 index 0000000..9e78633 --- /dev/null +++ b/plugins/sleeptimer/patches/sleeptimer-0.6-vdrshutdown.diff @@ -0,0 +1,12 @@ +--- sleeptimer-0.6/sleeptimer.c ++++ sleeptimer-0.6/sleeptimer.c +@@ -22,3 +22,3 @@ + int Shutdown_Minutes = 0; +-char *Command = "/sbin/poweroff"; ++char *Command = "svdrpsend.pl HITK Power"; + +@@ -179,3 +179,3 @@ + // Return a string that describes all known command line options. +- return " -e command shutdown command (default: /sbin/poweroff)\n"; ++ return " -e command shutdown command (default: svdrpsend.pl HITK Power)\n"; + } diff --git a/plugins/sleeptimer/plugin.sh b/plugins/sleeptimer/plugin.sh new file mode 100644 index 0000000..4c34864 --- /dev/null +++ b/plugins/sleeptimer/plugin.sh @@ -0,0 +1,53 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 13.04.2008 +# +# vdr-sleeptimer + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://linvdr.org/download/vdr-sleeptimer/sleeptimer-0.7.tar.gz" +VERSION="sleeptimer-0.7" +LINK="sleeptimer" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + patch_p1_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/sndctl/plugin.sh b/plugins/sndctl/plugin.sh new file mode 100644 index 0000000..0409c31 --- /dev/null +++ b/plugins/sndctl/plugin.sh @@ -0,0 +1,56 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 02.03.2009 +# +# vdr-sndctl + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.zulu-entertainment.de/files/vdr-sndctl/vdr-sndctl-0.1.3.tgz" +VERSION="sndctl-0.1.3" +LINK="sndctl" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK + rm -rf $VERSION + rm -f $VDRLIBDIR/libvdr-$LINK.so* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + ### DAMIT DAS PLUGIN INSTALLIERT WERDEN KANN, MUSS DIE FOLGENDE ZEILE ENTFERNT WERDEN + log "$VERSION ist fehlerhaft, editiere die plugin.sh um das Plugin trotzdem zu installieren" && exit 1 + + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/softdevice/patches/softdevice-0.5.0-ffmpeg-svn.diff b/plugins/softdevice/patches/softdevice-0.5.0-ffmpeg-svn.diff new file mode 100644 index 0000000..7f65934 --- /dev/null +++ b/plugins/softdevice/patches/softdevice-0.5.0-ffmpeg-svn.diff @@ -0,0 +1,177 @@ +diff -ruN softdevice-0.5.0/PicBuffer.c softdevice-0.5.0-fixed/PicBuffer.c +--- softdevice-0.5.0/PicBuffer.c 2008-07-27 19:34:42.000000000 +0200 ++++ softdevice-0.5.0-fixed/PicBuffer.c 2009-03-23 18:55:55.000000000 +0100 +@@ -84,8 +84,13 @@ + memset(Pic->pixel[2],(color&0xFF), + (Pic->max_height>>1)*Pic->stride[2]); + break; ++#if LIBAVCODEC_VERSION_INT < ((52<<16)+(21<<8)+0) + case PIX_FMT_RGBA32 : + case PIX_FMT_YUV422 : ++#else ++ case PIX_FMT_RGB32 : ++ case PIX_FMT_YUYV422 : ++#endif + { + uint32_t *tmp=(uint32_t *)Pic->pixel[0]; + int i=Pic->max_height* +@@ -109,7 +114,11 @@ + int pixel_size=GetFormatBPP(Pic->format); + + switch (Pic->format) { ++#if LIBAVCODEC_VERSION_INT < ((52<<16)+(21<<8)+0) + case PIX_FMT_RGBA32 : ++#else ++ case PIX_FMT_RGB32 : ++#endif + case PIX_FMT_RGB24 : + case PIX_FMT_BGR24 : + case PIX_FMT_RGB555 : +@@ -123,7 +132,11 @@ + memset(Pic->pixel[2],128, + (Pic->max_height>>1)*Pic->stride[2]); + break; ++#if LIBAVCODEC_VERSION_INT < ((52<<16)+(21<<8)+0) + case PIX_FMT_YUV422 : ++#else ++ case PIX_FMT_YUYV422 : ++#endif + { + uint32_t *tmp=(uint32_t *)Pic->pixel[0]; + for (int i=0; i<Pic->max_height* +@@ -140,7 +153,11 @@ + + yuv420_convert_fct GetYuv420ConvertFct(PixelFormat pix_fmt) { + switch (pix_fmt) { ++#if LIBAVCODEC_VERSION_INT < ((52<<16)+(21<<8)+0) + case PIX_FMT_RGBA32: ++#else ++ case PIX_FMT_RGB32: ++#endif + return &yuv420_to_rgb32; + case PIX_FMT_BGR24: + return &yuv420_to_bgr24; +@@ -150,7 +167,11 @@ + return &yuv420_to_rgb15; + case PIX_FMT_RGB565: + return &yuv420_to_rgb16; ++#if LIBAVCODEC_VERSION_INT < ((52<<16)+(21<<8)+0) + case PIX_FMT_YUV422: ++#else ++ case PIX_FMT_YUYV422: ++#endif + return &yuv420_to_yuy2; + default: + fprintf(stderr,"unsupported format in GetYuv420ConvertFct \n"); +@@ -252,10 +273,18 @@ + switch(fmt){ + case PIX_FMT_RGB555: + case PIX_FMT_RGB565: ++#if LIBAVCODEC_VERSION_INT < ((52<<16)+(21<<8)+0) + case PIX_FMT_YUV422: ++#else ++ case PIX_FMT_YUYV422: ++#endif + case PIX_FMT_RGB24: + case PIX_FMT_BGR24: ++#if LIBAVCODEC_VERSION_INT < ((52<<16)+(21<<8)+0) + case PIX_FMT_RGBA32: ++#else ++ case PIX_FMT_RGB32: ++#endif + return false; + break; + default: +@@ -278,7 +307,11 @@ + switch(fmt){ + case PIX_FMT_RGB555: + case PIX_FMT_RGB565: ++#if LIBAVCODEC_VERSION_INT < ((52<<16)+(21<<8)+0) + case PIX_FMT_YUV422: ++#else ++ case PIX_FMT_YUYV422: ++#endif + //case PIX_FMT_UYVY422: // FIXME which ffmpeg version + pixel_size=2; + break; +@@ -286,7 +319,11 @@ + case PIX_FMT_BGR24: + pixel_size=3; + break; ++#if LIBAVCODEC_VERSION_INT < ((52<<16)+(21<<8)+0) + case PIX_FMT_RGBA32: ++#else ++ case PIX_FMT_RGB32: ++#endif + pixel_size=4; + break; + default: +diff -ruN softdevice-0.5.0/video-fb.c softdevice-0.5.0-fixed/video-fb.c +--- softdevice-0.5.0/video-fb.c 2008-02-26 11:53:22.000000000 +0100 ++++ softdevice-0.5.0-fixed/video-fb.c 2009-03-23 18:57:58.000000000 +0100 +@@ -60,7 +60,11 @@ + Bpp=15; + else Bpp=fb_vinfo.bits_per_pixel; + switch (Bpp) { ++#if LIBAVCODEC_VERSION_INT < ((52<<16)+(21<<8)+0) + case 32 : privBuf.format=PIX_FMT_RGBA32; ++#else ++ case 32 : privBuf.format=PIX_FMT_RGB32; ++#endif + break; + case 24 : privBuf.format=PIX_FMT_RGB24; + break; +diff -ruN softdevice-0.5.0/video-shm.c softdevice-0.5.0-fixed/video-shm.c +--- softdevice-0.5.0/video-shm.c 2007-10-13 13:17:48.000000000 +0200 ++++ softdevice-0.5.0-fixed/video-shm.c 2009-03-23 19:02:56.000000000 +0100 +@@ -235,7 +235,11 @@ + privBuf.stride[1]=ctl->stride1; + privBuf.stride[2]=ctl->stride2; + break; ++#if LIBAVCODEC_VERSION_INT < ((52<<16)+(21<<8)+0) + case PIX_FMT_YUV422: ++#else ++ case PIX_FMT_YUYV422: ++#endif + SHMDEB("new format YUV422\n"); + privBuf.pixel[0]=curr_pict+ctl->offset0; + privBuf.pixel[1]=privBuf.pixel[1]=NULL; +diff -ruN softdevice-0.5.0/video-xv.c softdevice-0.5.0-fixed/video-xv.c +--- softdevice-0.5.0/video-xv.c 2008-07-14 19:00:59.000000000 +0200 ++++ softdevice-0.5.0-fixed/video-xv.c 2009-03-23 19:01:48.000000000 +0100 +@@ -1034,7 +1034,11 @@ + osd_max_width, osd_max_height, + osd_image->bytes_per_line,osd_image->bits_per_pixel); + switch (osd_image->bits_per_pixel) { ++#if LIBAVCODEC_VERSION_INT < ((52<<16)+(21<<8)+0) + case 32 : osdBuf.format=PIX_FMT_RGBA32; ++#else ++ case 32 : osdBuf.format=PIX_FMT_RGB32; ++#endif + break; + case 24 : osdBuf.format=PIX_FMT_RGB24; + break; +@@ -1240,7 +1244,11 @@ + attributeStore.Save(); + + switch (osdBuf.format) { ++#if LIBAVCODEC_VERSION_INT < ((52<<16)+(21<<8)+0) + case PIX_FMT_RGBA32: ++#else ++ case PIX_FMT_RGB32: ++#endif + ARGB_TO_RGB(RGB32,&colorkey,COLOR_KEY); + break; + case PIX_FMT_RGB24: +@@ -1300,7 +1308,11 @@ + privBuf.stride[1] = 0; + privBuf.stride[2] = 0; + ++#if LIBAVCODEC_VERSION_INT < ((52<<16)+(21<<8)+0) + privBuf.format = PIX_FMT_YUV422; ++#else ++ privBuf.format = PIX_FMT_YUYV422; ++#endif + break; + default: + break; diff --git a/plugins/softdevice/plugin.sh b/plugins/softdevice/plugin.sh new file mode 100755 index 0000000..683bf37 --- /dev/null +++ b/plugins/softdevice/plugin.sh @@ -0,0 +1,73 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 23.03.2009 +# +# vdr-softdevice + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.zulu-entertainment.de/files/vdr-softdevice/vdr-softdevice-0.5.0-cvs20090323.tgz" +VERSION="softdevice-0.5.0" +LINK="softdevice" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + rm -f $VDRLIBDIR/libsoftdevice-* + rm -f $VDRBINDIR/ShmClient + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + configure_conf="--disable-subplugins" + + if [ -f $PREFIX/include/vidix/fourcc.h ] && [ -f $PREFIX/include/vidix/vidix.h ] && [ -f $PREFIX/include/vidix/vidixlib.h ]; then + configure_conf="$configure_conf --with-vidix-path $PREFIX" + fi + + if [ "$yaepg" = "on" ]; then + configure_conf="$configure_conf --enable-yaepg" + else + configure_conf="$configure_conf --disable-yaepg" + fi + + cd $SOURCEDIR/VDR/PLUGINS/src/$LINK + ./configure $configure_conf + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +# install ShmClient +if [ "$cmd" = "-m" ] || [ "$cmd" = "--make" ] || [ "$cmd" = "-r" ] || [ "$cmd" = "--remake" ]; then + cp -f $SOURCEDIR/VDR/PLUGINS/src/$LINK/ShmClient $VDRBINDIR + chmod 0755 $VDRBINDIR/ShmClient +fi + +exit 0 diff --git a/plugins/solitaire/patches/p1/solitaire-0.0.2-1.5.4.diff b/plugins/solitaire/patches/p1/solitaire-0.0.2-1.5.4.diff new file mode 100644 index 0000000..f86ff6a --- /dev/null +++ b/plugins/solitaire/patches/p1/solitaire-0.0.2-1.5.4.diff @@ -0,0 +1,19 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 91_solitaire-0.0.2-1.5.4.dpatch by Thomas Günther <tom@toms-cafe.de> +## http://toms-cafe.de/vdr/download/solitaire-0.0.2-1.5.4.diff +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Changes for VDR >= 1.5.4. + +@DPATCH@ +--- solitaire-0.0.2/tools/list.h ++++ solitaire-0.0.2/tools/list.h +@@ -523,7 +523,7 @@ + return neu;
+ }
+
+-typedef class cTBList<cTBString> cStringList;
++//typedef class cTBList<cTBString> cStringList;
+ typedef class cTBList<void*> cPtrList;
+
+ // Special Overrides for String lists
diff --git a/plugins/solitaire/patches/p1/solitaire-0.0.2.patch b/plugins/solitaire/patches/p1/solitaire-0.0.2.patch new file mode 100644 index 0000000..83db65b --- /dev/null +++ b/plugins/solitaire/patches/p1/solitaire-0.0.2.patch @@ -0,0 +1,129 @@ +diff -ruN solitaire-0.0.2.org/tools/list.h solitaire-0.0.2/tools/list.h +--- solitaire-0.0.2.org/tools/list.h 2004-08-24 00:49:04.000000000 +0200 ++++ solitaire-0.0.2/tools/list.h 2006-02-03 11:35:36.000000000 +0100 +@@ -90,22 +90,22 @@ + T &SetNextCurrent ();
+ T &SetPrevCurrent ();
+
+- friend cTBList<T> &operator+= <> (cTBList<T> &list1, const cTBList<T> &list2);
+- friend cTBList<T> &operator+= <> (cTBList<T> &list, const T &element);
++// friend cTBList<T> &operator+= <> (cTBList<T> &list1, const cTBList<T> &list2);
++// friend cTBList<T> &operator+= <> (cTBList<T> &list, const T &element);
+
+- friend cTBList<T> operator+ <> (const cTBList<T> &list1, const cTBList<T> &list2);
+- friend cTBList<T> operator+ <> (const T &element, const cTBList<T> &list);
+- friend cTBList<T> operator+ <> (const cTBList<T> &list, const T &element);
++// friend cTBList<T> operator+ <> (const cTBList<T> &list1, const cTBList<T> &list2);
++// friend cTBList<T> operator+ <> (const T &element, const cTBList<T> &list);
++// friend cTBList<T> operator+ <> (const cTBList<T> &list, const T &element);
+
+ /*friend cSource &operator<< <> (cSource &dest, const cTBList<T> &list);
+- friend cSource &operator>> <> (cSource &dest, cTBList<T> &list);*/
++// friend cSource &operator>> <> (cSource &dest, cTBList<T> &list);*/
+ };
+
+ // Template Implementation (inline funcs)
+
+ template<class T>
+ inline int cTBList<T>::Find (const T & i) {
+- cTBList<T>::cItem *item = m_First;
++ typename cTBList<T>::cItem *item = m_First;
+ int index = 0;
+
+ while (item && (item->Data != i)) {
+@@ -203,7 +203,7 @@ +
+ template<class T>
+ typename cTBList<T>::cItem *cTBList<T>::NewItem (cTBList<T>::cItem *pBefore, cTBList<T>::cItem *pAfter) const {
+- cTBList<T>::cItem *item = new cTBList<T>::cItem;
++ typename cTBList<T>::cItem *item = new typename cTBList<T>::cItem;
+
+ item->Next = pAfter;
+ item->Prev = pBefore;
+@@ -235,7 +235,7 @@ + if ((int)idx == m_CurPos)
+ return m_Current;
+
+- cTBList<T>::cItem *item;
++ typename cTBList<T>::cItem *item;
+ int dist = idx - m_CurPos;
+ bool direct;
+
+@@ -271,7 +271,7 @@ +
+ template<class T>
+ T &cTBList<T>::Prepend () {
+- cTBList<T>::cItem *item = NewItem(NULL, m_First);
++ typename cTBList<T>::cItem *item = NewItem(NULL, m_First);
+
+ m_First = m_Current = item;
+ if (!m_Last)
+@@ -285,7 +285,7 @@ +
+ template<class T>
+ T &cTBList<T>::Append () {
+- cTBList<T>::cItem *item = NewItem(m_Last, NULL);
++ typename cTBList<T>::cItem *item = NewItem(m_Last, NULL);
+
+ m_Last = m_Current = item;
+ if (!m_First)
+@@ -317,13 +317,13 @@ + return true;
+ }
+
+- cTBList<T>::cItem *nextItem = Locate(idx);
++ typename cTBList<T>::cItem *nextItem = Locate(idx);
+ if (!nextItem)
+ return false;
+
+- cTBList<T>::cItem *prevItem = nextItem->Prev;
++ typename cTBList<T>::cItem *prevItem = nextItem->Prev;
+
+- cTBList<T>::cItem *item = NewItem(prevItem, nextItem);
++ typename cTBList<T>::cItem *item = NewItem(prevItem, nextItem);
+ item->Data = i;
+
+ m_CurPos = idx;
+@@ -338,7 +338,7 @@ + if (!m_Current)
+ return NULL;
+
+- cTBList<T>::cItem *item = m_Current;
++ typename cTBList<T>::cItem *item = m_Current;
+ if (item == m_First) {
+ if (m_First = item->Next)
+ m_First->Prev = NULL;
+@@ -370,7 +370,7 @@ + if (Find(i) == -1)
+ return false;
+
+- cTBList<T>::cItem *item = Unlink();
++ typename cTBList<T>::cItem *item = Unlink();
+ if (!item)
+ return false;
+
+@@ -383,7 +383,7 @@ + if (!Locate(idx))
+ return false;
+
+- cTBList<T>::cItem *item = Unlink();
++ typename cTBList<T>::cItem *item = Unlink();
+ if (!item)
+ return false;
+
+@@ -412,13 +412,13 @@ +
+ template<class T>
+ void cTBList<T>::Clear () {
+- cTBList<T>::cItem *item = m_First;
++ typename cTBList<T>::cItem *item = m_First;
+
+ m_First = m_Last = m_Current = NULL;
+ m_Count = 0;
+ m_CurPos = -1;
+
+- cTBList<T>::cItem *Prev;
++ typename cTBList<T>::cItem *Prev;
+ while (item) {
+ Prev = item;
+ item = item->Next;
diff --git a/plugins/solitaire/plugin.sh b/plugins/solitaire/plugin.sh new file mode 100644 index 0000000..cab142a --- /dev/null +++ b/plugins/solitaire/plugin.sh @@ -0,0 +1,54 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 30.03.2006 +# +# vdr-solitaire + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://vdr.bluox.org/download/vdr-solitaire/vdr-solitaire-0.0.2.tgz" +VERSION="solitaire-0.0.2" +LINK="solitaire" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + patch_p1_plugin + + ## plugin specials - start ## + # karten kopieren + cp -R $SOURCEDIR/VDR/PLUGINS/src/solitaire/solitaire $VDRCONFDIR/plugins + chown -R $VDRUSER.$VDRGROUP $VDRCONFDIR/plugins/solitaire + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/span/plugin.sh b/plugins/span/plugin.sh new file mode 100644 index 0000000..0f31fd7 --- /dev/null +++ b/plugins/span/plugin.sh @@ -0,0 +1,51 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 17.05.2007 +# +# vdr-span + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://lcr.vdr-developer.org/downloads/vdr-span-0.0.6.tar.bz2" +VERSION="span-0.0.6" +LINK="span" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/spider/plugin.sh b/plugins/spider/plugin.sh new file mode 100644 index 0000000..f2d22e5 --- /dev/null +++ b/plugins/spider/plugin.sh @@ -0,0 +1,53 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 29.03.2008 +# +# vdr-spider + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://toms-cafe.de/vdr/spider/vdr-spider-0.2.1.tgz" +VERSION="spider-0.2.1" +LINK="spider" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + cp -R $SOURCEDIR/VDR/PLUGINS/src/spider/spider $VDRCONFDIR/plugins + chown -R $VDRUSER:$VDRGROUP $VDRCONFDIR/plugins/spider + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/sportng/plugin.sh b/plugins/sportng/plugin.sh new file mode 100644 index 0000000..a5a2b6a --- /dev/null +++ b/plugins/sportng/plugin.sh @@ -0,0 +1,54 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 29.01.2009 +# +# vdr-sport + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://sportng.diedering.de/vdr-sportng-0.0.3.tgz" +VERSION="sportng-0.0.3" +LINK="sportng" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + rm -rf $VDRCONFDIR/plugins/sport + rm -rf $VDRSCRIPTDIR/sport + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/streamdev/plugin.sh b/plugins/streamdev/plugin.sh new file mode 100755 index 0000000..81e6278 --- /dev/null +++ b/plugins/streamdev/plugin.sh @@ -0,0 +1,76 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 07.04.2009 +# +# vdr-streamdev + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.zulu-entertainment.de/files/vdr-streamdev/vdr-streamdev-0.5.0-pre.tgz" +VERSION="streamdev-0.5.0-pre" +LINK="streamdev" +CVS="0" + +[ "$CVS" = "1" ] && VERSION="streamdev-cvs" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + if [ "$CVS" = "1" ] ; then + cd $DIR + rm -rf streamdev $VERSION + echo "CVS password: [Just press enter]" + cvs -d:pserver:anoncvs@vdr-developer.org:/var/cvsroot login + cvs -d:pserver:anoncvs@vdr-developer.org:/var/cvsroot co streamdev + mv -f streamdev $VERSION + cp -R $VERSION $SOURCEDIR/VDR/PLUGINS/src + else + download_plugin + extract_plugin + fi + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + patch_p1_plugin + + ## plugin specials - start ## + [ -d $VDRCONFDIR/plugins/streamdev ] || mkdir -p $VDRCONFDIR/plugins/streamdev + + if [ -f $VDRCONFDIR/plugins/streamdevhosts.conf ]; then + mv $VDRCONFDIR/plugins/streamdevhosts.conf $VDRCONFDIR/plugins/streamdev/streamdevhosts.conf + elif [ -f $DIR/streamdevhosts.conf ]; then + cp $DIR/streamdevhosts.conf $VDRCONFDIR/plugins/streamdev + else + cp $VDRCONFDIR/svdrphosts.conf $VDRCONFDIR/plugins/streamdev/streamdevhosts.conf + fi + + chown -R $VDRUSER:$VDRGROUP $VDRCONFDIR/plugins/streamdev + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/streamdev/streamdev-cvs040409_xbmc-v5-ext69.patch b/plugins/streamdev/streamdev-cvs040409_xbmc-v5-ext69.patch new file mode 100644 index 0000000..4a2dd69 --- /dev/null +++ b/plugins/streamdev/streamdev-cvs040409_xbmc-v5-ext69.patch @@ -0,0 +1,1475 @@ +diff -NaurwB streamdev-unpatched/common.h streamdev/common.h +--- streamdev-unpatched/common.h 2009-01-16 12:35:43.000000000 +0100 ++++ streamdev/common.h 2009-04-04 22:01:41.000000000 +0200 +@@ -74,9 +74,12 @@ + siLive, + siReplay, + siLiveFilter, ++ siDataRespond, + si_Count + }; + ++#define MAX_RESPONSE_SIZE 1024 ++ + extern const char *VERSION; + extern const char *StreamTypes[st_Count]; + extern const char *SuspendModes[sm_Count]; +diff -NaurwB streamdev-unpatched/Makefile streamdev/Makefile +--- streamdev-unpatched/Makefile 2009-02-13 11:39:20.000000000 +0100 ++++ streamdev/Makefile 2009-04-04 22:01:41.000000000 +0200 +@@ -61,7 +61,7 @@ + server/componentVTP.o server/componentHTTP.o server/componentIGMP.o \ + server/connectionVTP.o server/connectionHTTP.o server/connectionIGMP.o \ + server/streamer.o server/livestreamer.o server/livefilter.o \ +- server/suspend.o server/setup.o server/menuHTTP.o \ ++ server/suspend.o server/setup.o server/menuHTTP.o server/recplayer.o \ + remux/tsremux.o remux/ts2ps.o remux/ts2es.o remux/extern.o + + ifdef DEBUG +diff -NaurwB streamdev-unpatched/server/connectionVTP.c streamdev/server/connectionVTP.c +--- streamdev-unpatched/server/connectionVTP.c 2009-01-16 12:35:44.000000000 +0100 ++++ streamdev/server/connectionVTP.c 2009-04-04 23:01:48.000000000 +0200 +@@ -8,11 +8,16 @@ + #include "setup.h" + + #include <vdr/tools.h> ++#include <vdr/videodir.h> ++#include <vdr/menu.h> ++#include <vdr/epg.h> + #include <tools/select.h> + #include <string.h> + #include <ctype.h> + #include <errno.h> + #include <stdarg.h> ++#include <stdio.h> ++#include <stdlib.h> + + /* VTP Response codes: + 220: Service ready +@@ -28,13 +33,20 @@ + 563: Recording not available (currently?) + */ + ++enum eDumpModeStreamdev { dmsdAll, dmsdPresent, dmsdFollowing, dmsdAtTime, dmsdFromToTime }; ++ + // --- cLSTEHandler ----------------------------------------------------------- + + class cLSTEHandler + { + private: ++#ifdef USE_PARENTALRATING ++ enum eStates { Channel, Event, Title, Subtitle, Description, Vps, Content, ++ EndEvent, EndChannel, EndEPG }; ++#else + enum eStates { Channel, Event, Title, Subtitle, Description, Vps, + EndEvent, EndChannel, EndEPG }; ++#endif /* PARENTALRATING */ + cConnectionVTP *m_Client; + cSchedulesLock *m_SchedulesLock; + const cSchedules *m_Schedules; +@@ -44,6 +56,7 @@ + char *m_Error; + eStates m_State; + bool m_Traverse; ++ time_t m_ToTime; + public: + cLSTEHandler(cConnectionVTP *Client, const char *Option); + ~cLSTEHandler(); +@@ -59,10 +72,12 @@ + m_Errno(0), + m_Error(NULL), + m_State(Channel), +- m_Traverse(false) ++ m_Traverse(false), ++ m_ToTime(0) + { +- eDumpMode dumpmode = dmAll; ++ eDumpModeStreamdev dumpmode = dmsdAll; + time_t attime = 0; ++ time_t fromtime = 0; + + if (m_Schedules != NULL && *Option) { + char buf[strlen(Option) + 1]; +@@ -70,13 +85,13 @@ + const char *delim = " \t"; + char *strtok_next; + char *p = strtok_r(buf, delim, &strtok_next); +- while (p && dumpmode == dmAll) { ++ while (p && dumpmode == dmsdAll) { + if (strcasecmp(p, "NOW") == 0) +- dumpmode = dmPresent; ++ dumpmode = dmsdPresent; + else if (strcasecmp(p, "NEXT") == 0) +- dumpmode = dmFollowing; ++ dumpmode = dmsdFollowing; + else if (strcasecmp(p, "AT") == 0) { +- dumpmode = dmAtTime; ++ dumpmode = dmsdAtTime; + if ((p = strtok_r(NULL, delim, &strtok_next)) != NULL) { + if (isnumber(p)) + attime = strtol(p, NULL, 10); +@@ -90,6 +105,39 @@ + m_Error = strdup("Missing time"); + break; + } ++ } ++ else if (strcasecmp(p, "FROM") == 0) { ++ dumpmode = dmsdFromToTime; ++ if ((p = strtok_r(NULL, delim, &strtok_next)) != NULL) { ++ if (isnumber(p)) ++ fromtime = strtol(p, NULL, 10); ++ else { ++ m_Errno = 501; ++ m_Error = strdup("Invalid time"); ++ break; ++ } ++ if ((p = strtok_r(NULL, delim, &strtok_next)) != NULL) { ++ if (strcasecmp(p, "TO") == 0) { ++ if ((p = strtok_r(NULL, delim, &strtok_next)) != NULL) { ++ if (isnumber(p)) ++ m_ToTime = strtol(p, NULL, 10); ++ else { ++ m_Errno = 501; ++ m_Error = strdup("Invalid time"); ++ break; ++ } ++ } else { ++ m_Errno = 501; ++ m_Error = strdup("Missing time"); ++ break; ++ } ++ } ++ } ++ } else { ++ m_Errno = 501; ++ m_Error = strdup("Missing time"); ++ break; ++ } + } else if (!m_Schedule) { + cChannel* Channel = NULL; + if (isnumber(p)) +@@ -129,16 +177,29 @@ + + if (m_Schedule != NULL && m_Schedule->Events() != NULL) { + switch (dumpmode) { +- case dmAll: m_Event = m_Schedule->Events()->First(); ++ case dmsdAll: m_Event = m_Schedule->Events()->First(); + m_Traverse = true; + break; +- case dmPresent: m_Event = m_Schedule->GetPresentEvent(); ++ case dmsdPresent: m_Event = m_Schedule->GetPresentEvent(); + break; +- case dmFollowing: m_Event = m_Schedule->GetFollowingEvent(); ++ case dmsdFollowing: m_Event = m_Schedule->GetFollowingEvent(); + break; +- case dmAtTime: m_Event = m_Schedule->GetEventAround(attime); ++ case dmsdAtTime: m_Event = m_Schedule->GetEventAround(attime); ++ break; ++ case dmsdFromToTime: ++ if (m_Schedule->Events()->Count() <= 1) { ++ m_Event = m_Schedule->Events()->First(); ++ break; ++ } ++ if (fromtime < m_Schedule->Events()->First()->StartTime()) { ++ fromtime = m_Schedule->Events()->First()->StartTime(); ++ } ++ if (m_ToTime > m_Schedule->Events()->Last()->EndTime()) { ++ m_ToTime = m_Schedule->Events()->Last()->EndTime(); ++ } ++ m_Event = m_Schedule->GetEventAround(fromtime); ++ m_Traverse = true; + break; +- + } + } + } +@@ -227,7 +288,11 @@ + break; + + case Vps: ++#ifdef USE_PARENTALRATING ++ m_State = Content; ++#else + m_State = EndEvent; ++#endif /* PARENTALRATING */ + if (m_Event->Vps()) + #ifdef __FreeBSD__ + return m_Client->Respond(-215, "V %d", m_Event->Vps()); +@@ -238,9 +303,26 @@ + return Next(Last); + break; + ++#ifdef USE_PARENTALRATING ++ case Content: ++ m_State = EndEvent; ++ if (!isempty(m_Event->GetContentsString())) { ++ char *copy = strdup(m_Event->GetContentsString()); ++ cString cpy(copy, true); ++ strreplace(copy, '\n', '|'); ++ return m_Client->Respond(-215, "G %i %i %s", m_Event->Contents() & 0xF0, m_Event->Contents() & 0x0F, copy); ++ } else ++ return Next(Last); ++ break; ++#endif ++ + case EndEvent: +- if (m_Traverse) ++ if (m_Traverse) { + m_Event = m_Schedule->Events()->Next(m_Event); ++ if ((m_Event != NULL) && (m_ToTime != 0) && (m_Event->StartTime() > m_ToTime)) { ++ m_Event = NULL; ++ } ++ } + else + m_Event = NULL; + +@@ -476,9 +558,12 @@ + m_LiveStreamer(NULL), + m_FilterSocket(NULL), + m_FilterStreamer(NULL), ++ m_RecSocket(NULL), ++ m_DataSocket(NULL), + m_LastCommand(NULL), + m_StreamType(stTSPIDS), + m_FiltersSupport(false), ++ m_RecPlayer(NULL), + m_LSTEHandler(NULL), + m_LSTCHandler(NULL), + m_LSTTHandler(NULL) +@@ -491,11 +576,14 @@ + free(m_LastCommand); + delete m_LiveStreamer; + delete m_LiveSocket; ++ delete m_RecSocket; + delete m_FilterStreamer; + delete m_FilterSocket; ++ delete m_DataSocket; + delete m_LSTTHandler; + delete m_LSTCHandler; + delete m_LSTEHandler; ++ delete m_RecPlayer; + } + + inline bool cConnectionVTP::Abort(void) const +@@ -548,7 +636,7 @@ + } + + if (strcasecmp(Cmd, "LSTE") == 0) return CmdLSTE(param); +- //else if (strcasecmp(Cmd, "LSTR") == 0) return CmdLSTR(param); ++ else if (strcasecmp(Cmd, "LSTR") == 0) return CmdLSTR(param); + else if (strcasecmp(Cmd, "LSTT") == 0) return CmdLSTT(param); + else if (strcasecmp(Cmd, "LSTC") == 0) return CmdLSTC(param); + +@@ -561,7 +649,9 @@ + if (strcasecmp(Cmd, "CAPS") == 0) return CmdCAPS(param); + else if (strcasecmp(Cmd, "PROV") == 0) return CmdPROV(param); + else if (strcasecmp(Cmd, "PORT") == 0) return CmdPORT(param); ++ else if (strcasecmp(Cmd, "READ") == 0) return CmdREAD(param); + else if (strcasecmp(Cmd, "TUNE") == 0) return CmdTUNE(param); ++ else if (strcasecmp(Cmd, "PLAY") == 0) return CmdPLAY(param); + else if (strcasecmp(Cmd, "ADDP") == 0) return CmdADDP(param); + else if (strcasecmp(Cmd, "DELP") == 0) return CmdDELP(param); + else if (strcasecmp(Cmd, "ADDF") == 0) return CmdADDF(param); +@@ -570,10 +660,21 @@ + else if (strcasecmp(Cmd, "QUIT") == 0) return CmdQUIT(); + else if (strcasecmp(Cmd, "SUSP") == 0) return CmdSUSP(); + // Commands adopted from SVDRP +- //else if (strcasecmp(Cmd, "DELR") == 0) return CmdDELR(param); ++ else if (strcasecmp(Cmd, "DELR") == 0) return CmdDELR(param); ++#if defined(USE_LIEMIKUUTIO) || defined(USE_LIEMIEXT) ++ else if (strcasecmp(Cmd, "RENR") == 0) return CmdRENR(param); ++#endif /* LIEMIKUUTIO */ ++ else if (strcasecmp(Cmd, "STAT") == 0) return CmdSTAT(param); + else if (strcasecmp(Cmd, "MODT") == 0) return CmdMODT(param); + else if (strcasecmp(Cmd, "NEWT") == 0) return CmdNEWT(param); + else if (strcasecmp(Cmd, "DELT") == 0) return CmdDELT(param); ++ else if (strcasecmp(Cmd, "NEXT") == 0) return CmdNEXT(param); ++ else if (strcasecmp(Cmd, "NEWC") == 0) return CmdNEWC(param); ++ else if (strcasecmp(Cmd, "MODC") == 0) return CmdMODC(param); ++ else if (strcasecmp(Cmd, "MOVC") == 0) return CmdMOVC(param); ++ else if (strcasecmp(Cmd, "DELC") == 0) return CmdDELC(param); ++ else if (strcasecmp(Cmd, "MARK") == 0) return CmdMARK(param); ++ else if (strcasecmp(Cmd, "FRAM") == 0) return CmdFRAM(param); + else + return Respond(500, "Unknown Command \"%s\"", Cmd); + } +@@ -648,7 +749,7 @@ + if (ep == Opts || !isspace(*ep)) + return Respond(500, "Use: PORT Id Destination"); + +- if (id != siLive && id != siLiveFilter) ++ if (id != siLive && id != siLiveFilter && id != siReplay && id != siDataRespond) + return Respond(501, "Wrong connection id %d", id); + + Opts = skipspace(ep); +@@ -698,6 +799,7 @@ + return Respond(220, "Port command ok, data connection opened"); + } + ++ if (id == siLive) { + if(m_LiveSocket && m_LiveStreamer) + m_LiveStreamer->Stop(); + delete m_LiveSocket; +@@ -718,6 +820,71 @@ + return Respond(220, "Port command ok, data connection opened"); + } + ++ if (id == siReplay) { ++ delete m_RecSocket; ++ ++ m_RecSocket = new cTBSocket(SOCK_STREAM); ++ if (!m_RecSocket->Connect(dataip, dataport)) { ++ esyslog("ERROR: Streamdev: Couldn't open data connection to %s:%d: %s", ++ dataip, dataport, strerror(errno)); ++ DELETENULL(m_RecSocket); ++ return Respond(551, "Couldn't open data connection"); ++ } ++ ++ if (!m_RecSocket->SetDSCP()) ++ LOG_ERROR_STR("unable to set DSCP sockopt"); ++ ++ return Respond(220, "Port command ok, data connection opened"); ++ } ++ ++ if (id == siDataRespond) { ++ delete m_DataSocket; ++ ++ m_DataSocket = new cTBSocket(SOCK_STREAM); ++ if (!m_DataSocket->Connect(dataip, dataport)) { ++ esyslog("ERROR: Streamdev: Couldn't open data connection to %s:%d: %s", ++ dataip, dataport, strerror(errno)); ++ DELETENULL(m_DataSocket); ++ return Respond(551, "Couldn't open data connection"); ++ } ++ ++ if (!m_DataSocket->SetDSCP()) ++ LOG_ERROR_STR("unable to set DSCP sockopt"); ++ ++ return Respond(220, "Port command ok, data connection opened"); ++ } ++ return Respond(551, "Couldn't open data connection"); ++} ++ ++bool cConnectionVTP::CmdREAD(char *Opts) ++{ ++ if (*Opts) { ++ char *tail; ++ uint64_t position = strtoll(Opts, &tail, 10); ++ if (tail && tail != Opts) { ++ tail = skipspace(tail); ++ if (tail && tail != Opts) { ++ int size = strtol(tail, NULL, 10); ++ uint8_t* data = (uint8_t*)malloc(size+4); ++ unsigned long count_readed = m_RecPlayer->getBlock(data, position, size); ++ unsigned long count_written = m_RecSocket->SysWrite(data, count_readed); ++ ++ free(data); ++ return Respond(220, "%lu Bytes submitted", count_written); ++ } ++ else { ++ return Respond(501, "Missing position"); ++ } ++ } ++ else { ++ return Respond(501, "Missing size"); ++ } ++ } ++ else { ++ return Respond(501, "Missing position"); ++ } ++} ++ + bool cConnectionVTP::CmdTUNE(char *Opts) + { + const cChannel *chan; +@@ -749,6 +916,32 @@ + return Respond(220, "Channel tuned"); + } + ++bool cConnectionVTP::CmdPLAY(char *Opts) ++{ ++ Recordings.Update(true); ++ if (*Opts) { ++ if (isnumber(Opts)) { ++ cRecording *recording = Recordings.Get(strtol(Opts, NULL, 10) - 1); ++ if (recording) { ++ if (m_RecPlayer) { ++ delete m_RecPlayer; ++ } ++ m_RecPlayer = new RecPlayer(recording); ++ return Respond(220, "%llu (Bytes), %u (Frames)", (long long unsigned int) m_RecPlayer->getLengthBytes(), (unsigned int) m_RecPlayer->getLengthFrames()); ++ } ++ else { ++ return Respond(550, "Recording \"%s\" not found", Opts); ++ } ++ } ++ else { ++ return Respond(500, "Use: PLAY record"); ++ } ++ } ++ else { ++ return Respond(500, "Use: PLAY record"); ++ } ++} ++ + bool cConnectionVTP::CmdADDP(char *Opts) + { + int pid; +@@ -844,6 +1037,13 @@ + DELETENULL(m_FilterStreamer); + DELETENULL(m_FilterSocket); + break; ++ case siReplay: ++ DELETENULL(m_RecPlayer); ++ DELETENULL(m_RecSocket); ++ break; ++ case siDataRespond: ++ DELETENULL(m_DataSocket); ++ break; + default: + return Respond(501, "Wrong connection id %d", id); + break; +@@ -912,6 +1112,56 @@ + #define Reply(c,m...) _res = Respond(c,m) + #define EXIT_WRAPPER() return _res + ++bool cConnectionVTP::CmdSTAT(const char *Option) ++{ ++ INIT_WRAPPER(); ++ if (*Option) { ++ if (strcasecmp(Option, "DISK") == 0) { ++ int FreeMB, UsedMB; ++ int Percent = VideoDiskSpace(&FreeMB, &UsedMB); ++ Reply(250, "%dMB %dMB %d%%", FreeMB + UsedMB, FreeMB, Percent); ++ } ++ else if (strcasecmp(Option, "NAME") == 0) { ++ Reply(250, "vdr - The Video Disk Recorder with Streamdev-Server"); ++ } ++ else if (strcasecmp(Option, "VERSION") == 0) { ++ Reply(250, "VDR: %s | Streamdev: %s", VDRVERSION, VERSION); ++ } ++ else if (strcasecmp(Option, "RECORDS") == 0) { ++ bool recordings = Recordings.Load(); ++ Recordings.Sort(); ++ if (recordings) { ++ cRecording *recording = Recordings.Last(); ++ Reply(250, "%d", recording->Index() + 1); ++ } ++ else { ++ Reply(250, "0"); ++ } ++ } ++ else if (strcasecmp(Option, "CHANNELS") == 0) { ++ Reply(250, "%d", Channels.MaxNumber()-1); ++ } ++ else if (strcasecmp(Option, "TIMERS") == 0) { ++ Reply(250, "%d", Timers.Count()); ++ } ++ else if (strcasecmp(Option, "CHARSET") == 0) { ++ Reply(250, "%s", cCharSetConv::SystemCharacterTable()); ++ } ++ else if (strcasecmp(Option, "TIME") == 0) { ++ time_t timeNow = time(NULL); ++ struct tm* timeStruct = localtime(&timeNow); ++ int timeOffset = timeStruct->tm_gmtoff; ++ ++ Reply(250, "%u %i", timeNow, timeOffset); ++ } ++ else ++ Reply(501, "Invalid Option \"%s\"", Option); ++ } ++ else ++ Reply(501, "No option given"); ++ EXIT_WRAPPER(); ++} ++ + bool cConnectionVTP::CmdMODT(const char *Option) + { + INIT_WRAPPER(); +@@ -973,40 +1223,114 @@ + { + INIT_WRAPPER(); + if (*Option) { +- if (isnumber(Option)) { +- cTimer *timer = Timers.Get(strtol(Option, NULL, 10) - 1); ++ int number = 0; ++ bool force = false; ++ char buf[strlen(Option) + 1]; ++ strcpy(buf, Option); ++ const char *delim = " \t"; ++ char *strtok_next; ++ char *p = strtok_r(buf, delim, &strtok_next); ++ ++ if (isnumber(p)) { ++ number = strtol(p, NULL, 10) - 1; ++ } ++ else if (strcasecmp(p, "FORCE") == 0) { ++ force = true; ++ } ++ if ((p = strtok_r(NULL, delim, &strtok_next)) != NULL) { ++ if (isnumber(p)) { ++ number = strtol(p, NULL, 10) - 1; ++ } ++ else if (strcasecmp(p, "FORCE") == 0) { ++ force = true; ++ } ++ else { ++ Reply(501, "Timer not found or wrong syntax"); ++ } ++ } ++ ++ cTimer *timer = Timers.Get(number); + if (timer) { +- if (!timer->Recording()) { ++ if (timer->Recording()) { ++ if (force) { ++ timer->Skip(); ++ cRecordControls::Process(time(NULL)); ++ } ++ else { ++ Reply(550, "Timer \"%i\" is recording", number); ++ EXIT_WRAPPER(); ++ } ++ } + isyslog("deleting timer %s", *timer->ToDescr()); + Timers.Del(timer); + Timers.SetModified(); +- Reply(250, "Timer \"%s\" deleted", Option); ++ Reply(250, "Timer \"%i\" deleted", number); + } else +- Reply(550, "Timer \"%s\" is recording", Option); ++ Reply(501, "Timer \"%i\" not defined", number); + } else +- Reply(501, "Timer \"%s\" not defined", Option); +- } else +- Reply(501, "Error in timer number \"%s\"", Option); +- } else +- Reply(501, "Missing timer number"); ++ Reply(501, "Missing timer option"); ++ EXIT_WRAPPER(); ++} ++ ++bool cConnectionVTP::CmdNEXT(const char *Option) ++{ ++ INIT_WRAPPER(); ++ cTimer *t = Timers.GetNextActiveTimer(); ++ if (t) { ++ time_t Start = t->StartTime(); ++ int Number = t->Index() + 1; ++ if (!*Option) ++ Reply(250, "%d %s", Number, *TimeToString(Start)); ++ else if (strcasecmp(Option, "ABS") == 0) ++ Reply(250, "%d %ld", Number, Start); ++ else if (strcasecmp(Option, "REL") == 0) ++ Reply(250, "%d %ld", Number, Start - time(NULL)); ++ else ++ Reply(501, "Unknown option: \"%s\"", Option); ++ } ++ else ++ Reply(550, "No active timers"); + EXIT_WRAPPER(); + } + +-/*bool cConnectionVTP::CmdLSTR(char *Option) { ++bool cConnectionVTP::CmdLSTR(char *Option) ++{ + INIT_WRAPPER(); +- bool recordings = Recordings.Load(); +- Recordings.Sort(); ++ bool recordings = Recordings.Update(true); + if (*Option) { + if (isnumber(Option)) { + cRecording *recording = Recordings.Get(strtol(Option, NULL, 10) - 1); + if (recording) { +- if (recording->Summary()) { +- char *summary = strdup(recording->Summary()); +- Reply(250, "%s", strreplace(summary,'\n','|')); +- free(summary); ++ ++ Reply(-215, "C %s%s%s", *recording->Info()->ChannelID().ToString(), recording->Info()->ChannelName() ? " " : "", recording->Info()->ChannelName() ? recording->Info()->ChannelName() : ""); ++#ifdef USE_STREAMDEVEXT ++ const cEvent* event = recording->Info()->GetEvent(); ++ Reply(-215, "E %u %ld %d %X", (unsigned int) event->EventID(), event->StartTime(), event->Duration(), event->TableID(), event->Version()); ++#endif ++ Reply(-215, "T %s", recording->Info()->Title()); ++ if (!isempty(recording->Info()->ShortText())) { ++ Reply(-215, "S %s", recording->Info()->ShortText()); + } +- else +- Reply(550, "No summary availabe"); ++ if (!isempty(recording->Info()->Description())) { ++ char *copy = strdup(recording->Info()->Description()); ++ cString cpy(copy, true); ++ strreplace(copy, '\n', '|'); ++ Reply(-215, "D %s", copy); ++ } ++ if (recording->Info()->Components()) { ++ for (int i = 0; i < recording->Info()->Components()->NumComponents(); i++) { ++ tComponent *p = recording->Info()->Components()->Component(i); ++ if (!Setup.UseDolbyDigital && p->stream == 0x02 && p->type == 0x05) ++ continue; ++ Reply(-215, "X %s", *p->ToString()); ++ } ++ } ++#ifdef USE_STREAMDEVEXT ++ if (event->Vps()) ++ Reply(-215, "V %ld", event->Vps()); ++#endif ++ ++ Reply(215, "End of recording information"); + } + else + Reply(550, "Recording \"%s\" not found", Option); +@@ -1016,28 +1340,36 @@ + } + else if (recordings) { + cRecording *recording = Recordings.First(); +- while (recording) { ++ do { + Reply(recording == Recordings.Last() ? 250 : -250, "%d %s", recording->Index() + 1, recording->Title(' ', true)); + recording = Recordings.Next(recording); +- } ++ } while (recording); + } + else + Reply(550, "No recordings available"); + EXIT_WRAPPER(); + } + +-bool cConnectionVTP::CmdDELR(char *Option) { ++bool cConnectionVTP::CmdDELR(char *Option) ++{ + INIT_WRAPPER(); + if (*Option) { + if (isnumber(Option)) { + cRecording *recording = Recordings.Get(strtol(Option, NULL, 10) - 1); + if (recording) { +- if (recording->Delete()) ++ cRecordControl *rc = cRecordControls::GetRecordControl(recording->FileName()); ++ if (!rc) { ++ if (recording->Delete()) { + Reply(250, "Recording \"%s\" deleted", Option); ++ ::Recordings.DelByName(recording->FileName()); ++ } + else + Reply(554, "Error while deleting recording!"); + } + else ++ Reply(550, "Recording \"%s\" is in use by timer %d", Option, rc->Timer()->Index() + 1); ++ } ++ else + Reply(550, "Recording \"%s\" not found%s", Option, Recordings.Count() ? "" : " (use LSTR before deleting)"); + } + else +@@ -1046,7 +1378,320 @@ + else + Reply(501, "Missing recording number"); + EXIT_WRAPPER(); +-}*/ ++} ++ ++#if defined(USE_LIEMIKUUTIO) || defined(USE_LIEMIEXT) ++bool cConnectionVTP::CmdRENR(char *Option) ++{ ++ INIT_WRAPPER(); ++ bool recordings = Recordings.Update(true); ++ if (recordings) { ++ if (*Option) { ++ char *tail; ++ int n = strtol(Option, &tail, 10); ++ cRecording *recording = Recordings.Get(n - 1); ++ if (recording && tail && tail != Option) { ++#if APIVERSNUM < 10704 ++ int priority = recording->priority; ++ int lifetime = recording->lifetime; ++#endif ++ char *oldName = strdup(recording->Name()); ++ tail = skipspace(tail); ++#if APIVERSNUM < 10704 ++ if (recording->Rename(tail, &priority, &lifetime)) { ++#else ++ if (recording->Rename(tail)) { ++#endif ++ Reply(250, "Renamed \"%s\" to \"%s\"", oldName, recording->Name()); ++ Recordings.ChangeState(); ++ Recordings.TouchUpdate(); ++ } ++ else { ++ Reply(501, "Renaming \"%s\" to \"%s\" failed", oldName, tail); ++ } ++ free(oldName); ++ } ++ else { ++ Reply(501, "Recording not found or wrong syntax"); ++ } ++ } ++ else { ++ Reply(501, "Missing Input settings"); ++ } ++ } ++ else { ++ Reply(550, "No recordings available"); ++ } ++ EXIT_WRAPPER(); ++} ++#endif /* LIEMIKUUTIO */ ++ ++bool cConnectionVTP::CmdNEWC(const char *Option) ++{ ++ INIT_WRAPPER(); ++ if (*Option) { ++ cChannel ch; ++ if (ch.Parse(Option)) { ++ if (Channels.HasUniqueChannelID(&ch)) { ++ cChannel *channel = new cChannel; ++ *channel = ch; ++ Channels.Add(channel); ++ Channels.ReNumber(); ++ Channels.SetModified(true); ++#ifdef USE_STREAMDEVEXT ++ cStatus::MsgChannelChange(channel, scAdd); ++#endif ++ isyslog("new channel %d %s", channel->Number(), *channel->ToText()); ++ Reply(250, "%d %s", channel->Number(), *channel->ToText()); ++ } ++ else { ++ Reply(501, "Channel settings are not unique"); ++ } ++ } ++ else { ++ Reply(501, "Error in channel settings"); ++ } ++ } ++ else { ++ Reply(501, "Missing channel settings"); ++ } ++ EXIT_WRAPPER(); ++} ++ ++bool cConnectionVTP::CmdMODC(const char *Option) ++{ ++ INIT_WRAPPER(); ++ if (*Option) { ++ char *tail; ++ int n = strtol(Option, &tail, 10); ++ if (tail && tail != Option) { ++ tail = skipspace(tail); ++ if (!Channels.BeingEdited()) { ++ cChannel *channel = Channels.GetByNumber(n); ++ if (channel) { ++ cChannel ch; ++ if (ch.Parse(tail)) { ++ if (Channels.HasUniqueChannelID(&ch, channel)) { ++ *channel = ch; ++ Channels.ReNumber(); ++ Channels.SetModified(true); ++ isyslog("modifed channel %d %s", channel->Number(), *channel->ToText()); ++ Reply(250, "%d %s", channel->Number(), *channel->ToText()); ++ } ++ else { ++ Reply(501, "Channel settings are not unique"); ++ } ++ } ++ else { ++ Reply(501, "Error in channel settings"); ++ } ++ } ++ else { ++ Reply(501, "Channel \"%d\" not defined", n); ++ } ++ } ++ else { ++ Reply(550, "Channels are being edited - try again later"); ++ } ++ } ++ else { ++ Reply(501, "Error in channel number"); ++ } ++ } ++ else { ++ Reply(501, "Missing channel settings"); ++ } ++ EXIT_WRAPPER(); ++} ++ ++bool cConnectionVTP::CmdMOVC(const char *Option) ++{ ++ INIT_WRAPPER(); ++ if (*Option) { ++ if (!Channels.BeingEdited() && !Timers.BeingEdited()) { ++ char *tail; ++ int From = strtol(Option, &tail, 10); ++ if (tail && tail != Option) { ++ tail = skipspace(tail); ++ if (tail && tail != Option) { ++ int To = strtol(tail, NULL, 10); ++ int CurrentChannelNr = cDevice::CurrentChannel(); ++ cChannel *CurrentChannel = Channels.GetByNumber(CurrentChannelNr); ++ cChannel *FromChannel = Channels.GetByNumber(From); ++ if (FromChannel) { ++ cChannel *ToChannel = Channels.GetByNumber(To); ++ if (ToChannel) { ++ int FromNumber = FromChannel->Number(); ++ int ToNumber = ToChannel->Number(); ++ if (FromNumber != ToNumber) { ++ Channels.Move(FromChannel, ToChannel); ++ Channels.ReNumber(); ++ Channels.SetModified(true); ++ if (CurrentChannel && CurrentChannel->Number() != CurrentChannelNr) { ++ if (!cDevice::PrimaryDevice()->Replaying() || cDevice::PrimaryDevice()->Transferring()) { ++ Channels.SwitchTo(CurrentChannel->Number()); ++ } ++ else { ++ cDevice::SetCurrentChannel(CurrentChannel); ++ } ++ } ++#ifdef USE_STREAMDEVEXT ++ cStatus::MsgChannelChange(ToChannel, scMod); ++#endif ++ isyslog("channel %d moved to %d", FromNumber, ToNumber); ++ Reply(250,"Channel \"%d\" moved to \"%d\"", From, To); ++ } ++ else { ++ Reply(501, "Can't move channel to same postion"); ++ } ++ } ++ else { ++ Reply(501, "Channel \"%d\" not defined", To); ++ } ++ } ++ else { ++ Reply(501, "Channel \"%d\" not defined", From); ++ } ++ } ++ else { ++ Reply(501, "Error in channel number"); ++ } ++ } ++ else { ++ Reply(501, "Error in channel number"); ++ } ++ } ++ else { ++ Reply(550, "Channels or timers are being edited - try again later"); ++ } ++ } ++ else { ++ Reply(501, "Missing channel number"); ++ } ++ EXIT_WRAPPER(); ++} ++ ++bool cConnectionVTP::CmdDELC(const char *Option) ++{ ++ INIT_WRAPPER(); ++ if (*Option) { ++ if (isnumber(Option)) { ++ if (!Channels.BeingEdited()) { ++ cChannel *channel = Channels.GetByNumber(strtol(Option, NULL, 10)); ++ if (channel) { ++ for (cTimer *timer = Timers.First(); timer; timer = Timers.Next(timer)) { ++ if (timer->Channel() == channel) { ++ Reply(550, "Channel \"%s\" is in use by timer %d", Option, timer->Index() + 1); ++ return false; ++ } ++ } ++ int CurrentChannelNr = cDevice::CurrentChannel(); ++ cChannel *CurrentChannel = Channels.GetByNumber(CurrentChannelNr); ++ if (CurrentChannel && channel == CurrentChannel) { ++ int n = Channels.GetNextNormal(CurrentChannel->Index()); ++ if (n < 0) ++ n = Channels.GetPrevNormal(CurrentChannel->Index()); ++ CurrentChannel = Channels.Get(n); ++ CurrentChannelNr = 0; // triggers channel switch below ++ } ++ Channels.Del(channel); ++ Channels.ReNumber(); ++ Channels.SetModified(true); ++ isyslog("channel %s deleted", Option); ++#ifdef USE_STREAMDEVEXT ++ cStatus::MsgChannelChange(NULL, scDel); ++#endif ++ if (CurrentChannel && CurrentChannel->Number() != CurrentChannelNr) { ++ if (!cDevice::PrimaryDevice()->Replaying() || cDevice::PrimaryDevice()->Transferring()) ++ Channels.SwitchTo(CurrentChannel->Number()); ++ else ++ cDevice::SetCurrentChannel(CurrentChannel); ++ } ++ Reply(250, "Channel \"%s\" deleted", Option); ++ } ++ else ++ Reply(501, "Channel \"%s\" not defined", Option); ++ } ++ else ++ Reply(550, "Channels are being edited - try again later"); ++ } ++ else ++ Reply(501, "Error in channel number \"%s\"", Option); ++ } ++ else { ++ Reply(501, "Missing channel number"); ++ } ++ EXIT_WRAPPER(); ++} ++ ++bool cConnectionVTP::CmdMARK(const char *Option) ++{ ++ INIT_WRAPPER(); ++ if (*Option) { ++ if (isnumber(Option)) { ++ cMarks Marks; ++ Recordings.Load(); ++ cRecording *recording = Recordings.Get(strtol(Option, NULL, 10) - 1); ++ if (recording) { ++ Marks.Load(recording->FileName()); ++ if (Marks.Count()) { ++ const cMark *m = Marks.First(); ++ do ++ { ++ Reply(Marks.Next(m) ? -250 : 250, "%i frame position", m->position); ++ m = Marks.Next(m); ++ } while (m); ++ } ++ else { ++ Reply(550, "No cutting marks defined"); ++ } ++ } ++ else { ++ Reply(550, "Recording \"%s\" not found%s", Option, Recordings.Count() ? "" : " (use LSTR before deleting)"); ++ } ++ } ++ else { ++ Reply(501, "Error in channel number \"%s\"", Option); ++ } ++ } ++ else { ++ Reply(501, "Missing recording number"); ++ } ++ EXIT_WRAPPER(); ++} ++ ++bool cConnectionVTP::CmdFRAM(const char *Option) ++{ ++ INIT_WRAPPER(); ++ if (*Option) { ++ char *tail; ++ int recording = strtol(Option, &tail, 10); ++ if (tail && tail != Option) { ++ tail = skipspace(tail); ++ if (tail && tail != Option) { ++ uint64_t position = strtoll(tail, NULL, 10); ++ ++ if (m_RecPlayer) { ++ long retval = m_RecPlayer->frameNumberFromPosition(position); ++ Reply(250,"Frame %lu", retval); ++ } ++ else { ++ Reply(501, "No recording running"); ++ } ++ } ++ else { ++ Reply(501, "Error in recording number"); ++ } ++ } ++ else { ++ Reply(501, "Error in recording number"); ++ } ++ } ++ else { ++ Reply(501, "Missing recording number"); ++ } ++ EXIT_WRAPPER(); ++} + + bool cConnectionVTP::Respond(int Code, const char *Message, ...) + { +@@ -1066,3 +1711,59 @@ + Code < 0 ? -Code : Code, + Code < 0 ? '-' : ' ', buffer); + } ++ ++void cConnectionVTP::TimerChange(const cTimer *Timer, eTimerChange Change) ++{ ++ if (m_DataSocket) { ++ char buf[MAX_RESPONSE_SIZE]; ++ if (Change == tcMod) { ++ snprintf(buf, MAX_RESPONSE_SIZE, "MODT %s\0", Timer ? *Timer->ToText(true) : "-"); ++ } ++ if (Change == tcAdd) { ++ snprintf(buf, MAX_RESPONSE_SIZE, "ADDT %s\0", Timer ? *Timer->ToText(true) : "-"); ++ } ++ if (Change == tcDel) { ++ snprintf(buf, MAX_RESPONSE_SIZE, "DELT %s\0", Timer ? *Timer->ToText(true) : "-"); ++ } ++ ++ m_DataSocket->SysWrite(buf, strlen(buf)); ++ } ++} ++ ++#ifdef USE_STREAMDEVEXT ++void cConnectionVTP::RecordingChange(const cRecording *Recording, eStatusChange Change) ++{ ++ if (m_DataSocket) { ++ char buf[MAX_RESPONSE_SIZE]; ++ if (Change == scMod) { ++ snprintf(buf, MAX_RESPONSE_SIZE, "MODR\0"); ++ } ++ if (Change == scAdd) { ++ snprintf(buf, MAX_RESPONSE_SIZE, "ADDR\0"); ++ } ++ if (Change == scDel) { ++ snprintf(buf, MAX_RESPONSE_SIZE, "DELR\0"); ++ } ++ ++ m_DataSocket->SysWrite(buf, strlen(buf)); ++ } ++} ++ ++void cConnectionVTP::ChannelChange(const cChannel *Channel, eStatusChange Change) ++{ ++ if (m_DataSocket) { ++ char buf[MAX_RESPONSE_SIZE]; ++ if (Change == scMod) { ++ snprintf(buf, MAX_RESPONSE_SIZE, "MODC %s\0", Channel ? *Channel->ToText() : "-"); ++ } ++ if (Change == scAdd) { ++ snprintf(buf, MAX_RESPONSE_SIZE, "ADDC %s\0", Channel ? *Channel->ToText() : "-"); ++ } ++ if (Change == scDel) { ++ snprintf(buf, MAX_RESPONSE_SIZE, "DELC %s\0", Channel ? *Channel->ToText() : "-"); ++ } ++ ++ m_DataSocket->SysWrite(buf, strlen(buf)); ++ } ++} ++#endif /* STREAMDEVEXTENSION */ +diff -NaurwB streamdev-unpatched/server/connectionVTP.h streamdev/server/connectionVTP.h +--- streamdev-unpatched/server/connectionVTP.h 2008-07-16 08:00:48.000000000 +0200 ++++ streamdev/server/connectionVTP.h 2009-04-04 22:01:41.000000000 +0200 +@@ -2,6 +2,8 @@ + #define VDR_STREAMDEV_SERVERS_CONNECTIONVTP_H + + #include "server/connection.h" ++#include "server/recplayer.h" ++#include <vdr/status.h> + + class cTBSocket; + class cStreamdevLiveStreamer; +@@ -10,7 +12,8 @@ + class cLSTCHandler; + class cLSTTHandler; + +-class cConnectionVTP: public cServerConnection { ++class cConnectionVTP: public cServerConnection ++ , public cStatus { + friend class cLSTEHandler; + #if !defined __GNUC__ || __GNUC__ >= 3 + using cServerConnection::Respond; +@@ -21,10 +24,13 @@ + cStreamdevLiveStreamer *m_LiveStreamer; + cTBSocket *m_FilterSocket; + cStreamdevFilterStreamer *m_FilterStreamer; ++ cTBSocket *m_RecSocket; ++ cTBSocket *m_DataSocket; + + char *m_LastCommand; + eStreamType m_StreamType; + bool m_FiltersSupport; ++ RecPlayer *m_RecPlayer; + + // Members adopted for SVDRP + cRecordings Recordings; +@@ -36,6 +42,12 @@ + template<class cHandler> + bool CmdLSTX(cHandler *&Handler, char *Option); + ++ virtual void TimerChange(const cTimer *Timer, eTimerChange Change); ++#ifdef USE_STREAMDEVEXT ++ virtual void RecordingChange(const cRecording *Recording, eStatusChange Change); ++ virtual void ChannelChange(const cChannel *Channel, eStatusChange Change); ++#endif /* STREAMDEVEXTENSION */ ++ + public: + cConnectionVTP(void); + virtual ~cConnectionVTP(); +@@ -51,7 +63,9 @@ + bool CmdCAPS(char *Opts); + bool CmdPROV(char *Opts); + bool CmdPORT(char *Opts); ++ bool CmdREAD(char *Opts); + bool CmdTUNE(char *Opts); ++ bool CmdPLAY(char *Opts); + bool CmdADDP(char *Opts); + bool CmdDELP(char *Opts); + bool CmdADDF(char *Opts); +@@ -66,12 +80,23 @@ + bool CmdLSTT(char *Opts); + + // Commands adopted from SVDRP ++ bool CmdSTAT(const char *Option); + bool CmdMODT(const char *Option); + bool CmdNEWT(const char *Option); + bool CmdDELT(const char *Option); +- +- //bool CmdLSTR(char *Opts); +- //bool CmdDELR(char *Opts); ++ bool CmdNEXT(const char *Option); ++ bool CmdNEWC(const char *Option); ++ bool CmdMODC(const char *Option); ++ bool CmdMOVC(const char *Option); ++ bool CmdDELC(const char *Option); ++ bool CmdMARK(const char *Option); ++ bool CmdFRAM(const char *Option); ++ ++ bool CmdLSTR(char *Opts); ++ bool CmdDELR(char *Opts); ++#if defined(USE_LIEMIKUUTIO) || defined(USE_LIEMIEXT) ++ bool CmdRENR(char *Opts); ++#endif + + bool Respond(int Code, const char *Message, ...) + __attribute__ ((format (printf, 3, 4))); +diff -NaurwB streamdev-unpatched/server/recplayer.c streamdev/server/recplayer.c +--- streamdev-unpatched/server/recplayer.c 1970-01-01 01:00:00.000000000 +0100 ++++ streamdev/server/recplayer.c 2009-04-04 23:17:55.000000000 +0200 +@@ -0,0 +1,273 @@ ++/* ++ Copyright 2004-2005 Chris Tallon ++ ++ This file is part of VOMP. ++ ++ VOMP is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 2 of the License, or ++ (at your option) any later version. ++ ++ VOMP is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with VOMP; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++*/ ++ ++#include "recplayer.h" ++ ++#define _XOPEN_SOURCE 600 ++#include <fcntl.h> ++ ++RecPlayer::RecPlayer(cRecording* rec) ++{ ++ file = NULL; ++ fileOpen = 0; ++ lastPosition = 0; ++ recording = rec; ++ for(int i = 1; i < 1000; i++) segments[i] = NULL; ++ ++ // FIXME find out max file path / name lengths ++ ++ indexFile = new cIndexFile(recording->FileName(), false); ++ if (!indexFile) esyslog("ERROR: Streamdev: Failed to create indexfile!"); ++ ++ scan(); ++} ++ ++void RecPlayer::scan() ++{ ++ if (file) fclose(file); ++ totalLength = 0; ++ fileOpen = 0; ++ totalFrames = 0; ++ ++ int i = 1; ++ while(segments[i++]) delete segments[i]; ++ ++ char fileName[2048]; ++ for(i = 1; i < 1000; i++) ++ { ++ snprintf(fileName, 2047, "%s/%03i.vdr", recording->FileName(), i); ++ //log->log("RecPlayer", Log::DEBUG, "FILENAME: %s", fileName); ++ file = fopen(fileName, "r"); ++ if (!file) break; ++ ++ segments[i] = new Segment(); ++ segments[i]->start = totalLength; ++ fseek(file, 0, SEEK_END); ++ totalLength += ftell(file); ++ totalFrames = indexFile->Last(); ++ //log->log("RecPlayer", Log::DEBUG, "File %i found, totalLength now %llu, numFrames = %lu", i, totalLength, totalFrames); ++ segments[i]->end = totalLength; ++ fclose(file); ++ } ++ ++ file = NULL; ++} ++ ++RecPlayer::~RecPlayer() ++{ ++ //log->log("RecPlayer", Log::DEBUG, "destructor"); ++ int i = 1; ++ while(segments[i++]) delete segments[i]; ++ if (file) fclose(file); ++} ++ ++int RecPlayer::openFile(int index) ++{ ++ if (file) fclose(file); ++ ++ char fileName[2048]; ++ snprintf(fileName, 2047, "%s/%03i.vdr", recording->FileName(), index); ++ //log->log("RecPlayer", Log::DEBUG, "openFile called for index %i string:%s", index, fileName); ++ ++ file = fopen(fileName, "r"); ++ if (!file) ++ { ++ //log->log("RecPlayer", Log::DEBUG, "file failed to open"); ++ fileOpen = 0; ++ return 0; ++ } ++ fileOpen = index; ++ return 1; ++} ++ ++uint64_t RecPlayer::getLengthBytes() ++{ ++ return totalLength; ++} ++ ++uint32_t RecPlayer::getLengthFrames() ++{ ++ return totalFrames; ++} ++ ++unsigned long RecPlayer::getBlock(unsigned char* buffer, uint64_t position, unsigned long amount) ++{ ++ if ((amount > totalLength) || (amount > 500000)) ++ { ++ //log->log("RecPlayer", Log::DEBUG, "Amount %lu requested and rejected", amount); ++ return 0; ++ } ++ ++ if (position >= totalLength) ++ { ++ //log->log("RecPlayer", Log::DEBUG, "Client asked for data starting past end of recording!"); ++ return 0; ++ } ++ ++ if ((position + amount) > totalLength) ++ { ++ //log->log("RecPlayer", Log::DEBUG, "Client asked for some data past the end of recording, adjusting amount"); ++ amount = totalLength - position; ++ } ++ ++ // work out what block position is in ++ int segmentNumber; ++ for(segmentNumber = 1; segmentNumber < 1000; segmentNumber++) ++ { ++ if ((position >= segments[segmentNumber]->start) && (position < segments[segmentNumber]->end)) break; ++ // position is in this block ++ } ++ ++ // we could be seeking around ++ if (segmentNumber != fileOpen) ++ { ++ if (!openFile(segmentNumber)) return 0; ++ } ++ ++ uint64_t currentPosition = position; ++ uint32_t yetToGet = amount; ++ uint32_t got = 0; ++ uint32_t getFromThisSegment = 0; ++ uint32_t filePosition; ++ ++ while(got < amount) ++ { ++ if (got) ++ { ++ // if(got) then we have already got some and we are back around ++ // advance the file pointer to the next file ++ if (!openFile(++segmentNumber)) return 0; ++ } ++ ++ // is the request completely in this block? ++ if ((currentPosition + yetToGet) <= segments[segmentNumber]->end) ++ getFromThisSegment = yetToGet; ++ else ++ getFromThisSegment = segments[segmentNumber]->end - currentPosition; ++ ++ filePosition = currentPosition - segments[segmentNumber]->start; ++ fseek(file, filePosition, SEEK_SET); ++ if (fread(&buffer[got], getFromThisSegment, 1, file) != 1) return 0; // umm, big problem. ++ ++ // Tell linux not to bother keeping the data in the FS cache ++ posix_fadvise(file->_fileno, filePosition, getFromThisSegment, POSIX_FADV_DONTNEED); ++ ++ got += getFromThisSegment; ++ currentPosition += getFromThisSegment; ++ yetToGet -= getFromThisSegment; ++ } ++ ++ lastPosition = position; ++ return got; ++} ++ ++uint64_t RecPlayer::getLastPosition() ++{ ++ return lastPosition; ++} ++ ++cRecording* RecPlayer::getCurrentRecording() ++{ ++ return recording; ++} ++ ++uint64_t RecPlayer::positionFromFrameNumber(uint32_t frameNumber) ++{ ++ if (!indexFile) return 0; ++ ++#if APIVERSNUM < 10704 ++ uint8_t retFileNumber; ++ int retFileOffset; ++ uint8_t retPicType; ++ int retLength; ++#else ++ uint16_t retFileNumber; ++ off_t retFileOffset; ++ bool retIndependent; ++ int retLength; ++#endif ++ ++#if APIVERSNUM < 10704 ++ if (!indexFile->Get((int)frameNumber, &retFileNumber, &retFileOffset, &retPicType, &retLength)) ++#else ++ if (!indexFile->Get((int)frameNumber, &retFileNumber, &retFileOffset, &retIndependent, &retLength)) ++#endif ++ { ++ return 0; ++ } ++ ++// log->log("RecPlayer", Log::DEBUG, "FN: %u FO: %i", retFileNumber, retFileOffset); ++ if (!segments[retFileNumber]) return 0; ++ uint64_t position = segments[retFileNumber]->start + retFileOffset; ++// log->log("RecPlayer", Log::DEBUG, "Pos: %llu", position); ++ ++ return position; ++} ++ ++uint32_t RecPlayer::frameNumberFromPosition(uint64_t position) ++{ ++ if (!indexFile) return 0; ++ ++ if (position >= totalLength) ++ { ++ //log->log("RecPlayer", Log::DEBUG, "Client asked for data starting past end of recording!"); ++ return 0; ++ } ++ ++ uint8_t segmentNumber; ++ for(segmentNumber = 1; segmentNumber < 255; segmentNumber++) ++ { ++ if ((position >= segments[segmentNumber]->start) && (position < segments[segmentNumber]->end)) break; ++ // position is in this block ++ } ++ uint32_t askposition = position - segments[segmentNumber]->start; ++ return indexFile->Get((int)segmentNumber, askposition); ++ ++} ++ ++ ++bool RecPlayer::getNextIFrame(uint32_t frameNumber, uint32_t direction, uint64_t* rfilePosition, uint32_t* rframeNumber, uint32_t* rframeLength) ++{ ++ // 0 = backwards ++ // 1 = forwards ++ ++ if (!indexFile) return false; ++ ++ uint8_t waste1; ++ int waste2; ++ ++ int iframeLength; ++ int indexReturnFrameNumber; ++ ++#if APIVERSNUM < 10704 ++ indexReturnFrameNumber = (uint32_t)indexFile->GetNextIFrame(frameNumber, (direction==1 ? true : false), &waste1, &waste2, &iframeLength); ++#else ++ indexReturnFrameNumber = (uint32_t)indexFile->GetNextIFrame(frameNumber, (direction==1 ? true : false), NULL, NULL, &iframeLength); ++#endif ++ //log->log("RecPlayer", Log::DEBUG, "GNIF input framenumber:%lu, direction=%lu, output:framenumber=%i, framelength=%i", frameNumber, direction, indexReturnFrameNumber, iframeLength); ++ ++ if (indexReturnFrameNumber == -1) return false; ++ ++ *rfilePosition = positionFromFrameNumber(indexReturnFrameNumber); ++ *rframeNumber = (uint32_t)indexReturnFrameNumber; ++ *rframeLength = (uint32_t)iframeLength; ++ ++ return true; ++} +diff -NaurwB streamdev-unpatched/server/recplayer.h streamdev/server/recplayer.h +--- streamdev-unpatched/server/recplayer.h 1970-01-01 01:00:00.000000000 +0100 ++++ streamdev/server/recplayer.h 2009-04-04 22:01:41.000000000 +0200 +@@ -0,0 +1,63 @@ ++/* ++ Copyright 2004-2005 Chris Tallon ++ ++ This file is part of VOMP. ++ ++ VOMP is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 2 of the License, or ++ (at your option) any later version. ++ ++ VOMP is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with VOMP; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++*/ ++ ++#ifndef RECPLAYER_H ++#define RECPLAYER_H ++ ++#include <stdio.h> ++#include <vdr/recording.h> ++ ++#include "server/streamer.h" ++ ++class Segment ++{ ++ public: ++ uint64_t start; ++ uint64_t end; ++}; ++ ++class RecPlayer ++{ ++ public: ++ RecPlayer(cRecording* rec); ++ ~RecPlayer(); ++ uint64_t getLengthBytes(); ++ uint32_t getLengthFrames(); ++ unsigned long getBlock(unsigned char* buffer, uint64_t position, unsigned long amount); ++ int openFile(int index); ++ uint64_t getLastPosition(); ++ cRecording* getCurrentRecording(); ++ void scan(); ++ uint64_t positionFromFrameNumber(uint32_t frameNumber); ++ uint32_t frameNumberFromPosition(uint64_t position); ++ bool getNextIFrame(uint32_t frameNumber, uint32_t direction, uint64_t* rfilePosition, uint32_t* rframeNumber, uint32_t* rframeLength); ++ ++ private: ++ cRecording* recording; ++ cIndexFile* indexFile; ++ FILE* file; ++ int fileOpen; ++ Segment* segments[1000]; ++ uint64_t totalLength; ++ uint64_t lastPosition; ++ uint32_t totalFrames; ++}; ++ ++#endif diff --git a/plugins/streamplayer/plugin.sh b/plugins/streamplayer/plugin.sh new file mode 100644 index 0000000..414b4b9 --- /dev/null +++ b/plugins/streamplayer/plugin.sh @@ -0,0 +1,51 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 02.03.2008 +# +# vdr-streamplayer + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://www.udo-richter.de/vdr/files/vdr-streamplayer-0.1.5.tgz" +VERSION="streamplayer-0.1.5" +LINK="streamplayer" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/submenu/MainMenu.conf b/plugins/submenu/MainMenu.conf new file mode 100644 index 0000000..5fbbb7d --- /dev/null +++ b/plugins/submenu/MainMenu.conf @@ -0,0 +1,57 @@ +0:0:Schedule +0:0:Channels +0:1:Info&EPG +0:2:Recorder +0:3:Media +0:4:Extras +1:0:tvonscreen +1:0:nordlichtsepg +1:0:Schedule +1:0:epgsearch +1:0:yaepg +1:0:noepgmenu +1:0:director +1:0:pilot +1:0:pilotskin +1:0:osdteletext +1:0:fussball +1:0:newsticker +1:0:weatherng +2:0:Timers +2:0:Recordings +2:0:extrecmenu +2:0:burn +2:0:vdrrip +2:0:recstatus +2:0:audiorecorder +3:0:cdda +3:0:dvd +3:0:dvdselect +3:0:dvdswitch +3:0:mplayer +3:0:muggle +3:0:image +3:0:digicam +3:0:radio +3:0:freecell +3:0:games +3:0:solitaire +3:0:sudoku +4:0:pin +4:0:filebrowser +4:0:femon +4:0:chanorg +4:0:reelchannelscan +4:0:rotor +4:0:sleeptimer +4:0:screenshot +0:0:osdpip +0:0:mp3 +0:0:mp3ng +0:0:music +0:0:vdrcd +0:0:dxr3 +0:0:softdevice +0:0:xineliboutput +0:0:Setup +0:0:Commands diff --git a/plugins/submenu/patches/submenu-0.0.2.diff b/plugins/submenu/patches/submenu-0.0.2.diff new file mode 100644 index 0000000..d5ab305 --- /dev/null +++ b/plugins/submenu/patches/submenu-0.0.2.diff @@ -0,0 +1,82 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 02_asprintf.dpatch by Tobias Grimm <tg@e-tobi.net> +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Fixes wrong usage of asprintf and correctly free's memory allocated by it. + +@DPATCH@ +diff -urNad --exclude=CVS --exclude=.svn ./submenu-setup.c /tmp/dpep-work.ho7VxE/vdr-plugin-submenu-0.0.2/submenu-setup.c +--- ./submenu-setup.c 2005-02-03 15:35:49.000000000 +0100 ++++ /tmp/dpep-work.ho7VxE/vdr-plugin-submenu-0.0.2/submenu-setup.c 2005-08-24 00:37:43.000000000 +0200 +@@ -245,19 +245,25 @@ + void cSubMenuSetup::DrawSubMenu(int level) + { + curLevel++; +- char *line; ++ char *line, *tmp; + for(int i=0;i<SMSetup.Arbo.MaxItem[level];i++) + { + asprintf(&line,"%s",""); + for (int z=0;z<curLevel*5;z++) + { +- asprintf(&line,"%s ",line); ++ tmp = line; ++ asprintf(&line,"%s ",tmp); ++ free(tmp); + } + if (SMSetup.subMenuItem[SMSetup.Arbo.Index[level][i]].kindOfItem!=0) + { +- asprintf(&line,"%s+",line); ++ tmp = line; ++ asprintf(&line,"%s+",tmp); ++ free(tmp); + } +- asprintf(&line,"%s%s",line,tr(SMSetup.subMenuItem[SMSetup.Arbo.Index[level][i]].name)); ++ tmp = line; ++ asprintf(&line,"%s%s",tmp,tr(SMSetup.subMenuItem[SMSetup.Arbo.Index[level][i]].name)); ++ free(tmp); + Add (new cOsdItem(line),true); + SMSetup.Arbo.CurrentIndex[Current()]=SMSetup.Arbo.Index[level][i]; + if (SMSetup.subMenuItem[SMSetup.Arbo.Index[level][i]].kindOfItem!=0) +@@ -265,23 +271,26 @@ + DrawSubMenu(SMSetup.subMenuItem[SMSetup.Arbo.Index[level][i]].kindOfItem); + curLevel--; + } ++ free(line); + } +- delete line; + } + + void cSubMenuSetup::DrawMenu(void) + { + int cur=Current(); + Clear(); +- char *line; ++ char *line, *tmp; + for (int j=0;j<SMSetup.Arbo.MaxItem[0];j++) + { + asprintf(&line,"%s"," "); + if (SMSetup.subMenuItem[SMSetup.Arbo.Index[0][j]].kindOfItem!=0) + { ++ free(line); + asprintf(&line,"+"); + } +- asprintf(&line,"%s%s",line,tr(SMSetup.subMenuItem[SMSetup.Arbo.Index[0][j]].name)); ++ tmp = line; ++ asprintf(&line,"%s%s",tmp,tr(SMSetup.subMenuItem[SMSetup.Arbo.Index[0][j]].name)); ++ free(tmp); + Add (new cOsdItem(line),true); + SMSetup.Arbo.CurrentIndex[Current()]=SMSetup.Arbo.Index[0][j]; + if (SMSetup.subMenuItem[SMSetup.Arbo.Index[0][j]].kindOfItem!=0) +@@ -289,10 +298,10 @@ + DrawSubMenu(SMSetup.subMenuItem[SMSetup.Arbo.Index[0][j]].kindOfItem); + curLevel--; + } ++ free(line); + } + SetCurrent(Get(cur)); + Display(); +- delete line; + } + + diff --git a/plugins/submenu/plugin.sh b/plugins/submenu/plugin.sh new file mode 100644 index 0000000..ce44f1a --- /dev/null +++ b/plugins/submenu/plugin.sh @@ -0,0 +1,54 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 30.03.2006 +# +# vdr-submenu + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://www.freewebs.com/sadhome/Plugin/SubMenu/vdr-submenu-0.0.2.tar.gz" +VERSION="submenu-0.0.2" +LINK="submenu" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + if [ -f $DIR/MainMenu.conf ]; then + cp -f $DIR/MainMenu.conf $VDRCONFDIR/plugins + chown $VDRUSER.$VDRGROUP $VDRCONFDIR/plugins/MainMenu.conf + fi + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/submenu/submenu-0.0.2.diff b/plugins/submenu/submenu-0.0.2.diff new file mode 100644 index 0000000..d5ab305 --- /dev/null +++ b/plugins/submenu/submenu-0.0.2.diff @@ -0,0 +1,82 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 02_asprintf.dpatch by Tobias Grimm <tg@e-tobi.net> +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Fixes wrong usage of asprintf and correctly free's memory allocated by it. + +@DPATCH@ +diff -urNad --exclude=CVS --exclude=.svn ./submenu-setup.c /tmp/dpep-work.ho7VxE/vdr-plugin-submenu-0.0.2/submenu-setup.c +--- ./submenu-setup.c 2005-02-03 15:35:49.000000000 +0100 ++++ /tmp/dpep-work.ho7VxE/vdr-plugin-submenu-0.0.2/submenu-setup.c 2005-08-24 00:37:43.000000000 +0200 +@@ -245,19 +245,25 @@ + void cSubMenuSetup::DrawSubMenu(int level) + { + curLevel++; +- char *line; ++ char *line, *tmp; + for(int i=0;i<SMSetup.Arbo.MaxItem[level];i++) + { + asprintf(&line,"%s",""); + for (int z=0;z<curLevel*5;z++) + { +- asprintf(&line,"%s ",line); ++ tmp = line; ++ asprintf(&line,"%s ",tmp); ++ free(tmp); + } + if (SMSetup.subMenuItem[SMSetup.Arbo.Index[level][i]].kindOfItem!=0) + { +- asprintf(&line,"%s+",line); ++ tmp = line; ++ asprintf(&line,"%s+",tmp); ++ free(tmp); + } +- asprintf(&line,"%s%s",line,tr(SMSetup.subMenuItem[SMSetup.Arbo.Index[level][i]].name)); ++ tmp = line; ++ asprintf(&line,"%s%s",tmp,tr(SMSetup.subMenuItem[SMSetup.Arbo.Index[level][i]].name)); ++ free(tmp); + Add (new cOsdItem(line),true); + SMSetup.Arbo.CurrentIndex[Current()]=SMSetup.Arbo.Index[level][i]; + if (SMSetup.subMenuItem[SMSetup.Arbo.Index[level][i]].kindOfItem!=0) +@@ -265,23 +271,26 @@ + DrawSubMenu(SMSetup.subMenuItem[SMSetup.Arbo.Index[level][i]].kindOfItem); + curLevel--; + } ++ free(line); + } +- delete line; + } + + void cSubMenuSetup::DrawMenu(void) + { + int cur=Current(); + Clear(); +- char *line; ++ char *line, *tmp; + for (int j=0;j<SMSetup.Arbo.MaxItem[0];j++) + { + asprintf(&line,"%s"," "); + if (SMSetup.subMenuItem[SMSetup.Arbo.Index[0][j]].kindOfItem!=0) + { ++ free(line); + asprintf(&line,"+"); + } +- asprintf(&line,"%s%s",line,tr(SMSetup.subMenuItem[SMSetup.Arbo.Index[0][j]].name)); ++ tmp = line; ++ asprintf(&line,"%s%s",tmp,tr(SMSetup.subMenuItem[SMSetup.Arbo.Index[0][j]].name)); ++ free(tmp); + Add (new cOsdItem(line),true); + SMSetup.Arbo.CurrentIndex[Current()]=SMSetup.Arbo.Index[0][j]; + if (SMSetup.subMenuItem[SMSetup.Arbo.Index[0][j]].kindOfItem!=0) +@@ -289,10 +298,10 @@ + DrawSubMenu(SMSetup.subMenuItem[SMSetup.Arbo.Index[0][j]].kindOfItem); + curLevel--; + } ++ free(line); + } + SetCurrent(Get(cur)); + Display(); +- delete line; + } + + diff --git a/plugins/subtitles/plugin.sh b/plugins/subtitles/plugin.sh new file mode 100644 index 0000000..e07aaa8 --- /dev/null +++ b/plugins/subtitles/plugin.sh @@ -0,0 +1,51 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 28.01.2007 +# +# vdr-subtitles + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://virtanen.org/vdr/subtitles/files/vdr-subtitles-0.5.0.tgz" +VERSION="subtitles-0.5.0" +LINK="subtitles" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/sudoku/plugin.sh b/plugins/sudoku/plugin.sh new file mode 100644 index 0000000..e243aeb --- /dev/null +++ b/plugins/sudoku/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 06.04.2008 +# +# vdr-sudoku + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://toms-cafe.de/vdr/sudoku/vdr-sudoku-0.2.1.tgz" +VERSION="sudoku-0.2.1" +LINK="sudoku" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/svdrpext/plugin.sh b/plugins/svdrpext/plugin.sh new file mode 100644 index 0000000..a728998 --- /dev/null +++ b/plugins/svdrpext/plugin.sh @@ -0,0 +1,51 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 03.05.2007 +# +# vdr-svdrpext + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://vdr.schmirler.de/svdrpext/vdr-svdrpext-0.0.1.tgz" +VERSION="svdrpext-0.0.1" +LINK="svdrpext" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/svdrpservice/plugin.sh b/plugins/svdrpservice/plugin.sh new file mode 100644 index 0000000..7be5e00 --- /dev/null +++ b/plugins/svdrpservice/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 10.02.2009 +# +# vdr-svdrpservice + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://vdr.schmirler.de/svdrpservice/vdr-svdrpservice-0.0.4.tgz" +VERSION="svdrpservice-0.0.4" +LINK="svdrpservice" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/sysinfo/patches/sysinfo-0.1.0a-fontfix.diff b/plugins/sysinfo/patches/sysinfo-0.1.0a-fontfix.diff new file mode 100644 index 0000000..1d6f353 --- /dev/null +++ b/plugins/sysinfo/patches/sysinfo-0.1.0a-fontfix.diff @@ -0,0 +1,199 @@ +diff -ruN sysinfo-0.1.0a-orig/osdresources.c sysinfo-0.1.0a/osdresources.c +--- sysinfo-0.1.0a-orig/osdresources.c 2007-07-02 16:06:07.000000000 -0700 ++++ sysinfo-0.1.0a/osdresources.c 2007-07-02 16:09:24.000000000 -0700 +@@ -92,9 +92,8 @@ + char cTemp[100]; + strcpy(cTemp, itoa(iValue)); + strcat(cTemp, "%"); +- static const cFont *font = cFont::GetFont(fontOsd); + +- oProgressOsd->DrawText(iTextLeft, iTextTop, cTemp, clrWhite, clrBlack, font); ++ oProgressOsd->DrawText(iTextLeft, iTextTop, cTemp, clrWhite, clrBlack, cFont::GetFont(fontOsd)); + } + + +diff -ruN sysinfo-0.1.0a-orig/sysinfo.c sysinfo-0.1.0a/sysinfo.c +--- sysinfo-0.1.0a-orig/sysinfo.c 2007-07-02 16:06:29.000000000 -0700 ++++ sysinfo-0.1.0a/sysinfo.c 2007-07-02 16:09:29.000000000 -0700 +@@ -72,6 +72,7 @@ + + cOsdObject *cSysInfo::MainMenuAction(void) { + // Perform the action when selected from the main VDR menu. ++ const int LINEHEIGHT = cFont::GetFont(fontOsd)->Height(); + config.height=8 * (LINEHEIGHT + 4); + return new cSysInfoOsd; + } +diff -ruN sysinfo-0.1.0a-orig/sysinfoosd.c sysinfo-0.1.0a/sysinfoosd.c +--- sysinfo-0.1.0a-orig/sysinfoosd.c 2007-07-02 16:06:15.000000000 -0700 ++++ sysinfo-0.1.0a/sysinfoosd.c 2007-07-02 16:09:36.000000000 -0700 +@@ -98,7 +98,7 @@ + int iHalfHeight = (int)(iHeight/2); + sprintf(cTemp, tr("PLEASE WAIT...")); + +- osd->DrawText(iHalfWidth-100, iHalfHeight-20, cTemp, pal[3],pal[1],font); ++ osd->DrawText(iHalfWidth-100, iHalfHeight-20, cTemp, pal[3],pal[1],cFont::GetFont(fontOsd)); + DisplayBitmap(); + } + +@@ -201,30 +201,30 @@ + cOsdResources::DrawVerticallLine(osd, iWidth-2, 0, iHeight-2, pal[2]); + cOsdResources::DrawVerticallLine(osd, iWidth-129, 0, 33, pal[2]); + // Draw test +- osd->DrawText(10, 3, "SysInfo 0.1.0a", pal[2],pal[3],font); +- osd->DrawText(iWidth-120, 3, "by Kikko77", pal[2],pal[3],font); ++ osd->DrawText(10, 3, "SysInfo 0.1.0a", pal[2],pal[3],cFont::GetFont(fontOsd)); ++ osd->DrawText(iWidth-120, 3, "by Kikko77", pal[2],pal[3],cFont::GetFont(fontOsd)); + } + + void cSysInfoOsd::SensorData(int iTop) { + // Temperature + char cTemp[100]; + sprintf(cTemp, tr("Cpu temperature:")); +- osd->DrawText(15, iTop+10, cTemp, pal[3],pal[1],font); ++ osd->DrawText(15, iTop+10, cTemp, pal[3],pal[1],cFont::GetFont(fontOsd)); + sprintf(cTemp, tr("M/B temperature:")); +- osd->DrawText(15, iTop+40, cTemp, pal[3],pal[1],font); ++ osd->DrawText(15, iTop+40, cTemp, pal[3],pal[1],cFont::GetFont(fontOsd)); + ExecShellCmd("sysinfo.sh cputemp", cTemp); +- osd->DrawText(270, iTop+10, cTemp, pal[3],pal[1],font); ++ osd->DrawText(270, iTop+10, cTemp, pal[3],pal[1],cFont::GetFont(fontOsd)); + ExecShellCmd("sysinfo.sh mbtemp", cTemp); +- osd->DrawText(270, iTop+40, cTemp, pal[3],pal[1],font); ++ osd->DrawText(270, iTop+40, cTemp, pal[3],pal[1],cFont::GetFont(fontOsd)); + // Fan rpm + sprintf(cTemp, tr("Fan1:")); +- osd->DrawText(((config.width/2)+20), iTop+10, cTemp, pal[3],pal[1],font); ++ osd->DrawText(((config.width/2)+20), iTop+10, cTemp, pal[3],pal[1],cFont::GetFont(fontOsd)); + sprintf(cTemp, tr("Fan2:")); +- osd->DrawText(((config.width/2)+20), iTop+40, cTemp, pal[3],pal[1],font); ++ osd->DrawText(((config.width/2)+20), iTop+40, cTemp, pal[3],pal[1],cFont::GetFont(fontOsd)); + ExecShellCmd("sysinfo.sh cpufan", cTemp); +- osd->DrawText(((config.width/2)+170), iTop+10, cTemp, pal[3],pal[1],font); ++ osd->DrawText(((config.width/2)+170), iTop+10, cTemp, pal[3],pal[1],cFont::GetFont(fontOsd)); + ExecShellCmd("sysinfo.sh mbfan", cTemp); +- osd->DrawText(((config.width/2)+170), iTop+40, cTemp, pal[3],pal[1],font); ++ osd->DrawText(((config.width/2)+170), iTop+40, cTemp, pal[3],pal[1],cFont::GetFont(fontOsd)); + // Draw line separator + cOsdResources::DrawOrizontalLine(osd, iTop+74, 0, iWidth, pal[2]); + } +@@ -233,9 +233,9 @@ + void cSysInfoOsd::VideoSpace(int iTop) { + char cTemp[100]; + sprintf(cTemp, tr("Video disk free space:")); +- osd->DrawText(15, iTop+10, cTemp, pal[3],pal[1],font); ++ osd->DrawText(15, iTop+10, cTemp, pal[3],pal[1],cFont::GetFont(fontOsd)); + ExecShellCmd("sysinfo.sh vidspace", cTemp); +- osd->DrawText(285, iTop+10, cTemp, pal[3],pal[1],font); ++ osd->DrawText(285, iTop+10, cTemp, pal[3],pal[1],cFont::GetFont(fontOsd)); + // Draw line separator + cOsdResources::DrawOrizontalLine(osd, iTop+46, 0, iWidth, pal[2]); + } +@@ -244,20 +244,20 @@ + char cTemp[100]; + + sprintf(cTemp, tr("Linux kernel:")); +- osd->DrawText(15, 40, cTemp, pal[3],pal[1],font); ++ osd->DrawText(15, 40, cTemp, pal[3],pal[1],cFont::GetFont(fontOsd)); + sprintf(cTemp, tr("Cpu type:")); +- osd->DrawText(15, 70, cTemp, pal[3],pal[1],font); ++ osd->DrawText(15, 70, cTemp, pal[3],pal[1],cFont::GetFont(fontOsd)); + // Kernel e cpu type + ExecShellCmd("uname -r", cTemp); +- osd->DrawText(160, iTop+40, cTemp, pal[3],pal[1],font); ++ osd->DrawText(160, iTop+40, cTemp, pal[3],pal[1],cFont::GetFont(fontOsd)); + ExecShellCmd("cat //proc//cpuinfo | grep 'processor' |grep '1'", cTemp); + if (cTemp[0]=='\0') { + ExecShellCmd("cat //proc//cpuinfo | grep 'model name' | cut -c 14-58 | uniq", cTemp); +- osd->DrawText(160, iTop+70, cTemp, pal[3],pal[1],font); ++ osd->DrawText(160, iTop+70, cTemp, pal[3],pal[1],cFont::GetFont(fontOsd)); + } else { + ExecShellCmd("cat //proc//cpuinfo | grep 'model name' | cut -c 14-58 | uniq", cTemp); +- osd->DrawText(160, iTop+70, "2 x ", pal[3],pal[1],font); +- osd->DrawText(200, iTop+70, cTemp, pal[3],pal[1],font); ++ osd->DrawText(160, iTop+70, "2 x ", pal[3],pal[1],cFont::GetFont(fontOsd)); ++ osd->DrawText(200, iTop+70, cTemp, pal[3],pal[1],cFont::GetFont(fontOsd)); + } + // Draw line separator + cOsdResources::DrawOrizontalLine(osd, iTop+104, 0, iWidth, pal[2]); +@@ -273,25 +273,25 @@ + + // Cpu Speed + sprintf(cTemp, tr("Cpu speed:")); +- osd->DrawText(15, iTop+10, cTemp, pal[3],pal[1],font); ++ osd->DrawText(15, iTop+10, cTemp, pal[3],pal[1],cFont::GetFont(fontOsd)); + ExecShellCmd("cat /proc/cpuinfo | grep 'cpu MHz' | cut -c 12-60", cTemp); + strcpy(cTemp, itoa(cUtility::CharToInt(cTemp))); + strcat(cTemp, "Mhz"); +- osd->DrawText(215, iTop+10, cTemp, pal[3],pal[1],font); ++ osd->DrawText(215, iTop+10, cTemp, pal[3],pal[1],cFont::GetFont(fontOsd)); + // Calculate cpu free + ExecShellCmd("CPU=0; for I in `ps -eo ""%C"" | grep ""\\.""`; do CPU=`echo $CPU $I | awk '{ print $1 + $2 }'`; done; echo $CPU", cTemp); + iPerCentCpu=cUtility::CharToInt(cTemp); + if (iPerCentCpu>100) iPerCentCpu=100; + sprintf(cTemp, tr("Cpu used:")); +- osd->DrawText(15, iTop+40, cTemp, pal[3],pal[1],font); ++ osd->DrawText(15, iTop+40, cTemp, pal[3],pal[1],cFont::GetFont(fontOsd)); + strcpy(cTemp, (itoa(iPerCentCpu))); + strcat(cTemp, "%"); +- osd->DrawText(215, iTop+40, cTemp, pal[3],pal[1],font); ++ osd->DrawText(215, iTop+40, cTemp, pal[3],pal[1],cFont::GetFont(fontOsd)); + sprintf(cTemp, tr("Cpu free:")); +- osd->DrawText(15, iTop+70, cTemp, pal[3],pal[1],font); ++ osd->DrawText(15, iTop+70, cTemp, pal[3],pal[1],cFont::GetFont(fontOsd)); + strcpy(cTemp, itoa(100-iPerCentCpu)); + strcat(cTemp, "%"); +- osd->DrawText(215, iTop+70, cTemp, pal[3],pal[1],font); ++ osd->DrawText(215, iTop+70, cTemp, pal[3],pal[1],cFont::GetFont(fontOsd)); + // Cpu Graph + d=((iDownGraph-iTopGraph)/100)*iPerCentCpu; + i=(int)d; +@@ -312,29 +312,29 @@ + + // total memory + sprintf(cTemp, tr("Total memory:")); +- osd->DrawText(15, iTop+10, cTemp, pal[3],pal[1],font); ++ osd->DrawText(15, iTop+10, cTemp, pal[3],pal[1],cFont::GetFont(fontOsd)); + ExecShellCmd("cat /proc/meminfo | grep -i 'MEMTOTAL' | cut -c 16-23 | tr -d ' '", cTemp); + dTemp=atof(cTemp); + int iMemTot=(int)(dTemp/1000); + strcpy(cTemp, itoa(iMemTot)); + strcat(cTemp, "Mb"); +- osd->DrawText(215, iTop+10, cTemp, pal[3],pal[1],font); ++ osd->DrawText(215, iTop+10, cTemp, pal[3],pal[1],cFont::GetFont(fontOsd)); + // Free memory + sprintf(cTemp, tr("Free memory:")); +- osd->DrawText(15, iTop+40, cTemp, pal[3],pal[1],font); ++ osd->DrawText(15, iTop+40, cTemp, pal[3],pal[1],cFont::GetFont(fontOsd)); + ExecShellCmd("cat /proc/meminfo | grep -i 'MEMFREE' | cut -c 16-23 | tr -d ' '", cTemp); + dTemp=atof(cTemp); + int iMemFree=(int)(dTemp/1000); + strcpy(cTemp, itoa(iMemFree)); + strcat(cTemp, "Mb"); +- osd->DrawText(215, iTop+40, cTemp, pal[3],pal[1],font); ++ osd->DrawText(215, iTop+40, cTemp, pal[3],pal[1],cFont::GetFont(fontOsd)); + // Used memory + sprintf(cTemp, tr("Used memory:")); +- osd->DrawText(15, iTop+70, cTemp, pal[3],pal[1],font); ++ osd->DrawText(15, iTop+70, cTemp, pal[3],pal[1],cFont::GetFont(fontOsd)); + int iMemUsed=iMemTot-iMemFree; + strcpy(cTemp, itoa(iMemUsed)); + strcat(cTemp, "Mb"); +- osd->DrawText(215, iTop+70, cTemp, pal[3],pal[1],font); ++ osd->DrawText(215, iTop+70, cTemp, pal[3],pal[1],cFont::GetFont(fontOsd)); + // Mem Graph + iPerCentMem=(100*iMemUsed)/iMemTot; + d=((iDownGraph-iTopGraph)/100)*iPerCentMem; +diff -ruN sysinfo-0.1.0a-orig/sysinfoosd.h sysinfo-0.1.0a/sysinfoosd.h +--- sysinfo-0.1.0a-orig/sysinfoosd.h 2007-07-02 16:06:14.000000000 -0700 ++++ sysinfo-0.1.0a/sysinfoosd.h 2007-07-02 16:09:40.000000000 -0700 +@@ -6,8 +6,8 @@ + #include "utility.h" + #include <ctype.h> + +-static const cFont *font = cFont::GetFont(fontOsd); +-static const int LINEHEIGHT = font->Height(); ++//static const cFont *font = cFont::GetFont(fontOsd); ++//static const int LINEHEIGHT = font->Height(); + #define NBLINES 4 + + class cSysInfoOsd : public cThread, public cOsdObject { diff --git a/plugins/sysinfo/patches/sysinfo-0.1.0a-gcc43.diff b/plugins/sysinfo/patches/sysinfo-0.1.0a-gcc43.diff new file mode 100644 index 0000000..5430abe --- /dev/null +++ b/plugins/sysinfo/patches/sysinfo-0.1.0a-gcc43.diff @@ -0,0 +1,35 @@ +--- utility.h.orig 2005-04-02 23:43:21.000000000 +0200 ++++ utility.h 2009-03-01 16:16:28.000000000 +0100 +@@ -1,19 +1,20 @@ + #ifndef CUTILITY_H +-#define CUTILITY_H
+-
+-#include <iostream>
++#define CUTILITY_H ++ ++#include <iostream> + #include <fstream> +-#include <string>
+-
+-using namespace std;
++#include <string> ++#include <stdlib.h> ++ ++using namespace std; + + class cUtility { +- public:
+- static string StrTrim(string sInput);
+- static string StrBeforeChar(string sLine, char cFind);
+- static string StrAfterChar(string sLine, char cFind);
+- static int StrToInt(string sInput); +- static int CharToInt(char *cInput);
++ public: ++ static string StrTrim(string sInput); ++ static string StrBeforeChar(string sLine, char cFind); ++ static string StrAfterChar(string sLine, char cFind); ++ static int StrToInt(string sInput); ++ static int CharToInt(char *cInput); + }; + + #endif // CUTILITY_H diff --git a/plugins/sysinfo/plugin.sh b/plugins/sysinfo/plugin.sh new file mode 100644 index 0000000..90f016f --- /dev/null +++ b/plugins/sysinfo/plugin.sh @@ -0,0 +1,59 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 05.05.2008 +# +# vdr-sysinfo + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://vdr-wiki.de/vdr/vdr-sysinfo/vdr-sysinfo-0.1.0a.tgz" +VERSION="sysinfo-0.1.0a" +LINK="sysinfo" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + rm -f $VDRBINDIR/sysinfo.sh + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + + ## plugin specials - start ## + if [ -f $DIR/sysinfo.sh ] ; then + cp -f $DIR/sysinfo.sh $VDRBINDIR + else + cp -f $SOURCEDIR/VDR/PLUGINS/src/$LINK/script/sysinfo.sh $VDRBINDIR + fi + chmod 0755 $VDRBINDIR/sysinfo.sh + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/taste/patches/taste-cvs20070626_vdr153.diff b/plugins/taste/patches/taste-cvs20070626_vdr153.diff new file mode 100644 index 0000000..ef72f61 --- /dev/null +++ b/plugins/taste/patches/taste-cvs20070626_vdr153.diff @@ -0,0 +1,14 @@ +--- control.c~ 2007-06-18 19:58:52.000000000 +0200 ++++ control.c 2007-06-26 17:01:50.000000000 +0200 +@@ -22,7 +22,11 @@ + mSwitch(true), + mOsd(NULL) + { ++#if VDRVERSNUM >= 10500 ++ SetNeedsFastResponse(true); ++#else + needsFastResponse = true; ++#endif + cRemote::Put(kOk, true); // Hide OSD + } + diff --git a/plugins/taste/plugin.sh b/plugins/taste/plugin.sh new file mode 100644 index 0000000..16ccb1f --- /dev/null +++ b/plugins/taste/plugin.sh @@ -0,0 +1,51 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 26.06.2007 +# +# vdr-taste + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://www.zulu-entertainment.de/files/vdr-taste/vdr-taste-cvs20070626.tar.gz" +VERSION="taste-cvs20070626" +LINK="taste" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/text2skin/patches/p1/text2skin-1.1-cvs_ext-0.10_vdr154.diff b/plugins/text2skin/patches/p1/text2skin-1.1-cvs_ext-0.10_vdr154.diff new file mode 100644 index 0000000..c01f9d0 --- /dev/null +++ b/plugins/text2skin/patches/p1/text2skin-1.1-cvs_ext-0.10_vdr154.diff @@ -0,0 +1,63 @@ +diff -ruN text2skin-1.1-cvs_ext-0.10.orig/graphtft/font.c text2skin-1.1-cvs_ext-0.10/graphtft/font.c +--- text2skin-1.1-cvs_ext-0.10.orig/graphtft/font.c 2007-06-19 19:56:34.000000000 -0700 ++++ text2skin-1.1-cvs_ext-0.10/graphtft/font.c 2007-06-19 19:49:59.000000000 -0700 +@@ -38,6 +38,7 @@ + + bool cGraphtftFont::Load(string Filename, string CacheName, int Size, int Language, int Width, int format) + { ++#if VDRVERSNUM < 10503 + if ( _cache.find(CacheName) != _cache.end() ) + return true; + +@@ -187,6 +188,15 @@ + delete(font_data); + // Something went wrong! + return false; ++#else ++ if ( _cache.find(CacheName) != _cache.end() ) ++ return true; ++ cFont* newFont = cFont::CreateFont(Filename.c_str(), Size); ++ if ( newFont == NULL ) ++ return false; ++ _cache[CacheName] = newFont; ++ return true; ++#endif + } + + const cFont* cGraphtftFont::GetFont(string CacheName){ +@@ -210,10 +220,12 @@ + delete((*it).second); + _cache.clear(); + ++#if VDRVERSNUM < 10503 + del_map::iterator del_it = _del.begin(); + for (; del_it != _del.end(); ++del_it) + delete((*del_it).second); + _del.clear(); ++#endif + } + + cGraphtftFont GraphtftFont; +diff -ruN text2skin-1.1-cvs_ext-0.10.orig/graphtft/font.h text2skin-1.1-cvs_ext-0.10/graphtft/font.h +--- text2skin-1.1-cvs_ext-0.10.orig/graphtft/font.h 2007-06-19 19:56:34.000000000 -0700 ++++ text2skin-1.1-cvs_ext-0.10/graphtft/font.h 2007-06-11 17:43:26.000000000 -0700 +@@ -24,7 +24,9 @@ + { + private: + typedef map<string,cFont*> cache_map; ++#if VDRVERSNUM < 10503 + typedef map<string,cFont::tPixelData*> del_map; ++#endif + + public: + cGraphtftFont(); +@@ -40,7 +42,9 @@ + FT_Face _face; + FT_GlyphSlot _slot; + cache_map _cache; ++#if VDRVERSNUM < 10503 + del_map _del; ++#endif + + }; + diff --git a/plugins/text2skin/patches/text2skin-1.1-cvs_ext-0.10-20070620.3-vdr-1.5.7-1.diff b/plugins/text2skin/patches/text2skin-1.1-cvs_ext-0.10-20070620.3-vdr-1.5.7-1.diff new file mode 100644 index 0000000..7728fa3 --- /dev/null +++ b/plugins/text2skin/patches/text2skin-1.1-cvs_ext-0.10-20070620.3-vdr-1.5.7-1.diff @@ -0,0 +1,94 @@ +--- text2skin-1.1-cvs_ext-0.10-20070620.3/font.c.orig 2007-08-13 08:54:41.000000000 -0700 ++++ text2skin-1.1-cvs_ext-0.10-20070620.3/font.c 2007-08-13 09:17:43.000000000 -0700 +@@ -31,8 +31,13 @@ + const cFont *res = NULL; + #ifdef HAVE_FREETYPE + char *cachename; ++#if VDRVERSNUM >= 10507 ++ asprintf(&cachename, "%s_%d_%d_%d", Filename.c_str(), Size, Width, I18nCurrentLanguage()); ++ if (mFontCache.Load(Path + "/" + Filename, cachename, Size, I18nCurrentLanguage(), Width)) ++#else + asprintf(&cachename, "%s_%d_%d_%d", Filename.c_str(), Size, Width, Setup.OSDLanguage); + if (mFontCache.Load(Path + "/" + Filename, cachename, Size, Setup.OSDLanguage, Width)) ++#endif + res = mFontCache.GetFont(cachename); + else + esyslog("ERROR: Text2Skin: Couldn't load font %s:%d", Filename.c_str(), Size); +--- text2skin-1.1-cvs_ext-0.10-20070620.3/i18n.c.orig 2007-08-13 07:34:10.000000000 -0700 ++++ text2skin-1.1-cvs_ext-0.10-20070620.3/i18n.c 2007-08-13 08:53:31.000000000 -0700 +@@ -491,7 +491,11 @@ + + cText2SkinI18n::~cText2SkinI18n() { + for (int i = 0; mPhrases[i][0]; ++i) { ++#if VDRVERSNUM >= 10507 ++ for (int j = 0; j < I18nLanguages()->Size(); ++j) ++#else + for (int j = 0; j < I18nNumLanguages; ++j) ++#endif + free((void*)mPhrases[i][j]); + } + free(mPhrases); +@@ -507,7 +511,11 @@ + memset(&p, 0, sizeof(tI18nPhrase)); + Text += 17; + ++#if VDRVERSNUM >= 10507 ++ for (i = 0; i < I18nLanguages()->Size(); ++i) { ++#else + for (i = 0; i < I18nNumLanguages; ++i) { ++#endif + char *langs = strdup(I18nLanguageCode(i)); + char *ptr = langs, *ep; + std::string text; +@@ -525,7 +533,11 @@ + } + + int idx = mNumPhrases++; ++#if VDRVERSNUM >= 10507 ++ for (i = 0; i < I18nLanguages()->Size(); ++i) ++#else + for (i = 0; i < I18nNumLanguages; ++i) ++#endif + if (!p[i]) p[i] = ""; + mPhrases = (tI18nPhrase*)realloc(mPhrases, (mNumPhrases + 1) * sizeof(tI18nPhrase)); + memcpy(mPhrases[idx], p, sizeof(tI18nPhrase)); +@@ -539,7 +551,9 @@ + + bool cText2SkinI18n::Load(const std::string &Filename) { + if (cText2SkinFile::Load(Filename)) { ++#if VDRVERSNUM <= 10506 + I18nRegister(mPhrases, mIdentity.c_str()); ++#endif + return true; + } + return false; +--- text2skin-1.1-cvs_ext-0.10-20070620.3/status.c.orig 2007-08-13 09:54:04.000000000 -0700 ++++ text2skin-1.1-cvs_ext-0.10-20070620.3/status.c 2007-08-13 09:57:10.000000000 -0700 +@@ -130,8 +130,13 @@ + + void cText2SkinStatus::OsdClear(void) + { ++#if VDRVERSNUM >= 10507 ++ if (I18nCurrentLanguage() != mLastLanguage) { ++ mLastLanguage = I18nCurrentLanguage(); ++#else + if (Setup.OSDLanguage != mLastLanguage) { + mLastLanguage = Setup.OSDLanguage; ++#endif + cxString::Reparse(); + } + +--- text2skin-1.1-cvs_ext-0.10-20070620.3/text2skin.c.orig 2007-08-13 09:46:25.000000000 -0700 ++++ text2skin-1.1-cvs_ext-0.10-20070620.3/text2skin.c 2007-08-13 10:30:11.000000000 -0700 +@@ -49,7 +49,11 @@ + + bool cText2SkinPlugin::Start(void) { + RegisterI18n(Phrases); ++#if VDRVERSNUM >= 10507 ++ Text2SkinStatus.SetLanguage(I18nCurrentLanguage()); ++#else + Text2SkinStatus.SetLanguage(Setup.OSDLanguage); ++#endif + cText2SkinLoader::Start(); + return true; + } diff --git a/plugins/text2skin/patches/text2skin_gcc43.diff b/plugins/text2skin/patches/text2skin_gcc43.diff new file mode 100644 index 0000000..def7543 --- /dev/null +++ b/plugins/text2skin/patches/text2skin_gcc43.diff @@ -0,0 +1,36 @@ +--- text2skin/cache.h~ 2009-02-15 21:37:23.000000000 +0100 ++++ text2skin/cache.h 2009-02-15 21:40:19.000000000 +0100 +@@ -19,21 +19,21 @@ + + item_map mItems; + usage_list mUsage; +- uint mMaxItems; ++ unsigned mMaxItems; + + protected: + virtual void DeleteObject(const key_type &Key, data_type &Data) = 0; + virtual void ResetObject(data_type &Data) = 0; + + public: +- cxCache(uint MaxItems); ++ cxCache(unsigned MaxItems); + virtual ~cxCache(); + + void Reset(void); + void Flush(void); + bool Contains(const key_type &Key); + data_type &operator[](const key_type &Key); +- uint Count(void) { return mUsage.size(); } ++ unsigned Count(void) { return mUsage.size(); } + }; + + template<class key_type, class data_type> +@@ -43,7 +43,7 @@ + } + + template<class key_type, class data_type> +-cxCache<key_type, data_type>::cxCache(uint MaxItems) ++cxCache<key_type, data_type>::cxCache(unsigned MaxItems) + { + mMaxItems = MaxItems; + } diff --git a/plugins/text2skin/plugin.sh b/plugins/text2skin/plugin.sh new file mode 100644 index 0000000..86a1173 --- /dev/null +++ b/plugins/text2skin/plugin.sh @@ -0,0 +1,74 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 27.06.2007 +# +# vdr-text2skin + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://brougs78.vdr-developer.org/tmp/vdr-text2skin-1.1-cvs_ext-0.10.tgz" +#WEB="http://www.zulu-entertainment.de/files/vdr-text2skin/vdr-text2skin-1.1-cvs_ext-0.10-patched-20070513.tar.bz2" +VERSION="text2skin-1.1-cvs_ext-0.10" +LINK="text2skin" +CVS="0" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + rm -rf $VDRCONFDIR/plugins/text2skin + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + if [ "$CVS" = "1" ] ; then + rm -rf text2skin text2skin-cvs + echo "CVS password: [Just press enter]" + cvs -d:pserver:anoncvs@vdr-developer.org:/var/cvsroot login + cvs -d:pserver:anoncvs@vdr-developer.org:/var/cvsroot -z3 co text2skin + mv -f text2skin text2skin-cvs + cp -R text2skin-cvs $SOURCEDIR/VDR/PLUGINS/src + else + download_plugin + extract_plugin + fi + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + patch_p1_plugin + + ## plugin specials - start ## +# install skins + log "*******************************" + log "Installation der Skins ..." + log "*******************************" + cd $DIR/skins + chmod 0744 ./install-skins.sh + if ./install-skins.sh; then + log "*******************************" + log "... der Skins ist abgeschlossen" + log "*******************************" + fi + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/text2skin/skins/DeepBlue-0.1.3-extra-logos.tar.gz b/plugins/text2skin/skins/DeepBlue-0.1.3-extra-logos.tar.gz Binary files differnew file mode 100644 index 0000000..c6250e0 --- /dev/null +++ b/plugins/text2skin/skins/DeepBlue-0.1.3-extra-logos.tar.gz diff --git a/plugins/text2skin/skins/install-skins.sh b/plugins/text2skin/skins/install-skins.sh new file mode 100644 index 0000000..96f1f74 --- /dev/null +++ b/plugins/text2skin/skins/install-skins.sh @@ -0,0 +1,57 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 08.12.2006 + +# skins fuer text2skin + +source ./../../../x-vdr.conf +source ./../../../setup.conf +source ./../../../functions + +# remove old skins +if [ -d "$VDRCONFDIR/plugins/text2skin" ]; then + rm -rf "$VDRCONFDIR/plugins/text2skin" +fi + +if [ ! -d "$VDRCONFDIR/plugins/text2skin/fonts" ]; then + mkdir -p "$VDRCONFDIR/plugins/text2skin/fonts" && log "Erstelle \"$VDRCONFDIR/plugins/text2skin/fonts\"" +fi + +if [ -n "$SKINS" ]; then + echo "$SKINS" | sed '/^[ ]*$/d' | while read i; do + VAR=`basename $i` + if [ -f "$FILES/plugins/$VAR" ]; then + log "$VAR gefunden" + elif [ -f "$VAR" ]; then + log "$VAR gefunden" + cp "$VAR" "$FILES/plugins" + else + log "$VAR nicht gefunden" + log "starte download" + if wget --tries=2 "$i" --directory-prefix="$FILES/plugins" &>/dev/null; then + log "Download von $VAR erfolgreich" + else + log "Download von $VAR nicht erfolgreich" + fi + fi + + if [ -f "$FILES/plugins/$VAR" ]; then + if echo "$FILES/plugins/$VAR" | grep ".bz2$" &>/dev/null; then + tar xjf "$FILES/plugins/$VAR" -C "$VDRCONFDIR/plugins/text2skin" && log "Extrahiere $VAR" + else + tar xzf "$FILES/plugins/$VAR" -C "$VDRCONFDIR/plugins/text2skin" && log "Extrahiere $VAR" + fi + else + log "Installation von $VAR nicht erfolgreich" + fi + done + + # rechte setzen + chown -R $VDRUSER:$VDRGROUP "$VDRCONFDIR/plugins/text2skin" +fi + +exit 0 + + diff --git a/plugins/text2skin/text2skin-1.1-cvs-locale.diff b/plugins/text2skin/text2skin-1.1-cvs-locale.diff new file mode 100644 index 0000000..22ff48c --- /dev/null +++ b/plugins/text2skin/text2skin-1.1-cvs-locale.diff @@ -0,0 +1,377 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 95_text2skin-1.1-cvs-locale.dpatch by Thomas Günther <tom@toms-cafe.de> +## http://toms-cafe.de/vdr/download/text2skin-1.1-cvs-locale.diff +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Locales for text2skin plug-in (VDR >= 1.5.7, skins + locale patch). +## DP: Bases on cvs snapshot from 2008-01-22 22:30:00Z + 2 patches: +## DP: - libfreetype6-2.2.1.diff by Jerome <jlacvdr@jlac.dyndns.org> +## DP: http://vdrportal.de/board/thread.php?postid=489175#post489175 +## DP: - text2skin-1.1-cvs_ext-0.10-vdr-1.5.4.diff by Stone <syphyr@gmail.com> +## DP: http://vdrportal.de/board/thread.php?postid=621984#post621984 +## DP: The skins have to be patched, too: +## DP: - DeepBlue (http://vdr.pfroen.de) +## DP: http://toms-cafe.de/vdr/download/deepblue-0.1.4-locale.diff +## DP: - Enigma (http://home.pages.at/brougs78/vdr_enigma.htm) +## DP: http://toms-cafe.de/vdr/download/enigma-0.3a-locale.diff +## DP: - enElchi (http://www.saunalahti.fi/~rahrenbe/vdr/soppalusikka/files/) +## DP: http://toms-cafe.de/vdr/download/enelchi-0.7.2-locale.diff +## DP: - to patch other skins the Makefile from these patches could be used +## DP: without any changes, missing translation entries should be added to +## DP: the *.skin file (e.g. as comments <!-- trans('Volume') -->) + +@DPATCH@ +--- text2skin-1.0+cvs20080122.2311/Makefile ++++ text2skin-1.0+cvs20080122.2311/Makefile +@@ -19,6 +19,8 @@ + # The official name of this plugin. + # This name will be used in the '-P...' option of VDR to load the plugin. + # By default the main source file also carries this name. ++# IMPORTANT: the presence of this macro is important for the Make.config ++# file. So it must be defined, even if it is not used here! + # + PLUGIN = text2skin + +@@ -29,28 +31,28 @@ + ### The C++ compiler and options: + + CXX ?= g++ +-CXXFLAGS ?= -Wall -Woverloaded-virtual ++CXXFLAGS ?= -fPIC -Wall -Woverloaded-virtual + + ### The directory environment: + +-DVBDIR = ../../../../DVB + VDRDIR = ../../.. + LIBDIR = ../../lib + TMPDIR = /tmp + +-### The version number of VDR (taken from VDR's "config.h"): ++### Allow user defined options to overwrite defaults: ++ ++-include $(VDRDIR)/Make.config ++ ++### The version number of VDR's plugin API (taken from VDR's "config.h"): + +-VDRVERSION = $(shell grep 'define VDRVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g') ++APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' \ ++ $(VDRDIR)/config.h) + + ### The name of the distribution archive: + + ARCHIVE = $(PLUGIN)-$(VERSION) + PACKAGE = vdr-$(ARCHIVE) + +-### Allow user defined options to overwrite defaults: +- +--include $(VDRDIR)/Make.config +- + ### The object files (add further files here): + + OBJS = $(PLUGIN).o loader.o display.o render.o common.o bitmap.o \ +@@ -95,43 +97,67 @@ + endif + endif + +-INCLUDES += -I$(VDRDIR)/include -I$(DVBDIR)/linux/include -I$(DVBDIR)/include -I. ++INCLUDES += -I$(VDRDIR)/include -I. + + DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"' + ++### The main target: ++ ++all: libvdr-$(PLUGIN).so i18n ++ + ### Implicit rules: + + %.o: %.c + $(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) -o $@ $< + +-# Dependencies: ++### Dependencies: + +-MAKEDEP = g++ -MM -MG ++MAKEDEP = $(CXX) -MM -MG + DEPFILE = .dependencies + $(DEPFILE): Makefile + @$(MAKEDEP) $(DEFINES) $(INCLUDES) $(OBJS:%.o=%.c) > $@ + + -include $(DEPFILE) + +-### Targets: ++### Internationalization (I18N): ++ ++PODIR = po ++LOCALEDIR = $(VDRDIR)/locale ++I18Npo = $(notdir $(wildcard $(PODIR)/*.po)) ++I18Npot = $(PODIR)/$(PLUGIN).pot ++ ++$(I18Npot): $(wildcard *.c) ++ xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP \ ++ --msgid-bugs-address='<sascha@akv-soft.de>' -o $@ $^ ++ ++%.po: $(I18Npot) ++ msgmerge -U --no-wrap --no-location --backup=none -q $@ $< ++ @touch $@ ++ ++$(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.po ++ @mkdir -p $(dir $@) ++ msgfmt -c -o $@ $< + +-all: libvdr-$(PLUGIN).so ++.PHONY: i18n ++i18n: $(I18Npo:%.po=$(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo) ++ ++### Targets: + + libvdr-$(PLUGIN).so: $(OBJS) + $(CXX) $(CXXFLAGS) -shared $(OBJS) $(LIBS) -o $@ +- @cp $@ $(LIBDIR)/$@.$(VDRVERSION) ++ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) + ifndef DEBUG +- strip $(LIBDIR)/$@.$(VDRVERSION) ++ strip $(LIBDIR)/$@.$(APIVERSION) + endif + + dist: clean + @-rm -rf $(TMPDIR)/$(ARCHIVE) + @mkdir $(TMPDIR)/$(ARCHIVE) + @cp -a * $(TMPDIR)/$(ARCHIVE) +- @ln -s $(ARCHIVE) $(TMPDIR)/$(PLUGIN) +- @tar czf $(PACKAGE).tgz -C $(TMPDIR) $(ARCHIVE) $(PLUGIN) +- @-rm -rf $(TMPDIR)/$(ARCHIVE) $(TMPDIR)/$(PLUGIN) ++ @tar czf $(PACKAGE).tgz -C $(TMPDIR) \ ++ --exclude debian --exclude CVS --exclude .svn $(ARCHIVE) ++ @-rm -rf $(TMPDIR)/$(ARCHIVE) + @echo Distribution package created as $(PACKAGE).tgz + + clean: +- @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ SKINS SKINS.de ++ @-rm -f $(OBJS) $(DEPFILE) *.so $(I18Npot) *.tgz core* *~ SKINS SKINS.de +--- text2skin-1.0+cvs20080122.2311/font.c ++++ text2skin-1.0+cvs20080122.2311/font.c +@@ -31,8 +31,13 @@ + const cFont *res = NULL; + #ifdef HAVE_FREETYPE + char *cachename; ++#if VDRVERSNUM >= 10507 ++ asprintf(&cachename, "%s_%d_%d_%d", Filename.c_str(), Size, Width, I18nCurrentLanguage()); ++ if (mFontCache.Load(Path + "/" + Filename, cachename, Size, I18nCurrentLanguage(), Width)) ++#else + asprintf(&cachename, "%s_%d_%d_%d", Filename.c_str(), Size, Width, Setup.OSDLanguage); + if (mFontCache.Load(Path + "/" + Filename, cachename, Size, Setup.OSDLanguage, Width)) ++#endif + res = mFontCache.GetFont(cachename); + else + esyslog("ERROR: Text2Skin: Couldn't load font %s:%d", Filename.c_str(), Size); +--- text2skin-1.0+cvs20080122.2311/i18n.c ++++ text2skin-1.0+cvs20080122.2311/i18n.c +@@ -5,6 +5,7 @@ + #include "i18n.h" + #include <vdr/config.h> + ++#if VDRVERSNUM < 10507 + const tI18nPhrase Phrases[] = { + /* + { "English", +@@ -156,14 +157,22 @@ + }, + { NULL } + }; ++#endif + ++#if VDRVERSNUM >= 10507 ++cText2SkinI18n::cText2SkinI18n(const char *Skin) { ++ mIdentity = std::string("vdr-"PLUGIN_NAME_I18N"-") + Skin; ++ I18nRegister(mIdentity.substr(mIdentity.find('-') + 1).c_str()); ++#else + cText2SkinI18n::cText2SkinI18n(const char *Skin): cText2SkinFile(Skin) { + mIdentity = (std::string)"text2skin_" + Skin; + mNumPhrases = 0; + mPhrases = (tI18nPhrase*)malloc(sizeof(tI18nPhrase)); + memset(mPhrases[mNumPhrases], 0, sizeof(tI18nPhrase)); ++#endif + } + ++#if VDRVERSNUM < 10507 + cText2SkinI18n::~cText2SkinI18n() { + for (int i = 0; mPhrases[i][0]; ++i) { + for (int j = 0; j < I18nNumLanguages; ++j) +@@ -219,3 +228,4 @@ + } + return false; + } ++#endif +--- text2skin-1.0+cvs20080122.2311/i18n.h ++++ text2skin-1.0+cvs20080122.2311/i18n.h +@@ -9,22 +9,32 @@ + #include "file.h" + #include <vdr/i18n.h> + ++#if VDRVERSNUM < 10507 ++#define trNOOP(s) (s) ++ + extern const tI18nPhrase Phrases[]; + + class cText2SkinI18n: public cText2SkinFile { ++#else ++class cText2SkinI18n { ++#endif + private: + std::string mIdentity; ++#if VDRVERSNUM < 10507 + tI18nPhrase *mPhrases; + int mNumPhrases; + + protected: + virtual bool Parse(const char *Text); ++#endif + + public: + cText2SkinI18n(const char *Skin); ++#if VDRVERSNUM < 10507 + virtual ~cText2SkinI18n(); + + virtual bool Load(const std::string &Filename); ++#endif + std::string Translate(const std::string &Text) { return I18nTranslate(Text.c_str(), mIdentity.c_str()); } + }; + +--- text2skin-1.0+cvs20080122.2311/loader.c ++++ text2skin-1.0+cvs20080122.2311/loader.c +@@ -34,6 +34,9 @@ + } + + void cText2SkinLoader::Load(const char *Skin) { ++#if VDRVERSNUM >= 10507 ++ cText2SkinI18n *translations = new cText2SkinI18n(Skin); ++#else + cText2SkinI18n *translations = NULL; + std::string transfile = SkinPath() + "/" + Skin + "/" + Skin + ".trans"; + if (access(transfile.c_str(), F_OK) == 0) { +@@ -41,6 +44,7 @@ + if (!translations->Load(transfile)) + DELETENULL(translations); + } ++#endif + + cText2SkinTheme *theme = new cText2SkinTheme(Skin); + std::string themefile = SkinPath() + "/" + Skin + "/" + Skin + ".colors"; +--- text2skin-1.0+cvs20080122.2311/status.c ++++ text2skin-1.0+cvs20080122.2311/status.c +@@ -109,8 +109,13 @@ + + void cText2SkinStatus::OsdClear(void) + { ++#if VDRVERSNUM >= 10507 ++ if (I18nCurrentLanguage() != mLastLanguage) { ++ mLastLanguage = I18nCurrentLanguage(); ++#else + if (Setup.OSDLanguage != mLastLanguage) { + mLastLanguage = Setup.OSDLanguage; ++#endif + cxString::Reparse(); + } + } +--- text2skin-1.0+cvs20080122.2311/text2skin.c ++++ text2skin-1.0+cvs20080122.2311/text2skin.c +@@ -15,7 +15,7 @@ + + const char *cText2SkinPlugin::VERSION = "1.1-cvs"; + const char *cText2SkinPlugin::SKINVERSION = "1.0"; +-const char *cText2SkinPlugin::DESCRIPTION = "Loader for text-based skins"; ++const char *cText2SkinPlugin::DESCRIPTION = trNOOP("Loader for text-based skins"); + + cText2SkinPlugin::cText2SkinPlugin(void) { + } +@@ -24,8 +24,12 @@ + } + + bool cText2SkinPlugin::Start(void) { ++#if VDRVERSNUM < 10507 + RegisterI18n(Phrases); + Text2SkinStatus.SetLanguage(Setup.OSDLanguage); ++#else ++ Text2SkinStatus.SetLanguage(I18nCurrentLanguage()); ++#endif + cText2SkinLoader::Start(); + return true; + } +--- text2skin-1.0+cvs20080122.2311/po/de_DE.po 1970-01-01 00:00:00.000000000 +0000 ++++ text2skin-1.0+cvs20080122.2311/po/de_DE.po +@@ -0,0 +1,36 @@ ++# German translations for vdr-text2skin package. ++# Copyright (C) Sascha Volkenandt <sascha@akv-soft.de> ++# This file is distributed under the same license as the vdr-text2skin package. ++# Sascha Volkenandt <sascha@akv-soft.de>, 2004, 2005. ++# ++# $Id$ ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: vdr-text2skin 1.0\n" ++"Report-Msgid-Bugs-To: <sascha@akv-soft.de>\n" ++"POT-Creation-Date: 2008-01-26 14:59+0100\n" ++"PO-Revision-Date: 2008-01-26 12:38+0100\n" ++"Last-Translator: Sascha Volkenandt <sascha@akv-soft.de>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=iso-8859-15\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++msgid "*** Invalid Channel ***" ++msgstr "" ++ ++msgid "Skin too large or incorrectly aligned" ++msgstr "Skin zu groß oder nicht korrekt ausgerichtet" ++ ++msgid "Flush image cache" ++msgstr "Bildspeicher leeren" ++ ++msgid "Max. image cache size" ++msgstr "Max. Größe des Bildspeichers" ++ ++msgid "Flushing image cache..." ++msgstr "Bildspeicher wird geleert..." ++ ++msgid "Loader for text-based skins" ++msgstr "Lader für textbasierte Skins" +--- text2skin-1.0+cvs20080122.2311/po/fi_FI.po 1970-01-01 00:00:00.000000000 +0000 ++++ text2skin-1.0+cvs20080122.2311/po/fi_FI.po +@@ -0,0 +1,36 @@ ++# Finnish translations for vdr-text2skin package. ++# Copyright (C) Sascha Volkenandt <sascha@akv-soft.de> ++# This file is distributed under the same license as the vdr-text2skin package. ++# Rolf Ahrenberg <rahrenbe@cc.hut.fi>, 2004, 2005. ++# ++# $Id$ ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: vdr-text2skin 1.0\n" ++"Report-Msgid-Bugs-To: <sascha@akv-soft.de>\n" ++"POT-Creation-Date: 2008-01-26 14:59+0100\n" ++"PO-Revision-Date: 2008-01-26 12:38+0100\n" ++"Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=iso-8859-15\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++msgid "*** Invalid Channel ***" ++msgstr "" ++ ++msgid "Skin too large or incorrectly aligned" ++msgstr "Ulkoasu on liian suuri tai väärin asemoitu" ++ ++msgid "Flush image cache" ++msgstr "Tyhjennä kuvat välimuistista" ++ ++msgid "Max. image cache size" ++msgstr "Välimuistin maksimikoko" ++ ++msgid "Flushing image cache..." ++msgstr "Tyhjennetään välimuistia..." ++ ++msgid "Loader for text-based skins" ++msgstr "Helposti muokattavat ulkoasut" diff --git a/plugins/timeline/patches/timeline-1.0.141-1.5.0.diff b/plugins/timeline/patches/timeline-1.0.141-1.5.0.diff new file mode 100644 index 0000000..a621ab3 --- /dev/null +++ b/plugins/timeline/patches/timeline-1.0.141-1.5.0.diff @@ -0,0 +1,25 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 91_timeline-1.0.141-1.5.0.dpatch by Thomas Günther <tom@toms-cafe.de> +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Changes for VDR >= 1.5.0 (applicable to VDR >= 1.4.5). + +@DPATCH@ +--- timeline-1.0.141/checkerOsd.c ++++ timeline-1.0.141/checkerOsd.c +@@ -339,8 +339,14 @@ + { // verschiedene Kanäle, genug Devices? + bool nofree=true; + ++#if APIVERSNUM >= 10500 ++ cDevice *cd1=cDevice::GetDevice(ch1,-1,false); ++ cDevice *cd2=cDevice::GetDevice(ch2,-1,false); ++#else + cDevice *cd1=cDevice::GetDevice(ch1); +- cDevice *cd2=cDevice::GetDevice(ch2),*cdt; ++ cDevice *cd2=cDevice::GetDevice(ch2); ++#endif ++ cDevice *cdt; + if (cd1->DeviceNumber()!=cd2->DeviceNumber()) + { // Sonderfall: ch2 kann gar nicht auf Device von ch1 empfangen werden + nofree=false; diff --git a/plugins/timeline/patches/timeline-1.0.141-vdr-1.5.3.diff b/plugins/timeline/patches/timeline-1.0.141-vdr-1.5.3.diff new file mode 100644 index 0000000..98b8a11 --- /dev/null +++ b/plugins/timeline/patches/timeline-1.0.141-vdr-1.5.3.diff @@ -0,0 +1,42 @@ +--- timeline-1.0.141/checkerOsd.c.orig 2007-03-11 18:01:45.000000000 -0700 ++++ timeline-1.0.141/checkerOsd.c 2007-06-11 18:16:11.000000000 -0700 +@@ -246,7 +246,11 @@ + localtime_r(&start1t,&day1); + sprintf(line1,"%s %04d-%02d-%02d (%s):",tr("Conflict on"),day1.tm_year+1900,day1.tm_mon+1,day1.tm_mday,tr("same input device")); + sprintf(line2,"%02d:%02d-%02d:%02d, (P%d) %s: %s",ct1->Start()/100,ct1->Start()%100,ct1->Stop()/100,ct1->Stop()%100,ct1->Priority(),ch1->Name(),ct1->File()); ++#if VDRVERSNUM >= 10503 ++ sprintf(line3,"%02d:%02d-%02d:%02d (%s), (P%d) %s: %s",ct2->Start()/100,ct2->Start()%100,ct2->Stop()/100,ct2->Stop()%100,(const char *)ct2->PrintDay(ct2->Day(),ct2->WeekDays(),false),ct2->Priority(),ch2->Name(),ct2->File()); ++#else + sprintf(line3,"%02d:%02d-%02d:%02d (%s), (P%d) %s: %s",ct2->Start()/100,ct2->Start()%100,ct2->Stop()/100,ct2->Stop()%100,(const char *)ct2->PrintDay(ct2->Day(),ct2->WeekDays()),ct2->Priority(),ch2->Name(),ct2->File()); ++#endif + } + } + else if (!ct1->IsSingleEvent() && ct2->IsSingleEvent()) +@@ -276,7 +280,11 @@ + { + localtime_r(&start1t,&day1); + sprintf(line1,"%s %04d-%02d-%02d (%s):",tr("Conflict on"),day1.tm_year+1900,day1.tm_mon+1,day1.tm_mday,tr("same input device")); ++#if VDRVERSNUM >= 10503 ++ sprintf(line2,"%02d:%02d-%02d:%02d (%s), (P%d) %s: %s",ct1->Start()/100,ct1->Start()%100,ct1->Stop()/100,ct1->Stop()%100,(const char *)ct1->PrintDay(ct1->Day(),ct1->WeekDays(),false),ct1->Priority(),ch1->Name(),ct1->File()); ++#else + sprintf(line2,"%02d:%02d-%02d:%02d (%s), (P%d) %s: %s",ct1->Start()/100,ct1->Start()%100,ct1->Stop()/100,ct1->Stop()%100,(const char *)ct1->PrintDay(ct1->Day(),ct1->WeekDays()),ct1->Priority(),ch1->Name(),ct1->File()); ++#endif + sprintf(line3,"%02d:%02d-%02d:%02d, (P%d) %s: %s",ct2->Start()/100,ct2->Start()%100,ct2->Stop()/100,ct2->Stop()%100,ct2->Priority(),ch2->Name(),ct2->File()); + } + } +@@ -313,9 +321,15 @@ + } + if (hasmatched) + { ++#if VDRVERSNUM >= 10503 ++ sprintf(line1,"%s %s (%s):",tr("Repeating conflict on"),(const char *)ct1->PrintDay(0,mdays,false),tr("same input device")); ++ sprintf(line2,"%02d:%02d-%02d:%02d (%s), (P%d) %s: %s",ct1->Start()/100,ct1->Start()%100,ct1->Stop()/100,ct1->Stop()%100,(const char *)ct1->PrintDay(ct1->Day(),ct1->WeekDays(),false),ct1->Priority(),ch1->Name(),ct1->File()); ++ sprintf(line3,"%02d:%02d-%02d:%02d (%s), (P%d) %s: %s",ct2->Start()/100,ct2->Start()%100,ct2->Stop()/100,ct2->Stop()%100,(const char *)ct2->PrintDay(ct2->Day(),ct2->WeekDays(),false),ct2->Priority(),ch2->Name(),ct2->File()); ++#else + sprintf(line1,"%s %s (%s):",tr("Repeating conflict on"),(const char *)ct1->PrintDay(0,mdays),tr("same input device")); + sprintf(line2,"%02d:%02d-%02d:%02d (%s), (P%d) %s: %s",ct1->Start()/100,ct1->Start()%100,ct1->Stop()/100,ct1->Stop()%100,(const char *)ct1->PrintDay(ct1->Day(),ct1->WeekDays()),ct1->Priority(),ch1->Name(),ct1->File()); + sprintf(line3,"%02d:%02d-%02d:%02d (%s), (P%d) %s: %s",ct2->Start()/100,ct2->Start()%100,ct2->Stop()/100,ct2->Stop()%100,(const char *)ct2->PrintDay(ct2->Day(),ct2->WeekDays()),ct2->Priority(),ch2->Name(),ct2->File()); ++#endif + } + } + else // ct1->IsSingleEvent() && ct2->IsSingleEvent() diff --git a/plugins/timeline/plugin.sh b/plugins/timeline/plugin.sh new file mode 100644 index 0000000..03eb797 --- /dev/null +++ b/plugins/timeline/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 14.09.2008 +# +# vdr-timeline + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.u32.de/download/vdr-timeline-1.0.141-kw160.tar.gz" +VERSION="timeline-1.0.141-kw160" +LINK="timeline" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/touchtft/plugin.sh b/plugins/touchtft/plugin.sh new file mode 100644 index 0000000..c459977 --- /dev/null +++ b/plugins/touchtft/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (vdr-installer für kanotix) +# von Marc Wernecke - www.zulu-entertainment.de +# 10.06.2007 +# +# vdr-touchtft + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://downloads.htpc-tech.de/touchtft/vdr-touchtft-0.0.4.tar.gz" +VERSION="touchtft-0.0.4" +LINK="touchtft" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/ttxtsubs/channelsettings.dat b/plugins/ttxtsubs/channelsettings.dat new file mode 100644 index 0000000..1af277f --- /dev/null +++ b/plugins/ttxtsubs/channelsettings.dat @@ -0,0 +1,4 @@ +C-1-1101-28106,1,150 +C-1-1079-28006,1,777 +C-1-1101-28111,1,150 +C-1-1079-28007,1,777 diff --git a/plugins/ttxtsubs/plugin.sh b/plugins/ttxtsubs/plugin.sh new file mode 100644 index 0000000..98de5ae --- /dev/null +++ b/plugins/ttxtsubs/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 05.01.2009 +# +# vdr-ttxtsubs + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://projects.vdr-developer.org/attachments/download/39/vdr-ttxtsubs-0.0.8.tar.gz" +VERSION="ttxtsubs-0.0.8" +LINK="ttxtsubs" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/tvm2vdr/plugin.sh b/plugins/tvm2vdr/plugin.sh new file mode 100644 index 0000000..d6dfc2c --- /dev/null +++ b/plugins/tvm2vdr/plugin.sh @@ -0,0 +1,60 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 23.02.2009 +# +# vdr-tvm2vdr + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://download.origo.ethz.ch/vdr-plugin-tvm2vdr/1018/vdr-tvm2vdr-0.0.2.tgz" +VERSION="tvm2vdr-0.0.2" +LINK="tvm2vdr" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + [ "$VDRUPDATE" = "on" ] && [ -d $VDRCONFDIR/plugins/tvm2vdr ] && return + if [ -d "$DIR/tvm2vdr" ]; then + cp -rf $DIR/tvm2vdr $VDRCONFDIR/plugins + else + [ -d "$VDRCONFDIR/plugins/tvm2vdr" ] || mkdir -p $VDRCONFDIR/plugins/tvm2vdr + cp -f $SOURCEDIR/VDR/PLUGINS/src/$LINK/tvm2vdr_channelmap.conf $VDRCONFDIR/plugins/tvm2vdr + cp -f $SOURCEDIR/VDR/PLUGINS/src/$LINK/*.xsl $VDRCONFDIR/plugins/tvm2vdr + fi + chown -R $VDRUSER:$VDRGROUP $VDRCONFDIR/plugins/tvm2vdr + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/tvm2vdr/tvm2vdr_channelmap.conf.dvb-c b/plugins/tvm2vdr/tvm2vdr_channelmap.conf.dvb-c new file mode 100644 index 0000000..476b99d --- /dev/null +++ b/plugins/tvm2vdr/tvm2vdr_channelmap.conf.dvb-c @@ -0,0 +1,45 @@ +// +// ChannelMap for TVM2VDR-Plugin +// -------------------------- +// +// TVM2VDR ChannelID = VDR ChannelID (Src-NID-TID-SID) +// +// see /usr/share/doc/vdr-plugin-tvm2vdr/examples/ +// +// e.g.: +// +// 1 = C-41985-1101-28106 // ARD +// 2 = C-1-1079-28006:y // ZDF +// +// +// multi-id's are by separated by "," +// +// e.g.: +// 4 = C-1-1089-12003,C-1-1091-28800 // RTL Television,RTL Austria +// +// VPS enabled by ":" and one of "1yYjJ" after channel-id +// +// e.g.: +// 1 = C-1-1101-28106:y // ARD +// +// +001 = C-41985-1101-28106 // Das Erste +002 = C-1-1079-28006 // ZDF +028 = C-41985-1201-28307,C-41985-1201-28308,C-41985-1201-28309,C-41985-1101-28111,C-41985-1201-28306,C-41985-1201-28311,C-41985-1201-28310 // WDR Dortmund, WDR Düsseldorf, WDR Essen, WDR Köln, WDR Bielefeld, WDR Siegen, WDR Münster +010 = C-41985-1051-28724 // arte +206 = C-41985-1051-28725 // Phoenix +513 = C-41985-1051-28723 // EinsPlus +512 = C-41985-1051-28722 // EinsFestival +551 = C-41985-1051-28721 // EinsExtra +553 = C-1-1079-28014 // ZDFdokukanal +570 = C-1-1079-28011 // ZDFinfokanal +552 = C-1-1079-28016 // ZDFtheaterkanal +063 = C-1-1079-28008 // KiKa +118 = C-1-1079-28007 // 3sat +057 = C-41985-1051-28487 // BR-alpha +018 = C-41985-1101-28107,C-41985-1101-28110 // Bayerisches FS, Bayerisches FS Nord +026 = C-41985-1101-28108 // hr-fernsehen +032 = C-41985-1073-28228,C-41985-1073-28229,C-41985-1073-28230 // MDR Sachsen, MDR S-Anhalt, MDR Thüringen +019 = C-41985-1073-28224,C-41985-1073-28225,C-41985-1073-28226,C-41985-1073-28227 // NDR FS MV, NDR FS HH, NDR FS NDS, NDR FS SH +027 = C-41985-1073-28206,C-41985-1073-28205 // rbb Berlin, rbb Brandenburg +029 = C-41985-1101-28113,C-41985-1073-28231 // SWR Fernsehen BW, SWR Fernsehen RP diff --git a/plugins/tvonscreen/patches/tvonscreen-1.0-fixes.diff b/plugins/tvonscreen/patches/tvonscreen-1.0-fixes.diff new file mode 100644 index 0000000..c6889eb --- /dev/null +++ b/plugins/tvonscreen/patches/tvonscreen-1.0-fixes.diff @@ -0,0 +1,122 @@ +--- magazine.c.orig Sun Aug 27 12:40:30 2006 ++++ magazine.c Sun Sep 10 00:45:27 2006 +@@ -458,6 +458,9 @@ + } + const cEvent *magazine::getNext(const cSchedule *s,const cEvent *e) + { ++ if (e == NULL) ++ return NULL; ++ + const cEvent *pe = NULL; + time_t ref = e->StartTime(); + +@@ -480,6 +483,9 @@ + } + const cEvent *magazine::getPrev(const cSchedule *s,const cEvent *e) + { ++ if (e == NULL) ++ return NULL; ++ + const cEvent *pe = NULL; + time_t ref = e->StartTime(); + time_t delta = INT_MAX; +@@ -1077,9 +1083,9 @@ + { + state = cOsdObject::ProcessKey(Key); + +- if (state == osUnknown) ++ if (state == osUnknown && schedArrayNum>currentFirst) + { +- if (curmode==SHOW && schedArrayNum>currentFirst) ++ if (curmode==SHOW) + { + switch (Key & ~k_Repeat) + { +@@ -1111,6 +1117,8 @@ + currentFirst++; + if (currentFirst>schedArrayNum-3) + currentFirst=schedArrayNum-3; ++ if (currentFirst<0) ++ currentFirst=0; + output(); + break; + case kUp: +@@ -1145,6 +1153,8 @@ + currentFirst+=3; + if (currentFirst>schedArrayNum-3) + currentFirst=schedArrayNum-3; ++ if (currentFirst<0) ++ currentFirst=0; + output(); + break; + case k8: // zum aktuellen Sender +@@ -1206,14 +1216,17 @@ + { + case kOk: + { +- delete osd; +- osd=NULL; + cEvent **ev=ev4ch(EDIT_curChannel); +- me=new tvOcMenuEvent(ev[EDIT_curEVI]); +- me->Display(); +- curmode=SHOW; +- EDIT_curEvent=0; +- return osContinue; ++ if (ev[EDIT_curEVI] != NULL) ++ { ++ delete osd; ++ osd=NULL; ++ me=new tvOcMenuEvent(ev[EDIT_curEVI]); ++ me->Display(); ++ curmode=SHOW; ++ EDIT_curEvent=0; ++ return osContinue; ++ } + } + break; + case kBack: +@@ -1238,11 +1251,15 @@ + EDIT_curChannel++; + if (EDIT_curChannel>schedArrayNum-1) + EDIT_curChannel=schedArrayNum-1; ++ if (EDIT_curChannel<0) ++ EDIT_curChannel=0; + if (EDIT_curChannel>currentFirst+2) + { + currentFirst++; + if (currentFirst>schedArrayNum-3) + currentFirst=schedArrayNum-3; ++ if (currentFirst<0) ++ currentFirst=0; + EDIT_curChannel=currentFirst+2; + } + outputLR(); +@@ -1343,17 +1360,20 @@ + break; */ + case kRecord: + { +- delete osd; +- osd=NULL; + cEvent **ev=ev4ch(EDIT_curChannel); +- cTimer *timer = new cTimer(ev[EDIT_curEVI]); +- cTimer *t = Timers.GetTimer(timer); +- if (t) ++ if (ev[EDIT_curEVI] != NULL) + { +- delete timer; +- timer = t; ++ delete osd; ++ osd=NULL; ++ cTimer *timer = new cTimer(ev[EDIT_curEVI]); ++ cTimer *t = Timers.GetTimer(timer); ++ if (t) ++ { ++ delete timer; ++ timer = t; ++ } ++ met=new cMenuEditTimer(timer, !t); + } +- met=new cMenuEditTimer(timer, !t); + } + break; + default: diff --git a/plugins/tvonscreen/patches/tvonscreen-1.0.141-1.5.3.diff b/plugins/tvonscreen/patches/tvonscreen-1.0.141-1.5.3.diff new file mode 100644 index 0000000..64e512b --- /dev/null +++ b/plugins/tvonscreen/patches/tvonscreen-1.0.141-1.5.3.diff @@ -0,0 +1,173 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 90_tvonscreen-1.0.141-1.5.3.dpatch by Thomas Günther <tom@toms-cafe.de> +## http://toms-cafe.de/vdr/download/tvonscreen-1.0.141-1.5.3.diff +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Changes for VDR >= 1.5.3. + +@DPATCH@ +diff -Naurp tvonscreen-1.0.141/anyfont.c tvonscreen-1.0.141-vdr153/anyfont.c +--- tvonscreen-1.0.141/anyfont.c 2004-07-08 13:54:56.000000000 +0000 ++++ tvonscreen-1.0.141-vdr153/anyfont.c 2007-09-14 12:46:58.000000000 +0000 +@@ -10,20 +10,36 @@ + #include "anyfont.h" + #include "magazine.h" + +-#if VDRVERSNUM >= 10307 ++#if VDRVERSNUM >= 10503 ++anyFont::anyFont(cOsd *_osd,int fheight,int transparent) ++#elif VDRVERSNUM >= 10307 + anyFont::anyFont(cOsd *_osd,const cFont::tPixelData *fd,int fheight,int transparent) + #else + anyFont::anyFont(cOsdBase *_osd,const cFont::tPixelData *fd,int fheight,int transparent) + #endif + { + osd=_osd; ++#if VDRVERSNUM >= 10503 ++#if VDRVERSNUM >= 10504 ++ Font = cFont::CreateFont(Setup.FontOsd, fheight); ++#else ++ Font = new cFreetypeFont(*AddDirectory(FONTDIR, Setup.FontOsd, fheight); ++#endif ++ if (!Font || !Font->Height()) ++ Font = cFont::GetFont(fontSml); ++#else + FontData=fd; + FontHeight=fheight; ++#endif + trans=transparent; + } + int anyFont::Height(void) + { ++#if VDRVERSNUM >= 10503 ++ return Font->Height(); ++#else + return FontHeight-2-2; ++#endif + } + int anyFont::Width(const char *txt) + { +@@ -39,21 +55,29 @@ int anyFont::LargeWidth(const char *txt) + } + int anyFont::Width(char c) + { ++#if VDRVERSNUM >= 10503 ++ return Font->Width(c); ++#else + if ((int)FontData[(((unsigned char)c)-32)*(FontHeight)]>100) + { + mzlog(1," big letter error %c: %d",c,(int)FontData[(((unsigned char)c)-32)*(FontHeight)]); + return 100; + } + return (int)FontData[(((unsigned char)c)-32)*(FontHeight)]; ++#endif + } + int anyFont::LargeWidth(char c) + { ++#if VDRVERSNUM >= 10503 ++ return Font->Width(c); ++#else + if ((int)FontData[(((unsigned char)c)-32)*(FontHeight)]>100) + { + mzlog(1," big letter error %c: %d",c,(int)FontData[(((unsigned char)c)-32)*(FontHeight)]); + return 100; + } + return (int)FontData[(((unsigned char)c)-32)*(FontHeight)]*2; ++#endif + } + #if VDRVERSNUM >= 10307 + int anyFont::Text(int x, int y, const char *txt, tColor fg, tColor bg) +@@ -61,6 +85,10 @@ int anyFont::Text(int x, int y, const ch + int anyFont::Text(int x, int y, const char *txt, eDvbColor fg, eDvbColor bg, tWindowHandle wh) + #endif + { ++#if VDRVERSNUM >= 10503 ++ osd->DrawText(x, y, txt, fg, trans ? clrTransparent : bg, Font); ++ return x += Font->Width(txt); ++#else + unsigned int pxl; + int row,col; + +@@ -85,6 +113,7 @@ int anyFont::Text(int x, int y, const ch + x += Width(*txt++); + } + return x; ++#endif + } + #if VDRVERSNUM >= 10307 + int anyFont::LargeText(int x, int y, const char *txt, tColor fg, tColor bg) +@@ -92,6 +121,10 @@ int anyFont::LargeText(int x, int y, con + int anyFont::LargeText(int x, int y, const char *txt, eDvbColor fg, eDvbColor bg, tWindowHandle wh) + #endif + { ++#if VDRVERSNUM >= 10503 ++ osd->DrawText(x, y, txt, fg, trans ? clrTransparent : bg, Font); ++ return x + Font->Width(txt); ++#else + unsigned int pxl; + int row,col; + +@@ -116,6 +149,7 @@ int anyFont::LargeText(int x, int y, con + x += LargeWidth(*txt++); + } + return x; ++#endif + } + #if VDRVERSNUM >= 10307 + int anyFont::Text(int x, int y, int w, int h, const char *txt, tColor fg, tColor bg) +diff -Naurp tvonscreen-1.0.141/anyfont.h tvonscreen-1.0.141-vdr153/anyfont.h +--- tvonscreen-1.0.141/anyfont.h 2004-07-08 13:54:56.000000000 +0000 ++++ tvonscreen-1.0.141-vdr153/anyfont.h 2007-09-14 12:47:38.000000000 +0000 +@@ -19,11 +19,17 @@ class anyFont + #else + cOsdBase *osd; + #endif ++#if VDRVERSNUM >= 10503 ++ const cFont *Font; ++#else + const cFont::tPixelData *FontData; + int FontHeight; ++#endif + int trans; + public: +-#if VDRVERSNUM >= 10307 ++#if VDRVERSNUM >= 10503 ++ anyFont(cOsd *o,int fheight,int transparent=0); ++#elif VDRVERSNUM >= 10307 + anyFont(cOsd *o,const cFont::tPixelData *fd,int fheight,int transparent=0); + #else + anyFont(cOsdBase *o,const cFont::tPixelData *fd,int fheight,int transparent=0); +diff -Naurp tvonscreen-1.0.141/magazine.c tvonscreen-1.0.141-vdr153/magazine.c +--- tvonscreen-1.0.141/magazine.c 2006-06-18 13:59:36.000000000 +0000 ++++ tvonscreen-1.0.141-vdr153/magazine.c 2007-09-13 20:04:34.000000000 +0000 +@@ -812,10 +812,12 @@ void magazine::autoTimer(const class cEv + } + } + ++#if VDRVERSNUM < 10503 + #include "fontosd/fontosd-arial18.c" + #include "fontosd/fontosd-verdana16.c" + #include "fontosd/fontosd-tahoma16.c" + #include "fontosd/fontosd-timesNewRoman16.c" ++#endif + + void magazine::Show(void) + { +@@ -850,10 +852,17 @@ void magazine::Show(void) + delete f3; + delete f4; + ++#if VDRVERSNUM >= 10503 ++ f1=new anyFont(osd,18,1); // Sendung ++ f2=new anyFont(osd,16,1); // Extra-Info ++ f3=new anyFont(osd,20,1); // Sender ++ f4=new anyFont(osd,16); // Tasten ++#else + f1=new anyFont(osd,(cFont::tPixelData *)fontosd_arial18,FONTOSD_ARIAL18,1); // Sendung + f2=new anyFont(osd,(cFont::tPixelData *)fontosd_verdana16,FONTOSD_VERDANA16,1); // Extra-Info + f3=new anyFont(osd,(cFont::tPixelData *)fontosd_tahoma16,FONTOSD_TAHOMA16,1); // Sender + f4=new anyFont(osd,(cFont::tPixelData *)fontosd_newroman16,FONTOSD_NEWROMAN16); // Tasten ++#endif + for (int i=0; i < (int)(sizeof(Areas)/sizeof(tArea)); i++) + { + // cBitmap *b=osd->GetBitmap(i); diff --git a/plugins/tvonscreen/plugin.sh b/plugins/tvonscreen/plugin.sh new file mode 100644 index 0000000..a9a57ba --- /dev/null +++ b/plugins/tvonscreen/plugin.sh @@ -0,0 +1,51 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 06.07.2006 +# +# vdr-tvonscreen + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://www.js-home.org/download.php?URI=/vdr/tvonscreen/vdr-tvonscreen-1.0.141.tar.gz" +VERSION="tvonscreen-1.0.141" +LINK="tvonscreen" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/tvtv/plugin.sh b/plugins/tvtv/plugin.sh new file mode 100644 index 0000000..9eda6ab --- /dev/null +++ b/plugins/tvtv/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 09.01.2009 +# +# vdr-tvtv + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://projects.vdr-developer.org/attachments/download/43/vdr-tvtv-0.4.0.tar.gz" +VERSION="tvtv-0.4.0" +LINK="tvtv" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/undelete/patches/undelete-0.0.6-vdr-1.5.7.diff b/plugins/undelete/patches/undelete-0.0.6-vdr-1.5.7.diff new file mode 100644 index 0000000..91f69f6 --- /dev/null +++ b/plugins/undelete/patches/undelete-0.0.6-vdr-1.5.7.diff @@ -0,0 +1,14 @@ +--- undelete-0.0.6/undelete.c.orig 2007-08-13 06:46:16.000000000 -0700 ++++ undelete-0.0.6/undelete.c 2007-08-13 06:59:10.000000000 -0700 +@@ -198,7 +198,11 @@ + private: + // Add any member variables or functions you may need here. + void FreeKeyNames(void); ++#if VDRVERSNUM >= 10507 ++ char* OSDLanguage; ++#else + int OSDLanguage; ++#endif + void TestAndSetOSDLanguage(void); + bool ProcessArg(int argc, char *argv[]); + #ifdef UND_Debug diff --git a/plugins/undelete/plugin.sh b/plugins/undelete/plugin.sh new file mode 100644 index 0000000..67abf49 --- /dev/null +++ b/plugins/undelete/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 02.03.2009 +# +# vdr-undelete + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.zulu-entertainment.de/files/vdr-undelete/vdr-undelete-0.0.6.tgz" +VERSION="undelete-0.0.6" +LINK="undelete" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/vcd/patches/vcd-0.9-makefile.diff b/plugins/vcd/patches/vcd-0.9-makefile.diff new file mode 100644 index 0000000..3ca6ca0 --- /dev/null +++ b/plugins/vcd/patches/vcd-0.9-makefile.diff @@ -0,0 +1,12 @@ +diff -ruN vcd-0.9-orig/Makefile vcd-0.9/Makefile +--- vcd-0.9-orig/Makefile ++++ vcd-0.9/Makefile +@@ -47,7 +47,7 @@ + + ### Includes and Defines (add further entries here): + +-INCLUDES = -I$(VDRINC) -I$(DVBDIR) ++INCLUDES += -I$(VDRDIR)/include + + DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"' -D_GNU_SOURCE + diff --git a/plugins/vcd/plugin.sh b/plugins/vcd/plugin.sh new file mode 100644 index 0000000..e19b4a8 --- /dev/null +++ b/plugins/vcd/plugin.sh @@ -0,0 +1,51 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 12.03.2008 +# +# vdr-vcd + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://www.heiligenmann.de/vdr/download/vdr-vcd-0.9.tgz" +VERSION="vcd-0.9" +LINK="vcd" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/vdr_plugins/do_not_delete_this_folder b/plugins/vdr_plugins/do_not_delete_this_folder new file mode 100755 index 0000000..592cc99 --- /dev/null +++ b/plugins/vdr_plugins/do_not_delete_this_folder @@ -0,0 +1,7 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 06.11.2007 +# +# dummy diff --git a/plugins/vdrcd/plugin.sh b/plugins/vdrcd/plugin.sh new file mode 100644 index 0000000..8a0e6c0 --- /dev/null +++ b/plugins/vdrcd/plugin.sh @@ -0,0 +1,51 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 30.03.2006 +# +# vdr-vdrcd + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://www.magoa.net/linux/files/vdr-vdrcd-0.0.10.1.tgz" +VERSION="vdrcd-0.0.10.1" +LINK="vdrcd" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/vdrrip/plugin.sh b/plugins/vdrrip/plugin.sh new file mode 100644 index 0000000..046162d --- /dev/null +++ b/plugins/vdrrip/plugin.sh @@ -0,0 +1,68 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 10.03.2009 +# +# vdr-vdrrip + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.zulu-entertainment.de/files/vdr-vdrrip/vdr-vdrrip-0.3.0-patched.tgz" +VERSION="vdrrip-0.3.0-patched" +LINK="vdrrip" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + rm -f $VDRSCRIPTDIR/queuehandler.sh + rm -f $VDRSCRIPTDIR/queuehandler.sh.conf + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + patch_p1_plugin + + ## plugin specials - start ## + if [ -f $DIR/queuehandler.sh ]; then + cp -f $DIR/queuehandler.sh $VDRSCRIPTDIR + else + cp -f $SOURCEDIR/VDR/PLUGINS/src/vdrrip/scripts/queuehandler.sh $VDRSCRIPTDIR + fi + if [ -f $DIR/queuehandler.sh.conf ]; then + cp -f $DIR/queuehandler.sh.conf $VDRSCRIPTDIR + else + cp -f $SOURCEDIR/VDR/PLUGINS/src/vdrrip/scripts/queuehandler.sh.conf $VDRSCRIPTDIR + fi + + chmod 0744 $VDRSCRIPTDIR/queuehandler.sh + chown $VDRUSER.$VDRGROUP $VDRSCRIPTDIR/queuehandler.sh + chown $VDRUSER.$VDRGROUP $VDRSCRIPTDIR/queuehandler.sh.conf + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/vdrrip/queuehandler.sh.conf b/plugins/vdrrip/queuehandler.sh.conf new file mode 100755 index 0000000..5699dc1 --- /dev/null +++ b/plugins/vdrrip/queuehandler.sh.conf @@ -0,0 +1,71 @@ +# +# queuehandler.sh.conf: +# this is the configuration-file of queuehandler.sh +# + qh_conf_ver="0.3.0" + + # set this to 1 to get debug-informations in the syslog and + # exit-messages of the queuehandler on the osd: + debug=0 + + # set this to 1 to see stdout while the queuehandler is executing an + # external programm + stdout=0 + + # resulting length (in seconds) of movies if the queuehandler is + # started in the preview-mode + previewlength=60 + + # check for new entries in queuefile (in seconds) + check=30 + + # check for unlocked queuefile (in seconds) + lock=5 + + + + # if you have set the setup-option "rename after encodings" + # to yes, this string will be appended to the recording-name + # after the movie is encoded. + append_string="_-_CONVERTED" + + + + # this pathes are used for the encoding of vdr-recordings & dvd's. + # they _must_ point to an unpatched mencoder & mplayer + mencoder="/usr/bin/mencoder" + mplayer="/usr/bin/mplayer" + + # this pathes are only used for encoding a vdr-recording with + # selected ac3-stream. + # they _must_ point to an ac3-patched mencoder & mplayer. + # if you don't use this feature you should deactivate the option + # AC3 Support (MPlayer-patch inst.) in the plugins setup-menu. + mencoder_ac3="/usr/bin/mencoder" + mplayer_ac3="/usr/bin/mplayer" + + + # this string is added to the mencoder-command in the + # queuehandler + useropts="" + + + + # optional tools (only needed for ogm/matroska-container) + vdrsync="/usr/bin/vdrsync.pl" + ffmpeg="/usr/bin/ffmpeg" + ogmmerge="/usr/bin/ogmmerge" + ogmsplit="/usr/bin/ogmsplit" + mkvmerge="/usr/bin/mkvmerge" + + + + # This (optional) command is used to display some informations + # from the queuehandler on your tv. + # You have to specify only $svdrpsend or $netcat. + # $netcat is only recommend, if perl isn't installed. + svdrpsend="/usr/bin/svdrpsend.pl" + #netcat="" + + vdrhostname="localhost" + diff --git a/plugins/vdrtvtime/patches/vdrtvtime-0.0.1e_vdr-1.5.2.diff b/plugins/vdrtvtime/patches/vdrtvtime-0.0.1e_vdr-1.5.2.diff new file mode 100644 index 0000000..5df1273 --- /dev/null +++ b/plugins/vdrtvtime/patches/vdrtvtime-0.0.1e_vdr-1.5.2.diff @@ -0,0 +1,48 @@ +diff -ruN vdrtvtime-0.0.1e-orig/vdrcommands.c vdrtvtime-0.0.1e/vdrcommands.c +--- vdrtvtime-0.0.1e-orig/vdrcommands.c 2007-03-24 21:11:52.000000000 +0100 ++++ vdrtvtime-0.0.1e/vdrcommands.c 2007-04-24 00:09:22.000000000 +0200 +@@ -29,7 +29,7 @@ + + struct tKbdMap { + eKbdFunc func; +- uint64 code; ++ uint64_t code; + }; + + static tKbdMap KbdMap[] = { +@@ -76,7 +76,7 @@ + rawMode = RawMode; + } + +-uint64 cTvtimeRemote::MapFuncToCode(int Func) { ++uint64_t cTvtimeRemote::MapFuncToCode(int Func) { + for (tKbdMap *p = KbdMap; p->func != kfNone; p++) { + if (p->func == Func) + return p->code; +@@ -84,7 +84,7 @@ + return (Func <= 0xFF) ? Func : 0; + } + +-int cTvtimeRemote::MapCodeToFunc(uint64 Code) { ++int cTvtimeRemote::MapCodeToFunc(uint64_t Code) { + #ifdef KBD_DEBUG + d(4,"MapCodeToFunc(Code %x)",(int) Code); + #endif +diff -ruN vdrtvtime-0.0.1e-orig/vdrcommands.h vdrtvtime-0.0.1e/vdrcommands.h +--- vdrtvtime-0.0.1e-orig/vdrcommands.h 2007-03-17 19:08:12.000000000 +0100 ++++ vdrtvtime-0.0.1e/vdrcommands.h 2007-04-24 00:04:46.000000000 +0200 +@@ -25,12 +25,12 @@ + private: + static bool kbdAvailable; + static bool rawMode; +- int MapCodeToFunc(uint64 Code); ++ int MapCodeToFunc(uint64_t Code); + public: + cTvtimeRemote(void); + virtual ~cTvtimeRemote(); + static bool KbdAvailable(void) { return kbdAvailable; } +- static uint64 MapFuncToCode(int Func); ++ static uint64_t MapFuncToCode(int Func); + static void SetRawMode(bool RawMode); + void ProcessCommand(uint64_t command); + }; diff --git a/plugins/vdrtvtime/plugin.sh b/plugins/vdrtvtime/plugin.sh new file mode 100644 index 0000000..b7826f8 --- /dev/null +++ b/plugins/vdrtvtime/plugin.sh @@ -0,0 +1,51 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 18.12.2007 +# +# vdrtvtime + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://www.wirbel.htpc-forum.de/unofficial_stuff/vdr-vdrtvtime-0.0.1e.tgz" +VERSION="vdrtvtime-0.0.1e" +LINK="vdrtvtime" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/vodcatcher/plugin.sh b/plugins/vodcatcher/plugin.sh new file mode 100644 index 0000000..c7c310f --- /dev/null +++ b/plugins/vodcatcher/plugin.sh @@ -0,0 +1,55 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 03.03.2009 +# +# vdr-vodcatcher + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.e-tobi.net/blog/files/vdr-vodcatcher-0.2.1.tar.gz" +VERSION="vodcatcher-0.2.1" +LINK="vodcatcher" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + patch_p1_plugin + + ## plugin specials - start ## + [ -f $DIR/vodcatchersources.conf ] && cp -f $DIR/vodcatchersources.conf $VDRCONFDIR/plugins + [ -d /var/cache/vdr-plugin-vodcatcher ] || mkdir -p /var/cache/vdr-plugin-vodcatcher + chown $VDRUSER:$VDRGROUP /var/cache/vdr-plugin-vodcatcher + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/vodcatcher/vodcatchersources.conf b/plugins/vodcatcher/vodcatchersources.conf new file mode 100644 index 0000000..b64e8a1 --- /dev/null +++ b/plugins/vodcatcher/vodcatchersources.conf @@ -0,0 +1,22 @@ +# sources for vdr-vodcatcher + +# Die Sendung mit der Maus +FEED_URL=http://podcast.wdr.de/maus.xml + +# ZDF-Kram +FEED_URL=http://videocast.srtwist.net/ + +# Galacticast +FEED_URL=http://feeds.feedburner.com/galacticast + +# Quarks & Co +FEED_URL=http://podcast.wdr.de/quarks.xml + +# Computer Club 2 +FEED_URL=http://www.cczwei.de/rss_tvissues.php + +# Probot World of Amazing Action-Figure Adventure! +FEED_URL=http://www.probotproductions.com/vidcasts/ProbotVodcast.xml + +# Adventures of Thomas Brin +FEED_URL=http://podcasts.thomasbrin.com/BrinRSS diff --git a/plugins/vompserver/plugin.sh b/plugins/vompserver/plugin.sh new file mode 100644 index 0000000..7550dbf --- /dev/null +++ b/plugins/vompserver/plugin.sh @@ -0,0 +1,61 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 20.07.2008 +# +# vdr-vompserver + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +VOMP_VERSION="0.3.0" +WEB="http://www.loggytronic.com/dl/vdr-vompserver-${VOMP_VERSION}.tgz" +VERSION="vompserver-${VOMP_VERSION}" +LINK="vompserver" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + rm -rf $VDRCONFDIR/plugins/vompserver + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + cd $DIR + WEB="http://www.loggytronic.com/dl/vomp-dongle-${VOMP_VERSION}" + VAR=`basename $WEB` + download_plugin + cp -rf $DIR/vompserver $VDRCONFDIR/plugins + cp -rf $SOURCEDIR/VDR/PLUGINS/src/vompserver/l10n $VDRCONFDIR/plugins/vompserver + cp -f $FILES/plugins/vomp-dongle-${VOMP_VERSION} $VDRCONFDIR/plugins/vompserver/vomp-dongle + chown -R $VDRUSER:$VDRGROUP $VDRCONFDIR/plugins/vompserver + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/vompserver/vompserver/vomp.conf b/plugins/vompserver/vompserver/vomp.conf new file mode 100644 index 0000000..2276afb --- /dev/null +++ b/plugins/vompserver/vompserver/vomp.conf @@ -0,0 +1,35 @@ +[General] + +## Specify a log file here to enable logging + +# Log file = /tmp/vompserver.log + +## If you have more than one vompserver running you +## can enter a name here that will appear on the +## server select list on the MVP + +Server name = My-Server + +## Enable this to start the built in Bootp server +## Required to boot the MVP if you have not got a +## DHCP server that can tell the MVP its boot file +## name and server + +Bootp server enabled = yes + +## Enable this to start the built in TFTP server +## Required to boot the MVP if you have not got a +## TFTP server running elsewhere + +TFTP server enabled = yes + +## Base directory for TFTP server +## If you leave this blank the plugin config +## path will be used - i.e. where this file is + +# TFTP directory = /var/lib/vdr/plugins/vompserver + +## Change the following to "no" to disable the +## built in mvprelay server + +MVPRelay enabled = yes diff --git a/plugins/wapd/patches/wapd-0.8.diff b/plugins/wapd/patches/wapd-0.8.diff new file mode 100644 index 0000000..5016a15 --- /dev/null +++ b/plugins/wapd/patches/wapd-0.8.diff @@ -0,0 +1,24 @@ +diff -Nur wapd-0.8/Makefile wapd-0.8-n/Makefile +--- wapd-0.8/Makefile 2006-11-07 02:11:51.000000000 +0100 ++++ wapd-0.8-n/Makefile 2006-11-07 03:04:48.000000000 +0100 +@@ -16,7 +16,7 @@ + ### The C++ compiler and options: + + CXX ?= g++ +-CXXFLAGS ?= -O2 -Wall -Woverloaded-virtual -ggdb ++CXXFLAGS ?= -fPIC -O2 -Wall -Woverloaded-virtual -ggdb + + ### The directory environment: + +diff -Nur wapd-0.8/server.c wapd-0.8-n/server.c +--- wapd-0.8/server.c 2005-12-24 15:19:20.000000000 +0100 ++++ wapd-0.8-n/server.c 2006-11-07 03:04:48.000000000 +0100 +@@ -694,7 +694,7 @@ + int offset = strtol(getopt, NULL, 10); + int i = 0; + const cEvent *PresentEvent = +- Schedule->GetPresentEvent(channel->Number() == cDevice::CurrentChannel()); ++ Schedule->GetPresentEvent(); + time_t now = time(NULL) - Setup.EPGLinger * 60; + for (const cEvent *Event = Schedule->Events()->First(); + Event; diff --git a/plugins/wapd/plugin.sh b/plugins/wapd/plugin.sh new file mode 100644 index 0000000..5928fe3 --- /dev/null +++ b/plugins/wapd/plugin.sh @@ -0,0 +1,51 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 21.12.2007 +# +# vdr-wapd + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://www.heiligenmann.de/vdr/download/vdr-wapd-0.8.tgz" +VERSION="wapd-0.8" +LINK="wapd" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/weatherng/patches/weatherng-0.0.10-gcc43.diff b/plugins/weatherng/patches/weatherng-0.0.10-gcc43.diff new file mode 100644 index 0000000..043c1ec --- /dev/null +++ b/plugins/weatherng/patches/weatherng-0.0.10-gcc43.diff @@ -0,0 +1,36 @@ +--- imagecache.h.orig 2008-12-20 18:02:29.000000000 +0100 ++++ imagecache.h 2008-12-20 18:07:46.000000000 +0100 +@@ -19,21 +19,21 @@ + + item_map mItems; + usage_list mUsage; +- uint mMaxItems; ++ unsigned int mMaxItems; + + protected: + virtual void DeleteObject(const key_type &Key, data_type &Data) = 0; + virtual void ResetObject(data_type &Data) = 0; + + public: +- cxCache(uint MaxItems); ++ cxCache(unsigned int MaxItems); + virtual ~cxCache(); + + void Reset(void); + void Flush(void); + bool Contains(const key_type &Key); + data_type &operator[](const key_type &Key); +- uint Count(void) { return mUsage.size(); } ++ unsigned int Count(void) { return mUsage.size(); } + }; + + template<class key_type, class data_type> +@@ -43,7 +43,7 @@ + } + + template<class key_type, class data_type> +-cxCache<key_type, data_type>::cxCache(uint MaxItems) ++cxCache<key_type, data_type>::cxCache(unsigned int MaxItems) + { + mMaxItems = MaxItems; + } diff --git a/plugins/weatherng/plugin.sh b/plugins/weatherng/plugin.sh new file mode 100644 index 0000000..a94f434 --- /dev/null +++ b/plugins/weatherng/plugin.sh @@ -0,0 +1,72 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 21.05.2008 +# +# vdr-weatherng + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://vdr.glaserei-franz.de/files/vdr-weatherng-0.0.10.tar.bz2" +VERSION="weatherng-0.0.10" +LINK="weatherng" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + rm -rf $VDRCONFDIR/plugins/weatherng + rm -f $VDRSCRIPTDIR/weatherng.sh + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + # config kopieren + if [ -d $DIR/images ]; then + cp -fR $DIR/weatherng $VDRCONFDIR/plugins + else + cp -fR $SOURCEDIR/VDR/PLUGINS/src/$LINK/weatherng/weatherng $VDRCONFDIR/plugins/weatherng + fi + + # script kopieren + if [ -f $DIR/weatherng.sh ]; then + cp -f $DIR/weatherng.sh $VDRSCRIPTDIR + else + cp -f $SOURCEDIR/VDR/PLUGINS/src/$LINK/examples/weatherng.sh $VDRSCRIPTDIR + fi + + # rechte setzen + chown -R $VDRUSER:$VDRGROUP $VDRCONFDIR/plugins/weatherng + chown $VDRUSER:$VDRGROUP $VDRSCRIPTDIR/weatherng.sh + chmod 0744 $VDRSCRIPTDIR/weatherng.sh + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/weatherng/weatherng.sh b/plugins/weatherng/weatherng.sh new file mode 100644 index 0000000..5127206 --- /dev/null +++ b/plugins/weatherng/weatherng.sh @@ -0,0 +1,76 @@ +#!/bin/sh +# +# weatherng.sh +# +# source: vdr-plugin weatherng +# + +# To use this examples of urls , you must have the permission of owner to download and +# use them. Otherwise you must change the URLs. See README or README.DE. + +# Change SETUPDIR if you need. +. /etc/default/vdr +SETUPDIR=$VDRCONFDIR + +LANGUAGE=( `grep -s ^OSDLanguage.*[0-9]$ "$SETUPDIR/setup.conf"` ) + +case "${LANGUAGE[2]}" in + + 1) MESG='Download abgeschlossen und Radarmaps aktualisiert' + URLS=(\ +# http://www.dwd.de/scripts/getimg.php?src=/wundk/Wetter.jpg \ +# http://www.zdf.de/ZDFde/wetter/showpicture/0,2236,355,00.jpg \ +# http://www.zdf.de/ZDFde/wetter/showpicture/0,2236,110,00.jpg \ +# http://www.zdf.de/ZDFde/wetter/showpicture/0,2236,267,00.jpg \ +# http://www.zdf.de/ZDFde/wetter/showpicture/0,2236,346,00.jpg \ + ) + ;; + 7) MESG='Téléchargement des données Météo OK' + URLS=(\ +# http://meteo.france3.fr/img/f3-france-512x384-j0pm.jpg \ +# http://meteo.france3.fr/img/f3-ouest-512x384-j0pm.jpg \ +# http://meteo.france3.fr/img/f3-ouest-512x384-j1am.jpg \ +# http://meteo.france3.fr/img/f3-ouest-512x384-j1pm.jpg \ +# http://meteo.france3.fr/img/f3-ouest-512x384-j2am.jpg \ + ) + ;; + 8) MESG='Sääkuvat päivitetty' + URLS=(\ +# http://weather.fmi.fi/yle/suomineito_1.gif \ +# http://www.yle.fi/saakartat/image1.jpg \ +# http://www.yle.fi/saakartat/isokartta.jpg \ +# http://www.yle.fi/saakartat/imgday1.jpg \ +# http://www.yle.fi/saakartat/imgday2.jpg \ + ) + ;; + *) MESG='Weather pictures updated' + URLS=(\ + "" \ + "" \ + "" \ + "" \ + "" \ + ) + ;; +esac + +if ping -c2 83.97.42.2 > /dev/null ; then + + for i in $(seq 0 10) ; do + eval ${URLS[$i]:+ wget -t 4 -T 20 "${URLS[$i]}" -O "$SETUPDIR/plugins/weatherng/pic${i}"} + done + + # Dont change or uncomment this and the following 5 lines. ;) + # Uncomment download only if you have a permission from The Weather Channel (see README). + # otherwise get one ;) and do whatever you want. + # !!!! DONT FORGET TO CHANE YOUR STATIONIDs !!!!!! (See README or README.DE how to get them. + # Example for Herne,Germany [GMXX0057]with a permission from The weather channel: + # e.g : wget -t 4 -T 20 "http://xoap.weather.com/weather/local/GMXX0057?cc=*&unit=m&dayf=10&prod=xoap&par=1004124588&key=079f24145f208494" -O "$SETUPDIR/plugins/weatherng/data1.xml" + +# wget -t 4 -T 20 "http://xoap.weather.com/weather/local/GMXX0242?cc=*&unit=m&dayf=10&prod=xoap&par=1004124588&key=079f24145f208494" -O "$SETUPDIR/plugins/weatherng/data1.xml" # Bielefeld-Windelsbleiche +# wget -t 4 -T 20 "http://xoap.weather.com/weather/local/GMXX0049?cc=*&unit=m&dayf=10&prod=xoap&par=1004124588&key=079f24145f208494" -O "$SETUPDIR/plugins/weatherng/data2.xml" # Hamburg +# wget -t 4 -T 20 "http://xoap.weather.com/weather/local/GMXX0007?cc=*&unit=m&dayf=10&prod=xoap&par=1004124588&key=079f24145f208494" -O "$SETUPDIR/plugins/weatherng/data3.xml" # Berlin + +fi + +echo $MESG diff --git a/plugins/wirbelscan/plugin.sh b/plugins/wirbelscan/plugin.sh new file mode 100644 index 0000000..3169cfe --- /dev/null +++ b/plugins/wirbelscan/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 12.05.2008 +# +# vdr-wirbelscan + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://wirbel.htpc-forum.de/wirbelscan/vdr-wirbelscan-0.0.4_20080512.tgz" +VERSION="wirbelscan-0.0.4" +LINK="wirbelscan" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/xine/plugin.sh b/plugins/xine/plugin.sh new file mode 100644 index 0000000..5254728 --- /dev/null +++ b/plugins/xine/plugin.sh @@ -0,0 +1,66 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 12.04.2009 +# +# vdr-xine + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://home.vrweb.de/~rnissl/vdr-xine-0.9.1.tgz" +VERSION="xine-0.9.1" +LINK="xine" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK + rm -rf $VERSION + rm -f $VDRLIBDIR/libvdr-$LINK.so* + rm -rf $VDRCONFDIR/plugins/xine + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + cd $SOURCEDIR/VDR/PLUGINS/src/$LINK + # Kopieren der "loops" + mkdir -p $VDRCONFDIR/plugins/xine + find . -name *.mpg -exec cp -v \{} $VDRCONFDIR/plugins/xine \; + # link fuer den Player + ln -vfs $(pwd)/xineplayer $PREFIX/bin/xineplayer + + # xinplayer.sh fuer divx und dvd + if [ -f $DIR/xineplayer.sh ]; then + cp -f $DIR/xineplayer.sh $VDRSCRIPTDIR + chown $VDRUSER:$VDRGROUP $VDRSCRIPTDIR/xineplayer.sh + chmod 0744 $VDRSCRIPTDIR/xineplayer.sh + fi + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/xine/xineplayer.sh b/plugins/xine/xineplayer.sh new file mode 100644 index 0000000..e79d541 --- /dev/null +++ b/plugins/xine/xineplayer.sh @@ -0,0 +1,44 @@ +#!/bin/sh +# +# xineplayer.sh - 0.0.1 +# Marc Wernecke - www.zulu-entertainment.de +# 28.09.2005 +# +# This script is called from VDR to start xineplayer +# +# argument 1: the file to play +# argument 2: (optional) the phrase SLAVE if SlaveMode is enabled +# argument 3: (optional) the phrase AID x to select audio stream x + +# Load defaults +. /etc/default/vdr + +# Where to find xineplayer +XINEPLAYER="xineplayer" + +# Where to find DVD/VCD dummy files? (just a fake and empty text file for the plugin) +DVDFiles="$MEDIADIR/DVD-VCD" + +# What is your DVD-ROM device ? +DVD="/dev/dvd" + +##################### + +FILE=$1 + +if test \( "$FILE" == "$DVDFiles/DVD" -o "$FILE" == "$DVDFiles/VCD" \) -a -n "$DVDFiles" -a -n "$DVD"; then + if test "$FILE" == "$DVDFiles/DVD"; then + CMDLINE="$XINEPLAYER -dvd-device $DVD dvd://" + fi + if test "$FILE" == "$DVDFiles/VCD"; then + CMDLINE="$XINEPLAYER -cdrom-device $DVD vcd://" + fi + unset FILE +elif test "${SUFFIX}" == ".cue"; then + CMDLINE="$XINEPLAYER -vcd 2 -cuefile" +else + CMDLINE="$XINEPLAYER $FILE" +fi + +exec $CMDLINE +exit
\ No newline at end of file diff --git a/plugins/xineliboutput/plugin.sh b/plugins/xineliboutput/plugin.sh new file mode 100755 index 0000000..2047a71 --- /dev/null +++ b/plugins/xineliboutput/plugin.sh @@ -0,0 +1,72 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 08.04.2009 +# +# vdr-xineliboutput + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +if [ "${VDRVERSION:2:1}" = "6" ] || [ "$VDRVERSION" = "1.7.0" ]; then + WEB="http://downloads.sourceforge.net/xineliboutput/vdr-xineliboutput-1.0.4.tgz" + VERSION="xineliboutput-1.0.4" +else + WEB="http://www.zulu-entertainment.de/files/vdr-xineliboutput/vdr-xineliboutput-cvs20090323.tar.bz2" + VERSION="xineliboutput-cvs20090323" +fi +LINK="xineliboutput" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + rm -f $VDRLIBDIR/libxineliboutput-* + XINEPLUGINDIR=`xine-config --plugindir` + [ -f $XINEPLUGINDIR/xineplug_inp_xvdr.so ] && rm -f $XINEPLUGINDIR/xineplug_inp_xvdr.so + [ -f $XINEPLUGINDIR/post/xineplug_post_audiochannel.so ] && rm -f $XINEPLUGINDIR/post/xineplug_post_audiochannel.so + [ -f $XINEPLUGINDIR/post/xineplug_post_autocrop.so ] && rm -f $XINEPLUGINDIR/post/xineplug_post_autocrop.so + [ -f $XINEPLUGINDIR/post/xineplug_post_swscale.so ] && rm -f $XINEPLUGINDIR/post/xineplug_post_swscale.so + [ -f $VDRBINDIR/vdr-fbfe ] && rm -f $VDRBINDIR/vdr-fbfe + [ -f $VDRBINDIR/vdr-sxfe ] && rm -f $VDRBINDIR/vdr-sxfe + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + patch_p1_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +# install frontends and xine plugins +if [ "$cmd" = "-m" ] || [ "$cmd" = "--make" ] || [ "$cmd" = "-r" ] || [ "$cmd" = "--remake" ]; then + cd $SOURCEDIR/VDR/PLUGINS/src/$LINK + make install +fi + +exit 0 diff --git a/plugins/xxvautotimer/plugin.sh b/plugins/xxvautotimer/plugin.sh new file mode 100644 index 0000000..22360b8 --- /dev/null +++ b/plugins/xxvautotimer/plugin.sh @@ -0,0 +1,60 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 04.12.2006 +# +# vdr-xxvautotimer + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://vdrtools.de/download/vdr-xxvautotimer-0.1.2.tgz" +VERSION="xxvautotimer-0.1.2" +LINK="xxvautotimer" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + # auf libmysqlclient prüfen + if [ -f "/usr/sbin/mysql_config" ]; then + log "libmyasqlclient gefunden" + else + log "libmysqlclient nicht gefunden" + apt_install libmysqlclient15-dev + fi + cp -f $SOURCEDIR/VDR/PLUGINS/src/$LINK/Scripte/epg2xxvautotimer.pl $VDRSCRIPTDIR + chmod 0744 $VDRSCRIPTDIR/epg2xxvautotimer.pl + chown $VDRUSER.$VDRGROUP $VDRSCRIPTDIR/epg2xxvautotimer.pl + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/yaepg/patches/p1/yaepg-0.0.2.2-gettext-i18n.diff b/plugins/yaepg/patches/p1/yaepg-0.0.2.2-gettext-i18n.diff new file mode 100644 index 0000000..c9d2d24 --- /dev/null +++ b/plugins/yaepg/patches/p1/yaepg-0.0.2.2-gettext-i18n.diff @@ -0,0 +1,1625 @@ +diff -Nru yaepg-0.0.2.2/i18n.c yaepg-0.0.2.2-fr/i18n.c +--- yaepg-0.0.2.2/i18n.c 2006-12-03 18:51:07.000000000 +0100 ++++ yaepg-0.0.2.2-fr/i18n.c 2008-04-12 13:56:27.000000000 +0200 +@@ -6,6 +6,7 @@ + * $Id: i18n.c,v 1.3 2004/11/08 01:41:20 bball Exp $ + */ + ++#if APIVERSNUM < 10507 + #include "i18n.h" + + const tI18nPhrase Phrases[] = { +@@ -15,7 +16,7 @@ + "",// Italiano + "",// Nederlands + "",// Português +- "",// Français ++ "Pas d'info",// Français + "",// Norsk + "",// suomi + "",// Polski +@@ -35,7 +36,7 @@ + "",// TODO + "",// TODO + "",// TODO +- "",// TODO ++ "Format de sortie",// TODO + "",// TODO + "",// TODO + "",// TODO +@@ -55,7 +56,7 @@ + "",// TODO + "",// TODO + "",// TODO +- "",// TODO ++ "Masquer dans le menu principal",// TODO + "",// TODO + "",// TODO + "",// TODO +@@ -75,7 +76,7 @@ + "",// TODO + "",// TODO + "",// TODO +- "",// TODO ++ "Changer automatiquement de canal",// TODO + "",// TODO + "",// TODO + "",// TODO +@@ -95,7 +96,7 @@ + "",// TODO + "",// TODO + "",// TODO +- "",// TODO ++ "Début:",// TODO + "",// TODO + "",// TODO + "",// TODO +@@ -115,7 +116,7 @@ + "",// TODO + "",// TODO + "",// TODO +- "",// TODO ++ "Fin:",// TODO + "",// TODO + "",// TODO + "",// TODO +@@ -135,7 +136,7 @@ + "",// TODO + "",// TODO + "",// TODO +- "",// TODO ++ "Fréquence:",// TODO + "",// TODO + "",// TODO + "",// TODO +@@ -155,7 +156,7 @@ + "",// TODO + "",// TODO + "",// TODO +- "",// TODO ++ "Chaque",// TODO + "",// TODO + "",// TODO + "",// TODO +@@ -175,7 +176,7 @@ + "",// TODO + "",// TODO + "",// TODO +- "",// TODO ++ "Lun",// TODO + "",// TODO + "",// TODO + "",// TODO +@@ -195,7 +196,7 @@ + "",// TODO + "",// TODO + "",// TODO +- "",// TODO ++ "Mar",// TODO + "",// TODO + "",// TODO + "",// TODO +@@ -215,7 +216,7 @@ + "",// TODO + "",// TODO + "",// TODO +- "",// TODO ++ "Mer",// TODO + "",// TODO + "",// TODO + "",// TODO +@@ -235,7 +236,7 @@ + "",// TODO + "",// TODO + "",// TODO +- "",// TODO ++ "Jeu",// TODO + "",// TODO + "",// TODO + "",// TODO +@@ -255,7 +256,7 @@ + "",// TODO + "",// TODO + "",// TODO +- "",// TODO ++ "Ven",// TODO + "",// TODO + "",// TODO + "",// TODO +@@ -275,7 +276,7 @@ + "",// TODO + "",// TODO + "",// TODO +- "",// TODO ++ "Sam",// TODO + "",// TODO + "",// TODO + "",// TODO +@@ -295,7 +296,7 @@ + "",// TODO + "",// TODO + "",// TODO +- "",// TODO ++ "Dim",// TODO + "",// TODO + "",// TODO + "",// TODO +@@ -315,7 +316,7 @@ + "",// TODO + "",// TODO + "",// TODO +- "",// TODO ++ "Lun-Ven",// TODO + "",// TODO + "",// TODO + "",// TODO +@@ -335,7 +336,7 @@ + "",// TODO + "",// TODO + "",// TODO +- "",// TODO ++ "Dim-Sam",// TODO + "",// TODO + "",// TODO + "",// TODO +@@ -355,7 +356,7 @@ + "",// TODO + "",// TODO + "",// TODO +- "",// TODO ++ "Aussitôt que",// TODO + "",// TODO + "",// TODO + "",// TODO +@@ -375,7 +376,7 @@ + "",// TODO + "",// TODO + "",// TODO +- "",// TODO ++ "Programmation ajoutée",// TODO + "",// TODO + "",// TODO + "",// TODO +@@ -395,7 +396,7 @@ + "",// TODO + "",// TODO + "",// TODO +- "",// TODO ++ "Programmation annulée",// TODO + "",// TODO + "",// TODO + "",// TODO +@@ -415,7 +416,7 @@ + "",// TODO + "",// TODO + "",// TODO +- "",// TODO ++ "Format de temps",// TODO + "",// TODO + "",// TODO + "",// TODO +@@ -431,3 +432,4 @@ + }, + { NULL } + }; ++#endif +diff -Nru yaepg-0.0.2.2/Makefile yaepg-0.0.2.2-fr/Makefile +--- yaepg-0.0.2.2/Makefile 2007-12-11 07:58:19.000000000 +0100 ++++ yaepg-0.0.2.2-fr/Makefile 2008-04-12 13:56:27.000000000 +0200 +@@ -61,9 +61,34 @@ + + -include $(DEPFILE) + ++### Internationalization (I18N): ++ ++PODIR = po ++LOCALEDIR = $(VDRDIR)/locale ++I18Npo = $(wildcard $(PODIR)/*.po) ++I18Nmo = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file)))) ++I18Ndirs = $(notdir $(foreach file, $(I18Npo), $(basename $(file)))) ++I18Npot = $(PODIR)/$(PLUGIN).pot ++ ++%.mo: %.po ++ msgfmt -c -o $@ $< ++ ++$(I18Npot): $(wildcard *.c) ++ xgettext -C -cTRANSLATORS --no-wrap -F -k -ktr -ktrNOOP --msgid-bugs-address='<micky979@free.fr>' -o $@ $(wildcard *.c) ++ ++$(I18Npo): $(I18Npot) ++ msgmerge -U --no-wrap -F --backup=none -q $@ $< ++ ++i18n: $(I18Nmo) ++ @mkdir -p $(LOCALEDIR) ++ for i in $(I18Ndirs); do\ ++ mkdir -p $(LOCALEDIR)/$$i/LC_MESSAGES;\ ++ cp $(PODIR)/$$i.mo $(LOCALEDIR)/$$i/LC_MESSAGES/vdr-$(PLUGIN).mo;\ ++ done ++ + ### Targets: + +-all: libvdr-$(PLUGIN).so ++all: libvdr-$(PLUGIN).so i18n + + libvdr-$(PLUGIN).so: $(OBJS) + $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@ +@@ -78,4 +103,5 @@ + @echo Distribution package created as $(PACKAGE).tgz + + clean: ++ @-rm -f $(PODIR)/*.mo $(PODIR)/*.pot + @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ +diff -Nru yaepg-0.0.2.2/po/ca_ES.po yaepg-0.0.2.2-fr/po/ca_ES.po +--- yaepg-0.0.2.2/po/ca_ES.po 1970-01-01 01:00:00.000000000 +0100 ++++ yaepg-0.0.2.2-fr/po/ca_ES.po 2008-04-12 13:56:27.000000000 +0200 +@@ -0,0 +1,58 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Marc Rovira Vall <tm05462@salleURL.edu>, 2003 ++# Ramon Roca <ramon.roca@xcombo.com>, 2003 ++# Jordi Vilà <jvila@tinet.org>, 2003 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2007-10-14 00:26+0200\n" ++"PO-Revision-Date: 2007-10-14 00:26+0200\n" ++"Last-Translator: Jordi Vilà <jvila@tinet.org>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-1\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: yaepg.c:674 yaepg.c:675 yaepg.c:731 ++msgid "No Info" ++msgstr "" ++ ++#: yaepg.c:894 ++msgid "Start:" ++msgstr "" ++ ++#: yaepg.c:902 ++msgid "Stop:" ++msgstr "" ++ ++#: yaepg.c:910 ++msgid "Frequency:" ++msgstr "" ++ ++#: yaepg.c:1612 ++msgid "Timer added" ++msgstr "" ++ ++#: yaepg.c:1623 ++msgid "Timer cancelled" ++msgstr "" ++ ++#: yaepg.c:2095 ++msgid "TV output format" ++msgstr "" ++ ++#: yaepg.c:2096 ++msgid "Hide mainmenu entry" ++msgstr "" ++ ++#: yaepg.c:2097 ++msgid "Change channel automatically" ++msgstr "" ++ ++#: yaepg.c:2098 ++msgid "Time format" ++msgstr "" +diff -Nru yaepg-0.0.2.2/po/cs_CZ.po yaepg-0.0.2.2-fr/po/cs_CZ.po +--- yaepg-0.0.2.2/po/cs_CZ.po 1970-01-01 01:00:00.000000000 +0100 ++++ yaepg-0.0.2.2-fr/po/cs_CZ.po 2008-04-12 13:56:27.000000000 +0200 +@@ -0,0 +1,56 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Vladimír Bárta <vladimir.barta@k2atmitec.cz>, 2006 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2007-10-14 00:26+0200\n" ++"PO-Revision-Date: 2007-10-14 00:26+0200\n" ++"Last-Translator: Vladimír Bárta <vladimir.barta@k2atmitec.cz>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-2\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: yaepg.c:674 yaepg.c:675 yaepg.c:731 ++msgid "No Info" ++msgstr "" ++ ++#: yaepg.c:894 ++msgid "Start:" ++msgstr "" ++ ++#: yaepg.c:902 ++msgid "Stop:" ++msgstr "" ++ ++#: yaepg.c:910 ++msgid "Frequency:" ++msgstr "" ++ ++#: yaepg.c:1612 ++msgid "Timer added" ++msgstr "" ++ ++#: yaepg.c:1623 ++msgid "Timer cancelled" ++msgstr "" ++ ++#: yaepg.c:2095 ++msgid "TV output format" ++msgstr "" ++ ++#: yaepg.c:2096 ++msgid "Hide mainmenu entry" ++msgstr "" ++ ++#: yaepg.c:2097 ++msgid "Change channel automatically" ++msgstr "" ++ ++#: yaepg.c:2098 ++msgid "Time format" ++msgstr "" +diff -Nru yaepg-0.0.2.2/po/da_DK.po yaepg-0.0.2.2-fr/po/da_DK.po +--- yaepg-0.0.2.2/po/da_DK.po 1970-01-01 01:00:00.000000000 +0100 ++++ yaepg-0.0.2.2-fr/po/da_DK.po 2008-04-12 13:56:27.000000000 +0200 +@@ -0,0 +1,56 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Mogens Elneff <mogens@elneff.dk>, 2004 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2007-10-14 00:26+0200\n" ++"PO-Revision-Date: 2007-10-14 00:26+0200\n" ++"Last-Translator: Mogens Elneff <mogens@elneff.dk>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-15\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: yaepg.c:674 yaepg.c:675 yaepg.c:731 ++msgid "No Info" ++msgstr "" ++ ++#: yaepg.c:894 ++msgid "Start:" ++msgstr "" ++ ++#: yaepg.c:902 ++msgid "Stop:" ++msgstr "" ++ ++#: yaepg.c:910 ++msgid "Frequency:" ++msgstr "" ++ ++#: yaepg.c:1612 ++msgid "Timer added" ++msgstr "" ++ ++#: yaepg.c:1623 ++msgid "Timer cancelled" ++msgstr "" ++ ++#: yaepg.c:2095 ++msgid "TV output format" ++msgstr "" ++ ++#: yaepg.c:2096 ++msgid "Hide mainmenu entry" ++msgstr "" ++ ++#: yaepg.c:2097 ++msgid "Change channel automatically" ++msgstr "" ++ ++#: yaepg.c:2098 ++msgid "Time format" ++msgstr "" +diff -Nru yaepg-0.0.2.2/po/de_DE.po yaepg-0.0.2.2-fr/po/de_DE.po +--- yaepg-0.0.2.2/po/de_DE.po 1970-01-01 01:00:00.000000000 +0100 ++++ yaepg-0.0.2.2-fr/po/de_DE.po 2008-04-12 13:56:27.000000000 +0200 +@@ -0,0 +1,56 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Klaus Schmidinger <kls@cadsoft.de>, 2000 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2007-10-14 00:26+0200\n" ++"PO-Revision-Date: 2007-10-14 00:26+0200\n" ++"Last-Translator: Klaus Schmidinger <kls@cadsoft.de>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-15\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: yaepg.c:674 yaepg.c:675 yaepg.c:731 ++msgid "No Info" ++msgstr "Keine Daten verfügbar." ++ ++#: yaepg.c:894 ++msgid "Start:" ++msgstr "Anfang:" ++ ++#: yaepg.c:902 ++msgid "Stop:" ++msgstr "Halt:" ++ ++#: yaepg.c:910 ++msgid "Frequency:" ++msgstr "Frequenz:" ++ ++#: yaepg.c:1612 ++msgid "Timer added" ++msgstr "Timer hinzugefügt" ++ ++#: yaepg.c:1623 ++msgid "Timer cancelled" ++msgstr "Timer annullierte" ++ ++#: yaepg.c:2095 ++msgid "TV output format" ++msgstr "TV Ausgabe" ++ ++#: yaepg.c:2096 ++msgid "Hide mainmenu entry" ++msgstr "Hauptmenüeintrag verstecken" ++ ++#: yaepg.c:2097 ++msgid "Change channel automatically" ++msgstr "Kanal automatisch wechseln" ++ ++#: yaepg.c:2098 ++msgid "Time format" ++msgstr "Zeit-Format" +diff -Nru yaepg-0.0.2.2/po/el_GR.po yaepg-0.0.2.2-fr/po/el_GR.po +--- yaepg-0.0.2.2/po/el_GR.po 1970-01-01 01:00:00.000000000 +0100 ++++ yaepg-0.0.2.2-fr/po/el_GR.po 2008-04-12 13:56:27.000000000 +0200 +@@ -0,0 +1,56 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Dimitrios Dimitrakos <mail@dimitrios.de>, 2002 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2007-10-14 00:26+0200\n" ++"PO-Revision-Date: 2007-10-14 00:26+0200\n" ++"Last-Translator: Dimitrios Dimitrakos <mail@dimitrios.de>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-7\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: yaepg.c:674 yaepg.c:675 yaepg.c:731 ++msgid "No Info" ++msgstr "" ++ ++#: yaepg.c:894 ++msgid "Start:" ++msgstr "" ++ ++#: yaepg.c:902 ++msgid "Stop:" ++msgstr "" ++ ++#: yaepg.c:910 ++msgid "Frequency:" ++msgstr "" ++ ++#: yaepg.c:1612 ++msgid "Timer added" ++msgstr "" ++ ++#: yaepg.c:1623 ++msgid "Timer cancelled" ++msgstr "" ++ ++#: yaepg.c:2095 ++msgid "TV output format" ++msgstr "" ++ ++#: yaepg.c:2096 ++msgid "Hide mainmenu entry" ++msgstr "" ++ ++#: yaepg.c:2097 ++msgid "Change channel automatically" ++msgstr "" ++ ++#: yaepg.c:2098 ++msgid "Time format" ++msgstr "" +diff -Nru yaepg-0.0.2.2/po/es_ES.po yaepg-0.0.2.2-fr/po/es_ES.po +--- yaepg-0.0.2.2/po/es_ES.po 1970-01-01 01:00:00.000000000 +0100 ++++ yaepg-0.0.2.2-fr/po/es_ES.po 2008-04-12 13:56:27.000000000 +0200 +@@ -0,0 +1,56 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Ruben Nunez Francisco <ruben.nunez@tang-it.com>, 2002 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2007-10-14 00:26+0200\n" ++"PO-Revision-Date: 2007-10-14 00:26+0200\n" ++"Last-Translator: Ruben Nunez Francisco <ruben.nunez@tang-it.com>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-15\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: yaepg.c:674 yaepg.c:675 yaepg.c:731 ++msgid "No Info" ++msgstr "" ++ ++#: yaepg.c:894 ++msgid "Start:" ++msgstr "" ++ ++#: yaepg.c:902 ++msgid "Stop:" ++msgstr "" ++ ++#: yaepg.c:910 ++msgid "Frequency:" ++msgstr "" ++ ++#: yaepg.c:1612 ++msgid "Timer added" ++msgstr "" ++ ++#: yaepg.c:1623 ++msgid "Timer cancelled" ++msgstr "" ++ ++#: yaepg.c:2095 ++msgid "TV output format" ++msgstr "" ++ ++#: yaepg.c:2096 ++msgid "Hide mainmenu entry" ++msgstr "" ++ ++#: yaepg.c:2097 ++msgid "Change channel automatically" ++msgstr "" ++ ++#: yaepg.c:2098 ++msgid "Time format" ++msgstr "" +diff -Nru yaepg-0.0.2.2/po/et_EE.po yaepg-0.0.2.2-fr/po/et_EE.po +--- yaepg-0.0.2.2/po/et_EE.po 1970-01-01 01:00:00.000000000 +0100 ++++ yaepg-0.0.2.2-fr/po/et_EE.po 2008-04-12 13:56:27.000000000 +0200 +@@ -0,0 +1,56 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Arthur Konovalov <kasjas@hot.ee>, 2004 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2007-10-14 00:26+0200\n" ++"PO-Revision-Date: 2007-10-14 00:26+0200\n" ++"Last-Translator: Arthur Konovalov <kasjas@hot.ee>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-13\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: yaepg.c:674 yaepg.c:675 yaepg.c:731 ++msgid "No Info" ++msgstr "" ++ ++#: yaepg.c:894 ++msgid "Start:" ++msgstr "" ++ ++#: yaepg.c:902 ++msgid "Stop:" ++msgstr "" ++ ++#: yaepg.c:910 ++msgid "Frequency:" ++msgstr "" ++ ++#: yaepg.c:1612 ++msgid "Timer added" ++msgstr "" ++ ++#: yaepg.c:1623 ++msgid "Timer cancelled" ++msgstr "" ++ ++#: yaepg.c:2095 ++msgid "TV output format" ++msgstr "" ++ ++#: yaepg.c:2096 ++msgid "Hide mainmenu entry" ++msgstr "" ++ ++#: yaepg.c:2097 ++msgid "Change channel automatically" ++msgstr "" ++ ++#: yaepg.c:2098 ++msgid "Time format" ++msgstr "" +diff -Nru yaepg-0.0.2.2/po/fi_FI.po yaepg-0.0.2.2-fr/po/fi_FI.po +--- yaepg-0.0.2.2/po/fi_FI.po 1970-01-01 01:00:00.000000000 +0100 ++++ yaepg-0.0.2.2-fr/po/fi_FI.po 2008-04-12 13:56:27.000000000 +0200 +@@ -0,0 +1,59 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Hannu Savolainen <hannu@opensound.com>, 2002 ++# Jaakko Hyvätti <jaakko@hyvatti.iki.fi>, 2002 ++# Niko Tarnanen <niko.tarnanen@hut.fi>, 2003 ++# Rolf Ahrenberg <rahrenbe@cc.hut.fi>, 2003 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2007-10-14 00:26+0200\n" ++"PO-Revision-Date: 2007-10-14 00:26+0200\n" ++"Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-15\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: yaepg.c:674 yaepg.c:675 yaepg.c:731 ++msgid "No Info" ++msgstr "" ++ ++#: yaepg.c:894 ++msgid "Start:" ++msgstr "" ++ ++#: yaepg.c:902 ++msgid "Stop:" ++msgstr "" ++ ++#: yaepg.c:910 ++msgid "Frequency:" ++msgstr "" ++ ++#: yaepg.c:1612 ++msgid "Timer added" ++msgstr "" ++ ++#: yaepg.c:1623 ++msgid "Timer cancelled" ++msgstr "" ++ ++#: yaepg.c:2095 ++msgid "TV output format" ++msgstr "" ++ ++#: yaepg.c:2096 ++msgid "Hide mainmenu entry" ++msgstr "" ++ ++#: yaepg.c:2097 ++msgid "Change channel automatically" ++msgstr "" ++ ++#: yaepg.c:2098 ++msgid "Time format" ++msgstr "" +diff -Nru yaepg-0.0.2.2/po/fr_FR.po yaepg-0.0.2.2-fr/po/fr_FR.po +--- yaepg-0.0.2.2/po/fr_FR.po 1970-01-01 01:00:00.000000000 +0100 ++++ yaepg-0.0.2.2-fr/po/fr_FR.po 2008-04-12 13:56:27.000000000 +0200 +@@ -0,0 +1,59 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Jean-Claude Repetto <jc@repetto.org>, 2001 ++# Olivier Jacques <jacquesolivier@hotmail.com>, 2003 ++# Gregoire Favre <greg@magma.unil.ch>, 2003 ++# Nicolas Huillard <nhuillard@e-dition.fr>, 2005 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2007-10-14 00:26+0200\n" ++"PO-Revision-Date: 2007-10-14 00:26+0200\n" ++"Last-Translator: Nicolas Huillard <nhuillard@e-dition.fr>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-1\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: yaepg.c:674 yaepg.c:675 yaepg.c:731 ++msgid "No Info" ++msgstr "Pas d'info" ++ ++#: yaepg.c:894 ++msgid "Start:" ++msgstr "Début:" ++ ++#: yaepg.c:902 ++msgid "Stop:" ++msgstr "Fin:" ++ ++#: yaepg.c:910 ++msgid "Frequency:" ++msgstr "Fréquence:" ++ ++#: yaepg.c:1612 ++msgid "Timer added" ++msgstr "Programmation ajoutée" ++ ++#: yaepg.c:1623 ++msgid "Timer cancelled" ++msgstr "Programmation annulée" ++ ++#: yaepg.c:2095 ++msgid "TV output format" ++msgstr "Format de sortie" ++ ++#: yaepg.c:2096 ++msgid "Hide mainmenu entry" ++msgstr "Masquer dans le menu principal" ++ ++#: yaepg.c:2097 ++msgid "Change channel automatically" ++msgstr "Changer automatiquement de chaîne" ++ ++#: yaepg.c:2098 ++msgid "Time format" ++msgstr "Format de l'heure" +diff -Nru yaepg-0.0.2.2/po/hr_HR.po yaepg-0.0.2.2-fr/po/hr_HR.po +--- yaepg-0.0.2.2/po/hr_HR.po 1970-01-01 01:00:00.000000000 +0100 ++++ yaepg-0.0.2.2-fr/po/hr_HR.po 2008-04-12 13:56:27.000000000 +0200 +@@ -0,0 +1,57 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Drazen Dupor <drazen.dupor@dupor.com>, 2004 ++# Dino Ravnic <dino.ravnic@fer.hr>, 2004 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2007-10-14 00:26+0200\n" ++"PO-Revision-Date: 2007-10-14 00:26+0200\n" ++"Last-Translator: Drazen Dupor <drazen.dupor@dupor.com>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-2\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: yaepg.c:674 yaepg.c:675 yaepg.c:731 ++msgid "No Info" ++msgstr "" ++ ++#: yaepg.c:894 ++msgid "Start:" ++msgstr "" ++ ++#: yaepg.c:902 ++msgid "Stop:" ++msgstr "" ++ ++#: yaepg.c:910 ++msgid "Frequency:" ++msgstr "" ++ ++#: yaepg.c:1612 ++msgid "Timer added" ++msgstr "" ++ ++#: yaepg.c:1623 ++msgid "Timer cancelled" ++msgstr "" ++ ++#: yaepg.c:2095 ++msgid "TV output format" ++msgstr "" ++ ++#: yaepg.c:2096 ++msgid "Hide mainmenu entry" ++msgstr "" ++ ++#: yaepg.c:2097 ++msgid "Change channel automatically" ++msgstr "" ++ ++#: yaepg.c:2098 ++msgid "Time format" ++msgstr "" +diff -Nru yaepg-0.0.2.2/po/hu_HU.po yaepg-0.0.2.2-fr/po/hu_HU.po +--- yaepg-0.0.2.2/po/hu_HU.po 1970-01-01 01:00:00.000000000 +0100 ++++ yaepg-0.0.2.2-fr/po/hu_HU.po 2008-04-12 13:56:27.000000000 +0200 +@@ -0,0 +1,57 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Istvan Koenigsberger <istvnko@hotmail.com>, 2002 ++# Guido Josten <guido.josten@t-online.de>, 2002 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2007-10-14 00:26+0200\n" ++"PO-Revision-Date: 2007-10-14 00:26+0200\n" ++"Last-Translator: Istvan Koenigsberger <istvnko@hotmail.com>, Guido Josten <guido.josten@t-online.de>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-2\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: yaepg.c:674 yaepg.c:675 yaepg.c:731 ++msgid "No Info" ++msgstr "" ++ ++#: yaepg.c:894 ++msgid "Start:" ++msgstr "" ++ ++#: yaepg.c:902 ++msgid "Stop:" ++msgstr "" ++ ++#: yaepg.c:910 ++msgid "Frequency:" ++msgstr "" ++ ++#: yaepg.c:1612 ++msgid "Timer added" ++msgstr "" ++ ++#: yaepg.c:1623 ++msgid "Timer cancelled" ++msgstr "" ++ ++#: yaepg.c:2095 ++msgid "TV output format" ++msgstr "" ++ ++#: yaepg.c:2096 ++msgid "Hide mainmenu entry" ++msgstr "" ++ ++#: yaepg.c:2097 ++msgid "Change channel automatically" ++msgstr "" ++ ++#: yaepg.c:2098 ++msgid "Time format" ++msgstr "" +diff -Nru yaepg-0.0.2.2/po/it_IT.po yaepg-0.0.2.2-fr/po/it_IT.po +--- yaepg-0.0.2.2/po/it_IT.po 1970-01-01 01:00:00.000000000 +0100 ++++ yaepg-0.0.2.2-fr/po/it_IT.po 2008-04-12 13:56:27.000000000 +0200 +@@ -0,0 +1,58 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Alberto Carraro <bertocar@tin.it>, 2001 ++# Antonio Ospite <ospite@studenti.unina.it>, 2003 ++# Sean Carlos <seanc@libero.it>, 2005 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2007-10-14 00:26+0200\n" ++"PO-Revision-Date: 2007-10-14 00:26+0200\n" ++"Last-Translator: Sean Carlos <seanc@libero.it>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-15\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: yaepg.c:674 yaepg.c:675 yaepg.c:731 ++msgid "No Info" ++msgstr "" ++ ++#: yaepg.c:894 ++msgid "Start:" ++msgstr "" ++ ++#: yaepg.c:902 ++msgid "Stop:" ++msgstr "" ++ ++#: yaepg.c:910 ++msgid "Frequency:" ++msgstr "" ++ ++#: yaepg.c:1612 ++msgid "Timer added" ++msgstr "" ++ ++#: yaepg.c:1623 ++msgid "Timer cancelled" ++msgstr "" ++ ++#: yaepg.c:2095 ++msgid "TV output format" ++msgstr "" ++ ++#: yaepg.c:2096 ++msgid "Hide mainmenu entry" ++msgstr "" ++ ++#: yaepg.c:2097 ++msgid "Change channel automatically" ++msgstr "" ++ ++#: yaepg.c:2098 ++msgid "Time format" ++msgstr "" +diff -Nru yaepg-0.0.2.2/po/nl_NL.po yaepg-0.0.2.2-fr/po/nl_NL.po +--- yaepg-0.0.2.2/po/nl_NL.po 1970-01-01 01:00:00.000000000 +0100 ++++ yaepg-0.0.2.2-fr/po/nl_NL.po 2008-04-12 13:56:27.000000000 +0200 +@@ -0,0 +1,58 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Arnold Niessen <niessen@iae.nl> <arnold.niessen@philips.com>, 2001 ++# Hans Dingemans <hans.dingemans@tacticalops.nl>, 2003 ++# Maarten Wisse <Maarten.Wisse@urz.uni-hd.de>, 2005 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2007-10-14 00:26+0200\n" ++"PO-Revision-Date: 2007-10-14 00:26+0200\n" ++"Last-Translator: Maarten Wisse <Maarten.Wisse@urz.uni-hd.de>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-15\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: yaepg.c:674 yaepg.c:675 yaepg.c:731 ++msgid "No Info" ++msgstr "" ++ ++#: yaepg.c:894 ++msgid "Start:" ++msgstr "" ++ ++#: yaepg.c:902 ++msgid "Stop:" ++msgstr "" ++ ++#: yaepg.c:910 ++msgid "Frequency:" ++msgstr "" ++ ++#: yaepg.c:1612 ++msgid "Timer added" ++msgstr "" ++ ++#: yaepg.c:1623 ++msgid "Timer cancelled" ++msgstr "" ++ ++#: yaepg.c:2095 ++msgid "TV output format" ++msgstr "" ++ ++#: yaepg.c:2096 ++msgid "Hide mainmenu entry" ++msgstr "" ++ ++#: yaepg.c:2097 ++msgid "Change channel automatically" ++msgstr "" ++ ++#: yaepg.c:2098 ++msgid "Time format" ++msgstr "" +diff -Nru yaepg-0.0.2.2/po/nn_NO.po yaepg-0.0.2.2-fr/po/nn_NO.po +--- yaepg-0.0.2.2/po/nn_NO.po 1970-01-01 01:00:00.000000000 +0100 ++++ yaepg-0.0.2.2-fr/po/nn_NO.po 2008-04-12 13:56:27.000000000 +0200 +@@ -0,0 +1,57 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Jørgen Tvedt <pjtvedt@online.no>, 2001 ++# Truls Slevigen <truls@slevigen.no>, 2002 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2007-10-14 00:26+0200\n" ++"PO-Revision-Date: 2007-10-14 00:26+0200\n" ++"Last-Translator: Truls Slevigen <truls@slevigen.no>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-1\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: yaepg.c:674 yaepg.c:675 yaepg.c:731 ++msgid "No Info" ++msgstr "" ++ ++#: yaepg.c:894 ++msgid "Start:" ++msgstr "" ++ ++#: yaepg.c:902 ++msgid "Stop:" ++msgstr "" ++ ++#: yaepg.c:910 ++msgid "Frequency:" ++msgstr "" ++ ++#: yaepg.c:1612 ++msgid "Timer added" ++msgstr "" ++ ++#: yaepg.c:1623 ++msgid "Timer cancelled" ++msgstr "" ++ ++#: yaepg.c:2095 ++msgid "TV output format" ++msgstr "" ++ ++#: yaepg.c:2096 ++msgid "Hide mainmenu entry" ++msgstr "" ++ ++#: yaepg.c:2097 ++msgid "Change channel automatically" ++msgstr "" ++ ++#: yaepg.c:2098 ++msgid "Time format" ++msgstr "" +diff -Nru yaepg-0.0.2.2/po/pl_PL.po yaepg-0.0.2.2-fr/po/pl_PL.po +--- yaepg-0.0.2.2/po/pl_PL.po 1970-01-01 01:00:00.000000000 +0100 ++++ yaepg-0.0.2.2-fr/po/pl_PL.po 2008-04-12 13:56:27.000000000 +0200 +@@ -0,0 +1,56 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Michael Rakowski <mrak@gmx.de>, 2002 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2007-10-14 00:26+0200\n" ++"PO-Revision-Date: 2007-10-14 00:26+0200\n" ++"Last-Translator: Michael Rakowski <mrak@gmx.de>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-2\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: yaepg.c:674 yaepg.c:675 yaepg.c:731 ++msgid "No Info" ++msgstr "" ++ ++#: yaepg.c:894 ++msgid "Start:" ++msgstr "" ++ ++#: yaepg.c:902 ++msgid "Stop:" ++msgstr "" ++ ++#: yaepg.c:910 ++msgid "Frequency:" ++msgstr "" ++ ++#: yaepg.c:1612 ++msgid "Timer added" ++msgstr "" ++ ++#: yaepg.c:1623 ++msgid "Timer cancelled" ++msgstr "" ++ ++#: yaepg.c:2095 ++msgid "TV output format" ++msgstr "" ++ ++#: yaepg.c:2096 ++msgid "Hide mainmenu entry" ++msgstr "" ++ ++#: yaepg.c:2097 ++msgid "Change channel automatically" ++msgstr "" ++ ++#: yaepg.c:2098 ++msgid "Time format" ++msgstr "" +diff -Nru yaepg-0.0.2.2/po/pt_PT.po yaepg-0.0.2.2-fr/po/pt_PT.po +--- yaepg-0.0.2.2/po/pt_PT.po 1970-01-01 01:00:00.000000000 +0100 ++++ yaepg-0.0.2.2-fr/po/pt_PT.po 2008-04-12 13:56:27.000000000 +0200 +@@ -0,0 +1,56 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Paulo Lopes <pmml@netvita.pt>, 2001 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2007-10-14 00:26+0200\n" ++"PO-Revision-Date: 2007-10-14 00:26+0200\n" ++"Last-Translator: Paulo Lopes <pmml@netvita.pt>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-1\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: yaepg.c:674 yaepg.c:675 yaepg.c:731 ++msgid "No Info" ++msgstr "" ++ ++#: yaepg.c:894 ++msgid "Start:" ++msgstr "" ++ ++#: yaepg.c:902 ++msgid "Stop:" ++msgstr "" ++ ++#: yaepg.c:910 ++msgid "Frequency:" ++msgstr "" ++ ++#: yaepg.c:1612 ++msgid "Timer added" ++msgstr "" ++ ++#: yaepg.c:1623 ++msgid "Timer cancelled" ++msgstr "" ++ ++#: yaepg.c:2095 ++msgid "TV output format" ++msgstr "" ++ ++#: yaepg.c:2096 ++msgid "Hide mainmenu entry" ++msgstr "" ++ ++#: yaepg.c:2097 ++msgid "Change channel automatically" ++msgstr "" ++ ++#: yaepg.c:2098 ++msgid "Time format" ++msgstr "" +diff -Nru yaepg-0.0.2.2/po/ro_RO.po yaepg-0.0.2.2-fr/po/ro_RO.po +--- yaepg-0.0.2.2/po/ro_RO.po 1970-01-01 01:00:00.000000000 +0100 ++++ yaepg-0.0.2.2-fr/po/ro_RO.po 2008-04-12 13:56:27.000000000 +0200 +@@ -0,0 +1,57 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Paul Lacatus <paul@campina.iiruc.ro>, 2002 ++# Lucian Muresan <lucianm@users.sourceforge.net>, 2004 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2007-10-14 00:26+0200\n" ++"PO-Revision-Date: 2007-10-14 00:26+0200\n" ++"Last-Translator: Lucian Muresan <lucianm@users.sourceforge.net>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-2\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: yaepg.c:674 yaepg.c:675 yaepg.c:731 ++msgid "No Info" ++msgstr "" ++ ++#: yaepg.c:894 ++msgid "Start:" ++msgstr "" ++ ++#: yaepg.c:902 ++msgid "Stop:" ++msgstr "" ++ ++#: yaepg.c:910 ++msgid "Frequency:" ++msgstr "" ++ ++#: yaepg.c:1612 ++msgid "Timer added" ++msgstr "" ++ ++#: yaepg.c:1623 ++msgid "Timer cancelled" ++msgstr "" ++ ++#: yaepg.c:2095 ++msgid "TV output format" ++msgstr "" ++ ++#: yaepg.c:2096 ++msgid "Hide mainmenu entry" ++msgstr "" ++ ++#: yaepg.c:2097 ++msgid "Change channel automatically" ++msgstr "" ++ ++#: yaepg.c:2098 ++msgid "Time format" ++msgstr "" +diff -Nru yaepg-0.0.2.2/po/ru_RU.po yaepg-0.0.2.2-fr/po/ru_RU.po +--- yaepg-0.0.2.2/po/ru_RU.po 1970-01-01 01:00:00.000000000 +0100 ++++ yaepg-0.0.2.2-fr/po/ru_RU.po 2008-04-12 13:56:27.000000000 +0200 +@@ -0,0 +1,56 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Vyacheslav Dikonov <sdiconov@mail.ru>, 2004 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2007-10-14 00:26+0200\n" ++"PO-Revision-Date: 2007-10-14 00:26+0200\n" ++"Last-Translator: Vyacheslav Dikonov <sdiconov@mail.ru>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-5\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: yaepg.c:674 yaepg.c:675 yaepg.c:731 ++msgid "No Info" ++msgstr "" ++ ++#: yaepg.c:894 ++msgid "Start:" ++msgstr "" ++ ++#: yaepg.c:902 ++msgid "Stop:" ++msgstr "" ++ ++#: yaepg.c:910 ++msgid "Frequency:" ++msgstr "" ++ ++#: yaepg.c:1612 ++msgid "Timer added" ++msgstr "" ++ ++#: yaepg.c:1623 ++msgid "Timer cancelled" ++msgstr "" ++ ++#: yaepg.c:2095 ++msgid "TV output format" ++msgstr "" ++ ++#: yaepg.c:2096 ++msgid "Hide mainmenu entry" ++msgstr "" ++ ++#: yaepg.c:2097 ++msgid "Change channel automatically" ++msgstr "" ++ ++#: yaepg.c:2098 ++msgid "Time format" ++msgstr "" +diff -Nru yaepg-0.0.2.2/po/sl_SI.po yaepg-0.0.2.2-fr/po/sl_SI.po +--- yaepg-0.0.2.2/po/sl_SI.po 1970-01-01 01:00:00.000000000 +0100 ++++ yaepg-0.0.2.2-fr/po/sl_SI.po 2008-04-12 13:56:27.000000000 +0200 +@@ -0,0 +1,57 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Miha Setina <mihasetina@softhome.net>, 2000 ++# Matjaz Thaler <matjaz.thaler@guest.arnes.si>, 2003 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2007-10-14 00:26+0200\n" ++"PO-Revision-Date: 2007-10-14 00:26+0200\n" ++"Last-Translator: Matjaz Thaler <matjaz.thaler@guest.arnes.si>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-2\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: yaepg.c:674 yaepg.c:675 yaepg.c:731 ++msgid "No Info" ++msgstr "" ++ ++#: yaepg.c:894 ++msgid "Start:" ++msgstr "" ++ ++#: yaepg.c:902 ++msgid "Stop:" ++msgstr "" ++ ++#: yaepg.c:910 ++msgid "Frequency:" ++msgstr "" ++ ++#: yaepg.c:1612 ++msgid "Timer added" ++msgstr "" ++ ++#: yaepg.c:1623 ++msgid "Timer cancelled" ++msgstr "" ++ ++#: yaepg.c:2095 ++msgid "TV output format" ++msgstr "" ++ ++#: yaepg.c:2096 ++msgid "Hide mainmenu entry" ++msgstr "" ++ ++#: yaepg.c:2097 ++msgid "Change channel automatically" ++msgstr "" ++ ++#: yaepg.c:2098 ++msgid "Time format" ++msgstr "" +diff -Nru yaepg-0.0.2.2/po/sv_SE.po yaepg-0.0.2.2-fr/po/sv_SE.po +--- yaepg-0.0.2.2/po/sv_SE.po 1970-01-01 01:00:00.000000000 +0100 ++++ yaepg-0.0.2.2-fr/po/sv_SE.po 2008-04-12 13:56:27.000000000 +0200 +@@ -0,0 +1,57 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Tomas Prybil <tomas@prybil.se>, 2002 ++# Jan Ekholm <chakie@infa.abo.fi>, 2003 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2007-10-14 00:26+0200\n" ++"PO-Revision-Date: 2007-10-14 00:26+0200\n" ++"Last-Translator: Tomas Prybil <tomas@prybil.se>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-1\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: yaepg.c:674 yaepg.c:675 yaepg.c:731 ++msgid "No Info" ++msgstr "" ++ ++#: yaepg.c:894 ++msgid "Start:" ++msgstr "" ++ ++#: yaepg.c:902 ++msgid "Stop:" ++msgstr "" ++ ++#: yaepg.c:910 ++msgid "Frequency:" ++msgstr "" ++ ++#: yaepg.c:1612 ++msgid "Timer added" ++msgstr "" ++ ++#: yaepg.c:1623 ++msgid "Timer cancelled" ++msgstr "" ++ ++#: yaepg.c:2095 ++msgid "TV output format" ++msgstr "" ++ ++#: yaepg.c:2096 ++msgid "Hide mainmenu entry" ++msgstr "" ++ ++#: yaepg.c:2097 ++msgid "Change channel automatically" ++msgstr "" ++ ++#: yaepg.c:2098 ++msgid "Time format" ++msgstr "" +diff -Nru yaepg-0.0.2.2/po/tr_TR.po yaepg-0.0.2.2-fr/po/tr_TR.po +--- yaepg-0.0.2.2/po/tr_TR.po 1970-01-01 01:00:00.000000000 +0100 ++++ yaepg-0.0.2.2-fr/po/tr_TR.po 2008-04-12 13:56:27.000000000 +0200 +@@ -0,0 +1,56 @@ ++# VDR plugin language source file. ++# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> ++# This file is distributed under the same license as the VDR package. ++# Oktay Yolgeçen <oktay_73@yahoo.de>, 2007 ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: VDR 1.5.7\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2007-10-14 00:26+0200\n" ++"PO-Revision-Date: 2007-10-14 00:26+0200\n" ++"Last-Translator: Oktay Yolgeçen <oktay_73@yahoo.de>\n" ++"Language-Team: <vdr@linuxtv.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=ISO-8859-9\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: yaepg.c:674 yaepg.c:675 yaepg.c:731 ++msgid "No Info" ++msgstr "" ++ ++#: yaepg.c:894 ++msgid "Start:" ++msgstr "" ++ ++#: yaepg.c:902 ++msgid "Stop:" ++msgstr "" ++ ++#: yaepg.c:910 ++msgid "Frequency:" ++msgstr "" ++ ++#: yaepg.c:1612 ++msgid "Timer added" ++msgstr "" ++ ++#: yaepg.c:1623 ++msgid "Timer cancelled" ++msgstr "" ++ ++#: yaepg.c:2095 ++msgid "TV output format" ++msgstr "" ++ ++#: yaepg.c:2096 ++msgid "Hide mainmenu entry" ++msgstr "" ++ ++#: yaepg.c:2097 ++msgid "Change channel automatically" ++msgstr "" ++ ++#: yaepg.c:2098 ++msgid "Time format" ++msgstr "" +diff -Nru yaepg-0.0.2.2/po/yaepg.pot yaepg-0.0.2.2-fr/po/yaepg.pot +--- yaepg-0.0.2.2/po/yaepg.pot 1970-01-01 01:00:00.000000000 +0100 ++++ yaepg-0.0.2.2-fr/po/yaepg.pot 2008-04-12 13:56:27.000000000 +0200 +@@ -0,0 +1,57 @@ ++# SOME DESCRIPTIVE TITLE. ++# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER ++# This file is distributed under the same license as the PACKAGE package. ++# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. ++# ++#, fuzzy ++msgid "" ++msgstr "" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: micky979@free.fr\n" ++"POT-Creation-Date: 2007-10-14 00:26+0200\n" ++"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" ++"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" ++"Language-Team: LANGUAGE <LL@li.org>\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=CHARSET\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: yaepg.c:674 yaepg.c:675 yaepg.c:731 ++msgid "No Info" ++msgstr "" ++ ++#: yaepg.c:894 ++msgid "Start:" ++msgstr "" ++ ++#: yaepg.c:902 ++msgid "Stop:" ++msgstr "" ++ ++#: yaepg.c:910 ++msgid "Frequency:" ++msgstr "" ++ ++#: yaepg.c:1612 ++msgid "Timer added" ++msgstr "" ++ ++#: yaepg.c:1623 ++msgid "Timer cancelled" ++msgstr "" ++ ++#: yaepg.c:2095 ++msgid "TV output format" ++msgstr "" ++ ++#: yaepg.c:2096 ++msgid "Hide mainmenu entry" ++msgstr "" ++ ++#: yaepg.c:2097 ++msgid "Change channel automatically" ++msgstr "" ++ ++#: yaepg.c:2098 ++msgid "Time format" ++msgstr "" +diff -Nru yaepg-0.0.2.2/yaepg.c yaepg-0.0.2.2-fr/yaepg.c +--- yaepg-0.0.2.2/yaepg.c 2007-06-18 02:16:25.000000000 +0200 ++++ yaepg-0.0.2.2-fr/yaepg.c 2008-04-12 13:56:42.000000000 +0200 +@@ -2073,7 +2073,9 @@ + bool cPluginYaepg::Start(void) + { + // Start any background activities the plugin shall perform. ++#if APIVERSNUM < 10507 + RegisterI18n(Phrases); ++#endif + return true; + } + +diff -Nru yaepg-0.0.2.2/yaepg.h yaepg-0.0.2.2-fr/yaepg.h +--- yaepg-0.0.2.2/yaepg.h 2007-06-18 02:15:48.000000000 +0200 ++++ yaepg-0.0.2.2-fr/yaepg.h 2008-04-12 13:56:27.000000000 +0200 +@@ -11,7 +11,9 @@ + + #include <vdr/plugin.h> + #include <stdarg.h> ++#if APIVERSNUM < 10507 + #include "i18n.h" ++#endif + + #define YAEPG_ERROR(...) cYaepg::LogMsg(YLOG_ERR, __VA_ARGS__) + #define YAEPG_INFO(...) cYaepg::LogMsg(YLOG_INF, __VA_ARGS__) +@@ -22,7 +24,7 @@ + } eYlog_t; + + static const char *VERSION = "0.0.2.2"; +-static const char *DESCRIPTION = "Yet Another EPG"; +-static const char *MAINMENUENTRY = "Yaepg"; ++static const char *DESCRIPTION = trNOOP("Yet Another EPG"); ++static const char *MAINMENUENTRY = tr("Yaepg"); + + #endif /* _YAEPG__H */ diff --git a/plugins/yaepg/patches/yaepg-0.0.2.2_vdr-1.4.7.diff b/plugins/yaepg/patches/yaepg-0.0.2.2_vdr-1.4.7.diff new file mode 100644 index 0000000..abd7688 --- /dev/null +++ b/plugins/yaepg/patches/yaepg-0.0.2.2_vdr-1.4.7.diff @@ -0,0 +1,13 @@ +diff -ruN yaepg-0.0.2.2/yaepg.c yaepg-0.0.2.2_vdr-1.4.7/yaepg.c +--- yaepg-0.0.2.2/yaepg.c ++++ yaepg-0.0.2.2_vdr-1.4.7/yaepg.c +@@ -17,7 +17,9 @@ + static const tColor highlight = (tColor) 0xFF505050; + static const tColor lightgrey = (tColor) 0xFFAAAAAA; + ++#if VDRVERSNUM >= 10503 + #define fontYaepg fontSml ++#endif + #define fontChanBox fontYaepg + #define fontTimeBox fontYaepg + #define fontEventBox fontYaepg diff --git a/plugins/yaepg/plugin.sh b/plugins/yaepg/plugin.sh new file mode 100644 index 0000000..9fbf175 --- /dev/null +++ b/plugins/yaepg/plugin.sh @@ -0,0 +1,53 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 05.05.2008 +# +# vdr-yaepg + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://vdr-wiki.de/vdr/vdr-yaepg/vdr-yaepg-0.0.2.2.tgz" +VERSION="yaepg-0.0.2.2" +LINK="yaepg" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + patch_p1_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 diff --git a/plugins/zaphistory/plugin.sh b/plugins/zaphistory/plugin.sh new file mode 100644 index 0000000..5ec24cb --- /dev/null +++ b/plugins/zaphistory/plugin.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 05.05.2008 +# +# vdr-zaphistory + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://vdr-wiki.de/vdr/vdr-zaphistory/vdr-zaphistory-0.9.5.tgz" +VERSION="zaphistory-0.9.5" +LINK="zaphistory" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 |
