OpenSesame 0.27.1 for OS X available
After a long wait, the new version of OpenSesame is finally available as an app for OS X! There are a few 'buts' though...
There is a 64-bit and a 32-bit version available. Initially I simply started with building the 64-bit version, but I just couldn't get the psychopy backend to run on this architecture. Therefore, I started from scratch and rebuilt the whole Python environment in 32-bit using MacPorts. I got psychopy to work on there, but somehow I have the feeling the 32-bit version runs less stable and is less 'snappy' (I do not have concrete evidence for this at all though, so it might just have been my lack of sleep speaking... certainly do give the 32-bit version a spin)
I built both 32 and 64-bit versions on Mountain Lion macs, as I had no machines available running on older versions of OS X . Sadly, upon initial tests OpenSesame did not seem to run on macbooks having pre-ML installs (<10.8) and gave some vague error messages that can be traced back to Apple's decision to shift around with some file locations in the /System/ folder. Until I find a machine with an older version of OS X on which I can rebuild the apps, there's nothing I can do to change this. Alternatively, if there is someone who has a mac running on a pre-10.8 version of OS X and who is up to the challenge of building the required source environment, he or she could try to make an app using py2app with the setup-mac file found at https://github.com/smathot/OpenSesame/blob/master/setup-mac.py. We can then put this app online for everyone to use.
the media_player_vlc plugin does not work with the pygame or expyriment backend, due to a bug in pygame on OS X: The plugin needs to know the id of the window to show the video in and pygame is not able to supply this. The plugin should work with the psychopy backend, but I've not come to testing this at all.
I'm still working on compiling pymedia, which is required for the sound_recoder plugin, but had no luck thusfar. I'll keep you posted about this.
I will be watching this thread, so if you find any OS X related bugs, please post them as a reply below and we will find an appropriate place for them in the issue tracker.
I hope this new version works well for everyone and solves most of the problems bugging the old version!
Comments
Great news, thank you for putting so much effort in it!
I have had only time to give the two versions a quick test run with the example experiments. I run 10.8 only here, too. I can confirm your impression that the 64bit-version runs snappier. It seems to me, that this is even noticeable by naked eye. The "Ecological Alternative" example experiment runs way smoother and faster.
In the 32bit-version online help and in-application help as well as the OS-info button do not run. However, they are fully functional in 64bit-version.
Cheers,
Johannes
Hi Absurd,
Thanks for your help testing these packages. Could you try running the 32-bit version from the console in the following way?
Browse to the folder where the app is located and run OpenSesame by typing
Then click on the online and in-app help buttons again and tell me what you see printed in the console (if they cause an error, they should print a stacktrace). I had this error before too, and that was because the QNetwork package wasn't included in the app. I did so after, so I wonder what the cause of this error is this time. I'll try to run some tests on this myself on Tuesday.
Cheers!
Hi dschreij,
Here is the terminal output. First I clicked the in-app help, then online help, then the info menu item:
Hope this helps.
Cheers, Johannes
Thanks for this. Appararently the QtWebkit module wasn't included during packaging. I'll fix this on Tuesday and put the new .dmg online
>>EDIT:
It should be fixed now!
The 32bit runs just fine now as well, even PsychoPy works now on OS X.
Thumbs up!
If you could be a bit more explicit, I'd be glad to attempt a build on OS 10.7.5. Right off the bat, I get the error: No such file or directory: "/opt/local/lib/Resources/qt_menu.nib"
Hi gllec, thanks for this info. qt_menu.nib is a file required by Qt for unclear reasons. When testing the apps, Opensesame seemed to run fine without it, but it seems that some systems still require it. I can fix this and put up a new version of the 32-bit app tomorrow (Do you get this message with the 32-bit or 64-bit version of OS 0.27?)
As for generating the app yourself: follow the instructions on http://osdoc.cogsci.nl/getting-started/running-from-source/#macos to build the source environment in which OpenSesame can run. You can either use macports to collect all the required packages, or install them from the distributables that the developers of most software packages offer for download. if you have done this and can start opensesame from source by entering
in your console (be sure you are in the OpenSesame folder when doing so), If this works, you should be ready to build the app. To do so, you need to have py2app installed (https://pypi.python.org/pypi/py2app/) and then use the setup-mac.py file (which is included with the opensesame source package) to generate the package.
You can do this by executing this command in your console:
or, if you have built from a 32-bit macports environment
Hope this helps. If you have any further questions, please let me know!
gllec, I just put a new dmg (of the 32-bit version) online which includes the qt_menu.nib file. Please let me know if it works for you now!
Hi Sebastiaan, thanks for all the good work! I have a couple of bugs/problems on OSX:
The vertical refresh does not work properly, when I run this test: https://www.dropbox.com/s/6a28642mquetc2e/schermtest.opensesame
I get horizontal stripes, rather than the smooth flicker I should be getting. Results using this critical script vary depending on the back-end and the mode of presentation:
xpyriment: vertical refresh does not work on fullscreen (get horizontal stripes), but does work when running inside a window (odd)
legacy: vertical refresh seems to works but timestamps are off in legacy, so is non-preferred
PsychoPy: does not work at all for this script (Failed to call: openexp._canvas.psycho.init_display())
I have observed various problems with the vertical refresh on various systems, by the way, not just on OSX. Sometimes the vertical refresh works, but results are highly inconsistent. Sometimes it will work with one particular backend on one system, but not on another, and vice versa. The vertical refresh is critical for all experiments in which timing is crucial, so would be nice if this could work consistently.
System: Macbook pro, OSX 10.8.3, Open Sesame 0.27.1
Thanks for your time,
Johannes (not the same one as the previous poster ;-)
Another bug: dragging the locations to change the order of items in the experiment sequence does not seem to work in OSX.
Johannes
I take that back, it works but you have to drop the item EXACTLY on the four-square icon...
Hi Johannes,
Thanks for your feedback.
Regarding the v-sync issues. This is an unfortunate consequence of the fact that OpenSesame works on a wide range of systems that have very heterogeneous configurations. It's not simply a 'bug' that one can fix, although the back-end developers (i.e. the guys behind PsychoPy and Expyriment) of course try to make things as work as consistently across different systems as possible. Fortunately, in OpenSesame you can choose a different back-end if one doesn't work properly for you, which already helps a lot if you encounter issues. See also this discussion:
Regarding drag-and-drop. This is a usability issue, and more generally it would be nice to have more comprehensive drag-and-drop support (but this is not trivial to implement properly). Once you have the hang of it, I'm sure you'll find that it works pretty ok for now.
Cheers!
Sebastiaan
Check out SigmundAI.eu for our OpenSesame AI assistant!
Hi Johannes,
Whether vsync is used is largely determined by your graphical card drivers. Many vendors offer you to force the vsync on in the control panel they offer for configuring the video card. On my system for instance, with an AMD card and Catalyst Control Center, I have a slider in which I can set when vsync should be used (Never, let application decide, always). In the settings of a system with an Intel card, I find such an option if I go to 3D > (Custom Settings) > Vertical Sync > (On/Off). I guess such an option should also be available on Mac OS X (or Linux for that matter) given that you use the proprietary (vendor) drivers for your card.
Good luck