rendered paste body for t in "${cmd[@]}"; do
echo "Running nice transcode --print_status 340 -q 1 -i "${IN_FILES[i]}" \
${NAVSEEK[i]} -o $WORK_DIR/submenu/ \
-f $FRAME_RATE -Z ${GEO_ARRAY[C]},fast -c $t -y $SM_IMG_FMT,null" |
sed 's/ */ /g'|sed -e "s/^ *//"|tee -a "$LOG_FILE"
TCODE_CMD=(nice transcode --print_status 340 --write_pid /tmp/tcode.pid \
-q 1 -i "${IN_FILES[i]}" ${NAVSEEK[i]} -o "${PICS_OUT[@]}" \
-f $FRAME_RATE -Z ${GEO_ARRAY[C]},fast -c $t -y $SM_IMG_FMT,null)
function run_transcode()
{
"${TCODE_CMD[@]}" >> "$LOG_FILE" 2>&1
sleep 1
}
run_transcode &
sleep .5 # short sleep to allow 1st jpg to appear
TCODE_PID=$(</tmp/tcode.pid)
check_stall &
(
if [ -n "$TCODE_PID" ]; then
while ps -p $TCODE_PID >/dev/null; do
sleep $SLEEP # spinner interval
spin "Seeking in video and creating images: $(find "$JPEG_DIR" \
-maxdepth 1 -name \*.jpg|sort|awk -F / '{ field = $NF }; END{ print field }')"
done
echo
echo "Created $(find "$JPEG_DIR" -maxdepth 1 -name \*.jpg|wc -l) JPEGS of $TOTAL_JPEGS"
#cleanlog 1
else
#cleanlog 1
runtime_error "Problem creating images from the video."
$FROM_GUI && exit_from_gui || exit 1
fi
)
unset TCODE_CMD cmd run_transcode
if ! $ANI_SUB_MENU ; then
echo
mv $WORK_DIR/submenu/000000.$SM_IMG_FMT \
$WORK_DIR/submenu/$(printf "%08d%s\n" ${t%-*} .$SM_IMG_FMT)
elif $ANI_SUB_MENU; then
echo "renaming images by frame number"
echo
u=${t/*-}; v=${t/-*}
for ((n=0; n<340; n++)); do
if [ $v -eq 30 ]; then
mv $WORK_DIR/animenu/$(printf "%06d%s\n" $n .jpg) \
$WORK_DIR/animenu/$(printf "%08d%s\n" $((n+30)) .jpg)
else
mv $WORK_DIR/animenu/$(printf "%06d%s\n" $n .jpg) \
$WORK_DIR/animenu/$(printf "%08d%s\n" $((n+v)) .jpg)
fi
done
fi
done
if $ANI_SUB_MENU ; then
# move 340 images to each subdir: $WORK_DIR/animenu/{0,1,2,3,etc}
echo "moving images into subdirectories"
for ((a=0; a<${CHAPTERS[i]}; a++)); do
pics=( $(find $WORK_DIR/animenu/ -maxdepth 1 -name 00\*.$SM_IMG_FMT |
sort|head -n 340) )
echo "${pics[@]}" >> "$WORK_DIR/pics.log"
for f in ${pics[@]}; do
mv $f $WORK_DIR/animenu/$a
done
done
for ((a=0; a<${CHAPTERS[i]}; a++)); do
find $WORK_DIR/animenu/$a/ -name 00\*.$SM_IMG_FMT |
sort| head -n 20|xargs rm -f
find $WORK_DIR/animenu/$a/ -name 00\*.$SM_IMG_FMT |
sort|tail -n 20|xargs rm -f
done
# clean up left over pics in animenu/ dir
# rm -f $WORK_DIR/animenu/*.$SM_IMG_FMT
fi
if $ANI_SUB_MENU; then
echo
echo "Making 300 montage images for "${IN_FILES[i]}""
for ((a=1; a<300; a++)); do
spin "\rProcessing "$a.$SM_IMG_FMT" "
for ((b=0; b<${CHAPTERS[i]}; b++)); do
IMGS=( "${IMGS[@]}" $(find $WORK_DIR/animenu/$b \
-name \*.$SM_IMG_FMT| sort|head -n $a | sed -n -e "$a p") )
done
IM_CMD=(montage ${IMGS[@]} -tile ${TILE_ARRAY[C]} \
-geometry ${GEO_ARRAY[C]}+5+5 -bordercolor '#161514' \
-mattecolor '#161514' -background '#161514' miff:-)
IM_CMD2=(convert $WORK_DIR/submenu_template.jpg \
$WORK_DIR/title${i}_txt.png -gravity south \
-geometry +0+55 -composite - -gravity north -geometry +0+45 \
-composite $WORK_DIR/animenu/$a.$SM_IMG_FMT)
"${IM_CMD[@]}" | "${IM_CMD2[@]}"
unset IMGS
done
unset IM_CMD IM_CMD2 d f PIC
else # not $ANI_SUB_MENU
. . . . . . . . .