Sylvain,
Well, you can read about Generate PreRun/PostRun in the New Features
Guide, and at
http://www.pstnet.com/support/kb.asp?TopicID=3299
. Many stimuli need some preparation before running (e.g., loading
image, sound, or movie files). That prepartion takes time, and may
delay stimulus onset if the preparation takes place just before
running the stimulus. Generate PreRun places that preparation code
instead at the top of the Procedure. As a result, the first object
of the Procedure may start late, but everything else in the Procedure
should start with less delay. But this works only for stimulus
content known at the start of Procedure, otherwise stimulus
preparation should still take place just before the stimulus. Also,
resetting an object at the top of the Procedure may prematurely
terminate some continuing streaming action, such as a sound, movie,
or sound recording.
So, for any stimulus object, "TopOfProcedure" means to place stimulus
preparation code at, well, the top of the Procedure;
"BeforeObjectRun" means to place stimulus preparation code just
before running the stimulus; "Inherit" means to use the setting from
the Procedure. In turn, each Procedure may have its Generate PreRun
set to either "TopOfProcedure" or "BeforeObjectRun", which it then
passes down to all the stimulus objects that it contains.
At this time, Generate PostRun does nothing useful, so you may safely
ignore it.
That said, clearly there is more at work in your program. Perhaps
SoundIn is a little trickier than I thought. It would be nice to
understand this better, but for now you seem to have a
workaround. Perhaps you can explore this with PST Web Support, and
then post back.
At 2/24/2013 09:27 AM Sunday, Sylvain wrote:
>Hello David,
>
>Thank for your answer. I tried to set TextDisplayITI to Generate
>PreRun to BeforeObjectRun. I let the pre-release of TextDisplayITI
>to "same duration". However I still have wav file (from the previous
>object still recording Slide) of less than 1000 ms. The only thing
>that seem to work is:
>- having a pre-release of 0 ms on the TextDisplayITI;
>- having a duration of more than 1000 ms to TextDisplayITI.
>
>I could run my experiment this way, it works, but I'm confused about
>the script generation feature. All the object of my procedure are
>set to "Inherit' for Generate PreRun and Generate PostRun. Could you
>clarify a little but of this feature?
>
>Thank you again,
>
>Sylvain
>
>
>On Friday, February 22, 2013 7:23:09 PM UTC+1, McFarlane, David wrote:
>Sylvain,
>
>Well done. A lot of detail there, and I think I see the clue in your
>final paragraph -- it looks like you have stumbled into the new
>Generate PreRun = TopOfProcedure "gotcha" that can hit the last
>object in a Procedure, see
><
http://www.pstnet.com/support/kb.asp?TopicID=3299>
http://www.pstnet.com/support/kb.asp?TopicID=3299
>and
><
http://www.pstnet.com/support/kb.asp?TopicID=2627>
http://www.pstnet.com/support/kb.asp?TopicID=2627
>.
>
>In short, you might fix this either by using PreRelease = 0, as you
>did, or setting Generate PreRun to BeforeObjectRun.
>
>One of us should add your observation as a comment to those KB
>articles. Thanks for presenting & pursuing this.
>
>-----
>David McFarlane
>E-Prime training
>online: