Subversion Repositories pub

Compare Revisions

Ignore whitespace Rev 535 → Rev 536

/video-contact-sheet/branches/1.13/dist/vcs
1761,6 → 1761,27
echo "${prefix_dbg}[TRACE]: $func ${*}${suffix_fback}" >&2
}
 
#
# Print the call stack / execution frames
# callstack([$1 = first frame]=0)
callstack() {
[[ $DEBUG -eq 1 ]] || return 0
local frame=$1 c= fn=
[[ -n $frame ]] || frame=0
echo "Callstack:"
while : ; do
c=$(caller $frame) || break
c=${c% *}
fn=${c#* }
# Only the last one, main, won't be a function
if [[ 'function' = $(type -t $fn) ]]; then
fn="${fn}()"
fi
echo " ${fn}:${c% *}"
(( ++frame ))
done
}
 
# Print an error message and exit
# die([$1 = message [, $2 = exit_code]])
# If no message is provided, use $ERROR_MSG
1864,12 → 1885,7
local cal=$(caller 1)
[[ $level ]] && error " Stack trace:"
local level=2
while [[ $cal ]]; do
cal=${cal% *}
error " ${cal#* }:${cal% *}"
cal=$(caller $level)
(( level++ ))
done
error "$(callstack 1 | sed 's/^/ /')"
exit $EX_SOFTWARE
}
}
2214,6 → 2230,13
set_capturer() {
trace $@
local up=$2
[[ -n $up ]] || up=1
 
if [[ $up -eq 1 ]] && ! grep -q "$1" <<<"${CAPTURERS_AVAIL[*]}" ; then
error "Tried to set '$1' as capturer, but not available"
return 1
fi
 
if [[ $1 = mplayer ]]; then
DECODER=$DEC_MPLAYER
PREFERRED_CAPTURER=mplayer
2225,7 → 2248,7
else
assert false
fi
if [[ ( -z $up ) || ( $up -eq 1 ) ]]; then
if [[ $up -eq 1 ]]; then
USR_DECODER=$DECODER
USR_PREFERRED_CAPTURER=$PREFERRED_CAPTURER
fi
3187,6 → 3210,7
}
 
pick_tools() {
trace $@
# User *wants* a certain decoder
if [[ $USR_PREFERRED_CAPTURER ]]; then
if echo "${CAPTURERS_AVAIL[@]}" | grep -qi "$PREFERRED_CAPTURER" ; then
4994,6 → 5018,7
# Ignore one of the players
disable_ffmpeg)
FFMPEG_BIN=''
CAPTURERS_AVAIL=( $(sed 's/ffmpeg//'<<<"${CAPTURERS_AVAIL[*]}") )
warn "FFmpeg disabled"
assert '[[ $MPLAYER_BIN ]]'
set_capturer mplayer
5000,6 → 5025,7
;;
disable_mplayer)
MPLAYER_BIN=''
CAPTURERS_AVAIL=( $(sed 's/mplayer//'<<<"${CAPTURERS_AVAIL[*]}") )
warn "Mplayer disabled"
assert '[[ $FFMPEG_BIN ]]'
set_capturer ffmpeg