I have been wrestling with a MovieDisplay problem and wonder if anyone
on the list has any ideas.
A simplified version of my trial sequence can be described like this:
time 0: MovieDisplay begins
time 600: ImageDisplay begins while movie continues
time 2500: end of typical video (range 2000-3100).
Keypress can occur at any time during or after this sequence.
Feedback on accuracy occurs after the response has been made.
My current design starts with a MovieDisplay: keypress response,
duration/time limit = 600, stop after = no and end action = terminate.
If MovieDisplay.RT > 0 the ImageDisplay is skipped, otherwise it's
displayed with duration = infinite (waits forever for a keyboard
response). I log variables for the ImageDisplay and use inline code to
update the logged variables for MovieDisplay as well.
Then feedback occurs based on MovieDisplay.ACC. The problem is that
often feedback doesn't appear (it's actually being displayed behind the
video which continues until it is finished - video always takes display
priority).
Is there any way to stop the video once a keypress to MovieDisplay or
ImageDisplay is recorded? I've tried various ways to deal with this (eg
setting Durations to 0 and using inline code to keep time) but have not
figured out a way to pull the plug on a video.
I have been able to make the feedback display visible, for example
adding a long Wait object before the feedback, or increasing the
duration of the feedback object, or displaying the feedback off center -
but I'd prefer if participants didn't have to wait until the end of
video clips if they have already made early responses.
any ideas or suggestions would be very helpful!
--
David Vinson, Ph.D.
Senior Postdoctoral Researcher
Cognitive, Perceptual and Brain Sciences Research Department
University College London
26 Bedford Way, London WC1H 0AP
Tel +44 (0)20 7679 5311 (UCL internal ext. 25311)
Using extended input to collect response data rather than piecing it
together from multiple display objects:
http://groups.google.com/group/e-prime/msg/e30fc88284d85e3c
Using SetNextTargetOnsetTime to schedule upcoming events:
http://groups.google.com/group/e-prime/msg/3f1b16b48a068f14
However i'm still looking for ideas about stopping a video in mid-play
once its Duration has expired.
cheers,
David V
Hmm, glad I helped with some solutions. I don't have time to explore
the movie stopping issue myself just now, so let me just toss out
some ideas for you to try. I would look for a MovieDisplay
equivalent to the the Stop method of the SoundOut class
(SoundOut.Stop) (or more precisely, the SoundBuffer class,
SoundBuffer.Stop). This will take some sleuthing, as PST has yet to
grace us with any documentation for Movies in the E-Basic Help
facility. To that end, I would also submit a request posthaste to
PST Web Support at
http://support.pstnet.com/e%2Dprime/support/login.asp -- this is
after all pretty much their substitute for the documentation that
they should provide in the first place, so don't be shy, PST seems to
prefer to be liberal with their tech support and to document their
stuff only on a "need to know" basis. And then please post back here
with whatever you find.
Thanks,
-- David McFarlane, Professional Faultfinder
Here's a summarized version of the support reply. No surprise that David
M's suggestion was right on track.
A MovieDisplay object does indeed have a Stop method. If "Stop after"
property of the MovieDisplay object is set to "Yes", the Stop method is
automatically called at the end of the object's Duration. If "Stop
after" is set to "No", the movie plays until its end (or the end time
specified in the object properties) or until manually stopped.
To manually stop the movie display, InLine code like Movie1.Stop will
suffice to stop playback of MovieDisplay object named "Movie1".
A small amount of information about MovieDisplay objects can be found
here: http://www.pstnet.com/support/kb.asp?TopicID=2720
But this is still very under-documented; I was also advised to take
advantage of the fact that many characteristics of MovieDisplay objects
are comparable to those of ImageDisplay or SoundOut (and thus can be
figured out by using E-Basic help on these objects).
Ultimately a quick request to E-Prime's online support team may well be
the best way to solve a Movie problem.
cheers,
David V