Thursday, May 24, 2007

RFC spec update - version 0.1


* fiducial id: the uniqe painting on the objects represent a number from 0-89
this number is the "fiducial id".
Object id: We also reffer "fiducial id" as "Object id" for example:
"Object 0"-"object 89"


* Session id: every object placed on the table has a unique "Session
id" which is an incremental integer.
If the object is removed and added again, he will get a new session id.
This model supports having several objects from the same id but with
different session id.
Note: The TangibLaptop do not uses "Session id" and enforce to place
on the table only one object for each "object id".


* Control Type:
How does moving the object change its values.
hfader=xpos, vfader=ypos, knob=angle, note=presence


* Object shape (function categories):
ReacTable's objects can be categorized into six different functional groups:
audio generators, audio filters, controllers, control filters, mixers
and global objects
(which affect the behaviour of all objects within their area of influence).
Each family is associated with a different puck
shape and can have many different members, each with a distinct
(human-readable) symbol on its surface.


Generators N control in 1 audio out
Audio filters 1 audio in 1 audio out N cntrl in
Controllers 1 cntrl out
control filters 1 cntrl in 1 cntrl out
audio mixers 2 audio in 1 audio out N cntrl in
global N cntrl in


Note: The TangibLaptop (at this point) implement only one in and one
out for each object.


* Control function:
How does the object is visualized and connected to other.
The 6 function groups contain various objects.
global: master
audio generators: sampler, wave
audio filters: delay, flanger
controllers: oscillator, lfo, vcf
control filters: decimator, sample & hold
audio mixers: bus


* Master
A central point at the middle of the table.
MASTER object fiducial id is 127
Will be added to the list of objects without being placed on the table.


* Connection channel:
Channel 16 is used for connection commands.
The way objects connect is "Note On", and disconnect = "NOTE OFF"
Examples:
A Connection created from A to MASTER: NOTE_ON, 15, A, MASTER
A Connection created from B to A: NOTE_ON, 15, B, A
A Connection removed from B to A: NOTE_OFF,15, B, A



* Proximity channel:
Channel 1 is used for connection Proximity (distance) commands.
The proximity is affecting the controlling object.
B is connected to A, and B is moving towards A: CONTROL_CHANGE,0, B,
distance value


* Rotation channel:
Channel 2 is used for connection Rotation (angle) commands.
B is connected to A, and B is rotating: CONTROL_CHANGE,1, B, angle value

0 Comments:

Post a Comment

<< Home