You could do this with Task Events, although with 8 triggers (markers,
signals) it could get messy. You will find documentation for Task
Events at the E-Prime Knowledge Base online, and in the New Features
Guide that came with E-Prime.
Note that you may use attribute references for the Delay in Task Events.
So in your example, you could add 8 attributes to your List just as
you said, e.g., T1, T2, etc., and set their values, e.g., 200, 400, etc.
Then add 8 Task Events to your movie stimulus, and in the Delay for
each one use [T1], [T2], etc.
So far so good, but it gets messier if you output to a parallel device
as opposed to a serial device. As I teach in my online course, in that
case E-Prime does not output pulses, it merely puts your trigger value
on the output port, and that value remains on the output until you tell
E-Prime to remove it. So you have to follow each trigger with another
"trigger" just to reset the output to 0. So now you need 16 Task Events
instead of just 8.
And then you need to set the Delay for each of those signal resets. You
could of course just add those delay values as 8 more attributes (e.g.,
"T1Reset", "T2Reset", etc.), or add a bit of inline code in your
Procedure to generate the reset delays and set the attributes on the
fly. (If you do use inline code, then pay attention to GeneratePreRun &
PreRelease, see
https://groups.google.com/d/topic/e-prime/SBZ5pL0z8NE .)
In order to avoid this messiness, you might instead run a sub-List to
output your 8 triggers + trigger resets, using OnsetSignal &
OffsetSignal, or maybe even WritePort. I leave that as an exercise. In
those cases you will need some inline code.
Anybody have a more clever idea?
---------------
David McFarlane
E-Prime training online:
http://psychology.msu.edu/Workshops_Courses/eprime.aspx
Twitter: @EPrimeMaster (
https://twitter.com/EPrimeMaster)