From c63a8008721d6257eb1cb6185b8792da8d4d9672 Mon Sep 17 00:00:00 2001
From: Britney Fransen <brfransen@gmail.com>
Date: Mon, 24 Apr 2017 19:00:45 +0000
Subject: LinHES-system: ripD_eject.sh: update handbrake profiles.

use dvdbackup to detect dvd in a loop
---
 abs/core/LinHES-system/PKGBUILD      |   4 +-
 abs/core/LinHES-system/ripD_eject.sh | 104 +++++++++++++++++++----------------
 2 files changed, 60 insertions(+), 48 deletions(-)

diff --git a/abs/core/LinHES-system/PKGBUILD b/abs/core/LinHES-system/PKGBUILD
index 3de7853..fbf5ae1 100755
--- a/abs/core/LinHES-system/PKGBUILD
+++ b/abs/core/LinHES-system/PKGBUILD
@@ -1,6 +1,6 @@
 pkgname=LinHES-system
 pkgver=8.4
-pkgrel=24
+pkgrel=25
 arch=('i686' 'x86_64')
 install=system.install
 pkgdesc="Everything that makes LinHES an automated system"
@@ -134,7 +134,7 @@ md5sums=('c6e6b83a1f4c35ef4501e277657ab2ac'
          'ff689f2e9572a78d88384b2e5774f579'
          '28f29578e5b3ba84fdf2aa57cf475bcf'
          '4a1fda884dcd7d65fb2690fbdbd92a83'
-         '2b7fe3b57592823a4c7e3ec132dcb7f4'
+         '29f451783db3220b612e00c29e3ded73'
          'de3028ed75b53bd2f85ffbfdf64c44c2'
          '95c092f67036a361ef7a57436f44332e'
          '410795ef9039e4c6c0484e706ecfd567'
diff --git a/abs/core/LinHES-system/ripD_eject.sh b/abs/core/LinHES-system/ripD_eject.sh
index 715d0dd..baef7a1 100755
--- a/abs/core/LinHES-system/ripD_eject.sh
+++ b/abs/core/LinHES-system/ripD_eject.sh
@@ -9,7 +9,7 @@ Bsnd='/usr/share/sounds/init.wav'	# Begin sound file
 Esnd='/usr/share/sounds/complete.wav'	# End   sound file
 DATE=$(date +%Y%m%d_%H%M)		# current date/time
 LOG='/var/log/mythtv/ripD.log'			# name of Log file.
-TRACK=$(lsdvd | grep -i longest | awk '{print $3}')		#Finds longest track
+#TRACK=$(lsdvd | grep -i longest | awk '{print $3}')		#Finds longest track
 FILE=$TITLE
 #-----------------------------------------------------------------------
 [ -r /etc/rip.cfg ] && . /etc/rip.cfg
@@ -18,30 +18,51 @@ LOCK=/tmp/.ripLock.$$
 [ "$DISPLAY" == "" ] && export DISPLAY=:0
 ########################################################################
 function osd { # $1=text, $2=delay
+    msg_client.py --clear ripD
     msg_client.py --kill
-    msg_client.py --msg "$1" --timeout $2
+    msg_client.py --msg "$1" --timeout $2 --tag ripD
 } >& /dev/null
+
 function osd_loop() {
     FN=$1 ; shift
     TXT="to $dir/$FILE"
     N=0
     while [ -f "$LOCK" ]; do
-    osd "Backing up '$TITLE' $TXT" 70
-    N=$(($N+1))
-#	[ -d "$FN" ] && SIZE=$(du -sh $FN | awk '{print $1}')
-#	TXT="$SIZE of $MAX @ $N min. elapsed"
-    TXT="($N min. elapsed)"
-    sleep 60
+        osd "Backing up '$TITLE' $TXT" 70
+        N=$(($N+1))
+        TXT="($N min. elapsed)"
+        sleep 60
     done
 }
 ########################################################################
 osd "Detecting DVD..." 60 &
-echo "`date` detected DVD" >> $LOG
-rm -f /tmp/.ripLock.*
+# first make sure DMA is on:
+sudo hdparm -d1 -u1 $DEV >& /dev/null
+dvdFound=false
+for c in {1..10}; do
+    dvdBACKlog=$(dvdbackup -i /dev/sr0 -I)
+    if [[ $dvdBACKlog == *"information"* ]]; then
+        echo "`date` detected DVD" >> $LOG
+        rm -f /tmp/.ripLock.*
+        # attempt to get the DVD information:
+        TITLE=$(dvdbackup -i /dev/sr0 -I | grep information | awk '{ s = ""; for (i = 8; i <= NF; i++) s = s $i " "; print s }' | tr -d '"' | sed 's/ /_/g' | sed 's/_$//g')
+        dvdFound=true
+        osd "Found DVD '$TITLE'" 10 &
+        sleep 1
+        break
+    fi
+    sleep 3
+done
+if ! $dvdFound ; then
+    echo "no DVD" >> $LOG
+    osd "DVD not found" 10 &
+    eject ; eject
+    exit 0
+fi
 #=======================================================================
 for dir in $Ddir ; do
     if [ -d $dir -a -w $dir ]; then
-	break
+	    break
     fi
 done
 #-----------------------------------------------------------------------
@@ -58,61 +79,52 @@ if [ ! -w "$dir" ]; then
     exit 0
 fi
 #-----------------------------------------------------------------------
-mount $DEV >& /dev/null
-dev=$(readlink $DEV)
-df=$(df -h /dev/$dev | grep /dev/$dev)
-MAX=$(echo $df | while read d v r ; do echo $v ; done)
-echo " backup $MAX to $dir" >> $LOG
+#mount $DEV >& /dev/null
+#dev=$(readlink $DEV)
+#df=$(df -h /dev/$dev | grep /dev/$dev)
+#MAX=$(echo $df | while read d v r ; do echo $v ; done)
+#echo " backup $MAX to $dir" >> $LOG
 #=======================================================================
-# first make sure DMA is on:
-sudo hdparm -d1 -u1 $DEV >& /dev/null
-# attempt to get the DVD information:
-TITLE=$(dvdbackup -i /dev/sr0 -I | grep information | awk '{ s = ""; for (i = 8; i <= NF; i++) s = s $i " "; print s }' | tr -d '"' | sed 's/ /_/g' | sed 's/_$//g')
 if [ "$TITLE" == "DVD_VIDEO" -o "$TITLE" == "" \
-	-o "$TITLE" == " " -o "$TITLE" == "[ ].*" ]; then
+    -o "$TITLE" == " " -o "$TITLE" == "[ ].*" ]; then
     # if not a good title,
     TITLE="dvdbackup_$DATE"
 fi
 echo " $TITLE" >> $LOG
-if [ $1 = m ]
-then
-	COMMAND="dvdbackup -M -i $DEV -o $dir -n $TITLE"
-	elif [ $1 = h ]
-	then
-#	COMMAND="mencoder dvd://$TRACK -alang en -oac mp3lame -lameopts br=320:cbr -ovc lavc -lavcopts vcodec=mpeg4:vhq -vf scale -zoom -xy 720 -o $dir/$TITLE.avi"
-	COMMAND="HandBrakeCLI -i $DEV -o $dir/$TITLE.mp4 --preset "High\ Profile" --main-feature"
-	FILE=$TITLE.mp4
-	elif [ $1 = n ]
-	then
-#	COMMAND="mencoder dvd://$TRACK -alang en -oac mp3lame -lameopts br=160:cbr -ovc lavc -lavcopts vcodec=mpeg4:vhq -vf scale -zoom -xy 512 -o $dir/$TITLE.avi"
-	COMMAND="HandBrakeCLI -i $DEV -o $dir/$TITLE.mp4 --preset "Normal" --main-feature"
-	FILE=$TITLE.mp4
-	elif [ $1 = l ]
-	then
-#	COMMAND="mencoder dvd://$TRACK -alang en -oac mp3lame -lameopts br=96:cbr -ovc lavc -lavcopts vcodec=mpeg4:vhq -vf scale -zoom -xy 320 -o $dir/$TITLE.avi"
-	COMMAND="HandBrakeCLI -i $DEV -o $dir/$TITLE.mp4 --preset "Classic" --main-feature"
-	FILE=$TITLE.mp4
-	elif [ $1 = i ]
-	then
-	COMMAND="dd if=$DEV of=$dir/$TITLE.iso bs=2048"
-	FILE=$TITLE.iso
+if [[ $1 = "m" ]]; then
+    COMMAND='dvdbackup -M -i $DEV -o $dir -n $TITLE'
+    FILE=$TITLE
+elif [[ $1 = "h" ]]; then
+    COMMAND='HandBrakeCLI -i $DEV -o $dir/$TITLE.mp4 --preset "HQ 480p30 Surround" --main-feature'
+    FILE=$TITLE.mp4
+elif [[ $1 = "n" ]]; then
+    COMMAND='HandBrakeCLI -i $DEV -o $dir/$TITLE.mp4 --preset "Fast 480p30" --main-feature'
+    FILE=$TITLE.mp4
+elif [[ $1 = "l" ]]; then
+    COMMAND='HandBrakeCLI -i $DEV -o $dir/$TITLE.mp4 --preset "Very Fast 480p30" --main-feature'
+    FILE=$TITLE.mp4
+else
+    COMMAND='dd if=$DEV of=$dir/$TITLE.iso bs=2048'
+    FILE=$TITLE.iso
 fi
 { # for the redir below:
     # Begin:
     touch $LOCK
     osd_loop "$dir/$TITLE" "$TITLE" &
-    dvdbackup -i $DEV -I
     sleep 1 ; aplay $Bsnd
-    $COMMAND
+    eval $COMMAND
     # Finish:
     rm -f $LOCK
+    sleep 1
     osd "Done Backing up '$TITLE' to $dir/$FILE" 5 &
-    sleep 1 ; aplay $Esnd
+    sleep 1
+    aplay $Esnd
     # Eject the media:
     sudo eject ; sudo eject
 } > $dir/.$TITLE.log 2>&1
 echo " `du -sh $dir/$FILE`" >> $LOG
 echo " `date` finished DVD"  >> $LOG
+echo "" >> $LOG
 exit 0
 ########################################################################
 # End
-- 
cgit v0.12

