#!/bin/bash

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

if [ "$1" != -automatic ]; then

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

rm -f /tmp/pupdvdtool-cbox.txt
rm -f /tmp/vampslog.txt
rm -f /tmp/pupdvdtool-exit.txt
rm -f /tmp/pupdvdtool-shrink.txt
rm -f /tmp/pupdvdtool-file.txt
rm -f /tmp/vamps.txt

echo Vamps はDVDの mpg や vob をメガバイト単位で、  > /tmp/vamps.txt
echo 要請されたサイズに圧縮します。 >> /tmp/vamps.txt
echo vob/mpg が7+GBであるならば、バグであるようです。 >> /tmp/vamps.txt
echo その場合は、二度圧縮しなければいけないかもしれません。>> /tmp/vamps.txt
echo 大部分のブランクDVDに書き込むのに最良のサイズ数は、 >> /tmp/vamps.txt
echo 4775と思われます。 >> /tmp/vamps.txt

cd /

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

	<frame 圧縮したいvob か mpgファイルを選択して下さい>
    <hbox>
      <entry accept=\"filename\">
        <label>存在するファイルを選択</label>
        <variable>ENTRY1</variable>
			<action>echo \$ENTRY1 | tee /tmp/pupdvdtool-file.txt</action>
      </entry>
      <button>
        <input file stock=\"gtk-file\"></input>
        <variable>FILE_BROWSE_FILENAME</variable>
        <action type=\"fileselect\">ENTRY1</action>
      </button>
    </hbox>
  </frame>
  
    <frame 圧縮されたファイルを同じディレクトリに入力ファイルとして保存しますか?>
    <hbox>
    <checkbox>
      <label>チェックでyes</label>
      <variable>CHECKBOX</variable>
      <default>true</default>
    </checkbox>
    </hbox>
    </frame>
    
    <hbox>
      <text><label>このサイズに圧縮:</label></text>
      <entry>
        <variable>WORD</variable>
        <input>echo 4775 | tee /tmp/pupdvdtool-shrink.txt</input>
      <action>echo \$WORD | tee /tmp/pupdvdtool-shrink.txt</action>
      </entry>
    </hbox>
    
    <hbox>
      <button>
       <input file stock=\"gtk-yes\"></input>
        <label>圧縮</label>
      <action>echo \$CHECKBOX | tee /tmp/pupdvdtool-cbox.txt</action>
        <action type=\"exit\">Exit by button</action>
      </button>
    </hbox>

<frame info:>
    <edit>
      <variable>INFO</variable>
      <input file>/tmp/vamps.txt</input>
      <width>120</width>
      <height>160</height>
    </edit>
</frame>

  <hbox>     

    <button>
       <input file stock=\"gtk-cdrom\"></input>
      <label>pupdvdtool</label>
      <action>pupdvdtool &</action>
      <action>touch /tmp/pupdvdtool-exit.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=SHRINKGUI --center

rm -f /tmp/vamps.txt

if [ -f /tmp/pupdvdtool-exit.txt ]; then
EXIT=""
rm -f /tmp/pupdvdtool-exit.txt
rm -f /tmp/pupdvdtool-shrink.txt
rm -f /tmp/pupdvdtool-file.txt
exit 0
fi

if [ "`cat /tmp/pupdvdtool-file.txt`" = "" ]; then
/usr/local/apps/pupdvdtool/shrinkgui &
exit 0
fi

CHECKBOX=`cat /tmp/pupdvdtool-cbox.txt`
rm -f /tmp/pupdvdtool-cbox.txt

if [ "$CHECKBOX" = false ]; then
if ! [ -d $HOME/.pupdvdtool ]; then
mkdir $HOME/.pupdvdtool
fi
if ! [ -f $HOME/.pupdvdtool/shrinkdir ]; then
echo / > $HOME/.pupdvdtool/shrinkdir
fi
SHRINKDIR=`cat $HOME/.pupdvdtool/shrinkdir`
if ! [ -d "$SHRINKDIR" ]; then
SHRINKDIR="/"
fi
DIR=`Xdialog --title "Select your save to directory" --dselect "$SHRINKDIR" 0 0 2>&1`
if [ "$?" != 0 ]; then pupdvdtool; exit 0; fi
echo "$DIR" > $HOME/.pupdvdtool/shrinkdir
fi
if [ "$CHECKBOX" = true ]; then
FILE=`cat /tmp/pupdvdtool-file.txt`
DIR=`dirname "$FILE"`/
echo "$DIR" > $HOME/.pupdvdtool/shrinkdir
fi
/usr/local/apps/pupdvdtool/shrinkgui -automatic &
fi

if [ "$1" = -automatic ]; then
DIR=`cat $HOME/.pupdvdtool/shrinkdir`
FILE=`cat /tmp/pupdvdtool-file.txt`
SIZE2=`du -h "$FILE" | cut -f 1`
if [ "`grep -o M $SIZE2`" != "" ]; then
SIZE=`echo "$SIZE2" | sed 's/M//'`
else
SIZE=`du -b "$FILE" | head -c 4`
fi

gxmessage -borderless -font "sans bold 14" -center -bg "orange" -buttons "" " Your file size is $SIZE MB's which is also $SIZE2
	Vamps is now shrinking your video file." &
X1PID=$!
	
input=`cat /tmp/pupdvdtool-shrink.txt`
rm -f /tmp/pupdvdtool-shrink.txt
FILE2=`basename "$FILE"`
vamps -e `echo "(( "$SIZE" / "$input" ))" | bc -l` -a 1 < "$FILE" > "$DIR"shrinked-"$FILE2"
SIZE3=`du -h "$DIR"shrinked-"$FILE2" | cut -f 1`

kill $X1PID 2>/dev/null

Xdialog --title "MESSAGE BOX" --msgbox "Vampsの実行が終了しました。
	新しいファイルサイズは $SIZE3" 0 0 &
	
rm -f /tmp/pupdvdtool-file.txt
	
pupdvdtool

exit 0
fi
