46 lines
1.9 KiB
Bash
46 lines
1.9 KiB
Bash
#!/bin/sh
|
|
#
|
|
# Generate node tree from verbose logfile
|
|
#
|
|
# HOWTO USE
|
|
# =========
|
|
#
|
|
# First of all, you need to recompile modules slideshow and canvas
|
|
# with VERBOSE=t set in the environment, and debug=t defined at the
|
|
# build tool command line. Then run your slideshow and redirect stdout
|
|
# to a file.
|
|
#
|
|
# Then, call 'nodetree.sh trace-file > tree.ps' to generate a
|
|
# PostScript file for the AnimationNode tree generated during the show.
|
|
# Since these easily get pretty huge, use only one page, and try to
|
|
# limit the slide content (which have effects assigned, that is) to
|
|
# the bare minimum (to reproduce your bug, or whatever you need this
|
|
# for).
|
|
#
|
|
# The generated output will have all nodes color-coded with their state
|
|
# at the point when the tree was dumped (see colors.sh for the color
|
|
# codes)
|
|
#
|
|
# When looking for the mechanics that generate the relevant output,
|
|
# grep for the DEBUG_NODES_SHOWTREE macros in the slideshow source:
|
|
# Each such place dumps the current node tree to the trace output. Thus,
|
|
# if you need to check the tree state at other places or times, just add
|
|
# a DEBUG_NODES_SHOWTREE
|
|
#
|
|
|
|
###################################################
|
|
#
|
|
# Generate node tree
|
|
#
|
|
###################################################
|
|
|
|
grep -E "Node connection|Node state" $1 | \
|
|
sed -e '/Node state/ s/.*Node state.*: \(.*\)/\1/' \
|
|
-e '/Node connection/ s/.*Node connection.*: \(n.*\)/\1/' | \
|
|
\
|
|
awk 'BEGIN { print "digraph Event_network {" }; { print } END { print "}" }' | \
|
|
\
|
|
\
|
|
# fill a complete A1 page with graph output
|
|
dot -Gratio=fill -Gsize=23,33 -Tps
|
|
#dot -Gratio=fill -Gorientation=land -Tps
|