[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [pygame] pgreloaded status update



I have a need for memory compression so I figured that rwops might be
used to preload pictures and sounds without unpacking them. Am I
barking up the wrong tree ? If not are there any documentation on how
to use it ?

Bo)

Marcus von Appen skrev 2010-01-27 23:50:
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