Ejemplo n.º 1
0
    def play(self, framerate=None,event=None):
        """this method is called by Play_cb()-the callback of the 'play' buttons """

        self.director.stopViewersAutoRedraw()
        self.director.dispatchEvent(PlayerStartEvent(0))
        #print 'in play() Recording', self.recording, self.stop
##         for i, viActor in enumerate(self.director.redrawActors.values()):
##             cam = viActor.object.currentCamera
##             if self.recording:
##                 #cam.setVideoOutputFile('movie_'+cam.uniqID+'.mpg')
##                 from time import strftime
##                 cam.setVideoOutputFile('movie_'+strftime("%m-%d-%Y_%H:%M")+'.mpg')
##                 cam.setVideoParameters()
##                 # don;t set recording else viewer redraw will record frames
##                 # the frames are recorded explicitely in nextFrame()
##                 #cam.videoRecordingStatus = 'recording'
##                 cam.nbRecordedframes = 0

        Player.play(self, framerate, event)

        for i, viActor in enumerate(self.director.redrawActors.values()):
            cam = viActor.object.currentCamera
            if self.recording:
                self.stopRecording_cb()

        self.director.dispatchEvent(PlayerStopEvent(-1))        
        self.director.startViewersAutoRedraw()

        if self.currentFrameIndex == self.maxFrame:
            #self.director.afterAnimationCb()
            self.GoToEnd_cb()
        elif self.currentFrameIndex == self.startFrame:
            self.GoToStart_cb()