#!/bin/bash

function save_cmsoundrc {
	local SOUNDRC=/etc/conmen/"$MNAME"rc
	backup_conf --force $SOUNDRC
        [ ! -z "$SOUNDCARD" ] && echo SOUNDCARD="'"${SOUNDCARD}"'" > ${SOUNDRC}
        [ ! -z "$IRQ" ] && echo IRQ="'"${IRQ}"'" >> ${SOUNDRC}
        [ ! -z "$IOPORT" ] && echo IOPORT="'"${IOPORT}"'" >> ${SOUNDRC}
        [ ! -z "$MPUPORT" ] && echo MPUPORT="'"${MPUPORT}"'" >> ${SOUNDRC}
}

function make_alsa_configfile {
    backup_conf $CONFIGFILE
    echo -e "alias char-major-116 snd" >> $CONFIGFILE
    echo -e "alias snd-card-0 snd-card-$SOUNDCARD" >> $CONFIGFILE
    echo -e "alias char-major-14 soundcore" >> $CONFIGFILE
    echo -e "alias sound-slot-0 snd-card-0" >> $CONFIGFILE
    echo -e "alias sound-service-0-0 snd-mixer-oss" >> $CONFIGFILE
    echo -e "alias sound-service-0-1 snd-seq-oss" >> $CONFIGFILE
    if [ "$SOUNDCARD" = emu10k1 ]; then
	echo -e "alias sound-service-0-3 snd-pcm-oss" >> $CONFIGFILE
	echo -e "alias sound-service-0-8 snd-seq-oss" >> $CONFIGFILE
	echo -e "alias sound-service-0-12 snd-pcm-oss" >> $CONFIGFILE
    else
	echo -e "alias sound-service-0-3 snd-pcm1-oss" >> $CONFIGFILE
	echo -e "alias sound-service-0-12 snd-pcm1-oss" >> $CONFIGFILE
    fi
	echo -e "options snd snd_major=116 \\" >> $CONFIGFILE
	echo -e "            snd_cards_limit=1 \\" >> $CONFIGFILE
	echo -e "            snd_device_mode=0666 \\" >> $CONFIGFILE
    if [ "$SOUNDCARD" = emu10k1 ]; then
	echo -e "            snd_device_gid=81 \\" >> $CONFIGFILE
    else
        echo -e "            snd_device_gid=0 \\" >> $CONFIGFILE
    fi
	echo -e "            snd_device_uid=0" >> $CONFIGFILE
	echo -e "options snd-card-$SOUNDCARD \\"  >> $CONFIGFILE
    if [ "$SOUNDCARD" = sbawe ]; then
	echo -e "        snd_index=1 \\" >> $CONFIGFILE
	echo -e "        snd_dma16_size=128 \\" >> $CONFIGFILE
    fi
    if [ "$SOUNDCARD" = emu10k1 ]; then
	echo -e "        snd_index=0 \\" >> $CONFIGFILE
	echo -e "        snd_id=$SOUNDCARD \\" >> $CONFIGFILE
	echo -e "        snd_dac_frame_size=64 \\" >> $CONFIGFILE
	echo -e "        snd_adc_frame_size=64" >> $CONFIGFILE
    else
	echo -e "        snd_id=$SOUNDCARD \\" >> $CONFIGFILE
	echo -e "        snd_port=$IOPORT \\" >> $CONFIGFILE
	echo -e "        snd_mpu_port=$MPUPORT \\" >> $CONFIGFILE
	echo -e "        snd_irq=$IRQ \\" >> $CONFIGFILE
	echo -e "        snd_dma8=1 \\" >> $CONFIGFILE
	echo -e "        snd_dma8_size=64 \\" >> $CONFIGFILE
	echo -e "        snd_dma16=3 \\" >> $CONFIGFILE
	echo -e "        snd_mic_agc=0" >> $CONFIGFILE
    fi
}

function make_oss_configfile {
    backup_conf $CONFIGFILE
    echo -e "alias char-major-14 off" >> $CONFIGFILE
    echo -e "alias midi off" >> $CONFIGFILE
    echo -e "alias sound off" >> $CONFIGFILE
}

function make_sb16_osslite_configfile {
    backup_conf $CONFIGFILE
    echo -e "alias sound sb" >> $CONFIGFILE
    echo -e "pre-install sound insmod sound dmabuf=1" >> $CONFIGFILE
    echo -e "options opl3 io=0x388" >> $CONFIGFILE
    echo -e "options sb io=$IOPORT \\" >> $CONFIGFILE
    echo -e "           irq=$IRQ \\" >> $CONFIGFILE
    echo -e "           dma=1 \\" >> $CONFIGFILE
    echo -e "           mpu_io=$MPUPORT" >> $CONFIGFILE
}
	
function make_sblive_configfile {
	backup_conf $CONFIGFILE
	echo -e "alias sound emu10k1" >> $CONFIGFILE
#	echo -e "pre-install emu10k1 insmod soundcore" >> $CONFIGFILE
#	echo -e "post-remove emu10k1 rmmod soundcore" >> $CONFIGFILE
}
