Пример #1
0
 def __playsome(self):
     self.__tid = None
     port = self.__port
     while 1:
         if not self.__data:
             port.wait()
             self.__merger = None
             self.__converter = None
             self.__call()
             return
         self.__write()
         self.__call()
         self.__read()
         if not self.__data:
             timeout = float(port.getfilled()) / self.__framerate - 0.1
             if timeout > 0:
                 self.__tid = windowinterface.settimer(
                     timeout, (self.__playsome, ()))
                 return
             # else we go back into the loop to stop
             # playing immediately
         else:
             timeout = float(port.getfilled() / 2) / self.__framerate
             self.__tid = windowinterface.settimer(timeout,
                                                   (self.__playsome, ()))
             return
Пример #2
0
 def freezeit(self):
     if self.__rmaplayer:
         if realenginedebug:
             print 'RealChannel.freezeit', self
         if self.__qid:
             self.__channel._scheduler.cancel(self.__qid)
         self.__qid = 0
         try:
             self.__rmaplayer.Pause()
         except rma.error, arg:
             windowinterface.settimer(
                 0.1, (self.__channel.errormsg,
                       (None, 'RealPlayer error: %s.' % arg)))
Пример #3
0
 def pauseit(self, paused):
     if self.__rmaplayer:
         if realenginedebug:
             print 'RealChannel.pauseit', self, paused
         try:
             if paused:
                 self.__rmaplayer.Pause()
             else:
                 self.__rmaplayer.Begin()
         except rma.error, arg:
             windowinterface.settimer(
                 0.1, (self.__channel.errormsg,
                       (None, 'RealPlayer error: %s.' % arg)))
Пример #4
0
 def __okchannel(self, ok=0):
     if ok:
         name = self.__chantext.gettext()
         type = self.__chantype.getvalue()
     else:
         name = type = None
     self.__chanwin.close()
     del self.__chantext
     del self.__chantype
     del self.__chanwin
     # We can't call this directly since we're still in
     # grab mode.  We must first return from this callback
     # before we're out of that mode, so we must schedule a
     # callback in the very near future.
     windowinterface.settimer(0.00001,
                              (self.newchannel_callback, (name, type)))
Пример #5
0
 def Blt(self, data):
     if self.__rmdds and self.__rmrender:
         blt, w, h = self.__rmrender
         try:
             blt(data, w, h)
         except ddraw.error, arg:
             print arg
             return
         if not self.__blttimerid:
             self.__blttimerid = windowinterface.settimer(
                 0.01, (self.bltUpdate, ()))
Пример #6
0
 def set_timer(self, delay, arg):
     if self._last_timer_id is not None:
         windowinterface.canceltimer(self._last_timer_id)
         self._last_timer_id = None
     self.__immediate = 0
     if delay >= 0:
         if delay <= 0.01 and self.__intimer:
             self.__immediate = 1
         else:
             self._last_timer_id = windowinterface.settimer(
                 delay, (self.timer_callback, (arg, )))
Пример #7
0
 def ErrorOccurred(self, str):
     if realenginedebug:
         print 'RealChannel.ErrorOccurred', self
     windowinterface.settimer(0.1, (self.__channel.errormsg,
                                    (None, 'RealPlayer error: %s.' % str)))
Пример #8
0
 def OnPostSeek(self, oldTime, newTime):
     if self.__spark:
         windowinterface.settimer(0.1, (self.__rmaplayer.Begin, ()))
         self.__spark = 0
Пример #9
0
        return 1

    def OnPresentationOpened(self):
        if not self.__spark: return
        node = self._playargs[0]
        t0 = self.__channel._scheduler.timefunc()
        if t0 > self._playargs[5] and not settings.get('noskip'):
            if not __debug__:
                print 'RealChannel: skipping', node.get_start_time(
                ), t0, t0 - node.start_time
            try:
                self.__rmaplayer.Seek(int((t0 - node.get_start_time()) * 1000))
            except rma.error, arg:
                print arg
        else:
            windowinterface.settimer(0.1, (self.__rmaplayer.Begin, ()))
            self.__spark = 0

    def OnPostSeek(self, oldTime, newTime):
        if self.__spark:
            windowinterface.settimer(0.1, (self.__rmaplayer.Begin, ()))
            self.__spark = 0

    def OnPosLength(self, posmsec, durmsec):
        self.__reporteddur = 0.001 * durmsec

    def replay(self):
        if not self._playargs:
            return
        node, window, winpossize, url, windowless, start_time = self._playargs
        temp = self.__rmaplayer
Пример #10
0
 def __register_for_timeslices(self):
     if self.__fiber_id is None:
         self.__fiber_id = windowinterface.settimer(0.1, (self.onIdle, ()))
Пример #11
0
 def __register_for_timeslices(self):
     if self.__fiber_id is None:
         if USE_IDLE_PROC:
             self.__fiber_id = windowinterface.setidleproc(self.__onIdle)
         else:
             self.__fiber_id = windowinterface.settimer(0.05, (self.__onIdle,()))