The video below is documentation for a live video compositor project developed in collaboration with James Moore. I was the sole As3 programmer on this project. The AIR app takes advantage of FFMPEG to allow videos uploaded to the system to be broken down into frames and also to render out (render out is still in development). FFMPEG was accessed via the native process functionality of the air runtime environment. The overall installation was setup using a matrox Tripple head running 3 projectors. The project is a lot bigger than it looks in the video.
I really enjoyed the collaboration with James. It was nice to take a back seat in the decision making and just concentrate on how the application would be coded.
The left projection functions as a media viewer allowing the user to browse through files in the assets folder. The center screen allows the user to edit the content before it is played back. The edit choices are stylised and restrictive to fit in with the overall aesthetic of the system which is based around a minimalist grid. The right side projection shows a playback of the video being edited with the changes appearing in real time.
When I was a lot younger I can remember spending a vast amount of my time messing around with my second hand ZX Spectrum. I had a book to accompany the epic device which ran through how to draw an array of very simple pictures, everything from smiley faces to abstract madness. It took so long to create a simple picture and debugging was a nightmare. Things have definitely come along way. Check out the video below showing Iñigo Quílez (n) working some pure code magic to create a generated apple. It is also well worth checking out his tutorial page with over ten years of informative tutorials.
Recently, I have been really enjoying AS3 because of its versatility. The projects I have been working on are growing quite complex and hard to manage. The main issue I have been having is remembering what each class does. I have been very careful to comment code but sometimes it would be nice just to have a document that describes all variables, methods etc. Today I started looking at automated systems to create documentation from AS3 project code and I came across NaturalDocs. Its a very simple to use command line tool which goes through all my project code reading the comments and structure. NaturalDocs then creates a full blown website documenting the code.
A couple of weeks ago I wrote an application in AS3 that used FFMPEG for video manipulation. The application utilised the NativeProcess class from adobe air to execute native processes via the command line. The technique really adds another level to the versatility of AS3. Since the video app I have been itching to use the technique again so I decided to make a very simple GUI for NaturalDocs. The picture above is a screen shot of an air app that has NaturalDocs embedded in. The app is very simple all the user has to do is click the top box and locate the project code then click the second box and define a folder for the destination of the docs. Once “create docs” is clicked NaturalDocs goes ahead and creates the documentation for the code. Its very simple but hopefully it will be quite useful. I was very impressed with the work that Greg Valure has done on NaturalDocs its a very intuitive and efficient system to use.
Some of the AS3 resources I have been working on are becoming very useful. I can’t wait to start documenting some of the more universal classes I have written and then releasing them into the great wild west that is the internet.
A screen shot of the documentation that is generated:
IMPORTANT: None of the work done for NaturalDocs is mine I am only responsible for the GUI used to short cut the functionality of NaturalDocs
I will upload the app and post link to download it soon. I don’t think this would break the GPL license the NaturalDocs project is licensed with.
I ran through the tutorial i posted a while ago on projectile motion, This post is just to show a quick example of how to apply this theory in code. I wrote the code for this animation in processing which is a java frame work for graphic designers. I have touched on processing in previous posts. Animation was created by allowing the code to run and saving every frame as a .jpg. Here is the final animation :-
I am no moving image expert by a long shot. The animation was compiled in final cut pro. I am very pleased with the out put from my code it look very natural and the particles all fall taking into account gravity. I now am working on a fire work class so i might post that up soon.