The Sound Department
Agent Orange Source Code

Getting the Source

You can check out the source from the public Subversion repository:

svn co http://www.soundepartment.com/svn/agent-orange/trunk

This will pull the trunk down onto your local machine and put a copy of it onto your home directory. If you make any changes you'd like to see in the program, email me the svn diff and if it works and doesn't break anything else, I'll apply the patch. I'll make releases when significant bugs are fixed or significant functionality is added.

The code requires ruby 1.8.2 or better.

About the Source

The Agent Orange application that I distribute is actually made up of two distinct pieces:

  1. A Mac OS X application called "Agent Orange", which is actually a special folder that acts as a wrapper for the functional components of the package. The Agent Orange application is a very short Objective-C program which merely takes the numbers and text you type in and feeds them on to the engine, which actually reads the text files and makes the PDF. You can find the code for this in the "osx" folder in the source repository.

  2. "agent-orange", the Agent Orange engine, a collection of scripts written in the Ruby programming language. These do all the heavy-lifting of parsing the text export, managing all the timecodes and descriptions, interpreting tags, and then drawing the PDF out. "agent-orange" itself is a shell script that calls your installed version of ruby, reads the text export, and manipulates it with a variety of functions provided in a library. You can find the code for this in the "ruby" folder in the source repository.

Roadmap/To Do

  1. The PDF drawing function in pdf.qs must be reworked. A lot of this functionality could be moved into new classes.
  2. Track headings sometimes print funny.
  3. The code requires better documentation.

Source Layout

The source is structured into a few executable scripts that provide main loops, and a series of libraries which provide functionality.

This page was last updated: Fri Dec 07 23:44:18 -0800 2007

Valid XHTML 1.0 Strict