MWorks 0.4.4 released
MWorks 0.4.4 is now available. For a summary of what’s new, see the release notes below.
Release Notes
General
- Project name changed from “MonkeyWorks” to “MWorks” in recognition of its successful application to non-monkey experimental subjects
- MWorks now requires Mac OS X 10.6 (Snow Leopard) and won’t run on earlier versions of Mac OS X
- Source repositories now hosted on GitHub
- Support files (configuration, plugins, Python and MATLAB interfaces,
examples, development headers and libraries) are now stored in
/Library/Application Support/MWorks
- Data files and saved variables are now stored in the user’s home
directory (in
~/Documents/MWorks
) - Applications’ “About” dialogs now show both the release version number and a git commit ID
- Installer now offers to back up existing installation; “Uninstall MWorks” script can remove new installation and restore old one
Core
- Streamlined IODevice base class. Old base class still available as LegacyIODevice.
- Fixed bug that could cause client’s memory usage to steadily grow over time
- Properly exit full-screen mode when releasing displays
- Support both user-level and system-level MWorks config file
- Fixed various memory bugs
- Fix for external display flicker under OS X 10.6.3
- Reduced excess state announcements during spinning transitions
- FIXED: Selection variables were being assigned incorrect (and already used) codec codes
- Handle mangled incoming codec data safely
- Event-handling refactoring; new object hierarchy allows for less code duplication and more flexibility
- Widespread naming and factoring changes
- Name change: task_mode -> state_system_mode
- Changes to ensure that setup variables are correctly loaded from the correct component registry
- More intelligent parsing of report strings with variable substitutions
- Greatly speeded up experiment parsing for very large experiments
- Added basic deferred stimulus loading capabilities
- Fixed a problem where the server would crash if a stimulus group name was not found
- Fixed problem with alpha_multiplier not working
- Better parser error handling
- Fixed a problem where objects weren’t being looked up ever by their tag names – caused problems for replicated stimuli with replicate-wise tag names
Server
- Croak if more than one plugin tries to define a factory with the same XML signature
- Tag console messages with time interval since server startup
- “Scroll to bottom on message” now actually scrolls console window all the way to the bottom
Client
- Improved experiment file selector
- List recent experiments from most to least recent
- Don’t crash when “Load” is pressed with no experiment selected
Editor
- Added deferred property to image stimuli
- Added custom inspectors for Start/Stop IO and Report actions
Core Plugins
- Improved performance of DriftingGratingStimulus (no longer spawns 60 threads per second)
- MovieStimulus: Prevent crash when attempting to stop an already-stopped movie
- FIXED: MSSWGamepad was reporting left trigger presses via the trigger_right variable (and vice versa)
- NEW: Xcode project template for core plugin
Python Tools
- NEW: Python bindings for data file indexer/reader
- NEW: Python bridge client plugin
MATLAB Tools
- Client window and data tools now support both 32- and 64-bit MATLAB
- Client window now displays MATLAB console output (contributed by Mark Histed)