3 Replies Latest reply on Jun 23, 2006 12:42 AM by Newsgroup_User

    Loss of playhead control if waiting for cuepoint in mpeg movie

    nickwill
      Hey all, just a quick one - I'm using the mpeg Advance Xtra - and I've noticed that if I set up an imported mpeg1 movie to play between say cuepoint 2 and cuepoint 3 - I lose control of the playhead and can no longer scrub the footage. Instead, the playhead flashes, as it scrolls along the playbar, but you can't click and drag it any more. I've noticed the same behaviour if I set director up to wait for a cuepoint in the main timeline - once again I'll lose control of the playhead. Anyone know why this is happening, how to remedy it etc? I had a quick search, but wasn't able to find anything - it seems like it would be a common problem though...
        • 1. Re: Loss of playhead control if waiting for cuepoint in mpeg   movie
          Level 7
          When you talk about the playhead, I assume you have enabled
          member.toolbar and it's this you're dragging?

          If you are using the "Wait..." channel settings then this is likely your
          problem and you should avoid that option completely. Use a script
          attached to the sprite or script channel to monitor for cuePoints instead.
          If you're /no/t using the tempo channel settings, does it make any
          difference if you configure and use playSegment/startTime/endTime to
          play between 2 cuePointTimes?
          • 2. Re: Loss of playhead control if waiting for cuepoint in mpeg movie
            nickwill Level 1
            Hi Sean, thanks for a reply. I'm fairly inexperienced with video in director and am trying to get my head around this. The playbar is attached via the MpegAdvance Xtra - it's just got a checkbox which I've enabled - so I'm guessing this is different to the member.toolbar method you mentioned?

            Yes, I am using the tempo channel to wait for cuepoints - does this method "force" director to play the segments of video inbetween the cue points? It just seems a little odd that it would do that, because you'd think that director could still listen for the cuepoint even if the footage was being scrubbed. I'm probably missing some fundamental knowledge here, which is why it's hard to wrap my head around :)

            I've not used playSegment/startTime/endTime - for lack of Lingo knowledge, but they sound useful - and I will certainly try to suss them out, because they might be what I need anyway.
            • 3. Re: Loss of playhead control if waiting for cuepoint in   mpeg movie
              Level 7
              > The playbar is attached via the
              > MpegAdvance Xtra - it's just got a checkbox which I've enabled - so I'm
              > guessing this is different to the member.toolbar method you mentioned?

              No - it's the same thing. What you've done manually is the same as
              enabling this property via the lingo I suggested.

              > Yes, I am using the tempo channel to wait for cuepoints

              This is probably exactly what your issue is. If you remove the tempo
              channel "Wait..." setting and use the following in your frameScript channel:
              --
              on exitFrame me
              go to the frame
              end

              and the following attached to your MPEG sprite:
              --
              property myCuePoint

              on isOKToAttach(me, sType, sNum)
              if (sType = #graphic) then return (sprite(sNum).member.type =
              #TBMPEGADVANCE)
              return FALSE
              end

              on getPropertyDescriptionList
              -- check for recompile
              if not the currentSpriteNum then exit
              -- don't bother presenting if no cue points defined
              if count(sprite(the currentSpriteNum).member.cuePointTimes) = 0 then exit

              pdl = [:]

              lCuePoint = [:]
              lCuePoint[#comment] = "Cue point to monitor:"
              lCuePoint[#format] = #string
              lCuePoint[#default] = sprite(the
              currentSpriteNum).member.cuePointNames[1]
              lCuePoint[#range] = sprite(the currentSpriteNum).member.cuePointNames
              pdl[#myCuePoint] = lCuePoint

              return pdl
              end

              on cuePassed( me, chan, cpNum, cpName )
              if cpName = myCuePoint then
              go to the frame + 1
              end if
              end

              then it might get you part of the way, but perhaps you could explain in
              more detail what you're trying to achieve.