Dear MWorks-developers/-users,
as the pause button is now operational, the group I’m working with is interested in how exactly the button works, whether and how it affects plugins, data recording, stimulus presentation etc…
Is there any documentation of what behavior is expected for given situations in that the button might be pressed? Has anybody already tested situations of particular interest and reported the results? If so, who should I contact to get access to it? I’d be happy for every piece of information so I know where to start my own test procedure.
Cheers!
Jan
Hi Jan,
When a running experiment is paused, two things happen:
-
State system execution is suspended, as if the experiment had executed a “wait” action with an infinitely long duration. When the experiment is unpaused, the wait ends, and execution resumes.
-
Dynamic stimuli (i.e. gratings, movies, and all other stimulus types that derived from DynamicStimulusDriver or StandardDynamicStimulus) are paused at the current frame, just like what happens when you press the pause button on a video player while watching a video. When the experiment is unpaused, dynamic stimuli start playing again from where they left off.
Nothing else is affected by a pausing. In particular, running I/O devices keep running, and scheduled tasks (i.e. experiment-defined “Schedule Actions” or tasks internal to plugins) keep executing.
Components defined by plugins may respond to experiment pausing, if the plugin author so desires. To do this, the component needs to watch the #state_system_mode
variable and take action when its value changes to PAUSED
. However, such behavior is completely optional and must be explicitly implemented by the plugin author (unless the component derives from DynamicStimulusDriver or StandardDynamicStimulus, as noted above).
Finally, if you want to prevent pausing during a specific block/trial/state/etc., you can set that element’s “interruptible” parameter to “NO”. If the pause button is pressed while the experiment is in an uninterruptible section, state system execution will continue until that section is complete. (However, dynamic stimuli will pause immediately.)
That’s pretty much all there is to know about experiment pausing. If you have additional questions, please don’t hesitate to ask.
Cheers,
Chris