aboutsummaryrefslogtreecommitdiff
path: root/chuck
diff options
context:
space:
mode:
Diffstat (limited to 'chuck')
-rw-r--r--chuck/OSCGraphicsVideo.ck61
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;
+ }
}