PEBL 2.2
Psychology Experiment Building Language - Cross-platform psychological experiment development system
Functions.h
Go to the documentation of this file.
1//* -*- mode:C++; tab-width:4; c-basic-offset:4; indent-tabs-mode:nil -*- */
3// Name: src/libs/Functions.h
4// Purpose: Defines function tables
5// Author: Shane T. Mueller, Ph.D.
6// Copyright: (c) 2003-2026 Shane T. Mueller <smueller@obereed.net>
7// License: GPL 2
8//
9//
10//
11// This file is part of the PEBL project.
12//
13// PEBL is free software; you can redistribute it and/or modify
14// it under the terms of the GNU General Public License as published by
15// the Free Software Foundation; either version 2 of the License, or
16// (at your option) any later version.
17//
18// PEBL is distributed in the hope that it will be useful,
19// but WITHOUT ANY WARRANTY; without even the implied warranty of
20// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21// GNU General Public License for more details.
22//
23// You should have received a copy of the GNU General Public License
24// along with PEBL; if not, write to the Free Software
25// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
27#ifndef __FUNCTIONS_H__
28#define __FUNCTIONS_H__
29
30#include "PEBLEnvironment.h"
31#include "PEBLMath.h"
32#include "PEBLStream.h"
33#include "PEBLObjects.h"
34#include "PEBLList.h"
35#include "PEBLString.h"
36#include "PEBLLSL.h"
37
38//A little data structure that holds lcase PEBL function names, the actual names of the functions,
39//and the number of arguments to the function.
46
47
48namespace PEBLMath
49{
50
52 {
53 {(char*)"LOG10", Log10, 1, 1},
54 {(char*)"LOG2", Log2, 1, 1},
55 {(char*)"LN", Ln, 1, 1},
56 {(char*)"LOGN", LogN, 2, 2},
57 {(char*)"EXP", Exp, 1, 1},
58 {(char*)"POW", Pow, 2, 2},
59 {(char*)"SQRT", Sqrt, 1, 1},
60 {(char*)"NTHROOT", NthRoot, 2, 2},
61
62 //Trigonometry
63 {(char*)"TAN", Tan, 1, 1},
64 {(char*)"SIN", Sin, 1, 1},
65 {(char*)"COS", Cos, 1, 1},
66 {(char*)"ATAN", ATan, 1, 1},
67 {(char*)"ASIN", ASin, 1, 1},
68 {(char*)"ACOS", ACos, 1, 1},
69 {(char*)"DEGTORAD", DegToRad, 1, 1},
70 {(char*)"RADTODEG", RadToDeg, 1, 1},
71
72 //Rounding
73 {(char*)"ROUND", Round, 1, 2},
74 {(char*)"FLOOR", Floor, 1, 1},
75 {(char*)"CEILING", Ceiling, 1, 1},
76
77 {(char*)"ABSFLOOR", AbsFloor, 1, 1},
78
79 //Modular Arithmetic
80 {(char*)"MOD", Mod, 2, 2},
81 {(char*)"DIV", Div, 2, 2},
82
83 //Coercion
84 {(char*)"TOINTEGER", ToInt, 1, 1},
85 {(char*)"TOFLOAT", ToFloat, 1, 1},
86 {(char*)"TONUMBER", ToNumber, 1, 1},
87 {(char*)"TOSTRING", ToString, 1, 1},
88
89
90 //Other
91 {(char*)"SIGN", Sign, 1, 1},
92 {(char*)"ABS", Abs, 1, 1},
93
94 //Statistical (operates on a list; ignores non-numeric elements.)
95// {(char*)"MEAN", Mean, 1, 1},
96// {(char*)"MIN", Min, 1, 9999},
97// {(char*)"MAX", Max, 1, 9999},
98// {(char*)"STDEV", StDev, 1, 1},
99// {(char*)"MEDIAN", Median, 1, 1},
100// {(char*)"QUANTILE", Quantile, 2, 2},
101
102 {(char*)"RANDOMIZETIMER", RandomizeTimer, 0, 0},
103 {(char*)"SEEDRNG", SeedRNG, 1, 1},
104 {(char*)"RANDOM", Random, 0, 0},
105 {(char*)"RANDOMDISCRETE", RandomDiscrete, 1, 1},
106 {(char*)"RANDOMUNIFORM", RandomUniform, 1, 1},
107 {(char*)"RANDOMNORMAL", RandomNormal, 2, 2},
108 {(char*)"RANDOMEXPONENTIAL", RandomExponential, 1, 1},
109 {(char*)"RANDOMLOGISTIC", RandomLogistic, 1, 1},
110 {(char*)"RANDOMLOGNORMAL", RandomLogNormal, 2, 2},
111 {(char*)"RANDOMBINOMIAL", RandomBinomial, 2, 2},
112 {(char*)"RANDOMBERNOULLI", RandomBernoulli, 1, 1},
113
114 {0, 0, 0, 0}
115 };
116}
117
118
119
120namespace PEBLStream
121{
122
124 {
125 {(char*)"PRINT", Print, 1, 1},
126 {(char*)"PRINT_", Print_, 1, 1},
127 {(char*)"FORMAT", Format, 1, 1},
128 {(char*)"FILEOPENREAD", FileOpenRead, 1, 1},
129 {(char*)"FILEOPENWRITE", FileOpenWrite, 1, 1},
130 {(char*)"FILEOPENOVERWRITE", FileOpenOverwrite, 1,1},
131 {(char*)"FILEOPENAPPEND", FileOpenAppend, 1, 1},
132 {(char*)"FILECLOSE", FileClose, 1, 1},
133 {(char*)"FILEPRINT", FilePrint, 2, 2},
134 {(char*)"FILEPRINT_", FilePrint_, 2, 2},
135 {(char*)"FILEREADCHARACTER", FileReadCharacter,1, 1},
136 {(char*)"FILEREADWORD", FileReadWord, 1, 1},
137 {(char*)"FILEREADLINE", FileReadLine, 1, 1},
138 {(char*)"FILEREADLIST", FileReadList, 1, 1},
139 {(char*)"FILEREADTABLE", FileReadTable, 1, 2},
140 {(char*)"FILEREADTEXT", FileReadText, 1, 1},
141
142 {(char*)"ENDOFLINE", EndOfLine, 1, 1},
143 {(char*)"ENDOFFILE", EndOfFile, 1, 1},
144 {(char*)"APPENDFILE", AppendFile, 2, 2},
145 {(char*)"COPYFILE", CopyFile, 2, 2},
146
147 // Network functions - now always available (stub implementations when PEBL_NETWORK not defined)
148 {(char*)"CONNECTTOIP", ConnectToIP, 2, 2},
149 {(char*)"CONNECTTOHOST", ConnectToHost, 2, 2},
150
151 {(char*)"SETNETWORKPORT", SetNetworkPort, 1, 1},
152 {(char*)"CHECKFORNETWORKCONNECTION", CheckForNetworkConnection, 1, 1},
153 {(char*)"OPENNETWORKLISTENER", OpenNetworkListener, 1, 1},
154
155 {(char*)"ACCEPTNETWORKCONNECTION", AcceptNetworkConnection, 2,2},
156 {(char*)"WAITFORNETWORKCONNECTION", WaitForNetworkConnection, 1,1},
157 {(char*)"CLOSENETWORKCONNECTION", CloseNetworkConnection, 1,1},
158
159 {(char*)"SENDDATA", SendData, 2,2},
160 {(char*)"GETDATA", GetData, 2,2},
161 {(char*)"GETMYIPADDRESS", GetMyIPAddress, 1,1},
162
163 // HTTP functions - now always available (stub implementations when PEBL_HTTP not defined)
164 {(char*)"GETHTTPFILE", GetHTTPFile, 4,4},
165 {(char*)"GETHTTPTEXT", GetHTTPText, 3,3},
166 {(char*)"POSTHTTP", PostHTTP, 5,5},
167 {(char*)"POSTHTTPFILE", PostHTTPFile, 6,6},
168
169 {(char*)"MD5SUM", MD5Sum, 1,1},
170 {(char*)"MD5FILE", MD5File, 1,1},
171
172
173 {(char*)"WRITEPNG", WritePNG, 3,3},
174 {(char*)"PARSEJSON", ParseJSON, 1,1},
175
176 // LSL (Lab Streaming Layer) functions - now always available (stub implementations when PEBL_USE_LSL not defined)
177 {(char*)"CREATELSLOUTLET", CreateLSLOutlet, 1,3},
178 {(char*)"SENDLSLMARKER", SendLSLMarker, 1,1},
179 {(char*)"CLOSELSLOUTLET", CloseLSLOutlet, 0,0},
180 {(char*)"LSLHASCONSUMERS", LSLHasConsumers, 0,0},
181 {(char*)"LSLLOCALCLOCK", LSLLocalClock, 0,0},
182
183#ifdef PEBL_USEPORTS
184 {(char*)"OPENPPORT",OpenPPort, 1,1},
185 {(char*)"SETPPORTSTATE",SetPPortState, 2,2},
186 {(char*)"GETPPORTSTATE",GetPPortState, 1,1},
187 {(char*)"SETPPORTMODE", SetPPortMode, 2,2},
188
189 {(char*)"OPENCOMPORT", OpenComPort, 2,3},
190 {(char*)"COMPORTSENDBYTE", ComPortSendByte, 2,2},
191 {(char*)"COMPORTGETBYTE", ComPortGetByte, 1,1},
192
193
194#endif
195
196
197 {0, 0, 0, 0}
198 };
199}
200
201
202namespace PEBLObjects
203{
204
205
206
208 {
209
210 {(char*)"MAKEWINDOW", MakeWindow, 0, 3},
211 {(char*)"RESIZEWINDOW", ResizeWindow, 3, 3},
212 {(char*)"MAKEIMAGE", MakeImage, 1, 1},
213 {(char*)"MAKETEXTBOX", MakeTextBox, 4, 4},
214 {(char*)"MAKECANVAS", MakeCanvas, 2,3},
215 {(char*)"MAKECOLOR", MakeColor, 1, 1},
216 {(char*)"MAKECOLORRGB", MakeColorRGB, 3, 3},
217 {(char*)"MAKEFONT", MakeFont, 6, 6},
218 {(char*)"MAKELABEL", MakeLabel, 2, 2},
219 {(char*)"MOVE", Move, 3, 3},
220 {(char*)"GETSIZE", GetSize, 1, 1},
221 {(char*)"ADDOBJECT", AddObject, 2, 2},
222 {(char*)"REMOVEOBJECT", RemoveObject, 2, 2},
223 {(char*)"SETPOINT", SetPoint, 4,4},
224 {(char*)"GETPIXELCOLOR", GetPixelColor,3,3},
225 {(char*)"SETCURSORPOSITION", SetCursorPosition, 2,2},
226 {(char*)"GETCURSORPOSITION", GetCursorPosition, 1,1},
227 {(char*)"GETPARENT", GetParent,1,1},
228 {(char*)"SETEDITABLE", SetEditable, 2,2},
229 {(char*)"SETTEXT", SetText, 2,2},
230 {(char*)"GETTEXT", GetText, 1,1},
231 {(char*)"GETLINEBREAKS", GetLineBreaks, 1,1},
232 {(char*)"SETFONT", SetFont, 2,2},
233 {(char*)"SHOW", Show, 1, 1},
234
235 {(char*)"PRINTPROPERTIES", PrintProperties, 1, 1},
236 {(char*)"GETPROPERTYLIST", GetPropertyList, 1, 1},
237 {(char*)"SETPROPERTY", SetProperty, 3, 3},
238 {(char*)"GETPROPERTY", GetProperty, 2, 2},
239 {(char*)"PROPERTYEXISTS", PropertyExists, 2, 2},
240
241 {(char*)"HIDE", Hide, 1, 1},
242 {(char*)"DRAW", Draw, 0, 1},
243 {(char*)"DRAWFOR", DrawFor, 2, 2},
244
245 {(char*)"SETPIXEL", SetPoint, 4,4},
246 {(char*)"LOADSOUND", LoadSound, 1, 1},
247 {(char*)"PLAYBACKGROUND", PlayBackground, 1, 1},
248 {(char*)"PLAYFOREGROUND", PlayForeground, 1, 1},
249 {(char*)"STOP", Stop, 1, 1},
250 {(char*)"SETPANNING", SetPanning, 3, 3},
251 {(char*)"SETPLAYREPEATS", SetPlayRepeats, 2, 2},
252 {(char*)"MAKESINEWAVE", MakeSineWave, 3, 3},
253
254 {(char*)"MAKESQUAREWAVE", MakeSquareWave, 2, 2},
255 {(char*)"MAKESAWTOOTHWAVE", MakeSawtoothWave, 2, 2},
256 {(char*)"MAKECHIRP", MakeChirp, 3, 3},
257
258
259 {(char*)"MAKEAUDIOINPUTBUFFER", MakeAudioInputBuffer, 1,1},
260 {(char*)"SAVEAUDIOTOWAVEFILE", SaveAudioToWaveFile, 2,2},
261 {(char*)"GETVOCALRESPONSETIME", GetVocalResponseTime, 3,3},
262 {(char*)"RECORDTOBUFFER", RecordToBuffer, 1,2},
263 {(char*)"STARTAUDIOMONITOR", StartAudioMonitor, 1,1},
264 {(char*)"STOPAUDIOMONITOR", StopAudioMonitor, 1,1},
265 {(char*)"GETAUDIOSTATS", GetAudioStats, 2,2},
266
267 {(char*)"LINE", Line, 5, 5},
268 {(char*)"THICKLINE", ThickLine, 6, 6},
269
270 {(char*)"RECTANGLE", Rectangle, 6, 6},
271 {(char*)"SQUARE", Square, 5, 5},
272
273 {(char*)"ELLIPSE", Ellipse, 6, 6},
274 {(char*)"CIRCLE", Circle, 5, 5},
275 {(char*)"POLYGON", Polygon, 6, 6},
276 {(char*)"BEZIER", Bezier, 6, 6},
277
278 {(char*)"ROTOZOOM", RotoZoom, 5,5},
279
280 {(char*)"LOADMOVIE", LoadMovie, 4,4},
281 {(char*)"LOADAUDIOFILE", LoadAudioFile, 1,1},
282 {(char*)"STARTPLAYBACK", StartPlayback, 1,1},
283 {(char*)"PAUSEPLAYBACK", PausePlayback, 1,1},
284
285 {(char*)"MAKECUSTOMOBJECT", MakeCustomObject, 1,1},
286 {(char*)"CONNECTEYETRACKER", ConnectEyeTracker, 0,0},
287 {(char*)"GETEYEOBJECT", GetEyeObject, 1,1},
288 {(char*)"SETEYETRACKERHANDLER", SetEyeTrackerHandler, 2,2},
289
290 {0, 0, 0, 0}
291 };
292}
293
295{
296
298 {
299 {(char *)"GETTIME", GetTime, 0, 0},
300 {(char*) "GETTIMEHP", GetTimeHP, 0,0},
301 {(char *)"GETTIMEOFDAY", GetTimeOfDay, 0, 0},
302 {(char *)"WAIT", Wait, 1, 1},
303 {(char*)"GETOBJECTTIME", GetObjectTime, 1,1},
304
305 {(char *)"SHOWCURSOR", ShowCursor, 1, 1},
306 {(char *)"SETMOUSECURSORPOSITION", SetCursorPosition, 2,2},
307 {(char *)"GETMOUSECURSORPOSITION", GetCursorPosition, 0,0},
308
309
310
311 {(char*)"ISKEYDOWN", IsKeyDown, 1, 1},
312 {(char*)"ISKEYUP", IsKeyUp, 1, 1},
313 {(char*)"ISANYKEYDOWN", IsAnyKeyDown, 0, 0},
314 {(char*)"WAITFORKEYDOWN", WaitForKeyDown, 1, 1},
315 {(char*)"WAITFORANYKEYDOWN", WaitForAnyKeyDown, 0, 0},
316 {(char*)"WAITFORKEYUP", WaitForKeyUp, 1, 1},
317
318 {(char*)"WAITFORKEYPRESS", WaitForKeyPress, 1, 1},
319 {(char*)"WAITFORANYKEYPRESS", WaitForAnyKeyPress, 0, 0},
320 {(char*)"WAITFORKEYRELEASE", WaitForKeyRelease, 1, 1},
321 {(char*)"WAITFORLISTKEYPRESS", WaitForListKeyPress, 1, 1},
322
323 {(char*)"WAITFORALLKEYSUP", WaitForAllKeysUp, 0, 0},
324 {(char*)"WAITFORANYKEYDOWNWITHTIMEOUT", WaitForAnyKeyDownWithTimeout, 1, 1},
325 {(char*)"WAITFORANYKEYPRESSWITHTIMEOUT", WaitForAnyKeyPressWithTimeout, 1, 1},
326 {(char*)"WAITFORKEYLISTDOWN", WaitForKeyListDown, 1, 1},
327 {(char*)"WAITFORLISTKEYPRESSWITHTIMEOUT", WaitForListKeyPressWithTimeout, 2,3},
328 {(char*)"WAITFORMOUSEBUTTON", WaitForMouseButton, 0,1},
329 {(char*)"WAITFORMOUSEBUTTONWITHTIMEOUT", WaitForMouseButtonWithTimeout, 1,2},
330 {(char*)"GETMOUSESTATE", GetMouseState, 0,0},
331
332 {(char*)"GETNUMJOYSTICKS", GetNumJoysticks, 0, 0},
333 {(char*)"OPENJOYSTICK", GetJoystick, 1, 1},
334 {(char*)"GETNUMJOYSTICKAXES", GetNumJoystickAxes, 1, 1},
335 {(char*)"GETNUMJOYSTICKBALLS", GetNumJoystickBalls, 1, 1},
336 {(char*)"GETNUMJOYSTICKBUTTONS", GetNumJoystickButtons,1, 1},
337 {(char*)"GETNUMJOYSTICKHATS", GetNumJoystickHats, 1, 1},
338
339 {(char*)"GETJOYSTICKBUTTONSTATE", GetJoystickButtonState, 2, 2},
340 {(char*)"GETJOYSTICKAXISSTATE", GetJoystickAxisState, 2, 2},
341 {(char*)"GETJOYSTICKHATSTATE", GetJoystickHatState, 2, 2},
342 {(char*)"GETJOYSTICKBALLSTATE", GetJoystickBallState, 2, 2},
343
344
345 {(char*)"CLEAREVENTLOOP", ClearEventLoop, 0, 0},
346 {(char*)"CALLFUNCTION", CallFunction, 2,2},
347 {(char*)"GETINPUT", GetInput0, 2, 4},
348
349 {(char*)"GETTEXTBOXCURSORFROMCLICK", GetTextBoxCursorFromClick, 3,3},
350 {(char*)"REGISTEREVENT", RegisterEvent, 5,6},
351 {(char*)"STARTEVENTLOOP", StartEventLoop, 0,0},
352 {(char*)"CLEAREVENTLOOP", ClearEventLoop, 0,0},
353
354
355 {(char*)"SIGNALFATALERROR", SignalFatalError, 1,1},
356 {(char*)"EXITQUIETLY", ExitQuietly, 1,2},
357 {(char*)"TRANSLATEKEYCODE", TranslateKeyCode, 1, 1},
358 {(char*)"TRANSLATESTRING", TranslateString, 1, 1},
359 {(char*)"TIMESTAMP", TimeStamp, 0, 0},
360
361 {(char*)"GETCURRENTSCREENRESOLUTION", GetCurrentScreenResolution, 0, 0},
362 {(char*)"GETVIDEOMODES", GetVideoModes, 0, 1},
363 {(char*)"GETDRIVERS", GetDrivers, 0, 0},
364 {(char*)"GETPEBLVERSION", GetPEBLVersion, 0, 0},
365
366 {(char*)"GETSYSTEMTYPE", GetSystemType, 0, 0},
367 {(char*)"LAUNCHFILE", LaunchFile, 1,1},
368 {(char*)"SYSTEMCALL", SystemCall, 1,2},
369//#ifdef PEBL_WINDOWS
370 {(char*)"SYSTEMCALLUPDATE", SystemCallUpdate, 1,2},
371//#endif
372 {(char*)"CHECKPROCESSSTATUS", CheckProcessStatus, 1,1},
373 {(char*)"COPYTOCLIPBOARD", CopyToClipboard, 1,1},
374 {(char*)"COPYFROMCLIPBOARD", CopyFromClipboard, 0,0},
375 {(char*)"VARIABLEEXISTS", VariableExists, 1,1},
376 {(char*)"GETEXECUTABLENAME", GetExecutableName, 0,0},
377
378
379 {(char*)"ISDIRECTORY", IsDirectory, 1,1},
380 {(char*)"FILEEXISTS", FileExists, 1,1},
381 {(char*)"GETDIRECTORYLISTING", GetDirectoryListing,1,1},
382 {(char*)"MAKEDIRECTORY", MakeDirectory, 1,1},
383 {(char*)"GETHOMEDIRECTORY", GetHomeDirectory, 0,0},
384 {(char*)"GETWORKINGDIRECTORY", GetWorkingDirectory, 0,0},
385 {(char*)"SETWORKINGDIRECTORY", SetWorkingDirectory, 1,1},
386
387 {(char*)"DELETEFILE", DeleteFile, 1,1},
388
389
390 {(char*)"ISTEXT", IsText, 1,1},
391 {(char*)"ISNUMBER", IsNumber, 1,1},
392 {(char*)"ISINTEGER", IsInteger, 1,1},
393 {(char*)"ISFLOAT", IsFloat, 1,1},
394 {(char*)"ISSTRING", IsString, 1,1},
395 {(char*)"ISLIST", IsList, 1,1},
396 {(char*)"ISTEXTBOX", IsTextBox, 1,1},
397 {(char*)"ISCANVAS", IsCanvas, 1,1},
398 {(char*)"ISIMAGE", IsImage, 1,1},
399 {(char*)"ISLABEL", IsLabel, 1,1},
400 {(char*)"ISAUDIOOUT", IsAudioOut, 1,1},
401 {(char*)"ISFONT", IsFont, 1,1},
402 {(char*)"ISCOLOR", IsColor, 1,1},
403 {(char*)"ISFILESTREAM", IsFileStream, 1,1},
404 {(char*)"ISWIDGET", IsWidget, 1,1},
405 {(char*)"ISWINDOW", IsWindow, 1,1},
406 {(char*)"ISSHAPE", IsShape, 1,1},
407 {(char*)"ISCUSTOMOBJECT", IsCustomObject, 1,1},
408 {(char*)"ISPEBLOBJECT", IsPEBLObject, 1,1},
409 {(char*)"PLAYMOVIE", PlayMovie, 1,1},
410
411
412 {0, 0, 0, 0}
413 };
414}
415
416
417namespace PEBLList
418{
419
421 {
422
423 {(char*)"SHUFFLE", Shuffle, 1, 1},
424 {(char*)"REPEAT", Repeat, 2, 2},
425 {(char*)"REPEATLIST", RepeatList,2, 2},
426 {(char*)"SEQUENCE", Sequence, 3, 3},
427 {(char*)"DESIGNFULLCOUNTERBALANCE", DesignFullCounterbalance, 2, 2},
428 {(char*)"CROSSFACTORWITHOUTDUPLICATES", CrossFactorWithoutDuplicates, 1, 1},
429 {(char*)"ROTATE", Rotate, 2, 2},
430 {(char*)"LENGTH", Length, 1, 1},
431 {(char*)"FIRST", First, 1, 1},
432 {(char*)"SECOND", Second, 1, 1},
433 {(char*)"THIRD", Third, 1, 1},
434 {(char*)"FOURTH", Fourth, 1, 1},
435 {(char*)"FIFTH", Fifth, 1, 1},
436 {(char*)"MERGE", Merge, 2, 2},
437 {(char*)"LIST", List, 1, 1000},
438 {(char*)"APPEND", Append, 2, 2},
439 {(char*)"PUSHONEND", PushOnEnd, 2, 2},
440 {(char*)"SETELEMENT", SetElement, 3, 3},
441 {(char*)"SORT", Sort, 1, 1},
442 {(char*)"SORTBY", SortBy, 2, 2},
443 {(char*)"NTH", Nth, 2, 2},
444 {(char*)"LAST", Last, 1, 1},
445 {(char*)"ISMEMBER", IsMember, 2, 2},
446 {(char*)"REMOVEDUPLICATES", RemoveDuplicates, 1, 1},
447 {(char*)"MAKEMAP", MakeMap, 2, 2},
448 {(char*)"TRANSPOSE", Transpose, 1, 1},
449 {(char*)"SUBLIST", SubList, 3, 3},
450
451 {(char*)"REMOVE", Remove, 2, 2},
452 {(char*)"LISTTOSTRING", ListToString,1,4},
453 {(char*)"MODLIST", ModList,1,3},
454 {0, 0, 0, 0}
455 };
456}
457
458namespace PEBLString
459{
460
462 {
463
464 {(char*)"UPPERCASE", Uppercase, 1, 1},
465 {(char*)"LOWERCASE", Lowercase, 1, 1},
466 {(char*)"TOASCII", ToASCII, 1,1},
467 {(char*)"STRINGLENGTH", StringLength, 1, 1},
468 {(char*)"SUBSTRING", SubString, 3, 3},
469 {(char*)"FINDINSTRING", FindInString, 3, 3},
470 {(char*)"SPLITSTRING", SplitString, 2, 2},
471 {(char*)"REGEXMATCH", RegexMatch, 2, 2},
472 {(char*)"COPYTOCLIPBOARD", CopyToClipboard,1,1},
473 {(char*)"DETECTTEXTSCRIPT", DetectTextScript, 1, 1},
474 {(char*)"ISRTL", IsRTL, 1, 1},
475 {(char*)"GETFONTFORTEXT", GetFontForText, 1, 2},
476 {(char*)"GETSYSTEMLOCALE", GetSystemLocale, 0, 0},
477 {(char*)"ISSYSTEMLOCALERTL", IsSystemLocaleRTL, 0, 0},
478 // {(char*)"TOKEN", TokenMakeWindow, 1, 1},
479 // {(char*)"FORMAT", Format, 1, 1},
480 {0, 0, 0, 0}
481 };
482}
483
484
485
486#endif
Variant SendLSLMarker(Variant v)
Definition PEBLLSL.cpp:204
Variant CloseLSLOutlet(Variant v)
Definition PEBLLSL.cpp:210
Variant LSLHasConsumers(Variant v)
Definition PEBLLSL.cpp:216
Variant CreateLSLOutlet(Variant v)
Definition PEBLLSL.cpp:198
Variant LSLLocalClock(Variant v)
Definition PEBLLSL.cpp:222
The following initiates classes used by functions in the Environment library.
Definition Functions.h:295
Variant GetDrivers(Variant v)
Variant WaitForAnyKeyDown(Variant v)
Variant GetNumJoystickAxes(Variant v)
Variant GetNumJoystickButtons(Variant v)
Variant WaitForKeyRelease(Variant v)
Variant GetDirectoryListing(Variant v)
Variant RegisterEvent(Variant v)
Variant GetPEBLVersion(Variant v)
Variant IsFileStream(Variant v)
Variant Wait(Variant v)
Variant IsString(Variant v)
Variant MakeDirectory(Variant v)
Variant WaitForKeyDown(Variant v)
Variant IsInteger(Variant v)
Variant WaitForAllKeysUp(Variant v)
Variant StartEventLoop(Variant v)
Variant WaitForListKeyPressWithTimeout(Variant v)
Variant DeleteFile(Variant v)
Variant WaitForAnyKeyPressWithTimeout(Variant v)
Variant GetJoystickButtonState(Variant v)
Variant ShowCursor(Variant v)
Variant FileExists(Variant v)
Variant IsImage(Variant v)
Variant WaitForKeyListDown(Variant v)
Variant IsWidget(Variant v)
Variant IsNumber(Variant v)
Variant GetJoystickHatState(Variant v)
Variant CopyFromClipboard(Variant v)
Variant GetJoystick(Variant v)
Variant IsList(Variant v)
Variant SystemCallUpdate(Variant v)
Variant IsAudioOut(Variant v)
Variant WaitForKeyUp(Variant v)
Variant GetCursorPosition(Variant v)
Variant SystemCall(Variant v)
Variant IsFont(Variant v)
Variant IsShape(Variant v)
Variant ClearEventLoop(Variant v)
Variant SignalFatalError(Variant v)
Variant GetCurrentScreenResolution(Variant v)
Variant ExitQuietly(Variant v)
Variant GetNumJoystickHats(Variant v)
Variant TimeStamp(Variant v)
Variant WaitForAnyKeyDownWithTimeout(Variant v)
Variant LaunchFile(Variant v)
Variant GetMouseState(Variant v)
Variant TranslateKeyCode(Variant v)
Variant GetTime(Variant v)
This function moves a widget to a new location.
Variant GetTextBoxCursorFromClick(Variant v)
Variant WaitForMouseButtonWithTimeout(Variant v)
Variant IsDirectory(Variant v)
Variant GetWorkingDirectory(Variant v)
Variant CopyToClipboard(Variant v)
Variant WaitForKeyPress(Variant v)
Variant GetNumJoysticks(Variant v)
Variant GetTimeOfDay(Variant v)
Variant WaitForAnyKeyPress(Variant v)
Variant IsLabel(Variant v)
Variant CallFunction(Variant v)
Variant PlayMovie(Variant v)
Variant GetJoystickAxisState(Variant v)
Variant SetWorkingDirectory(Variant v)
Variant SetCursorPosition(Variant v)
This sets the mouse to a new position.
Variant IsFloat(Variant v)
Variant WaitForListKeyPress(Variant v)
Variant GetJoystickBallState(Variant v)
Variant GetVideoModes(Variant v)
Variant IsAnyKeyDown(Variant v)
Variant IsCustomObject(Variant v)
Variant IsColor(Variant v)
Variant IsCanvas(Variant v)
Variant CheckProcessStatus(Variant v)
Variant IsKeyDown(Variant v)
Variant IsWindow(Variant v)
Variant IsKeyUp(Variant v)
Variant VariableExists(Variant v)
Variant GetObjectTime(Variant v)
Variant GetExecutableName(Variant v)
Variant GetInput0(Variant v)
Variant IsPEBLObject(Variant v)
Variant TranslateString(Variant v)
Variant IsText(Variant v)
Variant GetTimeHP(Variant v)
Variant GetHomeDirectory(Variant v)
Variant WaitForMouseButton(Variant v)
Variant IsTextBox(Variant v)
PEBL_Function_Type FunctionTable[]
Definition Functions.h:297
Variant GetNumJoystickBalls(Variant v)
Variant GetSystemType(Variant v)
Variant Fifth(Variant v)
Definition PEBLList.cpp:561
Variant Last(Variant v)
Definition PEBLList.cpp:593
Variant Append(Variant v)
Definition PEBLList.cpp:669
Variant Transpose(Variant v)
Definition PEBLList.cpp:859
Variant Merge(Variant v)
Definition PEBLList.cpp:608
Variant SortBy(Variant v)
This sorts the list by another list.
Definition PEBLList.cpp:781
Variant Sequence(Variant v)
Definition PEBLList.cpp:185
Variant Rotate(Variant v)
Definition PEBLList.cpp:417
Variant Nth(Variant v)
Definition PEBLList.cpp:576
Variant Shuffle(Variant v)
Definition PEBLList.cpp:53
Variant CrossFactorWithoutDuplicates(Variant v)
Definition PEBLList.cpp:352
Variant Sort(Variant v)
This just sorts the list.
Definition PEBLList.cpp:759
Variant Second(Variant v)
Definition PEBLList.cpp:521
Variant IsMember(Variant v)
Definition PEBLList.cpp:807
Variant First(Variant v)
Definition PEBLList.cpp:508
Variant MakeMap(Variant v)
Definition PEBLList.cpp:842
Variant PushOnEnd(Variant v)
Given Merge([a,b,c],d), will return [a,b,c,d].
Definition PEBLList.cpp:734
Variant SetElement(Variant v)
Definition PEBLList.cpp:710
Variant RepeatList(Variant v)
Definition PEBLList.cpp:130
Variant Third(Variant v)
Definition PEBLList.cpp:534
PEBL_Function_Type FunctionTable[]
Definition Functions.h:420
Variant RemoveDuplicates(Variant v)
Definition PEBLList.cpp:831
Variant List(Variant v)
This creates a list functionally, rather than syntactically using the [] operators.
Definition PEBLList.cpp:121
Variant Repeat(Variant v)
Definition PEBLList.cpp:90
Variant SubList(Variant v)
This makes a list out of a sublist of a list. Or something like that.
Definition PEBLList.cpp:940
Variant Length(Variant v)
This returns the number of items in the list.
Definition PEBLList.cpp:492
Variant ListToString(Variant v)
Variant ModList(Variant v)
Variant Remove(Variant v)
Variant Fourth(Variant v)
Definition PEBLList.cpp:548
Variant DesignFullCounterbalance(Variant v)
Definition PEBLList.cpp:282
Variant Sign(Variant v)
Definition PEBLMath.cpp:825
Variant LogN(Variant v)
Definition PEBLMath.cpp:257
Variant Sin(Variant v)
Sin takes one parameter.
Definition PEBLMath.cpp:448
Variant ASin(Variant v)
Definition PEBLMath.cpp:522
Variant ToFloat(Variant v)
Definition PEBLMath.cpp:772
Variant Sqrt(Variant v)
Definition PEBLMath.cpp:355
Variant ToString(Variant v)
Definition PEBLMath.cpp:779
Variant RandomBinomial(Variant v)
Variant NthRoot(Variant v)
Definition PEBLMath.cpp:379
Variant Cos(Variant v)
Definition PEBLMath.cpp:473
Variant SeedRNG(Variant v)
Definition PEBLMath.cpp:977
Variant RandomDiscrete(Variant v)
PEBL_Function_Type FunctionTable[]
Definition Functions.h:51
Variant Div(Variant v)
Definition PEBLMath.cpp:756
Variant RadToDeg(Variant v)
Definition PEBLMath.cpp:600
Variant ToInt(Variant v)
Definition PEBLMath.cpp:764
Variant AbsFloor(Variant v)
Definition PEBLMath.cpp:708
Variant ACos(Variant v)
Definition PEBLMath.cpp:546
Variant Pow(Variant v)
Definition PEBLMath.cpp:319
Variant Ln(Variant v)
Definition PEBLMath.cpp:231
Variant Round(Variant v)
Definition PEBLMath.cpp:626
Variant Tan(Variant v)
Definition PEBLMath.cpp:421
Variant ATan(Variant v)
Definition PEBLMath.cpp:498
Variant RandomizeTimer(Variant v)
Definition PEBLMath.cpp:967
Variant RandomLogistic(Variant v)
Variant RandomUniform(Variant v)
Variant Random(Variant v)
Definition PEBLMath.cpp:995
Variant Exp(Variant v)
Definition PEBLMath.cpp:294
Variant RandomExponential(Variant v)
Variant Mod(Variant v)
Definition PEBLMath.cpp:733
Variant Abs(Variant v)
Definition PEBLMath.cpp:852
Variant ToNumber(Variant v)
Definition PEBLMath.cpp:786
Variant Log10(Variant v)
Definition PEBLMath.cpp:179
Variant DegToRad(Variant v)
Definition PEBLMath.cpp:573
Variant Ceiling(Variant v)
Definition PEBLMath.cpp:686
Variant RandomBernoulli(Variant v)
Variant RandomNormal(Variant v)
Variant RandomLogNormal(Variant v)
Variant Log2(Variant v)
Definition PEBLMath.cpp:208
Variant Floor(Variant v)
Definition PEBLMath.cpp:662
Variant SetEyeTrackerHandler(Variant v)
Variant SetPanning(Variant v)
Variant GetPixelColor(Variant v)
Variant SetEditable(Variant v)
Variant StartAudioMonitor(Variant v)
Variant DrawFor(Variant v)
Variant MakeColorRGB(Variant v)
Variant Line(Variant v)
Variant Move(Variant v)
Variant PrintProperties(Variant v)
Variant GetEyeObject(Variant v)
Variant ConnectEyeTracker(Variant v)
Variant GetPropertyList(Variant v)
Variant Rectangle(Variant v)
Variant GetAudioStats(Variant v)
Variant MakeLabel(Variant v)
Variant MakeWindow(Variant v)
Variant ThickLine(Variant v)
Variant MakeCustomObject(Variant v)
Variant RotoZoom(Variant v)
Variant GetParent(Variant v)
Variant SetText(Variant v)
Variant RecordToBuffer(Variant v)
Variant SaveAudioToWaveFile(Variant v)
Variant SetPlayRepeats(Variant v)
Variant StartPlayback(Variant v)
Variant PlayForeground(Variant v)
Variant GetProperty(Variant v)
Variant MakeAudioInputBuffer(Variant v)
Variant MakeFont(Variant v)
Variant PausePlayback(Variant v)
Variant Bezier(Variant v)
Variant SetFont(Variant v)
Variant LoadMovie(Variant v)
Variant RemoveObject(Variant v)
This removes a child widget from the parent widget.
Variant SetPoint(Variant v)
Variant GetSize(Variant v)
Variant GetVocalResponseTime(Variant v)
PEBL_Function_Type FunctionTable[]
Definition Functions.h:207
Variant GetLineBreaks(Variant v)
Variant Draw(Variant v)
Variant Polygon(Variant v)
Variant Stop(Variant v)
Variant ResizeWindow(Variant v)
Variant Circle(Variant v)
Variant MakeSawtoothWave(Variant v)
Variant MakeTextBox(Variant v)
Variant PropertyExists(Variant v)
Variant MakeCanvas(Variant v)
Variant Ellipse(Variant v)
Variant GetText(Variant v)
Variant Hide(Variant v)
Variant LoadSound(Variant v)
Variant MakeColor(Variant v)
Variant Square(Variant v)
Variant LoadAudioFile(Variant v)
Variant SetCursorPosition(Variant v)
Variant StopAudioMonitor(Variant v)
Variant MakeSineWave(Variant v)
Variant SetProperty(Variant v)
Variant PlayBackground(Variant v)
Variant Show(Variant v)
Variant GetCursorPosition(Variant v)
Variant MakeChirp(Variant v)
Variant MakeImage(Variant v)
Variant MakeSquareWave(Variant v)
Variant AddObject(Variant v)
This function adds a widget to a parent widget.
Variant SendData(Variant v)
Variant GetData(Variant v)
Variant AcceptNetworkConnection(Variant v)
Variant ConnectToHost(Variant v)
Variant FileReadText(Variant v)
This will read all of the text in a file into a single variant.
Variant GetMyIPAddress(Variant v)
Variant PostHTTPFile(Variant v)
Variant FileOpenAppend(Variant v)
This opens a filestream for writing, appending to end of file.
PEBL_Function_Type FunctionTable[]
Definition Functions.h:123
Variant FileReadWord(Variant v)
Variant FileReadLine(Variant v)
Reads until the next line.
Variant FilePrint_(Variant v)
This prints contents of variant to file, without appending a newline.
Variant CopyFile(Variant v)
Variant FileOpenOverwrite(Variant v)
This opens a filestream for writing, replacing current file, without making a backup.
Variant FileReadCharacter(Variant v)
Reads a character from a file.
Variant EndOfFile(Variant v)
This detects if you are at the end of a file.
Variant WritePNG(Variant v)
Variant GetHTTPFile(Variant v)
Variant FileClose(Variant v)
This Closes a filestream.
Variant FileReadTable(Variant v)
Makes a list of lists, with each row contained in a list.
Variant EndOfLine(Variant v)
This detects if you are at the end of a line.
Variant FileOpenRead(Variant v)
This opens a filestream for reading.
Variant MD5File(Variant v)
Variant OpenNetworkListener(Variant v)
Variant GetHTTPText(Variant v)
Variant SetNetworkPort(Variant v)
Variant FileOpenWrite(Variant v)
This opens a filestream for writing.
Variant ConnectToIP(Variant v)
Variant CheckForNetworkConnection(Variant v)
Variant ParseJSON(Variant v)
Variant PostHTTP(Variant v)
Variant CloseNetworkConnection(Variant v)
Variant AppendFile(Variant v)
Variant WaitForNetworkConnection(Variant v)
Variant MD5Sum(Variant v)
Variant Format(Variant v)
Variant Print(Variant v)
This prints the argument with a newline character.
Variant Print_(Variant v)
This prints the argument without a linebreak at the end.
Variant FilePrint(Variant v)
This prints contents of variant to file, followed by a newline.
Variant FileReadList(Variant v)
Places all words in file into a list.
Variant ToASCII(Variant v)
Variant SplitString(Variant v)
Variant Uppercase(Variant v)
Variant StringLength(Variant v)
Variant GetSystemLocale(Variant v)
Variant DetectTextScript(Variant v)
Variant Lowercase(Variant v)
Variant IsSystemLocaleRTL(Variant v)
Variant GetFontForText(Variant v)
Variant FindInString(Variant v)
Variant IsRTL(Variant v)
PEBL_Function_Type FunctionTable[]
Definition Functions.h:461
Variant CopyToClipboard(Variant v)
Variant RegexMatch(Variant v)
Variant SubString(Variant v)
Variant(* funcname)(Variant)
Definition Functions.h:42