PTB beta release 2012-4-1 (SVN Revision 2540)


For more details, please review the detailed change log.

All systems:

  • PsychPortAudio: Potential startup latency reduction on all systems as now runlevel 1 is used by default. This potentially reduces start latency for sound playback at the expense of slightly higher cpu load while playback is stopped.

  • Performance improvement to Screen('MakeTexture') via new optional specialflag 4 – Much faster for all uint8 input textures and for Luminance + Alpha and RGB8 textures as created from double() input matrices. However, mode 4 requires a GPU with shader support and may not work well with scrolling/drifting textures or on a few other special cases. It is best used for fast creation of still images.

  • Code cleanup here and there.

  • Some tiny fixes for Octave 3.6 compatibility of M-Files.

  • DaqAInScanContinue now can return “live data”. (Untested).

  • KbCheck, KbQueueCheck, KbTriggerWait et al. now support handling of mouse, joystick, gamepad and similar devices as mini keyboards: Their buttons can be treated as keys on a keyboard and queried by the KbXXX functions. This allows simplified (ab)use as response button devices.

  • Support for procedural visual noise on modern GPUs - Perlin noise for fast visual noise generation on supported gpus. Use with caution: Perlin noise is not Gaussian noise!

  • Small improvements to QuestSimulate: Can now visualize its operation.

  • Datapixx mex files updated by VPixx to support the ViewPixx device, e.g., backlight control.

  • CMUBox now handles Cedrus Lumina response boxes (Untested).

  • Various other small improvements and some new demos.

Windows & Linux:

  • GStreamer movie playback engine enhanced with many bug fixes, improved features, some new functionality, performance improvements.

OSX & Linux:

  • Improved realtime scheduling setup for increased robustness of timing when many threads are active or system is loaded. OS/X now uses Mach realtime scheduling everywhere, not only on master thread. Linux has refined priority level setup and uses mutexes with priority inheritance.


  • Screen(‘DrawText’) now obeys geometric transformations, e.g., in DrawMirroredTextDemo.

  • PsychHID HID device enumeration improved due to upgrade to latest HIDAPI.