#!/bin/sh
# May 2007 Nathan Fisher
#set preferences for Grafburn

# Determine the path to this application.
CURDIR="`pwd`"
APPDIR=`dirname "$0"`
cd "${APPDIR}"
APPDIR="`pwd`"
cd "${CURDIR}"

#grafburn stores it's profile information in ~/.config/grafburnrc
#create it if it isn't there
PROFILE=$HOME/.config/grafburnrc
if [ ! -d $HOME/.config ];then
  mkdir $HOME/.config
fi

if [ ! -f $PROFILE ];then
  echo '#profile information for Grafburn' > $PROFILE
  echo '#lines with a # sign are ignored' >> $PROFILE
  echo "TMPDIR=\"$HOME/burn\"" >> $PROFILE
  echo "OUTDIR=\"$HOME\"" >> $PROFILE
  echo 'CDSPEED="12"' >> $PROFILE
  echo 'DVDSPEED="4"' >> $PROFILE
  echo 'SAMPLING="44100"' >> $PROFILE
  echo 'CHANNELS="stereo"' >> $PROFILE
  echo 'ONLYAUDIO="true"' >> $PROFILE
  echo 'CDDEV=/dev/cdrom' >> $PROFILE
  echo 'DVDDEV=/dev/dvd' >> $PROFILE
  echo 'BURNDEV=/dev/cdrom' >> $PROFILE
  echo 'OPENDIR="true"' >> $PROFILE
  echo 'BURNRAW="false"' >> $PROFILE
  echo 'BURNMULTI="true"' >> $PROFILE
  echo 'PUBLISHER="Grafburn cd burner"' >> $PROFILE
  echo "PREPARER=\"`whoami`\"" >> $PROFILE
  echo 'VOLUME="grafburn_project"' >> $PROFILE
  echo "VERSION=`cat $APPDIR/.version`" >> $PROFILE
fi

# source the profile
. $PROFILE
CDDEV=/dev/`cat /etc/cdromdevice`
[ "$CDDEV" = "" ] && CDDEV=/dev/cdrom
DVDDEV=/dev/`cat /etc/dvddevice`
[ "$DVDDEV" = "" ] && DVDDEV=/dev/dvd
BURNDEV=/dev/`cat /etc/cdburnerdevice`
[ "$BURNDEV" = "" ] && BURNDEV=/dev/cdrom

export MAIN_DIALOG="
<window title=\"Grafburn\" icon-name=\"drive-cdrom\" window_position=\"1\">
 <vbox>
  <notebook labels=\"パス|デバイス|オーディオ|その他\">
   <vbox>
    <hbox>
     <text>
      <label>一時ディレクトリは、データディスクを作る時に
リンクファイルとして使われます。
このディレクトリはGrafburn用に独占的にあてるべきです。</label>
     </text>
    </hbox>
    <hbox>
     <text>
      <label>一時ディレクトリ</label>
     </text>
     <entry accept=\"directory\">
      <default>$TMPDIR</default>
      <variable>TMPDIR</variable>
     </entry>
     <button>
      <input file stock=\"gtk-open\"></input>
      <action type=\"fileselect\">TMPDIR</action>
     </button>
    </hbox>
    <hbox>
     <checkbox>
      <label>データディスク作成時は一時ディレクトリを開いて下さい</label>
      <variable>OPENDIR</variable>
      <default>$OPENDIR</default>
     </checkbox>
    </hbox>
    <hbox>
     <text>
      <label>出力ディレクトリはISOイメージが作られる場所です。ディスクに焼く全ファイルを置ける十分な空きが必要です。そのためにマウントしたパーティションを使う事を推奨します。</label>
     </text>
    </hbox>
    <hbox>
     <text>
      <label>出力ディレクトリ</label>
     </text>
     <entry accept=\"directory\">
      <default>$OUTDIR</default>
      <variable>OUTDIR</variable>
     </entry>
     <button>
      <input file stock=\"gtk-open\"></input>
      <action type=\"fileselect\">OUTDIR</action>
     </button>
    </hbox>
   </vbox>
   <vbox>
    <hbox>
     <text>
      <label>Grafburnの設定は現在、次のようになっています。CDとCDメディアの読み込み用ドライブは $CDDEVです。全DVDメディアの読み込み用ドライブは $DVDDEVです。CDとDVDメディアを焼くためのドライブは  $BURNDEVです。</label>
     </text>
    </hbox>
    <hbox>
     <text>
      <label>これらの設定のいずれかが違っていたら、ここを押してCD作成ウィザード（cdburner wizard）を起動して下さい。</label>
     </text>
     <button>
      <input file stock=\"gtk-cdrom\"></input>
      <action>EXIT:cdburner-wizard</action>
     </button>
    </hbox>
    <hbox>
     <text>
      <label>CD書き込み速度(現在 $CDSPEEDに設定されています)</label>
     </text>
     <combobox>
      <variable>CDSPEED</variable>
      <item>$CDSPEED</item>
      <item>4</item>
      <item>2</item>
      <item>1</item>
      <item>8</item>
      <item>12</item>
      <item>16</item>
      <item>32</item>
      <item>40</item>
      <item>48</item>
      <item>52</item>
     </combobox>
    </hbox>
    <hbox>
     <text>
      <label>DVD書き込み速度(現在 $DVDSPEEDに設定されています)</label>
     </text>
     <combobox>
      <variable>DVDSPEED</variable>
      <item>$DVDSPEED</item>
      <item>1</item>
      <item>2</item>
      <item>4</item>
      <item>8</item>
      <item>16</item>
     </combobox>
    </hbox>
    <hbox>
     <checkbox>
      <variable>BURNMULTI</variable>
      <label>デフォルトでマルチセッションで書き込む</label>
      <default>$BURNMULTI</default>
     </checkbox>
    </hbox>
   </vbox>
   <vbox>
    <hbox>
     <text>
      <label>音楽CDをエンコードするためのデフォルトサンプリングレートの設定。通常はデフォルトで 44.1 Khz がいいです。何か特別な目的があり、どうするかわかっている時だけこの設定を変更して下さい。</label>
     </text>
    </hbox>
    <hbox>
     <text>
      <label>現在の設定は $SAMPLINGです。</label>
     </text>
     <combobox>
      <variable>SAMPLING</variable>
      <item>44100</item>
      <item>4800</item>
      <item>9600</item>
      <item>11025</item>
      <item>22050</item>
      <item>3200</item>
      <item>8000</item>
     </combobox>
    </hbox>
    <hbox>
     <text>
      <label>オーディオチャンネル</label>
     </text>
     <combobox>
      <variable>CHANNELS</variable>
      <item>stereo</item>
      <item>mono</item>
     </combobox>
    </hbox>
    <hbox>
     <text>
      <label>ビットレートは特別な目的があり、どうするかわかっている時だけ変更して下さい。通常の音楽CDには、ビットレートはデフォルト値の設定にしておいて下さい。</label>
     </text>
    </hbox>
    <hbox>
     <text>
      <label>デフォルトは 192</label>
     </text>
     <combobox>
      <variable>BITRATE</variable>
      <item>192</item>
      <item>32</item>
      <item>40</item>
      <item>48</item>
      <item>56</item>
      <item>64</item>
      <item>80</item>
      <item>96</item>
      <item>112</item>
      <item>128</item>
      <item>160</item>
      <item>224</item>
      <item>256</item>
      <item>320</item>
     </combobox>
    </hbox>
    <hbox>
     <checkbox>
      <label>一部のドライブは「-raw」モードで焼かなければなりません。</label>
      <variable>BURNRAW</variable>
      <default>$BURNRAW</default>
     </checkbox>
    </hbox>
    <hbox>
     <checkbox>
      <label>未サポートフォーマットや非オーディオファイルを無視しますか?</label>
      <default>$ONLYAUDIO</default>
      <variable>ONLYAUDIO</variable>
     </checkbox>
    </hbox>
   </vbox>
   <vbox>
    <hbox>
     <text>
      <label>以下の情報はGrafburnで作成されるプロジェクトに埋め込まれます。ボリューム名は作成時に変更できます。</label>
     </text>
    </hbox>
    <hbox>
     <text>
      <label>Publisher:</label>
     </text>
     <entry>
      <default>\"$PUBLISHER\"</default>
      <variable>PUBLISHER</variable>
     </entry>
    </hbox>
    <hbox>
     <text>
      <label>Preparer:</label>
     </text>
     <entry>
      <default>\"$PREPARER\"</default>
      <variable>PREPARER</variable>
     </entry>
    </hbox>
    <hbox>
     <text>
      <label>Volume name:</label>
     </text>
     <entry>
      <default>\"$VOLUME\"</default>
      <variable>VOLUME</variable>
     </entry>
    </hbox>
   </vbox>
  </notebook>
  <hbox>
   <button help>
    <action>defaulttexteditor $APPDIR/help.txt &</action>
   </button>
   <button cancel>
    <action>EXIT:abort</action>
   </button>
   <button ok></button>
  </hbox>
 </vbox>
</window>"

gtkdialog3 --program MAIN_DIALOG > $HOME/.config/grafburnprefs

EXIT=`cat $HOME/.config/grafburnprefs | grep 'EXIT=' | cut -f 2 -d '"'`

case $EXIT in
	abort)
	rm -f $HOME/.config/grafburnprefs
	exit 0
	;;
	cdburner-wizard)
	cdburner-wizard
	exec $APPDIR/set_prefs
	;;
	OK)
	cat $HOME/.config/grafburnrc | grep '#' > $HOME/.config/grafburnrc.new
	cat $HOME/.config/grafburnprefs | grep -v EXIT >> $HOME/.config/grafburnrc.new
	echo "CDDEV=$CDDEV" >> $HOME/.config/grafburnrc.new
	echo "DVDDEV=$DVDDEV" >> $HOME/.config/grafburnrc.new
	echo "BURNDEV=$BURNDEV" >> $HOME/.config/grafburnrc.new
	[ ! "$PREVISODIR" = "" ] && echo "PREVISODIR=\"$PREVISODIR\"" >> $HOME/.config/grafburnrc.new
	[ ! "$PREVAUDIODIR" = "" ] && echo "PREVAUDIODIR=\"$PREVAUDIODIR\"" >> $HOME/.config/grafburnrc.new
	mv -f $HOME/.config/grafburnrc.new $PROFILE
	rm -f $HOME/.config/grafburnprefs
	echo "VERSION=`cat $APPDIR/.version`" >> $PROFILE
	exit 0
	;;
esac






