All pastes #427099 Raw Edit

Something

public text v1 · immutable
·published 2007-04-06 16:43 UTC
rendered paste body
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

}