Page 1 of 1

Developing Mac OS X movie capture

Posted: 24.05.2005, 20:19
by arlduc
I'm trying to implement some kind of synchronous movie capture-- Snapz Pro isn't cutting it because it drops so many frames at an inconsistent rate. And capturing on Windows won't really work either because I need to capture at 1920x1080.

Any general pointers? And specific pointers on these topics would be particularly helpful:

1. using Xcode (I used to use CodeWarrior a long time ago... but it's been a LONG TIME!)

2. which part of the Celestia src should be modified for image output?

3. Any Quicktime programmers have suggestions on what routines to implement for this purpose?

thanks in advance.

Posted: 25.05.2005, 05:02
by hank
To get you started:

Celestia defines a virtual class MovieCapture and includes a subclass AVICapture. You will need to create a subclass QTCapture for the QuickTime movie capture code. That will be most of the work. The existing Celestia code will call the methods in the subclass as needed to create the movie.

For the GUI you'll need to create a dialog box to allow the user to set the movie capture parameters (filename, movie size, and movie framerate), equivalent to HandleCaptureMovie and ChooseMovieParamsProc in winmain.cpp. You can adapt the movie capture method BeginMovieCapture from winmain.cpp.

Good luck!

- Hank

Posted: 26.05.2005, 19:36
by arlduc
thanks Hank.

what is the Mac OS X front end-- is there some kind of analogous file to winmain.cpp?

Posted: 27.05.2005, 12:44
by hank
Arlene,

Have you been able to build the XCode project for Celestia successfully? That's probably the place to start.

I guess CelestiaController.m is roughly analogous to winmain.cpp. That's where I think I'd put the code to handle the NSSavePanel for the movie setup, including the call to BeginMovieCapture (which I'd put in CelestiaAppCore.mm).

- Hank

Mac OS X Movie Capture

Posted: 02.06.2005, 20:10
by folks
Arlene I have been looking at much the same thing for the same reasons.

I was going to have a look at how it is done in the open source Breve project http://www.spiderland.org/breve/

Celestia Development: Recent OS X CVS Commits provides straight forward instructions for compiling current code with XCode. Use Build Menu | Build Results to set style to Deployment instead of development before compiling.

Thanks for the directions Hank. I was just trying to remember where to look.