diff options
Diffstat (limited to 'midipix.sh')
-rwxr-xr-x | midipix.sh | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/midipix.sh b/midipix.sh new file mode 100755 index 00000000..b6b84097 --- /dev/null +++ b/midipix.sh @@ -0,0 +1,53 @@ +#!/bin/sh +# +MIDIPIX_PATH_DEFAULTS="/c/Midipix /z"; + +if [ "${1}" = -h ]; then + echo "usage: $0 [drive_letter [dirname]]"; + exit 1; +elif [ ${#} -eq 0 ]; then +for MIDIPIX_PATH in ${MIDIPIX_PATH_DEFAULTS}; do + [ -d /cygdrive${MIDIPIX_PATH} ] || continue; + MIDIPIX_DRIVE=${MIDIPIX_PATH#/}; + MIDIPIX_DRIVE=${MIDIPIX_DRIVE%%/*}; + MIDIPIX_PNAME=${MIDIPIX_PATH#/${MIDIPIX_DRIVE}}; + MIDIPIX_PNAME=${MIDIPIX_PNAME#/}; + break; +done; +else + MIDIPIX_DRIVE="${1}"; MIDIPIX_PNAME="${2}"; + if [ "${MIDIPIX_DRIVE#*[ ]*}" != "${MIDIPIX_DRIVE}" ]\ + || [ "${MIDIPIX_PNAME#*[ ]*}" != "${MIDIPIX_PNAME}" ]; then + echo "Error: drive_letter/dirname must not contain SP (\` ') or VT (\`\\\t') characters."; + exit 1; + fi; +fi; +MIDIPIX_PATH=/${MIDIPIX_DRIVE}${MIDIPIX_PNAME:+/${MIDIPIX_PNAME}}; +if [ ! -d /cygdrive${MIDIPIX_PATH} ]; then + echo "Error: Midipix path non-existent or invalid (\`${MIDIPIX_PATH}'.)"; + exit 1; +else + if [ -f /cygdrive${MIDIPIX_PATH}/bin/libpsxscl.log ]; then + echo Found libpsxscl.log, copying to /cygdrive${MIDIPIX_PATH}/bin/libpsxscl.last. + cp /cygdrive${MIDIPIX_PATH}/bin/libpsxscl.log \ + /cygdrive${MIDIPIX_PATH}/bin/libpsxscl.last; + fi; + echo "Midipix drive letter.....: ${MIDIPIX_DRIVE}"; + echo "Midipix pathname.........: ${MIDIPIX_PNAME}"; + echo "Absolute Midipix pathname: ${MIDIPIX_PATH}"; + echo -------------------------------------------------------- + echo WARNING: The cygdrive path prefix will be changed to / + echo whilst the Midipix shell window is running. It will be + echo reset to its original value of /cygdrive after it exits. + echo -------------------------------------------------------- + mintty -h always -e /bin/sh -c " + set -o errexit; stty raw -echo; + mount --change-cygdrive-prefix /; + cd ${MIDIPIX_PATH}/native/bin; + export PATH=${MIDIPIX_PATH}/native/bin:${MIDIPIX_PATH}/native/lib; + ./ntctty.exe -e chroot //${MIDIPIX_PATH#/}/native /bin/bash"; + echo -------------------------------------------------------- + echo Resetting cygdrive path prefix to /. + echo -------------------------------------------------------- + mount --change-cygdrive-prefix /cygdrive; +fi; |