[open] questions re OpenSesame on Android
Dear Sebastiaan & OpenSesame community,
I've recently started looking into Android tablets for visual stimuli presentation to subjects and came across OpenSesame. I have a couple of questions pertaining the functionality of OpenSesame on Android:
- is it possible to load a 'default' experiment and configuration file (for subject location, etc) on OpenSesame startup?
- I could not figure out how to set the display orientation for an experiment. OpenSesame will change the display orientation instead of using the tablet's current display orientation. I wish I could somehow configure this more flexibly since tablet orientation might be a function of the general experimental setup.
- is there a way to use 'true full screen' mode, i.e., hide the Android Back, Home and TaskManager buttons? (One could use tape but hiding these buttons via software functionality might be a more flexible solution. As far a I know, Android 4.4 should allow this.)
- remote control of experiments: I understand that OpenSesame is mainly used for closed-loop experiments where the subject does interact with the experiment by providing some feedback. For my purposes I'd like to control the experiment remotely and on the fly: based on a certain condition (i.e, the brain activity of a subject), I'd like to show a different image (from a list of predefined images). In our latest study [1] we've developed a python tcp mmap server [2] receiving input from a matlab client [3] via the network. It should hopefully not be too hard to run [2] on Android and use a while loop in the experiment to check for the next stimulus file. But maybe OpenSesame has some remote control functionality already implemented?
- multi-screen / tablet synchronization: how do I show the same stimulus on multiple screens? I'm under the impression that OpenSesame will only use one screen by default but I need to show the same stimulus on multiple screen ("visual arena"). How would one achieve this? Once I've figured out how to remotely control a tablet experiment it should be easy to keep multiple tablets in-sync.
any feedback is very much appreciated.
many thanks,
andreas
[1] http://dx.doi.org/10.1016/j.jneumeth.2013.02.020
[2] https://github.com/StimOMatic/StimOMatic/blob/master/python/tcpServerMmap/tcpServerMmap.py
[3] https://github.com/StimOMatic/StimOMatic/tree/master/matlab/realtime/tcpClientMat
Comments
You mean that you simply execute an experiment right away, instead of having to select one via the menu? As it happens, @EoinTravers is working on this, but for now this is not easily possible. In order to accomplish this, you will need to build your own
.apk
package from source. This is possible, but takes some effort and knowledge of Linux.This is a limitation of the underlying system, the PyGame subset for Android. You have to specify an orientation when the software (i.e. the OpenSesame android package) is built, so again the only way to change this is to build your own package from source with a different orientation.
From what I understand (and as you say) Android 4.4 should allow this, although I haven't tried it. Earlier version of Android require a hack to accomplish this. I would Google around a bit, to find out how people do this for other applications, because it's not specific to OpenSesame.
If you are familiar with Python, and it sounds like you are, you can simply use any of the standard Python networking, such as
socket
orurllib2
. For a list of modules that are available in the Android runtime, see:Similar to above, you would have to implement some kind of network communication to implement synchronized presentation. This discussion may help you get started:
Cheers!
Sebastiaan
Check out SigmundAI.eu for our OpenSesame AI assistant!