PTB beta released 6.6.2010 (SVN Revision 1737)
This summarizes all new beta features from 11.1.2010 up to 6.6.2010. The list of improvements is likely incomplete as always. For detailed logs, click this link.
Some users of Microsoft Windows may encounter an error during update or download of the toolbox. On failure, the installer will give you instructions on how to download and install updated copies of the Microsoft Visual C runtime libraries to make Psychtoolbox work again. This is a required upgrade, forced by some changes in Microsofts OS.
These updates introduce various bug fixes and enhancements. Especially
Datapixx drivers as well as the
image processing pipeline and many demos and drawing functions have been
PsychPortAudio sound driver
- Bugfix for audio artifacts due to “wraparound errors” in the Portaudio sample converters. Could cause audio artifacts if sound samples reached the (legal) signal level 1.0 and the soundcard expected audio data converted to 24 bit integer or 32 bit integer format. This mostly affected some ASIO soundcards on Windows.
- Perform clamping of audio output signals to valid -1.0 to +1.0 range in all modes by default, instead of only in non-low-latency mode as in previous versions of the driver. Allow to change defaults for dithering and clamping in the ‘Open’ function.
- On Windows with some ASIO soundcards and on Mac OS with some
external soundcards, direct input monitoring is supported. This
requires hardware support by the soundcard and allows to feed back
sound from the soundcards inputs (microphone etc.) to its outputs
with minimal latency. Most soundcards don’t support this feature, so
you’ll need to use
PsychPortAudio'ssoftware implementation which has a slightly higher latency.
- Improved support for sound schedules: Now allows to specify and
schedule onset/offset/pauses of sounds wrt. to the system clock,
i.e., in the same timebase as
GetSecsand all other timestamps in Psychtoolbox.
- Support for virtual audio devices and mixing: Allows to open a
physical soundcard as a master device, then create multiple “slave
devices” which attach to different channels of the master device.
Output of multiple slave devices is combined/merged/mixed and send
to the master device. This allows to play back multiple independent
soundtracks simultaneously and with independent control of content,
timing and volume. Also allows to address each channel or set of
channels on a card separately. New function
PsychPortAudio('OpenSlave')controls this functionality.
- Support for capturing and recording the mixed output stream as it gets sent to the real soundcard, e.g., for feedback, testing, debugging and documentation purpose.
- Support for per device and per channel gain and volume control via the new ‘Volume’ function.
- Support for precisely timed amplitude modulation (AM) of each
virtual audio output slave device by definition of time series of
gain values which can be applied with sample-accurate timing. Cfe.
BasicAMAndMixScheduleDemofor demo of AM modulation, volume control, mixing and scheduling support.
- Option to resume playback in a ‘Start’ call where it was last ’Stop’ped, instead of restarting at the beginning.
Serial port hardware support
- Some performance improvements to
IOPortand some parameters to allow to workaround operating system / serial port driver bugs on some setups.
CMUBoxdriver for serialport or USB response boxes now supports also the
fORPdevice when connected via a serial port and to use the
UBW32/Bitwhackeras a response button box.
Improvements and bug fixes to Screen and other drawing functions – The Visuals
- Further improvements to high precision visual stimulus onset timing and timestamping. Also added new tests and workarounds for various broken graphics drivers on Windows and Mac OS.
- Experimental support for
OpenMLbased visual stimulus onset scheduling and timestamping for GNU/Linux. This is an opt-in, work in progress. Not yet ready for mainstream use, but will allow to take advantage of Linux special facilities, once they are completed and stable.
- Support for NV_swap_group and SGIXX_swap_group extensions on
Linux and Windows. Some professional grade graphics cards, e.g.,
FireGL/FireProcards and some cards do support these extensions in hardware. These allow to perfectly synchronize bufferswaps and visual stimulus timing across multiple windows, displays, graphics cards or even different nodes on visualization clusters.
Screenwill automatically use these extensions if they are present and a dual-display stereo mode or other dual display / multi window mode is used.
- Support for creation and writing of Quicktime movie files on Mac OS
and Windows. Allows to create and write movie files. Currently only
supports one video track per movie and doesn’t support soundtrack.
Works with any codec supported by Quicktime.
ImagingStereoDemocontains test- and example code to demonstrate usage. Can create a movie which records the animated stereo display.
- Various bugfixes and help text updates.
- The imaging pipeline
PsychImagingin conjunction with
PsychColorCorrectionnow also allows to apply automatic display vignetting correction aka shading correction to automatically compensate for spatially varying differences in luminance or per color gains of display devices, e.g., due to lense vignetting on projectors.
VignetCalibrationimplements an interactive calibration procedure,
AdditiveBlendingForLinearSuperpositionTutorialdemonstrate how a calibration is applied for realtime vignetting correction.
ScreenDrawDotsis a reimplementation for the
Screen('DrawDots')function to allow smooth dot drawing on broken Mac OS 10.6.3 systems.
PsychDrawSprites2Dallow for drawing of large numbers of similar textures, so called Sprites. It behaves exactly like
Screen('DrawDots'), except that it doesn’t draw dots, but little copies of a given texture, with selectable size, position, rotation and color. This is demonstrated in
DotDemoby passing an optional flag.
- A new
- Full support for the VPixx technologies DataPixx device on all
platforms, except Apple
PowerPCand Windows with Matlab versions before V7.4 (R2007a). All special graphics display functions (stereo, multi-display, mirroring, high precision color and luminance display) are supported via
PsychImaging, e.g., demonstrated in
ImagingStereoDemo. Timestamping functionality and other convenience functions, as well as audio capture and voice keys are available via
help DatapixxToolbox. All low-level features are supported via the
Datapixxmex file driver.
- OpenGL for Matlab and Octave: Add support for GLU tesselator functions.
DotRotDemofor rotating dot fields by Keith Schneider.
- Many new and improved display calibration, gamma correction and color handling routines by David Brainard’s lab.
- Some improvements to general toolbox routines by Diederick Niehorster.
- Support for later models of the
RTBoxresponse button box in the
- Bugfixes and workarounds for the latest collection of bugs in Mac OS/X Snow Leopard 10.6.3 and MS-Windows.
- Compatibility fixes to mex files to provide good support for Ubuntu Linux 10.04 LTS “Lucid Lynx”.