Basic classes (Object, Event, Shred, etc.) and standard libraries (Math, Machine, Std)
Base class for all class types in ChucK.
void help()
Output helpful information about a class or an instance thereof.
Type typeOf()
Get the type of this object (or class).
string toString()
Get a textual description of this object.
[ top ]
A mechanism for precise synchronization across shreds.
void broadcast()
Signal all shreds that are waiting on this event.
int can_wait()
Can the event can be waited on? Internally used by virtual machine for synthronization.
void signal()
Signal one shred that is waiting on this event.
[ top ]
A strongly-timed ChucK thread of execution.
Shred fromId(int id)
Get Shred corresponding to a Shred ID.
string arg(int index)
Get the Shred argument at the specified index.
int args()
Get the number of arguments provided to the Shred.
string dir()
Get the enclosing directory of the source file from which this Shred's code is derived (same as .sourceDir()).
string dir(int levelsUp)
Get the enclosing directory, the specified number of parent directories up.
int done()
Is the Shred done running?
void exit()
Halt the shred's operation and remove it from the virtual machine.
int id()
Get the unique numeric id of the Shred.
string path()
Get the path of the source file from which this Shred's code is derived (same as .sourcePath()).
int running()
Is the Shred currently running?
string sourceDir()
Get the enclosing directory of the source file from which this Shred's code is derived (same as .dir()).
string sourcePath()
Get the path of the source file from which this Shred's code is derived (same as .path()).
void yield()
Cause the current Shred to temporarily suspend without advancing time, allowing other simultaneously schreduled shreds to run as needed. NOTE: yield() is equivalent to '0::second +=> now;'
[ top ]
Math class library.
float E
Euler's number; base of the natural logarithm.
float FLOAT_MAX
Largest representable floating-point value.
float FLOAT_MIN_MAG
Smallest representable non-negative floating-point value.
complex I
The complex number sqrt(-1).
float INFINITY
Like, infinity.
int INT_MAX
Largest representable integer value.
complex J
The complex number sqrt(-1).
float PI
An approximation of pi. (Same as global keyword 'pi'.)
int RANDOM_MAX
Lhe largest possible value returned by random().
float TWO_PI
An approximation of 2*pi
float e
Euler's number; base of the natural logarithm.
complex i
The complex number sqrt(-1).
complex j
The complex number sqrt(-1).
float pi
An approximation of pi. (Same as global keyword 'pi'.)
float two_pi
An approximation of 2*pi
int abs(int value)
Return absolute value of an integer value.
float acos(float x)
Compute arccosine of x; result in [0, pi].
float asin(float x)
Compute arcsine of x; result in [-pi/2, +pi/2].
float atan2(float y, float x)
Compute arc tangent of two variables (y/x).
float atan(float x)
Compute arctangent of x; result in [-pi/2, +pi/2].
float ceil(float x)
Return the smallest integer value (returned as float) not less than x.
float clampf(float value, float min, float max)
Clamp a float to range [min,max].
int clampi(int value, int min, int max)
Clamp an integer to range [min,max].
float cos(float x)
Compute cosine of x (measured in radians).
float cosh(float x)
Compute the hyperbolic cosine of x.
float cossim(float[] a, float[] b)
Compute the cosine similarity between arrays a and b.
float cossim(vec3 a, vec3 b)
Compute the cosine similarity between 3D vectors a and b.
float cossim(vec4 a, vec4 b)
Compute the cosine similarity between 4D vectors a and b.
float dbtopow(float value)
Convert decibels (dB) to signal power ratio.
float dbtorms(float value)
Convert decibles (dB) to linear amplitude.
int ensurePow2(int x)
Return the smallest power-of-2 greater than or equal to the value of x.
int equal(float x, float y)
Return whether two floats are considered equal.
float euclidean(float[] a, float[] b)
Compute the euclidean distance between arrays a and b.
float euclidean(vec3 a, vec3 b)
Compute the euclidean distance between 3D vectors a and b.
float euclidean(vec4 a, vec4 b)
Compute the euclidean distance between 4D vectors a and b.
float exp2(float x)
Compute 2^x, the base-2 exponential of x.
float exp(float x)
Compute e^x, the base-e exponential of x.
float fabs(float value)
Return absolute value of a floating point value.
float floor(float x)
Return the largest integer value (returned as float) not greater than x.
float fmod(float x, float y)
Compute the floating-point remainder of x / y.
float ftom(float value)
Convert frequency (Hz) to MIDI note number space.
float gauss(float x, float mean, float sd)
Compute gaussian function at x, given mean and SD.
float hypot(float x, float y)
Compute the euclidean distance sqrt(x*x+y*y).
float im(complex v)
Return the imaginary component of complex value v.
int isinf(float x)
Return true if x is infinity, else return false.
int isnan(float x)
Return true if x is not a number, else return false.
float log10(float x)
Compute the logarithm of x to base 10.
float log2(float x)
Compute the logarithm of x to base 2.
float log(float x)
Compute the natural logarithm of x.
float mag(polar v)
Return the magnitude component of polar value v.
float map2(float value, float x1, float y1, float x2, float y2)
Map 'value' from range [x1,y1] into range [x2,y2]; 'value' will be clamped to [x1,y1] if outside range. (see also: Math.map())
float map(float value, float x1, float y1, float x2, float y2)
Map 'value' from range [x1,y1] into range [x2,y2]; 'value' can be outside range[x1,y1]. (see also: Math.map2())
float max(float x, float y)
Return the greater of x and y.
float min(float x, float y)
Return the lesser of x and y.
float mtof(float value)
Convert a MIDI note number to frequency (Hz). Note that the input value is of type float and supports fractional note numbers.
int nextpow2(int x)
Compute the smallest power-of-2 greater than x.
float phase(polar v)
Return the phase component of polar value v.
float pow(float x, float y)
Compute x raised to the y-th power.
float powtodb(float value)
Convert signal power ratio to decibels (dB).
int ptor(polar[] from, complex[] to)
Convert polar values to complex values; returns number of values converted.
int random2(int min, int max)
Return successive pseudo-random numbers in the range [min, max].
float random2f(float min, float max)
Return successive pseudo-random floating-point numbers in the range [min, max].
int random()
Return successive pseudo-random integer numbers in the range [0, Math.RANDOM_MAX]].
float randomf()
Return successive pseudo-random floating-point numbers in the range [0,1].
float re(complex v)
Return the real component of complex value v.
float remainder(float x, float y)
Compute the value r such that r=x-n*y, where n is the integer nearest the exact value of x / y. If there are two integers closest to x / y, n shall be the even one. If r is zero, it is given the same sign as x.
float remap(float value, float x1, float y1, float x2, float y2)
Same as Math.map2().
float rmstodb(float value)
Convert linear amplitude to decibels (dB).
float round(float x)
Return the integer value (returned as float) nearest to x (rounding halfway cases away from zero).
int rtop(complex[] from, polar[] to)
Convert complex values to polar values; returns number of values converted.
float sgn(float value)
Return sign of 'value' as -1.0 (negative), 0.0, or 1.0 (positive).
float sin(float x)
Compute sine of x (measured in radians).
float sinh(float x)
Compute the hyperbolic sine of x.
float sqrt(float x)
Compute the non-negative square root of x.
void srandom(int seed)
Seed the random number generator. Different seeds will generate very different sequences of random numbers even if the seeds are close together. Alternatively, a deterministic sequence of pseudo-random numbers can repeatably generated by setting the same seed.
float tan(float x)
Compute tangent of x (measured in radians).
float tanh(float x)
Compute the hyperbolic tangent of x.
float trunc(float x)
Return the integer value nearest to but no greater in magnitude than x.
[ top ]
Machine is ChucK runtime interface to the virtual machine. This interface can be used to manage shreds, evalute code, set log levels, etc. Machine's shred commands are similar to the On-the-fly Programming Commands, except these are invoked from within a ChucK program, and are subject to the timing mechanism.
int add(string path)
Compile and spork a new shred from file at 'path' into the VM now, returns the shred ID.
void crash()
Explicitly crash the virtual machine. The very last resort; or an emphatic gesture. Use with care.
int eval(string code)
Evaluate a string as ChucK code, compiling it and spork it as a child shred of the current shred.
int eval(string code, string args)
Evaluate a string as ChucK code, with optional arguments (bundled in 'args' as "ARG1:ARG2:...", compiling it and spork it as a child shred of the current shred.
int eval(string code, string args, int count)
Evaluate a string as ChucK code, with optional arguments (bundled in 'args' as "ARG1:ARG2:...", compiling it and sporking 'count' instances as a child shreds of the current shred.
int intsize()
Return the bit size of an integer.
int loglevel(int level)
Set log level |- 0: NONE |- 1: CORE |- 2: SYSTEM |- 3: SEVERE |- 4: WARNING |- 5: INFO |- 6: CONFIG |- 7: FINE |- 8: FINER |- 9: FINEST |- 10: ALL
int loglevel()
Get log level.
int realtime()
Return true if the shred is in realtime mode, false if it's in silent mode (i.e. --silent is enabled)
int refcount(Object obj)
Get an object's current internal reference count; this is intended for testing or curiosity; NOTE: this function intentionally does not take into account any reference counting related to the calling of this function (normally all functions increments the reference count for objects passed as arguments and decrements upon returning)
int remove(int id)
Remove shred from VM by shred ID (returned by Machine.add).
int replace(int id, string path)
Replace shred with new shred from file. Returns shred ID , or 0 on error.
int[] shreds()
Retrieve an array of active shred ids.
int silent()
Return false if the shred is in realtime mode, true if it's in silent mode (i.e. --silent is enabled)
int status()
Display the current status of VM.
string version()
Return version string
[ top ]
A standard library in ChucK, which includes utility functions for random number generation, unit conversions, and absolute value.
int abs(int value)
Return absolute value of integer.
float atof(string value)
Converts ascii (string) to floating point value (float).
int atoi(string value)
Convert ascii (string) to integer (int).
int clamp(int value, int min, int max)
Clamp integer to range [min, max].
float clampf(float value, float min, float max)
Clamp float to range [min, max].
float dbtolin(float value)
Convert decibels (dB) to linear amplitude.
float dbtopow(float value)
Convert decibels (dB) to signal power ratio.
float dbtorms(float value)
Convert decibels (dB) to rms.
float fabs(float value)
Return absolute value of float.
string ftoa(float f, int precision)
Converts floating point value (float) to ascii (string) with specified precision (number of decimal digits).
int ftoi(float f)
Convert float to integer.
float ftom(float value)
Convert frequency (Hz) to MIDI note number space.
string getenv(string value)
Get the value of an environment variable (e.g., PATH).
string itoa(int i)
Converts integer (int) to ascii (string).
float lintodb(float value)
Convert linear amplitude to decibels (dB).
float mtof(float value)
Convert a MIDI note number to frequency (Hz). Note the input value is of type float (supports fractional note number). For reference, MIDI note number 60 is Middle C; each whole number is one semitone.
float powtodb(float value)
Convert signal power ratio to decibels (dB).
int rand2(int min, int max)
Generate a random integer in range [min, max]. (NOTE: this is deprecated; use Math.random2()).
float rand2f(float min, float max)
Generate random floating point number in the range [min, max]. (NOTE: this is deprecated; use Math.random2f())
int rand()
Generate a random integer between 0 and Std.RAND_MAX. (NOTE: this is deprecated; use Math.random()).
float randf()
Generate random floating point number in the range [-1, 1]. (Note: this is deprecated; use Math.randomf())
float rmstodb(float value)
Convert rms to decibels (dB).
float scalef(float value, float srcmin, float srcmax, float dstmin, float dstmax)
Scale a float from source range to destination range.
int setenv(string key, string value)
Set the value of environment variable named 'key'
float sgn(float value)
Get sign of value as -1 (negative), 0, or 1 (positive).
void srand(int seed)
Seed the random number generator. Different seeds will likely generate different sequences of random numbers even if the seeds are close together; alternatively, a sequence of random numbers can be repeated by setting the same seed.
int system(string cmd)
Pass a command to be executed in the shell (requires --caution-to-the-wind flag to be set).
[ top ]
Textual data as a sequence of characters, along with functions for manipulating text.
int charAt(int index)
Get a character at the specified index.
void erase(int start, int length)
Erase length characters of the string from start position.
int find(int theChar)
Get the index of the first occurrence of theChar, or -1 if theChar is not found.
int find(int theChar, int start)
Get the index of the first occurrence of theChar at or after the start position, or -1 if theChar is not found.
int find(string str)
Get the index of the first occurrence of str, or -1 if str is not found.
int find(string str, int start)
Get the index of the first occurrence of str at or after the start position, or -1 if str is not found.
void insert(int position, string str)
Insert a string at the specified position.
int length()
Get the number of characters of the string.
string lower()
Get a new string in which the uppercase characters of the original string have been converted to lowercase.
string ltrim()
Get a new string in which leading whitespace has been removed.
void replace(int position, string str)
Get characters from the start position to the end of the string with str.
void replace(int position, int length, string str)
Get length characters from the start position with str.
int rfind(int theChar)
Get the index of the last occurrence of theChar, or -1 if theChar is not found.
int rfind(int theChar, int start)
Get the index of the last occurrence of theChar at or before the start position, or -1 if theChar is not found.
int rfind(string str)
Get the index of the last occurrence of str, or -1 if str is not found.
int rfind(string str, int start)
Get the index of the last occurrence of str at or before the start position, or -1 if str is not found.
string rtrim()
Get a new string in which trailing whitespace has been removed.
int setCharAt(int index, int theChar)
Set the character at the specified index.
string substring(int start)
Get a new string containing the substring from the start index to the end of the string.
string substring(int start, int length)
Get a new string containing the substring from the start index of the specified length.
float toFloat()
Attempt to convert the contents of the string to an float and return the result, or 0 if conversion failed.
int toInt()
Attempt to convert the contents of the string to an integer and return the result, or 0 if conversion failed.
string toString()
Return the reference of calling string.
string trim()
Get a new string in which leading and trailing whitespace has been removed.
string upper()
Get a new string in which the lowercase characters of the original string have been converted to uppercase.
[ top ]
Storage construct for sequential data of the same type; can also be used as an associative map data structure; also can be used as a stack with << operator to append/push and popBack to pop.
int cap()
(deprecated) For historical/compatibilty reasons, .cap() is always equal to .size(); instead of using .cap(), it is recommended to explicitly use .size() or .capacity().
int capacity(int val)
Ensure capacity of the array (number of addressable elements).
int capacity()
Get current capacity of the array (number of addressable elements).
void clear()
Clear the contents of the array.
int erase(string key)
(map only) Erase all elements with the specified key.
int find(string key)
(map only) Get number of elements with the specified key.
void getKeys(string[] keys)
Return all keys found in associative array in keys
void popBack()
Remove the last item of the array.
void popOut(int position)
Removes the item with position from the array
void reset()
Reset array size to 0, set capacity to (at least) 8.
void reverse()
Reverses the array in-place
void shuffle()
Shuffle the contents of the array.
int size()
Get the number of elements in the array.
int size(int newSize)
Set the size of the array. If the new size is less than the current size, elements will be deleted from the end; if the new size is larger than the current size, 0 or null elements will be added to the end.
void zero()
Zero out the contents of the array; size is unchanged.
[ top ]