This is a follow-up of the thread "Problem with a py2app bundle".
I downloaded the latest pygame version from CVS (1.7.1 on
version.py), and
compiled and installed it without any problem (I have every
dependency, SDL...
and smpeg). Here is the lines in Setup.in about the movie modules
(movie is
not commented, movieext is commented out):
#the following modules are optional. you will want to compile
#everything you can, but you can ignore ones you don't have
#dependencies for, just comment them out
imageext src/imageext.c $(SDL) $(IMAGE)
font src/font.c $(SDL) $(FONT)
mixer src/mixer.c $(SDL) $(MIXER)
mixer_music src/music.c $(SDL) $(MIXER)
surfarray src/surfarray.c $(SDL) $(NUMERIC)
sndarray src/sndarray.c $(SDL) $(NUMERIC) $(MIXER)
movie src/movie.c $(SDL) $(SMPEG)
#experimental new movie movie. requires libavcodec and libavformat.
#add any necessary compile flags to this line and uncomment.
#movieext src/movie.c src/ffmovie.c $(SDL) -lavcodec -lavformat
I then tried the following script, testmovie.py, that is supposed
to load a movie:
import pygame
from pygame.display import flip
from pygame.locals import *
pygame.init()
screen = pygame.display.set_mode((640,480))
pygame.mixer.quit()
movie = pygame.movie.Movie("chamber.mpg")
movie.set_display(screen, (0,0))
movie.play()
movie.set_volume(1)
flip()
while 1:
if not movie.get_busy():
break
time.sleep(0.1)
Launched with the command "/usr/local/bin/pythonw2.3 testmovie.py",
this
crashed before the movie was loaded, and here is the terminal output:
testmovie.py:8: RuntimeWarning: use movieext: No module named movieext
movie = pygame.movie.Movie("chamber.mpg")
Traceback (most recent call last):
File "testmovie.py", line 8, in ?
movie = pygame.movie.Movie("chamber.mpg")
File
"/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/
site-packages/pygame/__init__.py",
line 52, in __getattr__
raise NotImplementedError, MissingPygameModule
NotImplementedError: movieext module not available
How is it possible that pygame, without being compiled with the
movieext
module, is still asking for it when a movie is loaded ? Is there
any way to
correct this behavior, or at least to trace the problem (I cannot
get any more
information than what the terminal gives me) ?