I am new to panda and having some problems in OS X

Hello so im new to panda(i have read the whole tutorial and played a bit) and i am working in OS X on my new Macbook and i am having some problems the first is that when i try to run the Media Player it wont show the movie it just flashes pink and blue over and over and if i try editing it to make it play the texture like it is explained in the tutorial then i get an error which says: “thread(error): Deadlock! All threads blocked.” i also am having problems converting 2 egg files the x2egg converter gives me a bus error and if i try to just load the .x file like the tutorial says you can then i get a segment error what am i doing wrong or are these just OS X issues? i know this is the first release for it

The movie player demo doesn’t work on OSX (although it is odd that now it’s a pink screen; in 1.6.0 there was a warning message) and as for your problems with .x that’s probably also a platform thing. After all, .x is the file format for Microsoft’s DirectX.

I was told that in 1.6.1 the x2egg doesn’t work- either use <1.6.1 or wait till 1.6.2 for x 2egg. Had the same problem with x2egg- so I create my eggs with 1.5.4 but I run my game in 1.6.1.

If Im wrong somebody will correct me.

JB

ok thanks for now i have been using chicken and i was just going to install 1.5.4 on my VMware Windows machine for converting eggs so sounds like that is the right thing to do. Should i keep trying to use OS X or should i just build my game in Windows and hope that in later versions i can move it back?

I’m confused, why can’t you develop your game in OSX? I haven’t seen anyone mention any reasons why you would build your game on Windows and move back to OSX in a later version of Panda.

as i said before the movie texture feature doesn’t work in OS X so unless you have a solution to that i will have to develop it in windows

oh you didn’t say you needed movie textures, only that the demo wasn’t working. You’ll have to forgive me for being overly literal minded, programming does that to you :stuck_out_tongue:

OpenCV works for playing your movies.

oh ya well the problem with the example is that movie textures arnt loading right

The deadlock error in the MovieTexture code was fixed in 1.6.1.
Not sure if the MovieTexture sample is supposed to work on OSX due to the lack of ffmpeg in the build, but maybe it still works (through OpenCV).

The x2egg converter is broken in 1.6.1 and will be fixed in the upcoming 1.6.2.

Can you upgrade to 1.6.1 and see if it works? If you still get crashes or deadlocks with 1.6.1, please send me the code you’re using, so I can debug it.

i am using 1.6.1 and im curious about 2 things 1 why FFMpeg isnt included in the mac version since it is cross platform and 2 why is FFMpeg not one of the choices for handling sound? Is there anything else that isnt included in the OS X build i should know about?

Heres my code for the movie it was supposed to display the same movie used by the media player example:

from pandac.PandaModules import *
loadPrcFileData("", "audio-library-name p3openal_audio")
from direct.showbase.DirectObject import DirectObject

import direct.directbase.DirectStart

text = loader.loadTexture("PandaSneezes.avi")
    
cm = CardMaker("My Fullscreen Card");
cm.setFrameFullscreenQuad()
cm.setUvRange(tex)
card = NodePath(cm.generate())
card.reparentTo(render2d)
card.setTexture(tex)
card.setTexScale(TextureStage.getDefault(), tex.getTexScale())
sound=loader.loadSfx("PandaSneezes.avi")
tex.synchronizeTo(sound)

tex.play()

run()

[/quote]

Typo - you named it “text” instead of “tex”.
Also, if you’ve synchronized the tex to the sound, you need to call sound.play(), not tex.play().
Other than that, I did not get a deadlock. Did you?

yes i did it happens when the texture trys to load

i tried and it still locks up in 1.6.2 as well

I think im just going to use pyglet for my cut scenes since this isn’t working and i know that panda3d can be stepped but i really would rather that panda runs the main loop so how do i make pyglet display a movie in panda3d’s window?

Tricky, but I think it’s possible.

As for the actual deadlock problem - could you run it through gdb and give me a traceback of the crash?

ya but I’m not sure exactly how you do that… this is the first program im writing (I have lots of experience with coding but it has been with web stuff PHP and Adobe Flex mostly) and im completely self taught so don’t know some of that kinda stuff. so if you could point me in the direction of some documentation on how to do that im sure i can figure it out

On the terminal, first cd to the directory of the python file. Then ruN:

gdb python

Then, in the gdb prompt:

run YourProgram.py

replacing YourProgram.py with the name of the python file.

It should start running (very slowly). When it returns at the gdb prompt and it says it hit a SIGTRAP, type:

cont

If it returns and said anything else, type:

bt

Then it should print a traceback - post it here.

thanks, I hope this is right sorry if it isn’t

#0 0x96f67e42 in __kill ()
#1 0x96f67e34 in kill$UNIX2003 ()
#2 0x96fda23a in raise ()
#3 0x96fe6679 in abort ()
#4 0x02ee3b2a in ThreadSimpleManager::choose_next_context ()
#5 0x02eeb880 in save_thread_context ()
#6 0x02edf752 in ThreadSimpleManager::next_context ()
#7 0x02ee6a0b in MutexSimpleImpl::do_acquire ()
#8 0x02ca2a8b in OpenCVTexture::do_read_one ()
#9 0x030056fc in Texture::do_read ()
#10 0x02fcac5e in Texture::read ()
#11 0x03010030 in TexturePool::ns_load_texture ()
#12 0x030d5ce6 in Dtool_TexturePool_load_texture_1273 ()
#13 0x00485acd in PyEval_EvalFrameEx (f=0x1d31f780, throwflag=0) at /home/fb6/loewis/25/Python/ceval.c:3612
#14 0x0048771d in PyEval_EvalCodeEx (co=0x5908c38, globals=0x590f300, locals=0x0, args=0x80eaa8, argcount=2, kws=0x80eab0, kwcount=0, defs=0x5907934, defcount=6, closure=0x0) at /home/fb6/loewis/25/Python/ceval.c:2875
#15 0x00484d9e in PyEval_EvalFrameEx (f=0x80e970, throwflag=0) at /home/fb6/loewis/25/Python/ceval.c:3708
#16 0x0048771d in PyEval_EvalCodeEx (co=0x59770, globals=0x24d20, locals=0x24d20, args=0x0, argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at /home/fb6/loewis/25/Python/ceval.c:2875
#17 0x004878d1 in PyEval_EvalCode (co=0x59770, globals=0x24d20, locals=0x24d20) at /home/fb6/loewis/25/Python/ceval.c:514
#18 0x004ab031 in PyRun_FileExFlags (fp=0xa08ce4c0, filename=0xbffff719 “movie.py”, start=257, globals=0x24d20, locals=0x24d20, closeit=1, flags=0xbffff55c) at /home/fb6/loewis/25/Python/pythonrun.c:1273
#19 0x004ab3cb in PyRun_SimpleFileExFlags (fp=0xa08ce4c0, filename=0xbffff719 “movie.py”, closeit=1, flags=0xbffff55c) at /home/fb6/loewis/25/Python/pythonrun.c:879
#20 0x004b8bbe in Py_Main (argc=1, argv=0xbffff5dc) at /home/fb6/loewis/25/Modules/main.c:532
#21 0x00001f8e in ?? ()
#22 0x00001eb5 in ?? ()

is that what you needed?