Hi Yasmine,
For my info - what’s the best way to handle fresh downloads of MWorks from
the “nightly builds”? Do I uninstall and reinstall MWorks, or simply download the files here https://github.com/mworks/mw_suite (via green arrow)?
Just download and run the nightly build’s installer package. (Maybe it’s not obvious, but the “Nightly build” heading on the downloads page is also a link to the installer.)
As noted in the user manual, the installer will remove any existing MWorks installation, so you don’t need to uninstall first.
Is it typical for MWorks users to have one big “experiment” that includes many different “protocols” rather than an “experiment” per “protocol”?
It’s really up to you. I think the main question is how much other stuff (variables, stimuli, I/O devices) is shared between the protocols. If there’s a lot in common, then it probably makes sense for them to be part of a single experiment.
That said, I think the idea of multiple protocols in a single experiment was much more compelling back when everything had to go in to a single XML file. With MWEL, you have the option of putting the shared stuff in separate files and including them in multiple experiments. So it’s really just a question of what makes more sense to you.
When an experiment includes several protocols, is there an easy/good way to re-set initial values for parameters (e.g. x/y position of stimulus) between protocols?
Probably your best option is to define a statement macro that resets the variables and invoke that in each protocol. For example:
var stim_pos_x = 0
var stim_pos_y = 0
%define reset_vars ()
stim_pos_x = 0
stim_pos_y = 0
%end
protocol 'Protocol 1' {
reset_vars ()
...
}
protocol 'Protocol 2' {
reset_vars ()
...
}
I want to be able to edit some experimental variables from the variables window. When an experiment includes several protocols, do you advise creating groups of variables for each separate protocol (with non-overlapping names between protocols)?
Again, I’d recommend doing what is most convenient and/or makes the most sense to you. Going back to your previous question, this might be an argument for sticking with one protocol per experiment, just to avoid confusion when multiple protocols have similar but independent variables.
FYI, in case you aren’t aware, the easiest way to create variable groups is to declare all the variables inside a single group
or folder
, e.g.
folder 'Stim Params' {
var stim_pos_x = 0
var stim_pos_y = 0
}
While you can also create groups by including a groups parameter in each variable declaration, that approach requires a lot more typing.
Cheers,
Chris