IannixCursor representation of Iannix app cursor, in sclang


Inherits from: Object : IannixObject


! See first:  IannixObject for  common variables and methods for all Iannix objects.




Creation / Class Methods


*new (parent, id)

parent - mandatory. must be an instance of Iannix class.

id - if nil:  automatically incremented, based on already created object of this type, and default offset for this type.

i = Iannix.new; 

c = IannixCursor.new(i); //creation in sclang

c.send; // actually send an osc message to Iannix app for object creation;

c.position_(1, 2, 0) //x, y, z positions

// ... not very useful without a curve ...


Note: Its better to create a cursor this way (automatic indexation, sending and positionning):

i = Iannix.new;

l = i.curve([0@1, 10@1]); //curve creation ( see IannixCurve help file )

c = i.cursor(l); //put the cursor on the curve


Accessing Instance and Class Variables

Doing Some Task


putOnCurve (curve)

curve - a IannixCurve instance.

// example

i = Iannix.new;

l = i.curve([0@1, 10@1]); //curve creation ( see IannixCurve help file )

c = IannixCursor.new(i).send;  /// actually send an osc message to Iannix app for object creation;

c.putOnCurve(l);

c.width_(10)

Again, the easiest way is

c = i.cursor(l)



width_ (width)

setting of the width of the cursor, and so its possibility to catch triggers nearby (in this scope)

width -  Default value is 0.1



duration_ (duration)

the time for this cursor to reach the end of the curve.

duration - in seconds. Default value is 1. 


speed_ (factor)

speed of the cursor.

factor - related to the  cursor duration. Default value is 1.  Negative value will drive the cursor in the opposite way.






masterSpeed (factor)

Another speed factor, see Iannix app documentation ...  :¬ }

factor - Default value is 1.



loopPattern_ (list)

a cycle of speeds.

list - each element in the list represent a speed, negative value will generate a backward movement at this speed.

Note: a zero will stop the cursor, and so end the pattern.

i = Iannix.new;

l = i.curve.asEllipse; 

c = i.cursor(l);

c.loopPattern_([1, -1, 0.2, 3, 1, 0])

i.play;




offset_ (initialPoint, startPoint, endPoint)

add bondaries for the cursor path  on its curve, and a starting point.

initialPoint - starting point -  Default value is 0. 

startPoint - lower bondary - Default value is 0.

endPoint - end bondary - Default value is "end". 

i = Iannix.new;

l = i.curve([0@1, 5@1]); 

c = i.cursor(l);

c.offset_(3, 1, 4);

i.play;



timePos_ (pos)

Instant change of the cursor position, related to the cursor duration.

pos - in seconds. Default value is 0. 




mapping_ (outputBondaries, inputBondaries)

A way to change ouput values range for the cursor, using the setBoundsTarget  and setBoundsSource functions of Iannix app.

outputBondaries

One must give a the rectangle representing the  field  for the x/y output values, given four bondaries.

4 values:  [ x-top-left-corner, y-top-left-corner, x-bottom-right-corner, y-bottom-right-corner]: bondaries of the output values . 

inputBondaries 

A way to change the field for actual x/y values of the cursor, with the same method. 

the interval in which your cursor is located

Note: the mapping is only in 2D for now.

i = Iannix.new;

l = i.curve([0@0, 5@4]); 

c = i.cursor(l);

c.mapping_([0, 10, 2, 0]);

c.messages_(["cursor_value_x", "cursor_value_y"]); // in a way to see the output values in the Iannix app monitor








Examples




...