I am the author of AtomicParsley.
GR3G, no matter what, the new file will be completely rewritten. If you use iTunes to set metadata into a video file - guess what - often the same thing will happen. Set an Artist tag into a brand new video file to see what I'm talking about. At least on Mac OS X, a lovely progress bar with "writing tags" shows up (although this depends on where the mdat atom is for iTunes). AtomicParsley is more simplistic - everything will get rewritten.
If you have code that will support direct writing to the file to add metadata depending on where the 'mdat' atom is, I will of course take it & look it over, but I'm not planning on that (and may not ever). I originally started on audio files - so this big ol' penalty doesn't hit me too hard.
qwerty2k,
great job! At the bequest of another developer, the manner of output has been re-implemented. The output to a foo-temp-134 file still remains, but you can specify the name of the tempfile with --output /path now too. Additionally, the whole substandard --writeBack was scrapped in favor of --overWrite. That should do what you want in that it writes out to a variably named temp file and then deletes the original file and renames the temp file to the original. However, given that I am in an admitted beta-state, that is a decision you might want to give users to have a finer granularity of options. There are files on the fringes of the mpeg4 specificaition that the current release of AtomicParsley will ruin. They are rare (and taken care of with code that I have currently implemented, but isn't well tested), but those types of files do exist.
Unfortuately, the output-options code is currently not in the win32 branch. You can of course backport the changes from the main cvs branch into the win32 branch and submit the patches back to the windows developer (Brian Story). I believe his interest lies in feature-parity and bug fixes to my code than implementing new features currently.
That said, do you have a webpage set up for your program? Do you want me to link to it on the main sf.net webpage:
atomicparsley.sourceforge.net
and can I mirror your program as well?