Movie Textures Syncing

If I create multiple Cards and texture a MovieTexture to these cards (same file), I can’t control each movie separately. The movie on each card syncs together. Is there anyway around this? I’m thinking there is some kind of caching going on under the hood.

Here is a simplified example of what I’m doing…

tex1 = loader.loadTexture("movie.avi")
card1.setTexture(tex, 1)
tex2 = loader.loadTexture("movie.avi")
card2.setTexture(tex2, 1)

#This makes both cards movie textures start to play in sync
card1.getTexture().play()

Try:

tex2 = tex1.makeCopy()

instead of re-loading the same movie file.
Or, if that doesn’t work, use:

TexturePool.releaseTexture(tex1)
tex2 = loader.loadTexture("movie.avi")

David

Thanks David - making a copy of the texture worked.

What’s the best way to distinguish between a MovieTexture and a Texture? For instance, if I have a list of 10 textures, and I want to iterate through this list and find all the MovieTextures. I don’t see a function such as “getTextureType()” or the like.

The easiest way in Python is to use Python’s own mechanism for determining type, e.g. isinstance(tex, MovieTexture).

David

Excellent. Thank you again.