aboutsummaryrefslogtreecommitdiff
path: root/chuck
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2012-09-17 19:03:41 +0200
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2012-09-17 19:03:41 +0200
commit018d709ac8ddd584b1750a0b7e7b93e37debfe55 (patch)
tree5dc2890acc3c73b30b7d688f623d74f52163cf23 /chuck
parent1753c465cfeaba1d03e3b38516c0652e58d842cb (diff)
downloadosc-graphics-018d709ac8ddd584b1750a0b7e7b93e37debfe55.tar.gz
add video rate, position, paused commands. pause videos by default
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;
+ }
}