#
# Copyright (C) by Stefano Falsetto
# e-mail contact ....: mailto:stefko5@inwind.it
#
#    This program is free software; you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation; either version 2 of the License, or
#    (at your option) any later version.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with this program; if not, write to the Free Software
#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
#
#
# Config plugin for cdda2wav
#

cat_variables_cdda2wav () {
    cat <<EOF
# Complete path for cdda2wav
cdda2wav_DECODER="$cdda2wav_DECODER"

# Device used to read audio tracks
CDDA_DEVICE="$CDDA_DEVICE"

# Handled format file in output
OUTPUT_FORMATS_cdda2wav=( $OUTPUT_FORMATS_cdda2wav )

# Seconds of tracks to buffer
CDDA_BUFFER=$CDDA_BUFFER

# Seconds to wait for insert cd in tray
CDDA_SEC_TRY=10

# Parameters to output files in various formats
cdda2wav_TO_wav="$cdda2wav_TO_wav"
cdda2wav_TO_cdr="$cdda2wav_TO_cdr"
cdda2wav_TO_au="$cdda2wav_TO_au"
cdda2wav_TO_aiff="$cdda2wav_TO_aiff"
cdda2wav_TO_aifc="$cdda2wav_TO_aifc"
cdda2wav_TO_sun="$cdda2wav_TO_sun"
cdda2wav_TO_raw="$cdda2wav_TO_raw"
cdda2wav_TOFMT="$cdda2wav_TO_wav"


EOF
}

###############
# MAIN
###############

if [ $(expr "$SUPPORTED_FORMATS" : ".*CDA.*") -ne ${#SUPPORTED_FORMATS} ]; then
  begin_check cdda2wav
  find_prg cdda2wav
  cdda2wav_DECODER=$FOUND_PRG
  if [ -z "$cdda2wav_DECODER" ]; then
    missing cdda2wav "http://www.fokus.gmd.de/usr/schilling/cdrecord.html"
  else
    EXTENSIONS="CDA"
    OUTPUT_FORMATS_cdda2wav="wav cdr au aiff aifc sun raw"
    cdda2wav_TO_wav="wav"
    cdda2wav_TO_cdr="cdr"
    cdda2wav_TO_au="au"
    cdda2wav_TO_aiff="aiff"
    cdda2wav_TO_aifc="aifc"
    cdda2wav_TO_sun="sun"
    cdda2wav_TO_raw="raw"
    cdda2wav_TOFMT=$cdda2wav_TO_wav
    AUDIO_PLUGINS="$AUDIO_PLUGINS cdda2wav"
    PARAMETERS="cdda:.*|--cdda-device"
    PLUGINS_WITH_PARAMETERS="$PLUGINS_WITH_PARAMETERS cdda2wav"
    SUPPORTED_FORMATS="$SUPPORTED_FORMATS $EXTENSIONS"
    QueryVersion $($cdda2wav_DECODER --help 2>&1|$GREP Version|cut -d' ' -f2 |\
                   cut -d'_' -f1) cdda2wav "1.10"
    echo
    CheckMemory "cdda2wav"
    CDDA_BUFFER=$[ (MEMBUFF*1024) / 176629 ]

    if [ -z "$CDRECORD" ]; then
      if [ -z "$CDRDAO" ]; then
        #  #TODO: parse /proc/scsi/scsi file!
        CDDA_DEVICE="/dev/cdrom"
        echoc CYAN "Can't list SCSI devices. Using default device $CDDA_DEVICE"
        echoc CYAN "If device selected is wrong, you can edit CDDA_DEVICE "
        echoc CYAN "variable in $CONFFILE with a text editor."
        echoc CYAN "You can use --cdda-device parameter at run time too."
      else
        (
          MYCDR=$(echo "$CDRDAO"|cut -d' ' -f1) # To have path to program only
          $MYCDR scanbus 2>&1|$GREP "[0-9],">$TEMPDATA 
        )
        echo
        echoc CYAN "Reader device selection"
        manual_scsi $TEMPDATA cdrdao
        CDDA_DEVICE=$scsiid
      fi
    else # CDRECORD is not zero!
      (
        MYCDR=$(echo "$CDRECORD"|cut -d' ' -f1) # To have path to program only
        $MYCDR -scanbus 2>&1|$GREP "[0-9])"|$GREP -v "*" >$TEMPDATA
      )
      echo
      echoc CYAN "Reader device selection"
      manual_scsi $TEMPDATA cdrecord
      CDDA_DEVICE=$scsiid
    fi
  fi
  #lechoc CYAN "Summary of commands used by $cdda2wav_DECODER:"
  #lechoc CYAN "Rip track without buffer:"
  #lechoc YELLOW " -> $cdda2wav_DECODER "
  echo
  echoc YELLOW " -> Default device to read CD audio tracks: $CDDA_DEVICE"
  
  
  end_check
fi
