Skip to main content

gsoc2009readinglist — wiki

General resources, useful for all projects

Making C extensions for python.

extending python: http://docs.python.org/extending/index.html

c-api reference: http://docs.python.org/c-api/

here's a video about making python C extensions: http://us.pycon.org/2009/conference/schedule/event/35/

A short guide for Hacking pygame: Hacking pygame guide

testing.

It would be good for you to write a test or two to get familiar with the pygame testing framework.

Look at:  python run_tests.py --help

Writing tests as you go is a great thing to do... and will keep you sane :)  It makes it way easier to get your code tested on multiple platforms - and it helps other people to help you debug problems.

Some threading docs:

pygame threading doc: http://docs.python.org/library/threading.html

this paper I wrote a couple of years ago does give an overview of python threading type stuff, but is a bit long: http://rene.f0o.com/%7Erene/stuff/europython2007/Taking%20advantage%20of%20multipl%20e%20CPUs%20for%20games%20-%20simply.pdf

Pygame has some bits of code for making process control and threads nicer to use in some ways. For threads there is pygame.threads.tmap and a basic worker pool.

There's also asynchronous subprocess extensions - so you can do things like timeout processes on windows (and other platforms). This would be good for controlling ffmpeg (or ffplay/mplayer).

Movie project specific resources.

ffmpeg docs/tutorials.

a tutorial for using ffmpeg with SDL: http://www.dranger.com/ffmpeg/

an old ffmpeg tutorial, but has links to new ones: http://www.inb.uni-luebeck.de/~boehme/using_libavcodec.html

Here's a couple of good general video resources.

The lurkers guide to video is good: http://lurkertech.com/lg/

this is a good introduction to video stuff: http://diveintomark.org/tag/give

Some python ffmpeg wrappers...

pymedia: http://pymedia.org/

ffmpeg API changed, so they just included ffmpeg; but then the project died, I think, because of that.

pyffmpeg: http://code.google.com/p/pyffmpeg/

Camera project specific resources.

Apple QuickTime Documentation:

http://developer.apple.com/documentation/QuickTime/Reference/QTRef_SequenceGrabber/Reference/reference.html

http://developer.apple.com/quicktime/qttutorial/seqgrab.html

Example Application:

http://www.skyfell.org/cocoasequencegrabber.html

Font project specific resources.