#!/bin/bash

O1=O
O2=("Configure Options")

function set_dao_cdrom_driver {
    case $CHOICE in
	A) CDROM_DRIVER_CDRDAO="generic-mmc";;
	B) CDROM_DRIVER_CDRDAO="generic-mmc-raw";;
	C) CDROM_DRIVER_CDRDAO="plextor";;
	D) CDROM_DRIVER_CDRDAO="plextor-scan";;
	E) CDROM_DRIVER_CDRDAO="ricoh-mp6200";;
	F) CDROM_DRIVER_CDRDAO="sony-cdu920";;
	G) CDROM_DRIVER_CDRDAO="sony-cdu948";;
	H) CDROM_DRIVER_CDRDAO="taiyo-yuden";;
	I) CDROM_DRIVER_CDRDAO="teac-cdr55";;
	J) CDROM_DRIVER_CDRDAO="toshiba";;
	K) CDROM_DRIVER_CDRDAO="yamaha-cdr10x";;
    esac
}

function select_dao_cdrom_driver {
    RAD="Select a Driver"
    STRING=("A" "generic-mmc" on \
	    "B" "generic-mmc-raw" off \
	    "C" "plextor" off \
	    "D" "plextor-scan" off \
	    "E" "ricoh-mp6200" off \
	    "F" "sony-cdu920" off \
	    "G" "sony-cdu948" off \
	    "H" "taiyo-yuden" off \
	    "I" "teac-cdr55" off \
	    "J" "toshiba" off \
	    "K" "yamaha-cdr10x" off)
    INPUT=set_dao_cdrom_driver
    radiolist "${STRING[@]}"
}

function set_dao_cdrw_driver {
    case $CHOICE in
	A) CDRW_DRIVER_CDRDAO="generic-mmc";;
	B) CDRW_DRIVER_CDRDAO="generic-mmc-raw";;
	C) CDRW_DRIVER_CDRDAO="plextor";;
	D) CDRW_DRIVER_CDRDAO="plextor-scan";;
	E) CDRW_DRIVER_CDRDAO="ricoh-mp6200";;
	F) CDRW_DRIVER_CDRDAO="sony-cdu920";;
	G) CDRW_DRIVER_CDRDAO="sony-cdu948";;
	H) CDRW_DRIVER_CDRDAO="taiyo-yuden";;
	I) CDRW_DRIVER_CDRDAO="teac-cdr55";;
	J) CDRW_DRIVER_CDRDAO="toshiba";;
	K) CDRW_DRIVER_CDRDAO="yamaha-cdr10x";;
    esac
}

function select_dao_cdrw_driver {
    RAD="Select a Driver"
    STRING=("A" "generic-mmc" on \
	    "B" "generic-mmc-raw" off \
	    "C" "plextor" off \
	    "D" "plextor-scan" off \
	    "E" "ricoh-mp6200" off \
	    "F" "sony-cdu920" off \
	    "G" "sony-cdu948" off \
	    "H" "taiyo-yuden" off \
	    "I" "teac-cdr55" off \
	    "J" "toshiba" off \
	    "K" "yamaha-cdr10x" off)
    INPUT=set_dao_cdrw_driver
    radiolist "${STRING[@]}"
}

function menuchoices2 {
    case $choice in
	A) select_dao_cdrw_driver
	   ;;
	B) select_dao_cdrom_driver
	   ;;
	C) inputbox "Specify driver options for CDRW
(see cdrdao README. OK for \"$CDRW_DRIVER_OPTIONS\")"
	   CDRW_DRIVER_OPTIONS=${INPUT:=$CDRW_DRIVER_OPTIONS}
	   ;;
	D) inputbox "Specify driver options for CDROM
(see cdrdao README. OK for \"$CDROM_DRIVER_OPTIONS\")"
	   CDROM_DRIVER_OPTIONS=${INPUT:=$CDROM_DRIVER_OPTIONS}
	   ;;
	E) [ "$TMP_NOCOPY" = "yes" ] && TMP_NOCOPY="no" || TMP_NOCOPY="yes"
	   ;;
	F) if [ "$TMP_OVERBURN" = "off" ]; then
		TMP_OVERBURN="on"
		OVERBURN="-overburn -dao"
	   else
		TMP_OVERBURN="off"
		unset OVERBURN
	   fi
	   ;;
	G) set_cdrw_speed
	   ;;
	H) inputbox "Specify write buffers for CDRW
(OK for \"$BUFFERS\")"
	   BUFFERS=${INPUT:=$BUFFERS}
	   ;;
	I) if [ "$TMP_FORCE" = "yes" ]; then
		TMP_FORCE="no"
		unset FORCE1
		unset FORCE2
	   else
		TMP_FORCE="yes"
		FORCE1="--force"
		FORCE2="-force"
	   fi
	   ;;
	J) if [ "$TMP_DUMMY" = "off" ]; then
		TMP_DUMMY="on"
		DUMMY="-dummy"
		SIMULATE="--simulate"
	   else
		TMP_DUMMY="off"
		unset DUMMY
		unset SIMULATE
	   fi
	   ;;
	K) backup_conf --force $RCFILE
	   saverc
	   return
	   ;;
    esac
    configure_cd_options
}

function configure_cd_options {

    MENU="CONFIGURE OPTIONS"
    MENUCHOICES=menuchoices2
    DAO=("-" "CDRDAO only:" \
	 "A" "CDRW driver                [$CDRW_DRIVER]" \
	 "B" "CDROM driver               [$CDROM_DRIVER]" \
	 "C" "Extra CDRW driver options  [$CDRW_DRIVER_OPTIONS]" \
	 "D" "Extra CDROM driver options [$CDROM_DRIVER_OPTIONS]" \
	 "E" "Append NO COPY tag ?       [$TMP_NOCOPY]" \
	 "F" "Overburn                   [$TMP_OVERBURN]" \
	 "-" "CDRDAO & CDRECORD common options:" \
	 "G" "Set write speed            [$SPEED]" \
	 "H" "Set write buffers          [$BUFFERS]" \
	 "I" "Forced writing             [$TMP_FORCE]" \
	 "J" "Dummy write                [$TMP_DUMMY]" \
	 "K" "Save settings to \"$RCFILE\"")

    menubox "${DAO[@]}"
}
