function include_lirc () { config_file=$1 include_file=$2 grep -q ${include_file} ${config_file} if [ $? = 0 ] then echo ${include_file} already present else echo "include \"${include_file}\"" >> $config_file fi } function setup_ir_remote { case $Remotetype in no_remote) echo "No remote selected" daemon_remove="lircd $daemon_remove" ;; tinker) echo "Remote in tinker mode" ;; *) echo "Start of ir_remote setup" #make backup copy mv ${BASE}/etc/lircd.conf ${BASE}/etc/lircd.conf.`date +%Y-%m-%d-%H-%M` mv ${BASE}/etc/lircrc ${BASE}/etc/lircrc.`date +%Y-%m-%d-%H-%M` cd $TEMPLATES/remotes/$Remotetype for i in lircd* do include_lirc ${BASE}/etc/lircd.conf $TEMPLATES/remotes/$Remotetype/$i done for i in lircrc* do include_lirc ${BASE}/etc/lircrc $TEMPLATES/remotes/$Remotetype/$i done chmod 755 /etc/lircrc daemon_add="lircd $daemon_add" #standard location for mythtv lircrc if [ ! -e /home/mythtv/.mythtv/lircrc ] then if [ ! -d /home/mythtv/.mythtv ] then mkdir /home/mythtv/.mythtv chown mythtv:mythtv /home/mythtv/.mythtv fi ln -s /etc/lircrc /home/mythtv/.mythtv/lircrc 2> /dev/null fi #standard location for lircrc if [ ! -e /home/mythtv/.lircrc ] then ln -s /etc/lircrc /home/mythtv/.lircrc 2> /dev/null fi echo "Sending hup to lircd" sv hup lircd ;; esac } function setup_ir_receiver () { echo "setup_ir_receiver" case $ReceiverType in Serial) echo "setup serial lirc" sed -i -e '/.*#lirc/d' ${BASE}/etc/modules.mythvantage echo "lirc_serial #lirc" >> ${BASE}/etc/modules.mythvantage load-modules-mythvantage.sh ;; Usb-imon) echo "setup receiver-usb-imon" sed -i -e '/.*#lirc/d' ${BASE}/etc/modules.mythvantage echo "lirc_imon #lirc" >> ${BASE}/etc/modules.mythvantage load-modules-mythvantage.sh ;; Hauppauge) echo "setup hauppauge reciever (lirc_i2c)" sed -i -e '/.*#lirc/d' ${BASE}/etc/modules.mythvantage echo "lirc_i2c #lirc" >> ${BASE}/etc/modules.mythvantage cp_and_log $TEMPLATES/modules/lirc_i2c.conf ${BASE}/etc/modprobe.d/lirc_i2c.conf rmmod lirc_i2c 2>/dev/null load-modules-mythvantage.sh ;; *) sed -i -e '/.*#lirc/d' ${BASE}/etc/modules.mythvantage ;; esac } function setup_lcd () { case x$LCDtype in xtinker) echo "do nothing" ;; xno_lcd) echo "disabling lcd" sv down lcdd load-modules-mythvantage.sh UNLOAD LCD sed -i -e '/.*#LCD/d' ${BASE}/etc/modules.mythvantage daemon_remove="lcdd $daemon_remove" ;; x) echo "empty lcd" ;; *) echo "setup lcd" if [ -f $TEMPLATES/LCD/$LCDtype/modules ] then sed -i -e '/.*#LCD/d' ${BASE}/etc/modules.mythvantage cat $TEMPLATES/LCD/$LCDtype/modules >> ${BASE}/etc/modules.mythvantage #should also modprobe fi if [ -f $TEMPLATES/LCD/$LCDtype/LCDd.conf ] then cp_and_log $TEMPLATES/LCD/$LCDtype/LCDd.conf /etc # install="lcdproc $install" daemon_add="lcdd $daemon_add" load-modules-mythvantage.sh RESTART_FE="true" RESTART_LCD="true" fi #check if lirc capable,if so then call setupremote #if not in tinker mode check for remote if [ ! x$Remotetype = xtinker ] then if [ -f $TEMPLATES/LCD/$LCDtype/lircrc ] then cd $TEMPLATES/LCD/$LCDtype for i in lircd* do include_lirc ${BASE}/etc/lircd.conf $TEMPLATES/LCD/$LCDtype/$i done for i in lircrc* do include_lirc ${BASE}/etc/lircrc $TEMPLATES/LCD/$LCDtype/$i done cd - fi fi ;; esac } function setup_blaster_proto () { for i in `seq $Hostnumblaster` do TEMP=HostTransmitproto_$i eval proto=\$${TEMP} if [ -f $TEMPLATES/transmit/${proto}/lircd.conf ] then include_lirc ${BASE}/etc/lircd.conf $TEMPLATES/transmit/${proto}/lircd.conf fi done #--------------------------------REVISIT THIS------------------------ #sed -e "s/^REMOTE_NAME=.*$/REMOTE_NAME=${Blastertype} /" $TEMPLATES/change_chan.sh > #${BASE}/usr/bin/change_chan.sh #chmod 755 ${BASE}/usr/bin/change_chan.sh #channel change script change } function setup_blaster_transmiter () { echo "setup_blaster_transmiter" #if it's Reciever type, then these modules have already been loaded. if [ ! x$HostBlasterType = xReceiver ] then case $HostBlasterType in Serial) echo "setup serial lirc blaster" sed -i -e '/.*#blaster/d' ${BASE}/etc/modules.mythvantage echo "lirc_serial #blaster" >> ${BASE}/etc/modules.mythvantage load-modules-mythvantage.sh ;; Hauppauge) echo "setup hauppauge blaster (lirc_i2c)" sed -i -e '/.*#blaster/d' ${BASE}/etc/modules.mythvantage echo "lirc_i2c #blaster" >> ${BASE}/etc/modules.mythvantage cp_and_log $TEMPLATES/modules/lirc_i2c.conf ${BASE}/etc/modprobe.d/lirc_i2c.conf rmmod lirc_i2c 2>/dev/null load-modules-mythvantage.sh ;; *) sed -i -e '/.*#lirc/d' ${BASE}/etc/modules.mythvantage ;; esac fi } function setupir () { if [ ! x$Remotetype = xtinker ] then setup_ir_remote setup_ir_receiver setup_blaster_proto setup_blaster_transmiter fi setup_lcd }