#!/bin/bash
# (C) 2006 AMSOFT - Version 6.10.28-5.00
# Mount CD images
# Get filename extension and make it lower-case
EXT=`echo $1 | sed -e 's/.*\.//'`
EXT_LOW=`echo $EXT | tr 'A-Z' 'a-z'`
# Main
if [ $EXT_LOW == "cue" -o $EXT_LOW == "iso" -o $EXT_LOW == "mds" -o $EXT_LOW == "ccd" -o $EXT_LOW == "nrg" ]; then
# Find a free DEV to mount
DEV=$((`cdemu -s | cut -f 8 -d " " | grep 0 -n -m 1 | cut -c 1`-2))
if [ $DEV -lt "0" ]; then
zenity --info --text "You can not mount any more images."; exit 1
fi
# Only allow mounting an image once
FILE="`basename $1`"
MOUNTED="`cdemu -s | grep "$FILE" | cut -f11 -d " "`"
DEVMOUNTED="`cdemu -s | grep "$FILE" | cut -f3 -d " " | sed -e 's@:@@'`"
if [ $MOUNTED == $FILE ]; then
zenity --info --text "Image already mounted on cdemu$DEVMOUNTED."; exit 1
fi
# DEV needs to be between 0 and 7



if [ $DEV -ge "0" -a $DEV -le 7 ]; then
cdemu $DEV "$1" &&
mount "/media/cdemu${DEV}" &&
gnome-open "/media/cdemu${DEV}"
fi
# If directory is empty, then release cdemu
if [ "$(ls -A /media/cdemu${DEV})" ]; then
echo
else
cdemu -u $DEV
fi
else zenity --info --text "Selected file is no image."; exit 1
fi
