Hi Chris,
One more issue. I want to break out the parse-time variable discussion as a lead in to ‘task’ definition files. I know you talked about customizing a new type of selection variable, but I can see parse-time values being useful even outside that - e.g. values/selection fields of trials and blocks and range replicators.
-
One option to specify parse-time state is to include parse-time “variables” by using a C-preprocessor-style approach, where lexical substitution is done from another file at parse time. My biggest issue with this approach is I want this to be able to choose different variables per-subject, while not editing the XML file. I could write a script that copies the desired subject’s parameters in place before each experiment load, however.
-
Another is to bring the parse-time vars into the variable values XML - the problem is you’d need to work out some UI to specify that file before the experiment is loaded, as it is now required to be loaded afterward.
-
I’m most positive about the ‘task definition’ file we discussed. It would be great if the client had a facility to load
- desired server connection
- experiment XML
- python script
- matlab script, plus variable definitions
- variable values
- parse-time variable values
- Plugin windows/server console opened and their position and state (scroll to bottom; which trees expanded in variables window)
via a single ‘subject/task’ definition file. I’d be happy if this was via a command-line parameter, as I can script it. Then you don’t have to commit to any UI until we’re happy with it (although a menu item to load it, with remembered recent files, would also be great).
No rush on any of this but we should think about it.
Mark