CMUBox: Add support for Cedrus Lumina response box.



git-svn-id: http://psychtoolbox-3.googlecode.com/svn/trunk@2453 f5efbe48-b203-0410-9429-fc5e098e5a54
Screen/Windows: Fix new 'DrawText' GDI rendering path.

* Fix bugs, so the new rendering path for HQ GDI text rendering
via texture mapping on Windows works correctly, ie., allows to
apply geometric transformations like scaling, flipping and
rotation.

-> Screen mex file for Octave and Matlab R2007a on Windows rebuilt.

* Remove restrictions from DrawMirroredTextDemo and fix comments
  and small issues in other text demos along the way.

The GDI text renderer on Windows still has a small limitation:
If text is drawn to be "outside" of the onscreen/offscreen window,
e.g., by drawing oversized text that goes beyond the window and
is then horizontally or vertically flipped, border artifacts can
happen. This is because the GDI renderer restricts its rendering
to a canvas the size of the target window, clipping away any
rendering outside that canvas. This is not a problem for untransformed
text rendering, as the parts clipped away during GDI rasterization
are the same parts clipped away during OpenGL rendering. With
certain mirror transforms however, the normally clipped away parts
can fall inside the visible window area, so text is cut off where
it used to fall out of the GDI rasterization canvas.

This will seldomly be an issue in practice, but there's not much
we can do about it without a complete redesign of the GDI renderer,
iow. *never ever*.



git-svn-id: http://psychtoolbox-3.googlecode.com/svn/trunk@2454 f5efbe48-b203-0410-9429-fc5e098e5a54
PsychKinectCore: Upgrade to libfreenect version 0.1.2

Only the Linux and OS/X code is upgraded to current
v 0.1.2. The Windows specific code sticks to the
special Kinect library we use for Windows for now.

Only recompiled & tested on 32-Bit Linux so far, not on OS/X.

-> PsychKinectCore mex file for 32-Bit Octave & Matlab on Linux rebuilt.
-> Installation instructions "InstallKinect" updated.

git-svn-id: http://psychtoolbox-3.googlecode.com/svn/trunk@2455 f5efbe48-b203-0410-9429-fc5e098e5a54
moglcore: Move moglcore for 32-Bit Matlab on Linux to correct folder.

moglcore.mexglx was not stored in PsychBasic as it ought to
be, and thereby didn't get installed in the NeuroDebian
edition of Psychtoolbox for 32-Bit Matlab on Linux, causing
complete failure of OpenGL and image processing support for
that package.

Why? Because the idiot that is the release manager did update
the build/packaging script to take care of this but didn't
dare to execute the script at least once!

Note to self: Get more sleep!



git-svn-id: http://psychtoolbox-3.googlecode.com/svn/trunk@2456 f5efbe48-b203-0410-9429-fc5e098e5a54
Rebuild Screen/PsychKinectCore on various platforms

- PsychKinectCore on Windows (includes build fixes) and Linux 64-Bit
  Matlab/Octave.

- Screen on OS/X IntelMac Matlab & Octave, 64-Bit Linux and
  MatlabR11 on Windows.

-> Improve build script for windows a bit.

=> All Linux mex files except 32-Bit Screen are up to date and in sync.
=> All Windows mex files in sync.
=> All OS/X mex files in sync, except for outdated PsychKinectCore.



git-svn-id: http://psychtoolbox-3.googlecode.com/svn/trunk@2457 f5efbe48-b203-0410-9429-fc5e098e5a54
Screen/Linux: 32-Bit Octave & Matlab rebuilt.

git-svn-id: http://psychtoolbox-3.googlecode.com/svn/trunk@2458 f5efbe48-b203-0410-9429-fc5e098e5a54
Screen/Linux: Don't use our 10bpc framebuffer hack on nouveau or intel

Did try to enable 10 bpc fb mode on NVidia or Intel gpu's if
requested, because didn't exclude Intel gpu's and didn't
exclude NVidia gpu's if controlled by nouveau instead of
binary blob. Fix it: Only request via system native method
on NVidia or Intel gpus.

-> Screen 32-Bit for Octave on Linux rebuilt.

git-svn-id: http://psychtoolbox-3.googlecode.com/svn/trunk@2459 f5efbe48-b203-0410-9429-fc5e098e5a54
PsychHID: Optimize setup/robustness of USB device configuration.

- Allow usercode to select USB bConfigurationValue device
  config, instead of always enforcing config zero. This via
  new optional parameter to PsychHID('OpenUSBDevice', ...);

- Allow skipping of setup of configuration if -1 is passed,
  instead of using default of zero or user specified value.

- Check if requested configuration already == current configuration.
  Skip redundant setup step, if so.

  -> This one may allow device opens to succeed if it would have failed
     due to failure to set a configuration the device already has.

=> PsychHID.mexmaci for 32-Bit Matlab on OS/X Intel rebuilt,
   others pending.



git-svn-id: http://psychtoolbox-3.googlecode.com/svn/trunk@2460 f5efbe48-b203-0410-9429-fc5e098e5a54
Add support for GLSL procedural noise - Perlin Noise for now.

ProceduralNoiseDemo demonstrates use of the new function
CreateProceduralNoise for creating/using a procedural
texture for fast GLSL drawing of random noise patches.
New shaders implement this. The actual supported noise
types are currently variants of Perlin noise, as implemented
by the GLSL shader libraries ClassicPerlinNoiseLib.frag.txt and
PerlinNoiseLib.frag.txt.

These libraries are slightly modified versions of the 3D
Perlin noise functions from...

https://github.com/ashima/webgl-noise

... which are licensed to us under MIT license.

This implementation is known to work well on different GPUs.
It doesn't work on all GPUs but that is likely due to driver
bugs or gpu hardware limitations.

Perlin noise has a "Gaussian like" distribution, but it
is *not* real gaussian normally distributed! Users must
understand the properties of this noise type before using
it in vision science studies.

Cfe.:

http://www.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf



git-svn-id: http://psychtoolbox-3.googlecode.com/svn/trunk@2461 f5efbe48-b203-0410-9429-fc5e098e5a54
PsychHID/Windows: Rebuilt for 32-Bit Octave & Matlab R2007a.

Incorporate robustness improvements for low-level USB device
access.



git-svn-id: http://psychtoolbox-3.googlecode.com/svn/trunk@2462 f5efbe48-b203-0410-9429-fc5e098e5a54
PsychHID/Linux: Rebuilt for 32-Bit Matlab & Octave.

git-svn-id: http://psychtoolbox-3.googlecode.com/svn/trunk@2463 f5efbe48-b203-0410-9429-fc5e098e5a54
IOPort/Unix: Declutter output at verbosity 4.

At verbosity 4 (default level) no longer output handshake
status and baudrates. Only do it at verbosity > 4.



git-svn-id: http://psychtoolbox-3.googlecode.com/svn/trunk@2464 f5efbe48-b203-0410-9429-fc5e098e5a54
IOPort/Unix: Proof-of-concept code for async triggerbyte emission.

IOPort('ConfigureSerialPort', phandle, 'JLFireTrigger=xxx');

Schedules write of a 0xff trigger byte over serial port phandle
at system time xxx. A background thread will be spawned to wait
until time xxx then do a single byte serial port write.

This is just for prototyping and testing, not for public
use - therefore not documented, and will be removed in a
future IOPort version.

-> IOPort.mexmaci for Matlab on OS/X IntelMac rebuilt.

[This gimmick dedicated to JL]



git-svn-id: http://psychtoolbox-3.googlecode.com/svn/trunk@2465 f5efbe48-b203-0410-9429-fc5e098e5a54
SetupPsychtoolbox.m: Minor mod to regexp() to not match null string paths

git-svn-id: http://psychtoolbox-3.googlecode.com/svn/trunk@2466 f5efbe48-b203-0410-9429-fc5e098e5a54
VIEWPixx: Datapixx mex files updated to support VPixx Technologies VIEWPixx display and data acquisition system.

git-svn-id: http://psychtoolbox-3.googlecode.com/svn/trunk@2467 f5efbe48-b203-0410-9429-fc5e098e5a54
DATAPixx: Added 64-bit MATLAB support

git-svn-id: http://psychtoolbox-3.googlecode.com/svn/trunk@2468 f5efbe48-b203-0410-9429-fc5e098e5a54
Quest: Small useability improvements. No algorithmic changes.

* Clean up M-Lint warnings for Matlab V7.4 and later,
  fix argument checking for modern Matlabs along the way.

* QuestRecompute() can plot the used initial psychometric
  function on request, QuestCreate() can pass the parameter
  for visualization along.

* QuestSimulate(): Can perform plotting of the psychometric
  function of the simulated observer, the distribution of
  past trials (intensities and responses) and the placement
  and simulated response of the current trial. This if optional
  'plotit' parameter is set to non-zero value, off by default.

  This is meant as a nice way to visualize Quests working and
  sample placement.



git-svn-id: http://psychtoolbox-3.googlecode.com/svn/trunk@2469 f5efbe48-b203-0410-9429-fc5e098e5a54
PsychHID/OSX: Rebuilt for IntelMac Matlab & Octave.



git-svn-id: http://psychtoolbox-3.googlecode.com/svn/trunk@2470 f5efbe48-b203-0410-9429-fc5e098e5a54
Linux: Add example XOrg Joystick configuration file.

The file 52-MyLinuxJoystick.conf is an example of
a configuration file for setup of Joysticks or
Gamepads for use with Linux. It contains setup
instructions in the comments at its top.



git-svn-id: http://psychtoolbox-3.googlecode.com/svn/trunk@2471 f5efbe48-b203-0410-9429-fc5e098e5a54
Screen: Improve handling of crtc->output mappings.

Improve some warning messages to point the user to
the new help file 'help DisplayOutputMappings' with
explanations and troubleshooting instructions.



git-svn-id: http://psychtoolbox-3.googlecode.com/svn/trunk@2472 f5efbe48-b203-0410-9429-fc5e098e5a54