Beiträge vom July, 2008

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):

  1. Get activity log from your repository: svn log -v > my-rep.log
  2. Convert this using the python script shipped with code-swarm: python -s my-rep.log -o my-rep.xml
  3. Copy the sample.config and modify to your needs (data/sample.config)
  4. 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: