# =============================================================================
# MOUvie Converter                           Date: 2009-06-22    Version: 0.0.4
# -----------------------------------------------------------------------------
# Messages Functions
# -----------------------------------------------------------------------------
# Created by Marc Ulfig                            mail: m.ulfig@googlemail.com
#                                                  web :    http://marculfig.de
#                                                  Movie Converter home:
# Main Project Page: http://sourceforge.net/projects/mouvieconverter/
# or
# http://www.gnome-look.org/content/show.php/MOUvie+Converter?content=100060
# =============================================================================


Message_Error ()
{
    echo -e "${CONFIG_TXT_COLOR}Message_Error ()${CONFIG_TXT_NORMAL}"

    zenity --error --title="$Lang_PRG_Name - Error - $1" --text="<b>$2</b>$3"
    exit
}


Message_Error_Short ()
{
    echo -e "${CONFIG_TXT_COLOR}Message_Error_Short ()${CONFIG_TXT_NORMAL}"

    zenity --error --title="$Lang_PRG_Name - Error" --text="<b>$1</b>$2"
    exit
}


Message_Error_Invalid_Input_Type ()
{
    echo -e "${CONFIG_TXT_COLOR}Message_Error_Invalid_Input_Type ()${CONFIG_TXT_NORMAL}"

    zenity --error --title="$Lang_PRG_Name - Error - $Lang_Invalid_Input_Type_Title" --text="$Lang_Invalid_Input_Type_Text\nMimeType= <b>$1</b>\n\t<b>$2</b>\nFilename: <b>$3</b>\n\n$Lang_Invalid_PleaseLogFileSend"

#    if [ "$LOGFILE" = "yes" ] ; then
	    cp "$LOG_FILE" $HOME/mouvieconverter.log
#	fi
	kill $$
    exit
}


Message_Info ()
{
    echo -e "${CONFIG_TXT_COLOR}Message_Info ()${CONFIG_TXT_NORMAL}"

    zenity --info --text="<b>$1</b>"

    # Logfile Output
    if [ "$LOGFILE" = "yes" ] ; then
        echo "Message_Info() : $1" >> "$LOG_FILE"
    fi

    exit
}


Message_Info_No_Exit ()
{
    echo -e "${CONFIG_TXT_COLOR}Message_Info ()${CONFIG_TXT_NORMAL}"

    zenity --info --text="<b>$1</b>"

    # Logfile Output
    if [ "$LOGFILE" = "yes" ] ; then
        echo "Message_Info_No_Exit() : $1" >> "$LOG_FILE"
    fi
}


Message_File_Prossing ()
{
    echo -e "${CONFIG_TXT_COLOR}Message_File_Prossing ()${CONFIG_TXT_NORMAL}"

    local in_codec=''
    local pass2=''

    timestamp=`date`

    if [ -n "$IN_VIDEO_CODEC" ] ; then
        in_codec="($IN_VIDEO_CODEC) "
    fi

    if [ $5 -gt 1 ] ; then
        pass2="\t\t\tPass: $4/$5"
    fi

    zenity --progress --percentage=0 --auto-close --width="500" --title="$Lang_PRG_Name - $IN_MAIN_FORMAT $in_codec→ $VIDEO_OUT_TYPE" --text="<big><b>$Lang_Processing\t($3/$TOTAL_FILES)$pass2</b></big>\n\n\t$1\n\t  <big><big><b>↓</b></big></big>\n\t<b>$2</b>\n\n\t\t\t\t <small>Start: $timestamp</small>"
}

Message_File_Prossing2 ()
{
    echo -e "${CONFIG_TXT_COLOR}Message_File_Prossing2 ()${CONFIG_TXT_NORMAL}"

    zenity --progress --percentage=0 --auto-close --width="500" --title="$Lang_PRG_Name - $Lang_Create_IDX_Title" --text="<big><b>$Lang_Create_IDX_Text</b></big>\n\n\t\t$Lang_Please_Wait"
}


Message_Split_File_Prossing ()
{
    echo -e "${CONFIG_TXT_COLOR}Message_Split_File_Prossing ()${CONFIG_TXT_NORMAL}"

    timestamp=`date`

    zenity --progress --percentage=0 --auto-close --width="450" --title="$Lang_PRG_Name - $Lang_Split_File_Title" --text="<big><b>$Lang_Split_File_Text</b></big>\n\n\t$1\n\t  <big><big><b>↓</b></big></big>\n\t<b>$2</b>\n\n\t\t\t\t <small>Start: $timestamp</small>"
}


Message_WORK_DONE ()
{
    echo -e "${CONFIG_TXT_COLOR}Message_WORK_DONE ()${CONFIG_TXT_NORMAL}"

    timestamp=`date`

    # Logfile Output
    if [ "$LOGFILE" = "yes" ] ; then
        echo "END OF LOG!    --    $timestamp" >> "$LOG_FILE"
    fi

    Lang_Show_Logfile_Message=${Lang_Show_Logfile_Message/@REPLACE@/$LOG_FILE}

    if [ "$LOGFILE" = "yes" ] ; then
	    if ! zenity --question --cancel-label="$Lang_Button_ViewLogfile" --ok-label="$Lang_Button_QUIT" --title="$Lang_PRG_Name" --text="<big><big><b>$Lang_Work_Done_Text</b></big></big>\n\n$FIN_FILE_LIST\n\n$Lang_Show_Logfile_Message"
	    then
	        Message_Show_Logfile
	    fi
	else
	    zenity --info --title="$Lang_PRG_Name" --text="<big><big><b>$Lang_Work_Done_Text</b></big></big>\n\n$FIN_FILE_LIST"
	fi
}


Message_Show_Logfile ()
{
    echo -e "${CONFIG_TXT_COLOR}Message_Show_Logfile ()${CONFIG_TXT_NORMAL}"

    zenity --text-info --title="$Lang_PRG_Name - $Lang_Show_Logfile: $LOG_FILE" --width=800 --height=600 --filename="$LOG_FILE"
}

# -----------------------------------------------------------------------------
# Select Quick Settings or Manual
# -----------------------------------------------------------------------------
Select_Main ()
{
    echo -e "${CONFIG_TXT_COLOR}Select_Main ()${CONFIG_TXT_NORMAL}"

    MAIN_SELECTION=`zenity  --width="480" --height="250" --title="$Lang_PRG_Name - $Lang_Select_Main_Title" --text="<b>$Lang_Select_Main_Text</b>" --list --radiolist \
    --column="" --column="$Lang_Choose" --column="$Lang_Select_Main_Column" \
    TRUE  "QUICK"   "$Lang_Select_Main_Desc_1" \
    FALSE "MANUAL"  "$Lang_Select_Main_Desc_2" \
    FALSE "DVDBAK"  "$Lang_Select_Main_Desc_3" \
    FALSE "GC"      "$Lang_Select_Main_Desc_4" \
	| sed 's/ max//g' `
# Seperate to Video and Audio files
# Extract Video or Audio
# Merge Video with Audio

    # Logfile Output
    if [ "$LOGFILE" = "yes" ] ; then
        echo "Select_Main() : $MAIN_SELECTION" >> "$LOG_FILE"
    fi

    # must select
    if [ ! "$MAIN_SELECTION" ]; then
        Message_Info "$Lang_Error_No_User_Abort"
    fi             
}
Select_Main_2 ()
{
    echo -e "${CONFIG_TXT_COLOR}Select_Main ()${CONFIG_TXT_NORMAL}"

    MAIN_SELECTION=`zenity  --width="480" --height="230" --title="$Lang_PRG_Name - $Lang_Select_Main_Title" --text="<b>$Lang_Select_Main_Text</b>" --list --radiolist \
    --column="" --column="$Lang_Choose" --column="$Lang_Select_Main_Column" \
    TRUE  "QUICK"   "$Lang_Select_Main_Desc_1" \
    FALSE "MANUAL"  "$Lang_Select_Main_Desc_2" \
    FALSE "GC"      "$Lang_Select_Main_Desc_4" \
	| sed 's/ max//g' `

    # Logfile Output
    if [ "$LOGFILE" = "yes" ] ; then
        echo "Select_Main_2() : $MAIN_SELECTION" >> "$LOG_FILE"
    fi

    # must select
    if [ ! "$MAIN_SELECTION" ]; then
        Message_Info "$Lang_Error_No_User_Abort"
    fi             
}


# -----------------------------------------------------------------------------
# Select Quick Settings
# -----------------------------------------------------------------------------
Select_Main_Quick_Settings ()
{
    echo -e "${CONFIG_TXT_COLOR}Select_Main_Quick_Settings ()${CONFIG_TXT_NORMAL}"

    QUICK_MAIN_SELECTION=$((
    if [ "$CHECK_LSDVD" = TRUE ] ; then
        echo "TRUE" ;  echo "DVD_HQ_FULL"  ; echo "$Lang_Select_Quick_DVD_HQ"
        echo "FALSE" ; echo "DVD_MQ_FULL"  ; echo "$Lang_Select_Quick_DVD_MQ"
        echo "FALSE" ; echo "DVD_LQ_FULL"  ; echo "$Lang_Select_Quick_DVD_LQ"
    fi

    echo "FALSE" ; echo "VCD"          ; echo "$Lang_Select_Quick_VCD"
    echo "FALSE" ; echo "M-VCD_s700"   ; echo "$Lang_Select_Quick_XVCD"
    echo "FALSE" ; echo "SVCD"         ; echo "$Lang_Select_Quick_SVCD"
    echo "FALSE" ; echo "M-SVCD_s700"  ; echo "$Lang_Select_Quick_XSVCD"

    if [ "$CHECK_FFMPEG_MPEGTS" = TRUE ] ; then
        echo "FALSE" ; echo "TS_DBOX_FULL" ; echo "$Lang_Select_Quick_TS_DBOX"
        echo "FALSE" ; echo "TS_DBOX_HALF" ; echo "$Lang_Select_Quick_TS_DBOX2"
    fi

    echo "FALSE" ; echo "MP4_s700"     ; echo "$Lang_Select_Quick_MP4_700"
    echo "FALSE" ; echo "MP4_s800"     ; echo "$Lang_Select_Quick_MP4_800"
    echo "FALSE" ; echo "XVID_s700"    ; echo "$Lang_Select_Quick_XVID_700"
    echo "FALSE" ; echo "XVID_s800"    ; echo "$Lang_Select_Quick_XVID_800"
#    echo "FALSE" ; echo "XVID_PDA"     ; echo "$Lang_Select_Quick_XVID_PDA"
#    echo "FALSE" ; echo "XVID_PDA2"    ; echo "$Lang_Select_Quick_XVID_PDA2"

#    echo "FALSE" ; echo "PSP"          ; echo "$Lang_Select_Quick_PSP"

	) | zenity  --width="600" --height="420" --title="$Lang_PRG_Name - $Lang_Select_Quick_Title" --text="<b>$Lang_Select_Quick_Text</b>" --list --radiolist \
    --column="" --column="$Lang_Choose" --column="$Lang_Description" )

    # Logfile Output
    if [ "$LOGFILE" = "yes" ] ; then
        echo "Select_Main_Quick_Settings() : $QUICK_MAIN_SELECTION" >> "$LOG_FILE"
    fi

    # must select
    if [ ! "$QUICK_MAIN_SELECTION" ]; then
        Message_Info "$Lang_Error_No_User_Abort"
    fi
}


# -----------------------------------------------------------------------------
# Select Quick Settings for PDA/iPhone/iPod/xBox360/PS3/PSP
# -----------------------------------------------------------------------------
Select_Main_Quick_Settings_GC ()
{
    echo -e "${CONFIG_TXT_COLOR}Select_Main_Quick_Settings ()${CONFIG_TXT_NORMAL}"

    QUICK_MAIN_SELECTION=$((
    echo "TRUE"  ; echo "XVID_PDA"     ; echo "$Lang_Select_Quick_XVID_PDA"
    echo "FALSE" ; echo "XVID_PDA2"    ; echo "$Lang_Select_Quick_XVID_PDA2"
    echo "FALSE" ; echo "PSP"          ; echo "$Lang_Select_Quick_PSP"
    echo "FALSE" ; echo "PS3"          ; echo "$Lang_Select_Quick_PS3"
    echo "FALSE" ; echo "XBOX360"      ; echo "$Lang_Select_Quick_XBOX360"
    echo "FALSE" ; echo "IPOD"         ; echo "$Lang_Select_Quick_IPOD"
    echo "FALSE" ; echo "IPHONE"       ; echo "$Lang_Select_Quick_IPHONE"

	) | zenity  --width="600" --height="420" --title="$Lang_PRG_Name - $Lang_Select_Quick_Title" --text="<b>$Lang_Select_Quick_Text</b>" --list --radiolist \
    --column="" --column="$Lang_Choose" --column="$Lang_Description" )

    # Logfile Output
    if [ "$LOGFILE" = "yes" ] ; then
        echo "Select_Main_Quick_Settings_GC() : $QUICK_MAIN_SELECTION" >> "$LOG_FILE"
    fi

    # must select
    if [ ! "$QUICK_MAIN_SELECTION" ]; then
        Message_Info "$Lang_Error_No_User_Abort"
    fi
}


# -----------------------------------------------------------------------------
# Select Output Format
# -----------------------------------------------------------------------------
Select_Main_Manual_Settings ()
{
    echo -e "${CONFIG_TXT_COLOR}Select_Main_Manual_Settings ()${CONFIG_TXT_NORMAL}"

    MANUAL_MAIN_SELECTION=$((
    if [ "$CHECK_LSDVD" = TRUE ] ; then
        echo "TRUE" ; echo "DVD" ; echo "$Lang_Select_Output_1"
    fi

    echo "FALSE" ; echo "M-VCD"  ; echo "$Lang_Select_Output_8"
    echo "FALSE" ; echo "M-SVCD" ; echo "$Lang_Select_Output_9"

    if [ "$CHECK_FFMPEG_MPEGTS" = TRUE ] ; then
        echo "FALSE" ; echo "TS"     ; echo "$Lang_Select_Output_4"
    fi

    echo "FALSE" ; echo "MP4"    ; echo "$Lang_Select_Output_5"
    echo "FALSE" ; echo "XVID"   ; echo "$Lang_Select_Output_6"
    echo "FALSE" ; echo "WMV_7"   ; echo "$Lang_Select_Output_10"
    echo "FALSE" ; echo "WMV_8"   ; echo "$Lang_Select_Output_11"
    ) | zenity  --width="480" --height="250" --title="$Lang_PRG_Name - $Lang_Select_Output_Title" --text="$Lang_Select_Output_Text" --list --radiolist --column="" \
    --column="$Lang_Select_Output_Format_Column_1" --column="$Lang_Select_Output_Format_Column_2" )

    # Logfile Output
    if [ "$LOGFILE" = "yes" ] ; then
        echo "Select_Main_Manual_Settings() : $MANUAL_MAIN_SELECTION" >> "$LOG_FILE"
    fi

    if [ ! "$MANUAL_MAIN_SELECTION" ] ; then
        Message_Info "$Lang_Error_No_User_Abort"
    fi
}


# -----------------------------------------------------------------------------
# Select Target CD(s) 
# -----------------------------------------------------------------------------
Select_Target_CD_Size ()
{
    echo -e "${CONFIG_TXT_COLOR}Select_Target_CD_Size ()${CONFIG_TXT_NORMAL}"

    TARGET_CD_SIZE=`zenity  --width="480" --height="200" --title="$Lang_PRG_Name - $Lang_Select_CD_Title" --text="<b>$Lang_Select_CD_Text</b>" --list --radiolist \
    --column="" --column="$Lang_Number" --column="$Lang_Description" \
    TRUE  "NONE" "$Lang_Select_CD_Desc_0" \
    FALSE "700"  "$Lang_Select_CD_Desc_1" \
    FALSE "800"  "$Lang_Select_CD_Desc_2" \
	| sed 's/ max//g' `
#    FALSE "1400" "$Lang_Select_CD_Desc_3" \

    # Logfile Output
    if [ "$LOGFILE" = "yes" ] ; then
        echo "Select_Target_CD_Size() : $TARGET_CD_SIZE" >> "$LOG_FILE"
    fi

    # must select
    if [ ! "$TARGET_CD_SIZE" ]; then
        Message_Info "$Lang_Error_No_User_Abort"
    fi             

    if [ "$TARGET_CD_SIZE" = "NONE" ]; then
		TARGET_CD_SIZE=FALSE
	fi
}


# -----------------------------------------------------------------------------
# Select PAL or NTSC format
# -----------------------------------------------------------------------------
Select_PAL_or_NTSC ()
{
    echo -e "${CONFIG_TXT_COLOR}Select_PAL_or_NTSC ()${CONFIG_TXT_NORMAL}"

    local pal=''
    local ntsc=''
    
    if [ "$NTSC_OR_PAL" = "PAL" ] ; then
        pal="TRUE"
        ntsc="FALSE"
    fi

    if [ "$NTSC_OR_PAL" = "PAL_ONLY" ] ; then
        VIDEO_OUT_SYSTEM="PAL"
    fi

    if [ "$NTSC_OR_PAL" = "NTSC" ] ; then
        pal="FALSE"
        ntsc="TRUE"
    fi

    if [ "$NTSC_OR_PAL" = "NTSC_ONLY" ] ; then
        VIDEO_OUT_SYSTEM="NTSC"
    fi

    if [ "$NTSC_OR_PAL" = "PAL" ] || [ "$NTSC_OR_PAL" = "NTSC" ] ; then
        VIDEO_OUT_SYSTEM=`zenity  --width="480" --height="180" --title="$Lang_PRG_Name - $Lang_Select_PALNTSC_Title" --text="<b>$Lang_Select_PALNTSC_Text</b>" --list --radiolist --column="" \
    	--column="$Lang_Select_PALNTSC_Column" \
    	"$pal"  "$Lang_Select_PALNTSC_1" \
    	"$ntsc" "$Lang_Select_PALNTSC_2" \
    	| sed 's/ max//g' `
    fi

    # Logfile Output
    if [ "$LOGFILE" = "yes" ] ; then
        echo "Select_PAL_or_NTSC() : $VIDEO_OUT_SYSTEM" >> "$LOG_FILE"
    fi

    # must select
    if [ ! "$VIDEO_OUT_SYSTEM" ]; then
        Message_Info "$Lang_Error_No_User_Abort"
    fi

    if [ "$VIDEO_OUT_SYSTEM" = "NTSC" ] || [ "$NTSC_OR_PAL" = "NTSC_ONLY" ] ; then
        Select_NTSC_Format
    fi
}


# -----------------------------------------------------------------------------
# Select NTSC format - depends on PAL/NTSC
# -----------------------------------------------------------------------------
Select_NTSC_Format ()
{
    echo -e "${CONFIG_TXT_COLOR}Select_NTSC_Format ()${CONFIG_TXT_NORMAL}"

    DVD_NTSC_FORMAT=`zenity --width="480" --height="280" --title="$Lang_PRG_Name - $Lang_Select_NTSC_Title" --text="<b>$Lang_Select_NTSC_Text</b>" --list --radiolist --column="" \
    --column="$Lang_Choose" --column "$Lang_Description" \
    TRUE  "NORMAL"   "$Lang_Select_Resolution_Format_NTSC_30fps" \
    FALSE "TELECINE" "$Lang_Select_Resolution_Format_NTSC_23fps" \
    | sed 's/ max//g' `

    # Logfile Output
    if [ "$LOGFILE" = "yes" ] ; then
        echo "Select_NTSC_Format() : $DVD_NTSC_FORMAT" >> "$LOG_FILE"
    fi

    # must select
    if [ ! "$DVD_NTSC_FORMAT" ]; then
        Message_Info "$Lang_Error_No_User_Abort"
    fi             
}


# -----------------------------------------------------------------------------
# Select resolution - depends on PAL/NTSC for VCD/SVCD/DVD
# -----------------------------------------------------------------------------
Select_DVD_Resolution ()
{
    echo -e "${CONFIG_TXT_COLOR}Select_DVD_Resolution ()${CONFIG_TXT_NORMAL}"

    local res_list=''
    local height="250"

    if [ "$VIDEO_OUT_TYPE" = "DVD" ] ; then
        eval res_list='$Settings_Resolution_'$VIDEO_OUT_SYSTEM
    else
        eval res_list='$Settings_Resolution_'$VIDEO_OUT_TYPE
    fi


    VIDEO_OUT_SCALE=$((
    local first=''
    local c=1
    for resolution in $res_list ; do
        if [ "$VIDEO_OUT_TYPE" = "DVD" ] ; then
            eval text='$Lang_Select_Resolution_Format_'$VIDEO_OUT_SYSTEM'_'$c
        else
            eval text='$Lang_Select_Resolution_Format_'$VIDEO_OUT_TYPE'_'$c
        fi
        if [ $c = 1 ] ; then
            echo "TRUE"
            echo "$resolution"
            echo "$text"
        else
            echo "FALSE"
            echo "$resolution"
            echo "$text"
        fi
        c=`expr $c + 1`
    done
    ) | zenity --width="480" --height="$height" --title="$Lang_PRG_Name - $Lang_Select_Resolution_Title" --text="<b>$Lang_Select_Resolution_Text</b>" --list --radiolist --column="" \
    --column="$Lang_Resolution" --column "$Lang_Description" )


    # Logfile Output
    if [ "$LOGFILE" = "yes" ] ; then
        echo "Select_Movie_Resolution() : $VIDEO_OUT_SCALE" >> "$LOG_FILE"
    fi

    # must select an Resolution
    if [ ! "$VIDEO_OUT_SCALE" ]; then
        Message_Info "$Lang_Error_No_User_Abort"
    fi             
}


# -----------------------------------------------------------------------------
# Select DVD Aspect Ratio
# -----------------------------------------------------------------------------
Select_Aspect_Ratio ()
{
    echo -e "${CONFIG_TXT_COLOR}Select_Aspect_Ratio ()${CONFIG_TXT_NORMAL}"

    VIDEO_OUT_ASPECT=`zenity  --width="480" --height="380" --title="$Lang_PRG_Name - $Lang_Aspect_Ratio_Title" --list --radiolist --column="" --column="$Lang_Aspect_Ratio_Column_1" \
    TRUE "4/3" \
    FALSE "16/9" | sed 's/ max//g' `

    # Logfile Output
    if [ "$LOGFILE" = "yes" ] ; then
        echo "Select_Aspect_Ratio() : $VIDEO_OUT_ASPECT" >> "$LOG_FILE"
    fi

    #user must select an aspect ratio
    if [ ! "$VIDEO_OUT_ASPECT" ]; then
        Message_Info "$Lang_Error_No_User_Abort"
    fi             
}


# -----------------------------------------------------------------------------
# Select DVD Quality
# -----------------------------------------------------------------------------
Select_Video_Out_Quality ()
{
    echo -e "${CONFIG_TXT_COLOR}Select_Video_Out_Quality ()${CONFIG_TXT_NORMAL}"

    VIDEO_OUT_QUALITY=`zenity  --width="480" --height="240" --title="$Lang_PRG_Name - $Lang_Video_Out_Quality_Title" --text="$Lang_Video_Out_Quality_Text" --list --radiolist --column="" \
    --column="$Lang_Quality" --column="$Lang_Description"\
    TRUE  "HQ"   "$Lang_Video_Out_Quality_HQ" \
    FALSE "MQ"   "$Lang_Video_Out_Quality_MQ" \
    FALSE "LQ"   "$Lang_Video_Out_Quality_LQ" \
    FALSE "NONE" "$Lang_Video_Out_Quality_NONE" \
    | sed 's/ max//g' `

    # Logfile Output
    if [ "$LOGFILE" = "yes" ] ; then
        echo "Select_Video_Out_Quality() : $VIDEO_OUT_QUALITY" >> "$LOG_FILE"
    fi

    #user must select an aspect ratio
    if [ ! "$VIDEO_OUT_QUALITY" ]; then
        Message_Info "$Lang_Error_No_User_Abort"
    fi             
}


# -----------------------------------------------------------------------------
# Select how many passes do you want
# -----------------------------------------------------------------------------
Select_Video_Passes_Mode ()
{
    echo -e "${CONFIG_TXT_COLOR}Select_Video_Passes_Mode ()${CONFIG_TXT_NORMAL}"

    if [ $1 = 3 ] ; then
        VIDEO_OUT_PASSES=`zenity --list --radiolist --width="480" --height="240" --title="$Lang_PRG_Name - $Lang_Encode_Pass_Title" --text="$Lang_Encode_Pass_Text" \
		--column="" --column="$Lang_Passes" --column="$Lang_Description"\
        TRUE  "1"  "$Lang_Encode_Pass_Single"  \
        FALSE "2"  "$Lang_Encode_Pass_Double"  \
        FALSE "3"  "$Lang_Encode_Pass_Tripple" \
        | sed 's/ max//g' `
    fi

    if [ $1 = 2 ] ; then
        VIDEO_OUT_PASSES=`zenity --list --radiolist --width="480" --height="240" --title="$Lang_PRG_Name - $Lang_Encode_Pass_Title" --text="$Lang_Encode_Pass_Text" \
		--column="" --column="$Lang_Passes" --column="$Lang_Description"\
        TRUE  "1"  "$Lang_Encode_Pass_Single"  \
        FALSE "2"  "$Lang_Encode_Pass_Double"  \
        | sed 's/ max//g' `
    fi

    # Logfile Output
    if [ "$LOGFILE" = "yes" ] ; then
        echo "Select_Video_Passes_Mode() : $VIDEO_OUT_PASSES" >> "$LOG_FILE"
    fi

    #user must select an aspect ratio
    if [ ! "$VIDEO_OUT_PASSES" ]; then
        Message_Info "$Lang_Error_No_User_Abort"
    fi             
}
# -----------------------------------------------------------------------------
# Select Audio Track if multiple are found
# -----------------------------------------------------------------------------
Select_Multiple_Audio_Tracks ()
{
    echo -e "${CONFIG_TXT_COLOR}Select_Multiple_Audio_Tracks ()${CONFIG_TXT_NORMAL}"

    local counter=0
    local tmp=''
    local tmp_log=''

    AUDIO_OUT_STREAM_NO=$((
    while [ $counter -lt $IN_AUDIO_COUNT ] ; do
        if [ $counter = 0 ] ; then
            echo "TRUE"
        else
            echo "FALSE"
        fi

        echo "$counter"
        echo "${IN_AUDIO_STREAMID[$counter]}"
        echo "${IN_AUDIO_CODEC[$counter]}"
        echo "${IN_AUDIO_CHANNELS[$counter]}"

        if [ -n "${IN_AUDIO_LANGUAGE[$counter]}" ] ; then
            echo "${IN_AUDIO_LANGUAGE[$counter]}"
        elif [ -n "${IN_AUDIO_TITLE[$counter]}" ] ; then
            echo "${IN_AUDIO_TITLE[$counter]}"
        else
            echo "-"
        fi

        tmp_log="$tmp_log
        No.: $counter    STREAM ID: ${IN_AUDIO_STREAMID[$counter]}    AUDIO FORMAT: ${IN_AUDIO_CODEC[$counter]}    CHANNELS: ${IN_AUDIO_CHANNELS[$counter]}    LANG: $language"

        counter=`expr $counter + 1`
    done
    ) | zenity --width="480" --height="270" --title="$Lang_PRG_Name - $Lang_Multiple_Audio_Stream_Title" --text="<b>$Lang_Multiple_Audio_Stream_Text</b>" --list --radiolist \
    --column="" --column="$Lang_Number" --column="$Lang_ID" --column="$Lang_Audio_Format" --column="$Lang_Audio_Channels" --column="$Lang_Language" )


    # Logfile Output
    if [ "$LOGFILE" = "yes" ] ; then
        (
        echo "Select_Multiple_Audio_Tracks() : Multiple Audio Tracks found"
        echo "    $IN_AUDIO_COUNT Audio Tracks - Track No. $AUDIO_OUT_STREAM_NO selected"
        echo "$tmp_log"
        ) >> "$LOG_FILE"
    fi

    #user must select an aspect ratio
    if [ ! "$AUDIO_OUT_STREAM_NO" ]; then
        Message_Info "$Lang_Error_No_User_Abort"
    fi             
}


# -----------------------------------------------------------------------------
# Select DVD Audio Format
# -----------------------------------------------------------------------------
Select_DVD_Audio_Format ()
{
    echo -e "${CONFIG_TXT_COLOR}Select_DVD_Audio_Format ()${CONFIG_TXT_NORMAL}"

    AUDIO_OUT_CODEC=`zenity  --width="480" --height="200" --title="$Lang_PRG_Name - $Lang_Select_Audio_Format_Title" --text="$Lang_Select_Audio_Format_Text" --list --radiolist --column="" \
    --column="Format" --column="$Lang_Description" \
    TRUE "MP2" "$Lang_Select_Audio_Format_MP2" \
    FALSE "AC3" "$Lang_Select_Audio_Format_AC3" \
    | sed 's/ max//g' `
        
    # Logfile Output
    if [ "$LOGFILE" = "yes" ] ; then
        echo "Select_DVD_Audio_Format() : $AUDIO_OUT_CODEC" >> "$LOG_FILE"
    fi

    #user must select a Video bitrate
    if [ ! "$AUDIO_OUT_CODEC" ]; then
        Message_Error_Short "$Lang_Error_No_User_Abort"
    fi             
}


# -----------------------------------------------------------------------------
# Select the minimal Video OUT bitrate - depends on $VIDEO_OUT_TYPE
# -----------------------------------------------------------------------------
Select_Video_Out_Min_Bitrate () {
    echo -e "${CONFIG_TXT_COLOR}Select_Video_Out_Min_Bitrate ()${CONFIG_TXT_NORMAL}"

    VIDEO_OUT_BITRATE_MIN=0

#    local br_list=''
#    local br_default=''
#    local br_display=''

#    eval br_list='$Settings_'$VIDEO_OUT_TYPE'_Min_Bitrates'
#    eval br_default='$Settings_'$VIDEO_OUT_TYPE'_Min_Bitrates_Default'

#    for br in $br_list ; do
#        if [ "$br" = "$br_default" ] ; then
#            TrueFalse="TRUE"
#        else
#            TrueFalse="FALSE"
#        fi

#        br_display="$br_display $TrueFalse $br $Lang_kbs"
#    done

#    VIDEO_OUT_BITRATE_MIN=`zenity  --width="480" --height="350" --title="$Lang_PRG_Name - $Lang_Video_Out_Bitrate_Min_Title" --text="<b>$Lang_Video_Out_Bitrate_Min_Text</b>" --list --radiolist --column="" \
#    --column="$Lang_Bitrate" --column="" \
#    $br_display \
#    | sed 's/ max//g'`

    # Logfile Output
#    if [ "$LOGFILE" = "yes" ] ; then
#        echo "Select_Video_Out_Min_Bitrate() : $VIDEO_OUT_BITRATE_MIN" >> "$LOG_FILE"
#    fi

    #user must select a Video bitrate
#    if [ ! "$VIDEO_OUT_BITRATE_MIN" ]; then
#        Message_Info "$Lang_Error_No_User_Abort"
#    fi             
}


# -----------------------------------------------------------------------------
# Select the maximal Video OUT bitrate - depends on $VIDEO_OUT_TYPE
# -----------------------------------------------------------------------------
Select_Video_Out_Max_Bitrate () {
    echo -e "${CONFIG_TXT_COLOR}Select_Video_Out_Max_Bitrate ()${CONFIG_TXT_NORMAL}"

    local br_list=''
    local br_default=''
    local br_display=''

    eval br_list='$Settings_'$VIDEO_OUT_TYPE'_Max_Bitrates'
    eval br_default='$Settings_'$VIDEO_OUT_TYPE'_Max_Bitrates_Default'

    for br in $br_list ; do
        if [ "$br" = "$br_default" ] ; then
            TrueFalse="TRUE"
        else
            TrueFalse="FALSE"
        fi

        br_display="$br_display $TrueFalse $br $Lang_kbs"
    done

    VIDEO_OUT_BITRATE_MAX=`zenity  --width="480" --height="350" --title="$Lang_PRG_Name - $Lang_Video_Out_Bitrate_Max_Title" --text="<b>$Lang_Video_Out_Bitrate_Max_Text</b>" --list --radiolist --column="" \
    --column="$Lang_Bitrate" --column="" \
    $br_display \
    | sed 's/ max//g'`

    # Logfile Output
    if [ "$LOGFILE" = "yes" ] ; then
        echo "Select_Video_Out_Max_Bitrate() : $VIDEO_OUT_BITRATE_MAX" >> "$LOG_FILE"
    fi

    #user must select a Video bitrate
    if [ ! "$VIDEO_OUT_BITRATE_MAX" ]; then
        Message_Info "$Lang_Error_No_User_Abort"
    fi             
}


# -----------------------------------------------------------------------------
# Select the average Video OUT bitrate - depends on $VIDEO_OUT_TYPE and $VIDEO_OUT_vBITRATE_MAX
# -----------------------------------------------------------------------------
Select_Video_Out_Average_Bitrate ()
{
    echo -e "${CONFIG_TXT_COLOR}Select_Video_Out_Average_Bitrate ()${CONFIG_TXT_NORMAL}"

    local br_list=''
    local br_display=''
    local br_default=''

    eval br_list='$Settings_'$VIDEO_OUT_TYPE'_vBitrates'
    eval br_default='$Settings_'$VIDEO_OUT_TYPE'_vBitrates_Default'

    if [ "$VIDEO_OUT_TYPE" = "SVCD" ] || [ "$VIDEO_OUT_TYPE" = "DVD" ] ; then
        local text2="\n$Land_Video_Out_Bitrate_Ave_Text2 <b>$VIDEO_OUT_BITRATE_MAX</b>"
    fi

    if [ "$VIDEO_OUT_TYPE" != "SVCD" ] && [ "$VIDEO_OUT_TYPE" != "DVD" ] ; then
        VIDEO_OUT_BITRATE_MAX=`echo "$br_list" | awk '{print $1}'`
    fi

    for br in $br_list ; do
        if [ $br -le $VIDEO_OUT_BITRATE_MAX ] ; then
            if [ ! "$br_display" ] ; then
                br_display="TRUE $br $Lang_kbs"
            else
                br_display="$br_display FALSE $br $Lang_kbs"
            fi
        fi
    done


    VIDEO_OUT_BITRATE_VBR=`zenity  --width="480" --height="300" --title="$Lang_PRG_Name - $Lang_Video_Out_Bitrate_Ave_Title" --text="<b>$Lang_Video_Out_Bitrate_Ave_Text</b>$text2" --list --radiolist --column="" \
    --column="$Lang_Bitrate" --column="" \
    $br_display \
    | sed 's/ max//g'`

    # Logfile Output
    if [ "$LOGFILE" = "yes" ] ; then
        echo "Select_Video_Out_Average_Bitrate() : $VIDEO_OUT_BITRATE_VBR" >> "$LOG_FILE"
    fi

    #user must select a Video bitrate
    if [ ! "$VIDEO_OUT_BITRATE_VBR" ]; then
        Message_Info "$Lang_Error_No_User_Abort"
    fi             
}


# -----------------------------------------------------------------------------
# Select the Audio OUT bitrate
# -----------------------------------------------------------------------------
Select_Audio_Out_Bitrate ()
{
    echo -e "${CONFIG_TXT_COLOR}Select_Audio_Out_Bitrate ()${CONFIG_TXT_NORMAL}"

    local br_display=''

    for br in $Settings_Audio_Out_Bitrates ; do
        if [ "$br" = $AUDIO_OUT_BITRATE ] ; then
            br_display="$br_display TRUE $br $Lang_kbs"
        else
            br_display="$br_display FALSE $br $Lang_kbs"
        fi
    done


    AUDIO_OUT_BITRATE=`zenity  --width="480" --height="300" --title="$Lang_PRG_Name - $Lang_Audio_Out_Bitrate_Title" --text="<b>$Lang_Audio_Out_Bitrate_Text</b>" --list --radiolist --column="" \
    --column="$Lang_Bitrate" --column="" \
    $br_display \
    | sed 's/ max//g' `

    # Logfile Output
    if [ "$LOGFILE" = "yes" ] ; then
        echo "Select_Audio_Out_Bitrate() : AUDIO_OUT_BITRATE=$AUDIO_OUT_BITRATE" >> "$LOG_FILE"
    fi

    #user must select a Video bitrate
    if [ ! "$AUDIO_OUT_BITRATE" ]; then
        Message_Info "$Lang_Error_No_User_Abort"
    fi             
}


# -----------------------------------------------------------------------------
# Select Audio Resample Data
# -----------------------------------------------------------------------------
Select_Audio_Resample ()
{
    echo -e "${CONFIG_TXT_COLOR}Select_Audio_Resample ()${CONFIG_TXT_NORMAL}"

    local TOF_HZ48=FALSE
    local TOF_HZ44=FALSE
    local TOF_HZ22=FALSE
    local TOF_HZ16=FALSE
    local TOF_HZ8=FALSE

    if [ "$AUDIO_OUT_RESAMPLE_RATE" = "48000" ] ; then
        local TOF_HZ48=TRUE
    elif [ "$AUDIO_OUT_RESAMPLE_RATE" = "44100" ] ; then
        local TOF_HZ44=TRUE
    elif [ "$AUDIO_OUT_RESAMPLE_RATE" = "22050" ] ; then
        local TOF_HZ22=TRUE
    elif [ "$AUDIO_OUT_RESAMPLE_RATE" = "16000" ] ; then
        local TOF_HZ16=TRUE
    elif [ "$AUDIO_OUT_RESAMPLE_RATE" = "8000" ] ; then
        local TOF_HZ8=TRUE
    fi

    AUDIO_OUT_RESAMPLE_RATE=`zenity  --width="480" --height="240" --title="$Lang_PRG_Name - $Lang_Audio_Out_Resample_Title" --text="$Lang_Audio_Out_Resample_Text" --list --radiolist --column="" \
    --column="$Lang_Frequency" --column="$Lang_Description"\
    $TOF_HZ48  "48000"   "$Lang_Audio_Out_Resample_48" \
    $TOF_HZ44  "44100"   "$Lang_Audio_Out_Resample_44" \
    $TOF_HZ22  "22050"   "$Lang_Audio_Out_Resample_22" \
    $TOF_HZ16  "16000"   "$Lang_Audio_Out_Resample_16" \
    $TOF_HZ8   "8000"    "$Lang_Audio_Out_Resample_8"  \
    | sed 's/ max//g' `

    # Logfile Output
    if [ "$LOGFILE" = "yes" ] ; then
        echo "Select_Audio_Resample() : $AUDIO_OUT_RESAMPLE_RATE" >> "$LOG_FILE"
    fi

    #user must select an aspect ratio
    if [ ! "$AUDIO_OUT_RESAMPLE_RATE" ]; then
        Message_Info "$Lang_Error_No_User_Abort"
    fi

    AUDIO_OUT_RATE="$AUDIO_OUT_RESAMPLE_RATE"
}


# -----------------------------------------------------------------------------
# Select Audio the Same
# -----------------------------------------------------------------------------
Message_Same_Audio_Format ()
{
    echo -e "${CONFIG_TXT_COLOR}Message_Same_Audio_Format ()${CONFIG_TXT_NORMAL}"

    # Logfile Output
    if [ "$LOGFILE" = "yes" ] ; then
        echo "Message_Same_Audio_Format() : Input and Output Adio Codec are the same" >> $LOG_FILE
    fi

    if [ $IN_AUDIO_COUNT -gt 1 ] ; then
        text="<b><big>$Lang_Ident_Audio_Text1</big></b>\n\n$Lang_Ident_Audio_Text2\n\n          $Lang_Source: ${IN_AUDIO_BITRATE[$AUDIO_OUT_STREAM_NO]} $Lang_kbs    ${IN_AUDIO_SAMPLERATE[$AUDIO_OUT_STREAM_NO]} $Lang_HZ    Codec: ${IN_AUDIO_CODEC[$AUDIO_OUT_STREAM_NO]}\n$Lang_Your_Selection: $AUDIO_OUT_BITRATE $Lang_kbs    $AUDIO_OUT_RESAMPLE_RATE $Lang_HZ    Codec: $AUDIO_OUT_CODEC\n\n    <i>$Lang_Question_Answer_Audio</i>"
    else
        text="<b><big>$Lang_Ident_Audio_Text1</big></b>\n\n$Lang_Ident_Audio_Text2\n\n          $Lang_Source: $IN_AUDIO_BITRATE $Lang_kbs    $IN_AUDIO_SAMPLERATE $Lang_HZ    Codec: $IN_AUDIO_CODEC\n$Lang_Your_Selection: $AUDIO_OUT_BITRATE $Lang_kbs    $AUDIO_OUT_RESAMPLE_RATE $Lang_HZ    Codec: $AUDIO_OUT_CODEC\n\n    <i>$Lang_Question_Answer_Audio</i>"
    fi

    if ! zenity --question --title="$Lang_PRG_Name - $Lang_Question_BIG" --text="$text" ; then
        echo "    The Audio Stream will be encoded ..." >> $LOG_FILE
        return 0
    else
        echo "    The Audio Stream will be copied ..." >> "$LOG_FILE"
        return 1
    fi
}


# -----------------------------------------------------------------------------
# Select Quantization Matrix
# -----------------------------------------------------------------------------
Select_Quantization_Matrix ()
{
    echo -e "${CONFIG_TXT_COLOR}Select_Quantization_Matrix ()${CONFIG_TXT_NORMAL}"

    QUANT_MATRIX=$((
		local c=1
		local c_max=15
		local text=''

		while [ $c != $c_max ] ; do
			if [ $c = $QUANT_MATRIX_DEFAULT ] ; then
				echo "TRUE"
			else
				echo "FALSE"
			fi

			echo "$c"
			eval text='$Lang_Matrix_Dsc_'$c
			echo "$text"
			c=`expr $c + 1`
		done
	) | zenity --list --radiolist --width="480" --height="300" --title="$Lang_PRG_Name - $Lang_Select_Matrix_Title" --text="$Lang_Select_Matrix_Text" --column="" --column="$Lang_Number" --column="$Lang_Description" )

    # Logfile Output
    if [ "$LOGFILE" = "yes" ] ; then
        echo "Select_Quantization_Matrix() : $QUANT_MATRIX" >> "$LOG_FILE"
    fi
}


# -----------------------------------------------------------------------------
# Select Settings from last time the script runs
# -----------------------------------------------------------------------------
Message_Last_Profile ()
{
    echo -e "${CONFIG_TXT_COLOR}Message_Last_Profile ()${CONFIG_TXT_NORMAL}"

    # Logfile Output
    if [ "$LOGFILE" = "yes" ] ; then
        echo "Message_Last_Profile() :" >> "$LOG_FILE"
    fi

    text="<b>$Lang_Last_Profile_Text1</b>\n\n<u>$Lang_Last_Profile_Text2</u>
     <b>$Lang_Last_Profile_VIDEO</b>
        $Lang_Last_Profile_VIDEO_OUT_TYPE\t\t:  $VIDEO_OUT_TYPE (${QUICK_MAIN_SELECTION}${MANUAL_MAIN_SELECTION})
        $Lang_Last_Profile_VIDEO_OUT_SYSTEM\t\t:  $VIDEO_OUT_SYSTEM
        $Lang_Last_Profile_VIDEO_OUT_SCALE\t\t:  $VIDEO_OUT_SCALE
        $Lang_Last_Profile_VIDEO_OUT_FPS\t\t:  $VIDEO_OUT_FPS
        $Lang_Last_Profile_VIDEO_OUT_vBITRATE\t:  $VIDEO_OUT_BITRATE_VBR
        $Lang_Last_Profile_VIDEO_OUT_QUALITY\t:  $VIDEO_OUT_QUALITY
        $Lang_Last_Profile_VIDEO_OUT_PASSES\t\t:  $VIDEO_OUT_PASSES\n
     <b>$Lang_Last_Profile_AUDIO</b>
        $Lang_Last_Profile_AUDIO_OUT_CODEC\t\t:  $AUDIO_OUT_CODEC
        $Lang_Last_Profile_AUDIO_OUT_BITRATE\t\t:  $AUDIO_OUT_BITRATE
        $Lang_Last_Profile_AUDIO_OUT_RATE\t:  $AUDIO_OUT_RATE\n\n
<i>$Lang_Question_Answer_Profile</i>"

    if ! zenity --question --title="$Lang_PRG_Name - $Lang_Question_BIG" --text="$text" ; then
	    if [ "$LOGFILE" = "yes" ] ; then
        	echo "    Change settings ..." >> "$LOG_FILE"
		fi
        return 0
    else
		if [ "$LOGFILE" = "yes" ] ; then
        	echo -e "    Useing Settings from last Encoding process ... \n\t\t$text" >> "$LOG_FILE"
		fi
        return 1
    fi
}


# -----------------------------------------------------------------------------
# select the Name and folder of the destination file
# -----------------------------------------------------------------------------
Select_Output_Folder_and_Name ()
{
    echo -e "${CONFIG_TXT_COLOR}Select_Output_Folder_and_Name ()${CONFIG_TXT_NORMAL}"
#echo "Marc: Achtung Überbrückung."
#SAVE_FILE_TO="/home/marc/Videos/test"
#return
#    local FreeSpaceOnDisk=FALSE
#    cd ~
#    while [ $FreeSpaceOnDisk != TRUE ] ; do
        if [ ! "$DVD_INFO_DISK_LABEL" ] || [ "$DVD_INFO_DISK_LABEL" = "unknown" ]; then
            SAVE_FILE_TO=`zenity --file-selection --save --title="$Lang_PRG_Name - $Lang_Select_Target_File"`
        else
            SAVE_FILE_TO=`zenity  --file-selection --directory --title="$Lang_PRG_Name - $Lang_Select_Target_Dir"`
            local filename=`echo $DVD_INFO_DISK_LABEL | tr "[:upper:]" "[:lower:]"`
            local filename="${filename//-/_}"
            local filename="${filename// /_}"
            local filename="${filename//___/_}"
            local filename="${filename//__/_}"
            SAVE_FILE_TO="$SAVE_FILE_TO/$filename"
        fi

        #user must select an aspect ratio
        if [ ! "$SAVE_FILE_TO" ]; then
            Message_Info "$Lang_Error_No_User_Abort"
        fi
    
#        Check_Free_Disk_Space "$SAVE_FILE_TO.vob" "${VOB_FILE_SIZE[$DVD_TITLE_TO_CONVERT]}"
#        local RET=$?

#        if [ $RET = 1 ] ; then
#            FreeSpaceOnDisk=TRUE
#        else
#            local needspace=$(echo "scale=0; $SPACE_NEEDED_ON_DISK / 1024" | bc)
#            local freespace=$(echo "scale=0; $SPACE_FREE_ON_DISK / 1024" | bc)
#            local text=${Lang_MSG_NoSpace_Text_2//@NEED@/$needspace MB}
#            local text=${text//@FREE@/$freespace MB}
#            zenity --warning --title="$Lang_PRG_Name - $Lang_MSG_NoSpace_Title" --text="<b>$Lang_MSG_NoSpace_Text_1</b>\n\n$text"
#        fi
#    done

    # Logfile Output
    if [ "$LOGFILE" = "yes" ] ; then
        echo "Select_Output_Folder_and_Name() : $SAVE_FILE_TO" >> "$LOG_FILE"
    fi
#exit
}


# -----------------------------------------------------------------------------
# special progress bar
# -----------------------------------------------------------------------------
Message_Special_Progress_Bar ()
{
    exec 3> >(zenity --progress --title="Sicherung" --percentage=0 --auto-close --width=450  --title="$Lang_PRG_Name - $Lang_Copy_Title")

    echo "# Ermittle Dateien..." >&3
    count=$(find ${1-.} | wc -l) # Anzahl der Dateien
    OLDIFS"$IFS"
    IFS='
    ' # wegen Dateien mit Leerzeichen
    i=0
    for file in $(find ${1-.})
    do
            i=$(($i+1));
            echo $(($i*100/$count)) >&3;
            if [ -d $file ]; then continue; fi #Verzeichnisse überspringen
            echo "# Datei '$file' wird gesichert..." >&3;
            sleep 3;
            echo "Datei '$file' wird gesichert...";
            # hier das einsetzen was mit der Datei gemacht werden soll.
    done

    echo Fertig.
    exec 3>&-

    IFS="$OLDIFS"
}
