#!/bin/bash

###by plinej
###pupdvdtool-0.4 December 2006
###This is the dvd burn gui

rm -f /tmp/pupdvdtool-1.txt
rm -f /tmp/pupdvdtool-2.txt
rm -f /tmp/pupdvdtool-3.txt
rm -f /tmp/pupdvdtool-4.txt
rm -f /tmp/pupdvdtool-5.txt
rm -f /tmp/pupdvdtool-6.txt
rm -f /tmp/pupdvdtool-exit.txt
rm -f /tmp/pupdvdtool-exit2.txt
rm -f /tmp/pupdvdtool-probe.txt
rm -f /tmp/burn.txt

if [ "`which growisofs`" = "" ]; then
Xdialog --title "MESSAGE BOX" --msgbox "growisofsはパスにありません。
このプログラムは終了します" 0 0
exit 0
fi

if [ "`which mkisofs`" = "" ]; then
Xdialog --title "MESSAGE BOX" --msgbox "mkisofsはパスにありません。
このプログラムは終了します" 0 0
exit 0
fi

echo もしデフォルトになければ、最初にDVDドライブを選択し、 > /tmp/burn.txt
echo そして実行したいタスクのボタンをクリックして下さい。 >> /tmp/burn.txt
echo  DVDビデオISOの作成時には、 >> /tmp/burn.txt
echo ハードディスクのすでにリッピングされた >> /tmp/burn.txt
echo DVDファイル構造からISOを作成するので >> /tmp/burn.txt
echo DVDドライブを選択する必要はありません。 >> /tmp/burn.txt

PROBEDRIVES=""
for ONEDRIVE in `probedisk | grep -i dvd | cut -f 1 -d '|'`
do
 PROBEDRIVES="$PROBEDRIVES<item>$ONEDRIVE</item>"
done

export BURNGUI="
<window title=\"pupdvdtool burn gui \"icon-name=\"gtk-cdrom\">
<hbox>
<vbox>

    <hbox>
    <text><label>DVDドライブを選択して下さい</label></text>
    <combobox>
     <variable>PROBECOMBO</variable>
      $PROBEDRIVES
    </combobox>
    </hbox>

    <hbox>
      <text><label>VIDEO_TSフォルダを選択して焼く</label></text>
      <button>
      <input file stock=\"gtk-cdrom\"></input>
        <label>焼く</label>
        <action>touch /tmp/pupdvdtool-1.txt</action>
		<action>echo \$PROBECOMBO | tee /tmp/pupdvdtool-probe.txt</action>
	   <action type=\"exit\">Exit by button</action>
      </button>
    </hbox>
    
    <hbox>
      <text><label>DVD ISOを選択して焼く</label></text>
      <button>
      <input file stock=\"gtk-cdrom\"></input>
        <label>焼く</label>
        <action>touch /tmp/pupdvdtool-2.txt</action>
		<action>echo \$PROBECOMBO | tee /tmp/pupdvdtool-probe.txt</action>
	   <action type=\"exit\">Exit by button</action>
      </button>
    </hbox>
    
    <hbox>
      <text><label>ディレクトリを選択してデータDVDに焼く</label></text>
      <button>
      <input file stock=\"gtk-cdrom\"></input>
        <label>焼く</label>
        <action>touch /tmp/pupdvdtool-3.txt</action>
		<action>echo \$PROBECOMBO | tee /tmp/pupdvdtool-probe.txt</action>
	   <action type=\"exit\">Exit by button</action>
      </button>
    </hbox>
    
    <hbox>
      <text><label>DVDビデオISOの作成</label></text>
      <button>
      <input file stock=\"gtk-cdrom\"></input>
        <label>ISO</label>
        <action>touch /tmp/pupdvdtool-4.txt</action>
	   <action type=\"exit\">Exit by button</action>
      </button>
    </hbox>
    
    <hbox>
      <text><label>CD/DVDをISOにバックアップ</label></text>
      <button>
      <input file stock=\"gtk-cdrom\"></input>
        <label>ISO</label>
        <action>touch /tmp/pupdvdtool-5.txt</action>
		<action>echo \$PROBECOMBO | tee /tmp/pupdvdtool-probe.txt</action>
	   <action type=\"exit\">Exit by button</action>
      </button>
    </hbox>

<frame 情報:>
    <edit>
      <variable>INFO</variable>
      <input file>/tmp/burn.txt</input> 
      <width>120</width>
      <height>160</height>
    </edit>
</frame>

  <hbox>    

      <button>
      <input file stock=\"gtk-clear\"></input>
        <label>DVDRWの消去</label>
        <action>touch /tmp/pupdvdtool-6.txt</action>
	<action>echo \$PROBECOMBO | tee /tmp/pupdvdtool-probe.txt</action>
      <action type=\"exit\">Exit by button</action>
	</button>

    <button>
       <input file stock=\"gtk-cdrom\"></input>
      <label>pupdvdtool</label>
      <action>touch /tmp/pupdvdtool-exit.txt</action>
      <action>touch /tmp/pupdvdtool-exit2.txt</action>
      <action type=\"exit\">Exit by button</action>
    </button>

    <button>
      <input file stock=\"gtk-quit\"></input>
      <label>終了</label>
      <action>touch /tmp/pupdvdtool-exit.txt</action>
      <action type=\"exit\">Exit by button</action>
    </button>

  </hbox>

</vbox>
</hbox>
</window>
"

gtkdialog3 --program=BURNGUI --center

if [ -f /tmp/pupdvdtool-exit.txt ]; then
EXIT=""
rm -f /tmp/pupdvdtool-1.txt
rm -f /tmp/pupdvdtool-2.txt
rm -f /tmp/pupdvdtool-3.txt
rm -f /tmp/pupdvdtool-4.txt
rm -f /tmp/pupdvdtool-5.txt
rm -f /tmp/pupdvdtool-6.txt
rm -f /tmp/pupdvdtool-exit.txt
rm -f /tmp/pupdvdtool-probe.txt
if [ -f /tmp/pupdvdtool-exit2.txt ]; then
rm -f /tmp/pupdvdtool-exit2.txt
pupdvdtool
fi
exit 0
fi

if ! [ -d $HOME/.pupdvdtool ]; then
mkdir $HOME/.pupdvdtool
fi
if ! [ -f $HOME/.pupdvdtool/burndir ]; then
echo / > $HOME/.pupdvdtool/burndir
fi
BURNDIR=`cat $HOME/.pupdvdtool/burndir`
if ! [ -d "$BURNDIR" ]; then
BURNDIR="/"
fi

if [ -f /tmp/pupdvdtool-1.txt ]; then
DIR=`Xdialog --title "Select your VIDEO_TS directory" --dselect "$BURNDIR" 0 0 2>&1`
if [ "$?" != 0 ]; then pupdvdtool; exit 0; fi
echo "`dirname "$DIR"`" > $HOME/.pupdvdtool/burndir
rxvt -bg orange --geometry 60x10 -e growisofs -use-the-force-luke=tty -Z `cat /tmp/pupdvdtool-probe.txt` -J -r -dvd-compat -pad -graft-points VIDEO_TS/="$DIR"
fi

if [ -f /tmp/pupdvdtool-3.txt ]; then
DIR=`Xdialog --title "Select your data directory to burn" --dselect "$BURNDIR" 0 0 2>&1`
if [ "$?" != 0 ]; then pupdvdtool; exit 0; fi
echo "`dirname "$DIR"`" > $HOME/.pupdvdtool/burndir
rxvt -bg orange --geometry 60x10 -e growisofs -use-the-force-luke=tty -Z `cat /tmp/pupdvdtool-probe.txt` -J -r -dvd-compat -pad -graft-points /="$DIR"
fi

if [ -f /tmp/pupdvdtool-4.txt ]; then
Xdialog --title "MESSAGE BOX" --msgbox "Select the directory that contains
your VIDEO_TS folder." 10 41
DIR=`Xdialog --title "Select directory with VIDEO_TS directory" --dselect "$BURNDIR" 0 0 2>&1`
if [ "$?" != 0 ]; then pupdvdtool; exit 0; fi
echo "`dirname "$DIR"`" > $HOME/.pupdvdtool/burndir
INPUT=`Xdialog --inputbox "Enter a name for you ISO:" 0 0 2>&1`
if [ "$?" != 0 ]; then pupdvdtool; exit 0; fi
DIR2=`Xdialog --title "Select your output directory" --dselect "$BURNDIR" 0 0 2>&1`
if [ "$?" != 0 ]; then pupdvdtool; exit 0; fi
echo "`dirname "$DIR2"`" > $HOME/.pupdvdtool/burndir
rxvt -bg orange --geometry 60x10 -e mkisofs -dvd-video -o "$DIR2""$INPUT".iso "$DIR"
fi

if [ -f /tmp/pupdvdtool-2.txt ]; then
FILE=`Xdialog --title "Select your ISO to burn" --fselect "$BURNDIR" 0 0 2>&1`
if [ "$?" != 0 ]; then pupdvdtool; exit 0; fi
echo "`dirname "$FILE"`" > $HOME/.pupdvdtool/burndir
rxvt -bg orange --geometry 60x10 -e growisofs -dvd-compat -use-the-force-luke=tty -Z `cat /tmp/pupdvdtool-probe.txt`="$FILE"
fi

if [ -f /tmp/pupdvdtool-5.txt ]; then
DIR=`Xdialog --title "Select your output directory" --dselect "$BURNDIR" 0 0 2>&1`
if [ "$?" != 0 ]; then pupdvdtool; exit 0; fi
echo "`dirname "$DIR"`" > $HOME/.pupdvdtool/burndir
INPUT=`Xdialog --inputbox "Enter a name for you ISO:" 0 0 2>&1`
if [ "$?" != 0 ]; then pupdvdtool; exit 0; fi
Xdialog --title "MESSAGE BOX" --msgbox "dd はディスクのバックアップを
バックグラウンドで実行します。
完了するとポップアップが
出ます。" 0 0 &
dd if=`cat /tmp/pupdvdtool-probe.txt` of="$DIR""$INPUT".iso
fi

if [ -f /tmp/pupdvdtool-6.txt ]; then
choice=`Xdialog --backtitle "Erase DVDRW" --title "RADIOLIST BOX" --radiolist "Choose either full or quick erase." 380x190 10 "full"    "Full erase" ON "quick" "Quick erase" off 2>&1`
if [ "$?" != 0 ]; then pupdvdtool; exit 0; fi
if [ "$choice" = quick ]; then
rxvt -bg orange --geometry 60x10 -e dvd+rw-format -force `cat /tmp/pupdvdtool-probe.txt`
fi
if [ "$choice" = full ]; then
rxvt -bg orange --geometry 60x10 -e dvd+rw-format -force=full `cat /tmp/pupdvdtool-probe.txt`
else
pupdvdtool; exit 0
fi
fi

Xdialog --title "MESSAGE BOX" --msgbox "全プロセスはすぐに終了するはずです." 0 0

rm -f /tmp/pupdvdtool-1.txt
rm -f /tmp/pupdvdtool-2.txt
rm -f /tmp/pupdvdtool-3.txt
rm -f /tmp/pupdvdtool-4.txt
rm -f /tmp/pupdvdtool-5.txt
rm -f /tmp/pupdvdtool-6.txt
rm -f /tmp/pupdvdtool-exit.txt
rm -f /tmp/pupdvdtool-exit2.txt
rm -f /tmp/pupdvdtool-probe.txt
rm -f /tmp/burn.txt

pupdvdtool

exit 0
