#!/bin/bash ############################################## # COMMAND LINE PROCESSING # get the dvdtype from the command line dvdtype=$1 # remove the dvdtype from the args, and interpret the rest # of the args to be passed directly to the rip_dvd script. shift 1 ############################################## if [ -z "$dvdtype" ]; then echo "-E- $0 ' is a required option" usage fi ############################################################################## # Local Machine Settings: # Sources both the "default" conf file tracked by GIT (rip_dvd.conf.dist) # and the local conf file created by each local machine (rip_dvd.conf) # Copy the rip_dvd.conf.dist file to rip_dvd.conf and edit the later. # This will allow you to override all the default values to meet your needs # in a way that won't get clobbered when you pull updates from my GIT repo. ############################################################################## config="${0%/*}/rip_dvd.conf" # The config file will be searched for in the following location order: found_config=0 # 1) /path/to/rip_dvd/script/rip_dvd.conf.dist [ -e "${config}.dist" ] && found_config=1 && . "${config}.dist" # 2) /path/to/rip_dvd/script/rip_dvd.conf [ -e "${config}" ] && found_config=1 && . "${config}" # 3) /etc/rip_dvd.conf [ -e "/etc/rip_dvd.conf" ] && found_config=1 && . "/etc/rip_dvd.conf" # 4) $PWD/rip_dvd.conf [ -e "$PWD/rip_dvd.conf" ] && found_config=1 && . "$PWD/rip_dvd.conf" # Check to make sure we found the config file if [ $found_config -eq 0 ]; then echo "-E- Unable to find the rip_dvd.conf file: $config" exit 1 fi ############################################## # get the name of the DVD from the DVD disk dvdname=`volname $dev | awk '{ print $1 }'` dvdname=${dvdname%.} # remove trailing '.' character ############################################## # Find out what type of DVD we are ripping # And set our destination directory appropriately # dvdtype parameter: # - netflix = DVD ripped as an entire ISO image # since these are only kept around until we watch them, # there is no need to do anything less than full iso. # - collection = Only DVD main feature is ripped # - childrens = Only DVD main feature is ripped # - church = Only DVD main feature is ripped rip_opts="$* -j 2" if [ "$dvdtype" == "netflix" ]; then echo "-> Ripping Netflix DVD" dest=/myth/video/DVDs/Netflix rip_opts="$rip_opts" elif [ "$dvdtype" == "collection" ]; then echo "-> Ripping Personal Collection DVD" dest=/myth/video/DVDs/Collection rip_opts="$rip_opts" elif [ "$dvdtype" == "childrens" ]; then echo "-> Ripping Children's DVD" dest=/myth/video/DVDs/Childrens rip_opts="$rip_opts" elif [ "$dvdtype" == "church" ]; then echo "-> Ripping Church DVD" dest=/myth/video/DVDs/Church rip_opts="$rip_opts" else echo '-E- Must specify dvdtype as "netflix" or "collection" or "childrens" or "church"' usage fi ############################################## # Display progress window # Pop up an xterm window and run the script inside of it echo "xterm -T \"Ripping->$dvdname\" -geometry 72x15+20+10 -bg black -fg white -e \"/bin/bash\" -c \"$ripcmd -d $dest $rip_opts\" &" xterm -T "Ripping->$dvdname" -geometry 72x15+20+10 -bg black -fg white -e "/bin/bash" -c "$ripcmd -d $dest $rip_opts" & ############################################## # OR display the script output directly in the terminal it's called from #$ripcmd -d $dest $rip_opts ##############################################