Code-Swarm
Sunday, 20. July 2008 20:03
I tried out a nice little tool called Code-Swarm. It is really easy to use, you have only to check out the project and follow these steps (runs only with SVN at the moment):
- Get activity log from your repository: svn log -v > my-rep.log
- Convert this using the python script shipped with code-swarm: python -s my-rep.log -o my-rep.xml
- Copy the sample.config and modify to your needs (data/sample.config)
- Run the ant task run but modify the build script to use your config.
That’s all, ok one more step to create a video. But you find all steps described here.
(I used ffmpeg with this command:
ffmpeg -f image2 -r 24 -i ./frames/code_swarm-%05d.png -sameq ./cc-codeswarm.mov -pass 2)
I have done this for the cruisecontrol project, with the the config below.
You can watch the movie here.
# This is a configuration file for code_swarm
# Frame width
Width=640
# Frame height
Height=480
# Input file
InputFile=data/activity-cc.xml
# Particle sprite file
ParticleSpriteFile=src/particle.png
# Project time per frame
MillisecondsPerFrame=21600000
# Optional Method instead of MillisecondsPerFrame
#FramesPerDay=4
# Background in R,G,B
Background=0,0,0
# Color assignment rules
# Keep in order, do not skip numbers. Numbers start
# at 1.
#
# Pattern: "Label", "regex", R,G,B, R,G,B
# Label is optional. If it is omitted, the regex
# will be used.
#
ColorAssign1="Docs",".*doc.*", 50,50,200, 50,50,255
ColorAssign2="Sources",".*src.*", 179,50,50, 179,50,60
ColorAssign3="Tests",".*test.*", 0,255,255, 0,255,255
ColorAssign4="Reporting",".*reporting.*", 192,192,192, 192,192,192
ColorAssign5="Main",".*main.*", 116,80,80, 116,80,100
ColorAssign6="Contribs",".*contrib.*", 90,90,90, 90,90,90
#ColorAssign7="Code6",".*src6.*", 225,100,100, 225,100,120
#ColorAssign8="Code7",".*src7.*", 250,110,110, 250,110,130
#ColorAssign9="Code8",".*src8.*", 255,255,0, 255,255,140
#ColorAssign10=".*src9.*", 255,0,0, 255,10,150
# Save each frame to an image?
TakeSnapshots=true
# Where to save each frame
SnapshotLocation=frames/code_swarm-#####.png
# Draw names (combinatory) :
# Draw sharp names?
DrawNamesSharp=true
# And draw a glow around names? (Runs slower)
DrawNamesHalos=false
# Draw files (combinatory) :
# Draw sharp files
DrawFilesSharp=true
# Draw fuzzy files
DrawFilesFuzzy=false
# Draw jelly files
DrawFilesJelly=true
# Show the Legend at start
ShowLegend=true
# Show the History at start
ShowHistory=false
# Show the Date at start
ShowDate=true
# Show edges between authors and files, mostly for debug purpose
ShowEdges=false
# Turn on Debug counts.
ShowDebug=false
# Natural distance of files to people
EdgeLength=25
# Life of an Edge
EdgeLife=250
# Life of a File
FileLife=200
# Life of a Person
PersonLife=255
## Physical engine configuration
# Force calculation algorithms ("ForceCalcLegacyNodes", ...) :
BetweenPersonsAndFilesForceCalculation="ForceCalcLegacyNodes"
BetweenPersonsForceCalculation="ForceCalcLegacyNodes"
BetweenFilesForceCalculation="ForceCalcLegacyNodes"
# Force application (to speed) algorithms ("ForceToSpeedLegacyNodes", ...) :
OnPersonsForceToSpeed="ForceToSpeedLegacyNodes"
OnFilesForceToSpeed="ForceToSpeedLegacyNodes"
# Speed application (to position) algorithms ("SpeedToPositionLegacyNodes", ...) :
OnNodesSpeedToPosition="SpeedToPositionLegacyNodes"
# OpenGL is experimental. Use at your own risk.
UseOpenGL=false
Thema: diesunddas | Kommentare (0) | Autor: Michael Kloss