Hi Aleksander
I've just tried what you've set up and realise why it's not working. When you publish the material on the quad (I'm assuming it's a quad) the act of changing it in the sequencer creates a new temporary material if you select a filename directly, so the original material is untouched, and will still be playing in your scene director, only there is no object bound to it any more. You can prove this by making a copy of your quad and placing them side by side. In the sequencer change one quad to point to a new video, and when you bring the scene online the original quad will play, then second will just show the 1st frame of your new video. Even if you select a material in the sequencer that is already set to your video, your scene won't know about the change of material.
If you need to change the filename of the video, I suggest datalinqing in the Video shader of the material. If you Datalinq at the quad end, you'll need to have all the possible videos already loaded as materials.
Alternatively, keep what you have and put this code into Scene OnLine event. This then shouldn't matter how you change your video, datalinq or template link change. I'm on V9.5, and I think this should work on earlier versions.
You need to name your quad with the video MyVideoQuad, and have a scene director called VideoDir. Don't rename any of the tracks in the new scene director, it looks for Track 1.
This code now gets the material assigned to the quad, even it's a new temporary material, adds it to the scene director and plays it. You change the position of where the scene director plays from in the final line of code. You could also use Visual Logic to play the scene director, and remove the last line of code.
Simon
dim quad as xpQuadObject
dim mat as xpMaterial
dim newSceneDirClip as xpSceneDirectorClip
dim dir as xpSceneDirector
dim trk as xpSceneDirectorTrack
self.GetObjectByName("MyVideoQuad", quad)
quad.GetMaterial(0, mat)
self.GetSceneDirectorByName("VideoDir", dir)
dir.GetTrackByName("Track1", trk)
trk.CreateMaterialClip(0, mat, newSceneDirClip)
dir.AutoStop = true
dir.PlayRange(0, dir.Duration)
#XPression