X-Git-Url: http://gitweb.hugovil.com/?a=blobdiff_plain;f=fgen.sh;h=2eb48cc4873b297f7dfe42c5282ee603cb158007;hb=HEAD;hp=c4c6fe964d948ebf1b572948b75f6e78dbc51f74;hpb=5d4c7f3ccfb9daa56fcd6e3bda7fe1bef4761163;p=fgen.git diff --git a/fgen.sh b/fgen.sh index c4c6fe9..2eb48cc 100755 --- a/fgen.sh +++ b/fgen.sh @@ -18,6 +18,7 @@ fps=8 debug=0 trames=1 dry_run=0 +global=0 SED=sed @@ -65,10 +66,12 @@ function get_size() cat ${layers} | grep -m 1 "${1}" | ${SED} "s/.*geometry:\([0-9]\+x[0-9]\+\).*/\1/g" } -# Arg1: layer +# Arg1: line function get_pos() { - cat ${layers} | grep "${1}" | ${SED} "s/.*geometry:[0-9]\+x[0-9]\+\([+-][0-9]\+[+-][0-9]\+\),.*/\1/g" + local token + token=$(echo "${1}" | ${SED} "s/.*geometry:[0-9]\+x[0-9]\+\([+-][0-9]\+[+-][0-9]\+\),.*/\1/g") + echo "${token}" } # Arg1: line @@ -87,6 +90,26 @@ function get_frame_id() echo "${token}" } +# Arg1: label +function get_prefix_ref() +{ + local w + local token + + for w in ${ref_layer_prefix}; do + token=$(echo "${1}" | grep -e "^${w}" || echo "") + + if [ "${token}" != "" ]; then + # Ignore image. + echo "${token}" + return 0 + fi + done + + # Do not ignore image + echo "" +} + # Arg1: line function get_scene_id() { @@ -246,12 +269,14 @@ print_usage() echo "Options:" echo " -d affiche les informations de debug" echo " -f ne regénère pas les trames, mais uniquement la séquence vidéo" + echo " -g génère les fichiers globaux" echo " -n mode de test (dry-run)" echo " -r nombre de trames par seconde (FPS)" + echo " -s préfixe d'image à ignorer" echo " -h affiche ce message d'aide" } -while getopts "dhfnr:" flag ;do +while getopts "dhfgnr:s:" flag ;do case ${flag} in d) debug="1" @@ -259,12 +284,18 @@ while getopts "dhfnr:" flag ;do f) trames=0 ;; + g) + global=1 + ;; n) dry_run=1 ;; r) fps="${OPTARG}" ;; + s) + ref_layer_prefix="${ref_layer_prefix} ${OPTARG}" + ;; h) print_usage exit 0 @@ -371,6 +402,7 @@ if [ ${trames} -eq 1 ]; then log_dbg " nom: ${label}" log_dbg " pos: ${p}" + prefix_ref=$(get_prefix_ref "${label}") group_ref=$(get_group_ref "${group}") log_dbg " group_ref: ${group_ref}" @@ -397,6 +429,13 @@ if [ ${trames} -eq 1 ]; then continue fi + # Ignore images beginning with a specific reference prefix: + if [ x"${prefix_ref}" != x"" ]; then + # Ignore all images in prefix-ref: + log_dbg " ignore (prefix-ref)" + continue + fi + files="${files} -page ${p} ${src}[${scene}]" if [ x"${nf}" != x"" ]; then @@ -451,4 +490,6 @@ fi # Special case for last group... generate_video -generate_global +if [ x"${global}" = x"1" ]; then + generate_global +fi