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

[pygame] Re: [Pythonmac-SIG] Problem with pygame on Mac




On Jun 28, 2005, at 9:17 AM, Quentin DECAVEL wrote:


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) ?

This should be on the pygame list, not the pythonmac-sig list.. but here is the problem:


try: import pygame.movieext
except (ImportError,IOError), msg:movie=MissingModule("movieext", msg, 0)


I just committed a patch.

Nobody noticed, because SMPEG isn't very good at what it does and the movie module doesn't see much use.

-bob