Merge remote-tracking branch 'upstream/master'
Merge remote-tracking branch 'upstream/master'
Merge remote-tracking branch 'upstream/master'
Merge pull request #80 from Psychtoolbox-3/master

PTB BETA RELEASE "Death by a thousand paper cuts"

Release highlights:

Speak() command now supported on all operating systems, and made more flexible. Linux support by MK, MS-Windows support by Vishal Shah.

Improved correctness tests and wokarounds for graphics driver bugs on Intel gpus under Linux, but also improvements to general graphics driver sync tests. Some warning clutter removed.

Make Screen startup more artifact free on Intel gpus on Linux with triple-buffering enabled.

Make Linux Screen() compatible to apitrace utility.

Bugfixes and enhancements to Screen('Resolution') on Linux and Screen('Resolutions') on 64-Bit OSX.

Enhancements to the PsychPortAudio backed Snd() legacy sound command.

Some improvements to DKL color functions by David Brainard.
Merge pull request #83 from Psychtoolbox-3/master

BETA RELEASE "Dancersizing, Grey & Hopeless"

"Dancersizing, Grey & Hopeless" mostly fixes small bugs, improves small details and improves GetChar support on Windows Vista+, matlab -nojvm and octave.

* GetChar, CharAvail, FlushEvents and ListenChar now (ab)use keyboard queue functionality on setups where use of Java based GetChar et al. is ineffective or impossible: This should enable good support for Windows Vista/7/8, matlab in -nojvm mode, and GNU/Octave in CLI and GUI mode.

* Minor fixes and improvements to PsychPortAudio, Screen, IOPort, PsychGPUControl and M-Files.

* CRS OptiCal support by Andreas Widmann.
Merge pull request #90 from Psychtoolbox-3/master

PTB BETA RELEASE "The fun in dysfunction"

    Support for GStreamer camerabin2 video capture & recording.
    Support for builtin imaging pipeline panel fitter.
    Improved Linux support for timestamping, graphics problem detection and desktop compositor handling.
    Improved support for handling of MS-Windows-8 dektop compositor handling.
    Bugfixes / Workarounds for various Windows and OSX operating system bugs.
    Fixes to PsychKinectCore and PsychHID.
    Various other fixes for small documentation and PTB bugs.
    Potential multi-threaded decoding improvements for GStreamer movie playback.
    More fixes and workarounds for handling of slightly broken Intel-DDX graphics drivers on Linux (pre 2.20.16 series).
    HDMI side-by-side horizontally compressed frame packing format support for stereo displays.
    Datapixx and Eyelink improvements.
    CRS OptiCal support.
    Other stuff i can't remember.
Merge pull request #91 from Psychtoolbox-3/beta

Resync to "The fun in dysfunction"
Merge pull request #11 from Psychtoolbox-3/master

Resync with PTB BETA RELEASE "The fun in dysfunction"

Up to date as of 4-January-2013.
Screen/Linux: Update a help one-liner.

Tell users they should run PsychLinuxConfiguration, instead of running
root. One location was missing this update.
Screen/OSX: Try to handle MBP Retina scaled mode "best for retina".

Contrary to what one would assume, the default display mode on
MacBookPro's with Retina displays called "Best for retina" doesn't
operate at full native panel resolution (e.g., 2880 x 1800) but only at
quarter resolution (e.g., 1440 x 900) and rendered content is then
upscaled to full panel resolution. This means that the backend operates
at twice the vertical resolution of the frontend and vbl_startline is
not 900 but 2 * 900, as is vbl_endline. Handle this by a slight
modification of our code for detecting double-scan video modes
originally developed for Linux. We (ab)use the same code for handling
Retina mode on OSX. As we don't know if the timing/timestamping is
actually correct, warn user about scaled retina mode and timing
implications. The problem is that we don't know how the scaling is
implemented and if it introduces some sort of implicit triple-buffering
which would break all our timestamping algorithms. The only way to find
out would be for a user to use a photo-diode and lots of masochism and
experience to find it out.

Apparently it is not possible to select native resolution display with
Apple's display setup panel, but some 3rd party tools can configure it:

<http://apple.stackexchange.com/questions/71636/can-i-use-a-retina-displ
ay-at-actual-pixel-size?rq=1>

<http://apple.stackexchange.com/questions/59964/macbook-pro-retina-setti
ng-resolution-to-2880-restored-to-1440-after-restart-sys?rq=1>

<http://www.anandtech.com/show/5996/how-the-retina-display-macbook-pro-h
andles-scaling>

Another fun problem not addressed here is that OSX native beamposition
queries for NVidia cards at least for Retina panels seem to be
completely broken. Unclear if it is only Retina or OSX 10.8 + NVidia in
general. Anyway, the only way to get any (potentially meaningful)
timestamping is to load the PsychtoolboxKernelDriver and use
'conserveVRAM' option 2^16 to disable native beamposition queries so
our own code is used. Screen can't detect the need for this yet.

-> Screen for 64-Bit Octave and 64-Bit Matlab on OSX rebuilt.
-> Won't upgrade 32-Bit Screen for this release, as 32-Bit PTB for OSX
is deprecated.
-> help BeampositionQueries updated with troubleshooting tips.
BeampositionsQueries.m: Fix typo reported by Ian.
Merge pull request #92 from kleinerm/master

Pull fix for OSX on Apple MacBookPro with Retina display.
Screen: Add support for NVidia NV-E0 GeForce-600 gpu's.

Add detection logic to OSX PsychtoolboxKernelDriver so it can detect
and handle those GPU's, e.g., in the new MacBookPro Retina machines
with GeForce GT-650M.

Add experimental support to address up to 4 crtc's, as those Kepler
gpu's can drive up to 4 displays instead of only 2. This may or may not
work, fingers crossed.

Update installation instructions in PsychtoolboxKernelDriver.m.

-> 64-Bit kernel driver of OSX with 64-Bit kernels rebuilt. Screen for
64-Bit Octave/Matlab on OSX rebuilt. We don't care much about the
deprecated 32-Bit PTB and 32-Bit kernel for OSX anymore -- no update.
-> Screen for Linux 32/64-Bit Matlab/Octave rebuilt.
-> Tests pending.
SetCompressedStereoSideBySideParameters(): Adapt to use with panelfitter.

-> Use raw width/height of window, not scaled size.
-> Makes ImagingStereoDemo(102) work with panelfitter on.
PsychDataPixx: Fix 'En/Disable''BlueLine/ScanningBacklight' on old Datapixx files.

Was still the wrong way to skip setup of unsupported functions.
Now should work. Tested on 64-Bit Octave on Linux, for which we
don't have updated Datapixx mex files yet.
Merge pull request #94 from kleinerm/master

Pull: Add support for NV-E0 GeForce-600 series "Kepler" gpu's.
LoadOBJFile: Fix mlint warnings, replace findstr by strfind.

Make it future-proof and mlint happy.
moglmorpher: Fix crash if texcoords or normals are empty in struct.
PsychImaging: Fix display mirroring, esp. for fixed-function pipeline.

Fix windowsize query for 'MirrorDisplayTo2ndOutputHead' to be immune
against clientRect != Rect.

Fix 'MirrorDisplayToSingleSplitWindow': Immunity to clientRect changes.
Fix use without imaging pipeline, ie., if only fixed function pipeline
is active, in which case we need slightly different glRasterPos
x-offset due to different viewport transformations, etc.
Update Psychtoolbox/PsychTests/BeampositionTest.m

improve argument checks and the prettify / label the plot output