projects
/
fgen.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
f0422ed
)
Extract scene number in IM identify tool
author
Hugo Villeneuve
<hugo@hugovil.com>
Fri, 6 Oct 2023 20:15:55 +0000
(16:15 -0400)
committer
Hugo Villeneuve
<hugo@hugovil.com>
Sat, 7 Oct 2023 15:51:18 +0000
(11:51 -0400)
fgen.sh
patch
|
blob
|
history
diff --git
a/fgen.sh
b/fgen.sh
index
ea04217
..
8de4036
100755
(executable)
--- a/
fgen.sh
+++ b/
fgen.sh
@@
-43,13
+43,13
@@
function get_size()
# Arg1: layer
function get_pos()
{
# Arg1: layer
function get_pos()
{
- cat ${layers} | grep "${1}" | ${SED} "s/.*geometry:[0-9]\+x[0-9]\+\(+[0-9]\+
[0-9]\+\)
/\1/g"
+ cat ${layers} | grep "${1}" | ${SED} "s/.*geometry:[0-9]\+x[0-9]\+\(+[0-9]\+
+[0-9]\+\),.*
/\1/g"
}
# Arg1: line
function get_label()
{
}
# Arg1: line
function get_label()
{
- frame=$(echo "${1}" |
grep -e "label:.*," | ${SED} "s/label:\(.*\),
.*/\1/g")
+ frame=$(echo "${1}" |
${SED} "s/.*label:\(.*\),geometry
.*/\1/g")
if [ x"${frame}" = x"" ]; then
echo ""
if [ x"${frame}" = x"" ]; then
echo ""
@@
-63,7
+63,7
@@
function get_label()
# Arg1: line
function get_frame_id()
{
# Arg1: line
function get_frame_id()
{
- frame=$(echo "${1}" | grep -e "label:[0-9]\+," | ${SED} "s/label:\([0-9]\+\),.*/\1/g")
+ frame=$(echo "${1}" | grep -e "label:[0-9]\+," | ${SED} "s/
.*
label:\([0-9]\+\),.*/\1/g")
if [ x"${frame}" = x"" ]; then
echo ""
if [ x"${frame}" = x"" ]; then
echo ""
@@
-72,6
+72,14
@@
function get_frame_id()
fi
}
fi
}
+# Arg1: line
+function get_scene_id()
+{
+ local token
+ token=$(echo "${1}" | ${SED} "s/.*scene:\([0-9]\+\),.*/\1/g")
+ echo "${token}"
+}
+
# Arg1: label
function is_skip_label()
{
# Arg1: label
function is_skip_label()
{
@@
-156,9
+164,10
@@
for tool in convert composite identify; do
done
if [ ${trames} -eq 1 ]; then
done
if [ ${trames} -eq 1 ]; then
- identify ${IM_OPS} -verbose -format "label:%l,geometry:%g\n" ${src} > ${layers}
+ # %s: scene number
+ identify ${IM_OPS} -verbose -format "scene:%s,label:%l,geometry:%g,\n" ${src} > ${layers}
- #
Ignore empty labels
:
+ #
Remove line(s) with empty label
:
${SED} -i -e /label:,.*/d ${layers}
# Extract global frame size:
${SED} -i -e /label:,.*/d ${layers}
# Extract global frame size:
@@
-177,21
+186,17
@@
if [ ${trames} -eq 1 ]; then
# Create background frame:
convert -size ${size} xc:none ${dest}/background.png
# Create background frame:
convert -size ${size} xc:none ${dest}/background.png
- # Will start at frame 2 at first loop iteration
- f=1
-
nf=""
oldnf=""
files=""
while read l; do
nf=""
oldnf=""
files=""
while read l; do
- f=$((${f} + 1))
-
+ scene=$(get_scene_id "${l}")
label=$(get_label "${l}")
p=$(get_pos "${l}")
nf=$(get_frame_id "${l}")
label=$(get_label "${l}")
p=$(get_pos "${l}")
nf=$(get_frame_id "${l}")
- log_dbg "
Couche ${f
}"
+ log_dbg "
Layer ${scene
}"
log_dbg " nom: ${label}"
log_dbg " pos: ${p}"
log_dbg " nom: ${label}"
log_dbg " pos: ${p}"
@@
-200,7
+205,7
@@
if [ ${trames} -eq 1 ]; then
continue
fi
continue
fi
- files="${files} -page ${p} ${src}[${
f
}]"
+ files="${files} -page ${p} ${src}[${
scene
}]"
if [ x"${nf}" != x"" ]; then
# Only check expected frame if oldnf is set...
if [ x"${nf}" != x"" ]; then
# Only check expected frame if oldnf is set...