Hi, with -alpha3 being released and -alpha4 in the queue, I just wanted to post a short update about the current pgreloaded status, what to expect in the next alpha4 release (end of February / mid of March, if there's no show stopper) and what's left to do, before a switch from alpha to rc can be done.
What changed since -alpha3? - new pygame2.openal wrapper started OpenAL is a widely used 3D sound standard, and the main implementations, openal SI (reference implementation from Creative) and openal-soft (software-based OpenAL implementation with different audio device support) are subject to be encapsuled within pygame2, so anyone can make use of them. Its current state is not much more than a simple module initialization, but it should be fully implemented until -alpha4 (if time permits...). - new pygame2.resources module Managing resources in applications and games is a task not be underestimated. pygame2.resources lets you easily set up resource locations, autmoatically indexes them and provides you an easy, key-driven access, without the need to take care of relative and absolute file paths, support for packaged resources within zip and tar archives and network resources to be streamed (using urllib2). (cleanly seperated, easy to take into pygame or your very own application or game - it's code is public domain) - new pygame2.math module (from trunk) A port of pygame's math module form Lorenz Quack. Swizzling support and the elementwise proxy methods were not ported (yet, maybe). - new pygame2.midi module (from trunk) A port of pygame's midi module, using the portmidi library. - sdl.time timers are thread aware now Finally! SDL timers, added using SDL_AddTimer() support a threaded SDL and Python. Due to Python's limitations regarding threads and GIL switching, it's not recommended to use them for small chunks of code to be executed or to use too many of them with short interval settings, though :-). - generic python stream access within the C API Under the hood, extension developers will find a new class API, CPyStreamWrapper, which provides access to (arbitrary) stream- and file-like python objects, with optional threading support. - lots of bug fixes Not much to say here. What's left to do before going into a rc phase? Too much! In detail, those are: - testing, testing, testing - writing unit tests - writing C API tests - brushing up the docs - writing more examples - playing around with all pieces Not enough? So what's pretty important aside from the rc? - rewriting pygame2.sdlext.surfarray, pygame2.sdlmixer.sndarrray, pygame2.sdlext.scrap, - porting the last useful chunks from pygame - inspecting pygame's ffmpeg GSoC work in detail and port it - inspecting pygame's camera module and port it - stable, non-blocking subsurface support via slicing (could be easily done using a simplified pixelarray) - bringing the Python3.1 encoding system for strings and I/O to its knees - better 8-bit and palette support in the SDL backend - better copy module support - inspect and reimplement pygame2.sprite - improve surface/buffer abstraction to easily interop with e.g. PIL buffers, pyglet, etc. ... You can find even more in the TODO.txt. Volunteers, helping hands, etc. are very welcome :-). Regards Marcus
pgpU2xKyoDvEA.pgp
Description: PGP signature