Elan
http://www.lat-mpi.eu/tools/elan/

Total estimate: 31 hours

Estimate: 6 hours
Support multiple file types. File types from the applications Info.plist need to be added to the open panel's filetype filter. If there is more than one, they will need to be added to a popup in the save panel. The data recorder class will need to check which filetype to output. The open panel code will need to check for the new filetype the prompt the user to find the original movie that goes with the chosen data file. In the future each filetype should be handled by a plugin, but for now it will be much faster to just hard code the new filetype.

Estimate: 10 hours
Add a new filetype that includes enough information to reproduce the usual CERT AU views when we replay a video file. For each plugin, include a single header line with display name and output labels. For each frame include outputs for each plugin. An XML format is probably going to be the best. We'll need to write this format when the user saves and recreate something like the original array of results dictionaries when we read it in.

Estimate: 15 hours
Movie and data display. Create a new view that normally remains hidden. It will have a set of controls similar to a normal QTMovieView (play/pause and a slider bar). When the user opens one of the new files, open the movie and display the first frame as normal and show the new control view, but don't continue processing the movie until the user hit's the play button, or drags the slider to a new frame. Any time the displayed video frame changes, update the data views as normal, except that the data will come from the saved file.

Notes:
When I load the movie, set myself as a delegate and implement "- (BOOL)movieShouldTask:(id)movie"
called before QTKit performs the standard idle processing on a movie. Write a simple test app to see if this is called often enough to be useful. Maybe print out the movies current frame. Or store the last frame and see if it has increased by more than one, then print an error message.

Movie controller options:
1) Create a QTMovieView with it's size set to the controller's height, hiding the movie itself. I think it would need to be a sub-class so I can be notified when the frame changes. It looks like QTMovieViewDelegate's view:willDisplayImage: will work.

Eliminate the current faulty face boxes when showing video and create a new build.

Wednesday July 15, 2009
	7:00 - 8:00pm Replaced the Live Video and Choose Source buttons. Fixed the Open and Open Recent menu items so they are no longer enabled when they shouldn't be. Updated to Version 1.1.
Saturday July 18, 2009
	9:00 - 12:00pm Tried to use NSDocumentController to manage file types but it wasn't working. Came up with a list of what I'm going to need, though.
Saturday August 15, 2009
	10:00 - 3:00pm 
==== Invoice: September 15, 2009 ===