A TUIO simulator creates a message like this:
set obj 0 27 0.425 0.78 3.1415927 0.16233395910432108 0.16233395910432108 0.0 -4.908136E-4 0.0
This happens on localhost(
127.0.0.1:3333) port 3333 and i can watch it by using a network analyzer. I'm not sure if the first two string
parameters "set" and "obj" should be handled but at least i'm expecting to handle first two values "0" and "27". If i succeed i'll be able
to control any instrument parameters. Below there is the data format for the TUIO protocol and an example csd code. I'm working on a linux
machine.
TUIO protocol data format
------------------------------------------------------
s sessionID, temporary object ID, int32
i classID, fiducial ID number, int32
x, y, z position, float32, range 0...1
a, b, c angle, float32, range 0..2PI
X, Y ,Z movement vector (motion speed & direction), float32
A, B, C rotation vector (rotation speed & direction), float32
m motion acceleration, float32
r rotation acceleration, float32
P free parameter, type defined by OSC packet header
;OSClisten.csd
;---------------------
<CsoundSynthesizer>
<CsOptions>
-+rtaudio=alsa -o dac -B4096
</CsOptions>
<CsInstruments>
sr = 44100
ksmps = 100
nchnls = 1
gihandle OSCinit 3333
instr 1
kf1 init 0
kf2 init 0
nxtmsg:
kk OSClisten gihandle, "/foo/bar", "ff", kf1, kf2
if (kk == 0) goto ex
printk 0,kf1
printk 0,kf2
kgoto nxtmsg
ex:
endin
</CsInstruments>
<CsScore>
i1 0 3600
e
</CsScore>
</CsoundSynthesizer>
By the way, i tried to change the parameter "ff" as "ss", "ii" and the "print" statement. But there's no terminal output for "kf1" and "kf2". THANKS.
Arda EDEN
Cumhuriyet University
Faculty of Fine Arts
Department of Music Technology