while test $# -gt 0; do
DO_SHIFT=:
case "$1" in
"-files" )
CUR_INDEX=${#FILES[@]}
shift
unset x
get_listargs "$@"
for f in ${!ARGS_ARRAY[@]}; do
FILES[f+CUR_INDEX]="$(abspath "${ARGS_ARRAY[f]}")"
done
ts_end=$(( ts_start + ${#ARGS_ARRAY[@]} - 1 ))
titleset_indexes=( ${titleset_indexes[@]} ${ts_start}-${ts_end} )
(( titleset > 0 )) && DO_TITLESETS=:
let titleset=titleset+1
let ts_start=ts_start+${#ARGS_ARRAY[@]}
;;
function titleset_mode()
# call todisc recursively in order to allow titlesets
{
# for file in BACKGROUND SHOWCASE_FILE BG_AUDIO; do
if [[ -n $BACKGROUND && ! -e $BACKGROUND ]]; then
if [[ -e ../${BACKGROUND##*/} ]]; then
BACKGROUND=$(abspath ../${BACKGROUND##*/});
fi
fi
! $GROUPING && mk_workdir
cd "$WORK_DIR"
echo "BACKGROUND is $BACKGROUND"; sleep 5 #FIXME
DVDAUTHOR_XML=$WORK_DIR/dvdauthor.xml
# make dvdauthor.xml
(
cat <<EOF
<?xml version="1.0" encoding="utf-8"?>
<dvdauthor dest="$OUT_DIR" jumppad="0">
<vmgm>
<menus>
<pgc entry="title" pause="inf">
$(for ((i=1; i<=$titleset; i++)); do echo " <button name=\"$i\">jump titleset $i menu;</button>"; done)
<vob file="$REAL_WORK_DIR/VMGM.mpg"/>
</pgc>
</menus>
</vmgm>
EOF
) |sed '/^ *$/d' >> "$DVDAUTHOR_XML"
arguments=( $( sed 's/-files\( *[^- ][^ ]*\)*//g;s/-titles\( *[^- ][^ ]*\)*//g' <<< "${args[@]}") )
for tset in ${!titleset_indexes[@]}; do
for ((i=${titleset_indexes[tset]%%-*}; i<=${titleset_indexes[tset]##*-}; i++)); do
Files=( "${Files[@]}" "${FILES[i]}" )
Titles=( "${Titles[@]}" "${TITLES[i]}" )
done
if [[ -z ${VMGM_TITLES[@]} ]]; then
for ((t=0; t<titleset; t++)); do
VMGM_TITLES[t]="Titleset $((t+1))"
done
fi
yecho "Making a VMGM menu with the following command"
# vmgm_menu_cmd=(todisc
vmgm_menu_cmd=(makemenu "${VMGM_TITLES[@]}" -out VMGM -button play -align middle $NO_ASK $VMGM_MAKEMENU_OPTS)
yecho "${vmgm_menu_cmd[@]}"
"${vmgm_menu_cmd[@]}"
echo "Running:
todisc -titleset-mode -files "${Files[@]}" -titles "${Titles[@]}" "${arguments[@]}""
todisc -titleset-mode -files "${Files[@]}" -titles "${Titles[@]}" "${arguments[@]}"
unset i Files Titles
done
echo -e "</dvdauthor>" >> "$DVDAUTHOR_XML"
yecho "Running dvdauthor to create final DVD structure"
dvdauthor -x "$DVDAUTHOR_XML" 2>&1 | tee -a "$LOG_FILE"
if [[ ${PIPESTATUS[0]} -ne 0 ]]; then
runtime_error "There was a problem creating the DVD structure"
fi
yecho "Your new DVD should be in $OUT_DIR"
cleanup
}