diff options
Diffstat (limited to 'chuck')
-rw-r--r-- | chuck/OSCGraphicsVideo.ck | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/chuck/OSCGraphicsVideo.ck b/chuck/OSCGraphicsVideo.ck index e289573..77e44c5 100644 --- a/chuck/OSCGraphicsVideo.ck +++ b/chuck/OSCGraphicsVideo.ck @@ -7,4 +7,65 @@ public class OSCGraphicsVideo extends OSCGraphicsLayer { return url; } + + class RatePort extends OSCGraphicsPort { + OSCGraphicsVideo @layer; + + fun void + tick(float in) + { + in => layer.rate; + } + } + fun OSCGraphicsPort @ + getRatePort() + { + RatePort p; + this @=> p.layer; + + return p; + } + fun float + rate(float rate) + { + osc_send.startMsg("/layer/"+name+"/rate", "f"); + rate => osc_send.addFloat; + + return rate; + } + + class PositionPort extends OSCGraphicsPort { + OSCGraphicsVideo @layer; + + fun void + tick(float in) + { + in => layer.position; + } + } + fun OSCGraphicsPort @ + getPositionPort() + { + PositionPort p; + this @=> p.layer; + + return p; + } + fun float + position(float position) + { + osc_send.startMsg("/layer/"+name+"/position", "f"); + position => osc_send.addFloat; + + return position; + } + + fun int + paused(int paused) + { + osc_send.startMsg("/layer/"+name+"/paused", "i"); + paused => osc_send.addInt; + + return paused; + } } |