Test-drive OpenSesame 2.8.0!
The next major release of OpenSesame will be 2.8.0 Gutsy Gibson, and is available for your test-driving pleasure from here:
OpenSesame 2.8.0 comes with considerable new functionality, but is entirely backwards compatible with the 0.27 series!
From 0.27.4 to 2.8.0: New versioning scheme
The reason for jumping from version 0.27.4 straight to 2.8.0 is to adopt a more consistent versioning scheme, called semantic versioning. In semantic versioning, increasing the MAJOR version (
X.-.-) indicates changes that break backwards compatibility, increasing the MINOR version (
-.X.-) indicates new functionality, and increasing the PATCH version (
-.-.X) indicates bug fixes.
An important new functionality is the multiprocess runner, which allows you to execute your experiment in a different process. This should be much more robust to crashes than the old in-process way. For now, the in-process runner is still the default, but this will change in future versions, once we are sure that the multiprocess runner works well across a wide range of systems.
You can select the multiprocess runner under preferences:
Improved support for non-Latin alphabets
A lot of effort has again gone into improving support for non-Latin alphabets. A couple of new default fonts have been added, and you can now use Arabic, Hebrew, Hindi, Japanese, Chinese, Farsi, and Korean straight out of the box.
You can even enable support for bi-directional languages, i.e. languages that are (partly) written from right to left, such as Hebrew:
Don't hesitate to leave feedback if you use non-Latin alphabets. For obvious reasons, it is difficult for us to ascertain whether text is rendered correctly in all languages.
Improved text-editor component
OpenSesame's text-editor component has been split off into a separate project, called QProgEdit. QProgEdit is considerably more advanced than the old text-editor component, and, among other things, supports themes. This means that I can finally use my favorite dark theme (based on Solarized) in OpenSesame!
New functionality and improvements
- Add runner functionality
- Improved exception handling
- Migrate to QProgEdit editor component
- Updated offline help pages
- Improve support for non-Latin alphabets (#211)
- Add correct-response option to touch_response plug-in (#214)
- Line wrapping causes double spaces (#203)
- Keywords to
decode()break compatibility with Python < 2.7 (#201)
- Fix ugly exception on Escape press in joystick plug-in (#162)
- Remove large template files
Great! Can't wait till this one is released. I did discover a little bug: In my version 2.8.0~pre7 (Win 7) I get squares before every line break (CR LF) in a text display item, as if it doesn't recognize the new line character.
Ah, thanks for spotting that one. It should be fixed in the latest pre-release (currently
pre8). I also included the updated
Unless there are any real bugs that arise, I think I will wait for one major issue to be resolved in Expyriment, and then release 2.8.0. Exciting, and a big improvement—And in no small part due to your mulitprocess functionality!
I really like the new features!
2 bugs that I came across:
I couldn't find any other hebrew issues, thanks
As of 2.8.0~pre11, the editor component now automatically validates your Python code using
pyflakes. A convenient timesaver that notifies you of obvious typos, syntax errors, etc.:
In quick run, OpenSesame simply creates a file called
quickrun.csvin the last-used folder, and overwrites (without asking) any previously created
quickrun.csv. Does this clear things up?
That's a bit odd isn't it? I don't know how most text editors handle this, but I noticed that it felt a bit uncomfortable. It's simply how the underlying editor component (
QScintilla) handles this though, it's not really something I can easily fix.
I'm already loving the code editor, BIG improvement!
non Latin (Hebrew)
Thanks for the feedback!
Good point. I filed a feature request on this (#216).
The Hebrew (= Droid Sans Hebrew) font does indeed not contain Latin characters, but I would be open to replacing this font by one that does. Is 'David' an open source font, and, if so, where could I find it? If not, do you have suggestions for good Hebrew open-source fonts? Note that licensing is important, which is why we cannot include just any font.
Do you have a screenshot or script to illustrate the issue?
Yes, I saw your discussion with @Rotem about this. I'll look into this. And thanks for helping out on the forum!
I found a problem on windows 7 with ~pre12 (from source). I was working with OS on a a screen with a resolution of 1366x768 (probably of a dying breed I know), but when the interface becomes too large (for instance if you click on 'show the debug window') for this resolution and the OS interface is shown in fullscreen mode, OS crashes hard! (Python has stopped working...). Maybe it is possible to see if the screen resolution is too small for OS and then issue a warning if this is the case.
here is the "alef" open source font that I used in the exp/
here is a little hebrew english problem demonstration with explanations inside
Hmm, that sounds like a Qt4 issue. I'll see if I can replicate it on my machine (which is also a 1366x768 laptop) and, if so, what can be done to fix this. Suggestions welcome!
Thanks for pointing this font out! Indeed, it includes nicely matching Latin characters. It strikes me that the Droid Sans Hebrew font is slightly better looking though (Droid shown above, Alef below). As a Hebrew native speaker (I assume), would you agree?
At any rate, even if Alef is not as pretty, the fact that it includes Western characters may be enough reason to use it as the default Hebrew font. I'll think about it.
Ah, I think I see what you mean. This is somewhat out of my area of expertise, but I did notice that both
python-bidi(used by the runtime) and Qt4 (used by the GUI) render the text in the 'incorrect' way. This suggests that it may be the intended behavior. Perhaps it's due to which direction is used as baseline? I think it would be best to communicate these issues directly to the developer of
python-bidi, which OpenSesame uses for the bi-directional-text support.
And merry Christmas to you guys as well!
Thanks, it might indeed be a QT issue. I did not have the problem with 0.27.4, but pane that is open by default is vertically a bit smaller than the default pane in OS 2.8
Another small bug: If you quit OpenSesame and it asks you to save your experiment, the changes are not saved after klikking "yes". Just before OpenSesame exits you can see a small OS error window popping up, which appears to say something about not being able to find files in the temp folder. This goes so fast that I can't really read what it exactly says, but it might be that OpenSesame already deletes the contents of the temporary folder it uses for experiments before it can save hem?
You were running from source, right? I suspect that this is a bug that has already been resolved in the latest versions of PyQt4, because I cannot reproduce it. Does it happen as well when you use the latest pre-release package?
Yes, your analysis is correct! I fixed this in pre12, which is uploading as I write this.
another 2 bugs in inline script
if you go into "edit script" type some text and exit without applying changes (e.g. going into another object) all your changes are gone,
if you do the same operation in the inline script editor the changes are saves
I dont find any reason to go into edit script except that the hebrew editing id easyer.
so I really think its a minor issue
hebrew in inlinescript is displayed on top of the english text\
Indeed, the script did not auto-apply changes, as it should. I more-or-less fixed this (I'll upload a new pre-release later today), but the result is that the script editor automatically closes. This will be improved upon with a later release, because I don't want to destabilize the code at this point for 2.8.0.
Hmm, indeed. This appears to be a very odd bug in QScintilla, the text editor component used by OpenSesame. There's not much that we can do about it, except wait until the issue is resolved in QScintilla. A workaround for now would be to disable syntax highlighting by selecting 'Text' in the language menu at the top right.
Cheers and thanks again for your feedback!
when does 28.0 due?
I want to upgrade all my lab with the official release
OpenSesame itself has been ready for some time, but I've postponed release until Expyriment was upgraded as well. This has happened now, and if testing doesn't show anything funky, the latest pre-release will become 2.8.0 as is. Soon!