#!/bin/sh

# This is Linux-specific startup script for a bundled version of Ardour

ARGS=""

while [ $# -gt 0 ] ; do
	case $1 in

	--debug)
		DEBUG="T";
		shift ;;
	*)
		ARGS=$ARGS$1" ";
		shift; ;;
	esac
done

# LD_LIBRARY_PATH needs to be set here so that epa can swap between the original and the bundled version
# (the original one will be stored in PREBUNDLE_ENV)
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
export PREBUNDLE_ENV="$(env)"

BIN_DIR=$(dirname $(readlink -f $0))
INSTALL_DIR=$(dirname $BIN_DIR)
LIB_DIR=$INSTALL_DIR/lib
ETC_DIR=$INSTALL_DIR/etc
USER_ARDOUR_DIR=$HOME/.config/ardour3

if [ ! -d $USER_ARDOUR_DIR ] ; then
    mkdir -p $USER_ARDOUR_DIR || exit 1
fi

# this triggers code in main() that will reset runtime environment variables
# to point to directories inside the ardour package

export ARDOUR_BUNDLED=true

# this is edited by the build script to include relevant environment variables

%ENV%

# Disable extra modules from being loaded by gtk (example, libcanberra-gtk-module.so)
export GTK_MODULES=""
# Set this so that the executable will find all the right libraries inside the bundle
export LD_LIBRARY_PATH=$INSTALL_DIR/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}

# create install-location-dependent config files for Pango and GDK image loaders
# We have to do this every time because its possible that BIN_DIR has changed

sed "s?@ROOTDIR@/modules?$LIB_DIR/modules?" < $ETC_DIR/pango.modules.in > $USER_ARDOUR_DIR/pango.modules
sed "s?@ROOTDIR@/loaders?$LIB_DIR/loaders?" < $ETC_DIR/gdk-pixbuf.loaders.in > $USER_ARDOUR_DIR/gdk-pixbuf.loaders


# Hack to fix i18n issue where the grid button gets translated even when translations are disabled.

if [ ! -e $USER_ARDOUR_DIR/.love_is_the_language_of_audio ]; then
	# Translations are disabled. Force english
	export LANG=C
fi


if [ "T" = "$DEBUG" ]; then
	export ARDOUR_INSIDE_GDB=1
	exec gdb $INSTALL_DIR/bin/ardour-3.0
else
	exec $INSTALL_DIR/bin/ardour-3.0 $ARGS
fi



