File Release Notes and Changelog
Release Name: 0.09
Notes:
RELEASE NOTES
-------------------------------------------------
Version 0.09
* Added RotoZooming code. Now, all graphical objects (textboxes,
labels, imageboxes, but not currently simple shapes) have properties
xzoom, yzoom, and rotation. These objects can be stretched and
rotated using these properties;
Also, two new generic drawing objects have been added: Polygon and Bezier:
Polygon(<x>,<y>,<xpoints>,<ypoints>,<color>,<filled>)
Bezier(<x>, <y>, <xpoints>, <ypoints>, <steps>, <color>)
These allow arbitrary polygons to be created.
Three new functions allow fairly flexible operations
on sets of points, which can then be turned into polygons.
They take a list of x,y pairs, and perform the appropriate operation
RotatePoints(points,theta) Where theta is in radians
ReflectPoints(points) Reflects left-right along vertical axis
ZoomPoints(points, xzoom,yzoom) Resizes x/y dimensions of set of points
Two helper functions create sets of points that can be used
in the above, or fed into polygon.
MakeStarPoints(<outer radius>, <inner radius>, <number of peaks>)
MakeNGonPoints(<radius>,<number of edges>)
A few helper functions build ready-made polygons that can be added
directly to a window:
BlockE(x,y,h,w,thickness,direction,color)
Here, direction indicates where the E is pointing:
1=right, 2=down, 3=left, 4=up.
Plus(x,y,size, width, color)
* Made package relocatable on linux/mac (thanks to binreloc)
* Added a script variable to control busy-waiting:
set gSleepEasy <- 1 to put mini sleeps in the busy wait loop.
This reduces the timing resolution by a little (tests show it
can lose 1-2 ms in comparison to the busy-wait strategy.
This may make PEBL useable on some older systems, and may make
worst-case timing better with a small sacrifice of typical-case.
Furthermore, it can be changed during the script, so you don't peg
cpu time while instructions are being read.
* Fixed labels so that you can assign a font with label.font <- font
* The color of the window can be accessed with window.BGCOL
* Added limited mouse events. The new functions include:
WaitForMouseButton(),
This takes no arguments, and returns a 4-tuple list, indicating:
[xpos, ypos, button_id [1-3], "<pressed>" or "<released>"]
SetMouseCursorPosition(x,y)
GetMouseCursorPosition() (returns [x,y]
A new version of the "iowa" gambling task demos clicking
interface instead of keyboard. In addition, a new demo experiment
hunt.pbl uses some mouse-controlled event to search for a target.
* Added IsWindow() and IsShape()
* Helper functions for easy creation of labels and textboxes:
EasyLabel(text,x,y,win,fontsize)
EasyTextBox(text,x,y,win,fontsize,width,height)
No need to define fonts, colors, sizes, or even adding/moving to the
location you want--It does it all as a one-liner.
* Helper function to get subject number (if none was set in the
launcher
GetSubNum(win)
It will get and return a subject identifier.
After a window has been defined, a simple thing to do is
if(gSubNum == 0)
{
gSubNum <- GetSubNum(win)
}
* Added SummaryStats(<data>, <conditions>) , a statistic summarizer
function, which computes means/sds/medians of <data> by
<conditions>. Currently, <data> must be a single list
* Added PrintList(<list>) and FilePrintList(<file>,<list>), which
print out a list without the , and [] formatting.
* Fixed some bugs in the windows launcher
* Added a PrintProperties() function, mainly for debugging. Use it to
display the properties an object has defined.
* Fixed a bunch of things in the test battery. This release
officially contains Battery Version 0.3.
Ten new tests:
* The Stroop test,
* 2-column addition
* 4-choice RT,
* Lexical Decision task,
* (Posner's) Spatial Cueing task,
* PEBL Manual Dexterity task
* PEBL compensatory tracking task (ptracker)
* A Mental rotation task
* Matrix rotation task
* Time wall, a visual time production/estimation task.
-Much improved version of Berg's Cardsort. Fixed bugs, added proper
computation of perseverations, etc.
-Added a mouse-driven version of Bechera's Gambling Task, and some
other fixes.
Summary list of new functions:
IsShape *
IsWindow *
GetSubNum
PrintList
FilePrintList
SummaryStats
EasyLabel
EasyTextBox
WaitForMouseButton
GetMouseCursorPosition
SetMouseCursorPosition
BlockE
Plus
MakeStarPoints
MakeNGonPoints
ZoomPoints
ReflectPoints
RotatePoints
Polygon
Bezier
PrintProperties
Changes: