The types of values used for attributes in KUIML are listed below:
Type | Syntax | Examples | Comment |
---|---|---|---|
Any alphanumeric or '_' character, without space. |
'myControl', 'slider1','param_slider' |
'my Control' of 'my-control' are invalid identifiers. | |
Any character |
Hello! |
| |
RGB hexadecimal value preceded by '#' |
'#ffffff' for white, '#ff0000' for red. |
This is the same syntax as HTML colors. | |
'true' or 'false' |
|
| |
digits.digits |
'5.3' '10' '3.02' '0.4' |
The language only supports English notation with '.' for the delimiter. | |
'real' or 'boolean', 'integer' or 'enumeration' |
|
Real stands for real number in floating point notation (5.3) | |
Any positive integer value |
145 |
| |
Real number followed by '' |
'20' '33.3' |
| |
Any integer value |
-5 |
| |
'top' or 'bottom' or 'center' |
|
| |
'left' or 'right' or 'center' |
|
| |
'vertical' or 'horizontal' |
'vertical' |
| |
'curve' or 'bargraph' |
'bargraph' |
The bargraph style displays bars from the origin of the graph to the value of the curve, whereas the curve style draws curve points connected by segments in the case of non continuous curves. | |
Relative file path. The root of all paths is the skin file directory. |
'xxx.bmp', or 'images/xxx.bmp' |
| |
See file path |
|
Supported formats: bmp (8,16 or 24 bits) or png files. For more information see the Images section. | |
'system::xxx' where xxx is a valid cursor type, or (Windows only) valid cursor file path. |
System::hand or 'mycursor.cur' |
For more information, see the Cursors section | |
Events are fired when something happens and can be used to trigger actions. |
|
Events are exposed by the data model and can be used to perform specific actions when fired. | |
script code. |
|
see Scripting Reference. | |
see identifier |
The identifier must point to an object of appropriate PARAM type. | ||
see identifier |
The identifier must point to an object of appropriate CURVE type. | ||
see identifier |
The identifier must point to an object of appropriate SURFACE type. | ||
see identifier |
The identifier must point to an object of appropriate STRING type. | ||
see identifier |
The identifier must point to an object of appropriate ACTION type. | ||
see identifier |
The identifier must point to an object of appropriate GROUP type. | ||
see identifier |
The identifier must point to an object of appropriate PROPERTY type. | ||
String containing parameter fields enclosed into brackets |
'the value is: {value} {unit}' |
Valid fields are: {value}, {unit}, {name}, {default}, {min}, {max}, {comment} and (V1.3.4) {text_value} | |
Flag|max_char|.digits (all fields are optional), where: Flag values (can be mixed):
max_char is the maximum number of characters to use for the text (sign and '.' included) '.' followed by digits: number of characters reserved for the decimal part |
'+8.2' will show a number with its sign, with a maximum of 8 characters (including '.') and 2 characters reserved for the digits '.0' will show a number without decimal part. '+05.0' will show a value with 5 characters without any decimal part, padded with '0' if needed. |
Using the max_char field avoids the text to move on the screen when the value changes if you used a fixed size font such as 'Courier New'. For programmers, the syntax is very similar to the formatting options of 'printf' standard c function.
| |
A value in this list: 'linear' 'log' 'exp' 'log1' 'exp1' 'log2' 'exp2' 'log3' 'exp3' 'square_root' 'square' |
See the Response Curves graphes below for an overview of available curves. |
influence of the 'response_curve' attribute - exp & log | influence of the 'response_curve' attribute - square & square_root |
The Language supports mathematical formulas for several purposes (attributes computation, curves or surfaces defined with formulas etc.). The syntax is similar to common mathematical notations on computer systems. Example:
3*x^2+cos(pi/2)*x+1
The language supports most common operators (*,/,+,-,^) as well as several predefined mathematical functions. The complete list is available below:
Symbol | Operation | Example | Comment |
---|---|---|---|
+ |
Addition |
x+1 | |
* |
Multiplication |
x*y | |
- |
Substraction |
5-z | |
/ |
Division |
x/2 | |
^ |
Power |
a^2 represents "a square" | |
% |
Modulo |
x%5 means "x modulo 5" | |
== |
Equals |
a==b means "a equals b" and the result is true or false |
You can also use '=' |
!= |
Not Equals |
a!=b means "a does not equal b" and the result is true or false |
You can also use '<>' |
< |
Lower than |
a<b means "a stricly lower than b" and the result is true or false | |
> |
Greater than |
a>b means "a stricly greater than b" and the result is true or false | |
<= |
Lower than or equal |
a<=b means "a lower than or equal to b" and the result is true or false | |
>= |
Greater than or equal |
a>=b means "a greater than or equal to b" and the result is true or false | |
|| |
Boolean "OR" |
a||b means "a or b" |
You can also use 'or' (case sensitive). |
&& |
Boolean "AND" |
a&&b means "a and b" |
You can also use 'and' (case sensitive). |
! |
Boolean "NOT" |
!(x==y) is equivalent to "x!=y" and means "x is not equal to y" |
You can also use 'not' (case sensitive). |
sqrt |
Square root |
sqrt(2) | |
abs |
Absolute value |
abs(-1) equals to 1 | |
floor |
Rounds to lowest integer |
floor(1.25) equals to 1 | |
ceil |
Rounds to highest integer |
ceil(1.25) equals to 2 | |
round |
Rounds to closest integer |
round(1.25) equals to 1, and round(1.75) equals to 2 | |
sin |
sine |
sin(pi) | |
cos |
cosine |
cos(x) | |
tan |
tangent |
tan(2*pi*x) | |
exp |
Exponential |
exp(10) | |
log |
Logarithm |
log(1) is equal to 0 | |
sinh |
Hyperbolic sine |
sinh(pi) | |
cosh |
Hyperbolic cosine |
cosh(x) | |
tanh |
Hyperbolic tangent |
tanh(x) | |
pi |
Pi Constant (3.14159...) |
cos(pi) is equal to -1 | |
min |
Minimum |
min(1,2) is equal to 1 | |
max |
Maximum |
max(1,2) is equal to 2 | |
bitvalue |
Value of specfied bit number |
bitvalue(x,n) returns the value of the nth bit of integer x | |
if |
if(condition,then,else) |
if(true,a,b) returns a and if(false,a,b) returns b |