diff ppe/TitleMove.cc @ 24:a131729d6e4d

not working.
author koba <koba@cr.ie.u-ryukyu.ac.jp>
date Wed, 24 Nov 2010 19:24:04 +0900
parents 3fb8a6a34e24
children 34fde39c0a31
line wrap: on
line diff
--- a/ppe/TitleMove.cc	Tue Oct 26 17:28:56 2010 +0900
+++ b/ppe/TitleMove.cc	Wed Nov 24 19:24:04 2010 +0900
@@ -10,18 +10,24 @@
 static int
 titlemove(SchedTask *s,void *rbuf, void *wbuf)
 {
-  Pad* pad;
-  ObjPropertyPtr i_obj, o_obj;
-
-  i_obj = (ObjPropertyPtr)s->get_input(rbuf, 0);
-  pad = (Pad*)s->get_input(rbuf, 1);
-  o_obj = (ObjPropertyPtr)s->get_output(wbuf, 0);
+    ObjPropertyPtr i_obj, o_obj;
+    
+    i_obj = (ObjPropertyPtr)s->get_input(rbuf, 0);
+    o_obj = (ObjPropertyPtr)s->get_output(wbuf, 0);
 
-  if(pad->start.isPush() || pad->start.isHold()) {
-    i_obj->flag = 1;
-  }
-
-  o_obj = i_obj;
-
-  return 0;
+    int pad_id = (int)s->get_param(0);
+    int size = (int)s->get_param(1);
+    Pad *pad = (Pad*)s->pad(pad_id);
+    
+    if (pad->start.isPush && pad->start.isHold) {
+	i_obj->flag = 1;
+    }
+    if ((pad->select.isPush && pad->select.isHold) &&
+	(pad->start.isPush && pad->start.isHold)) {
+	i_obj->flag = 0;
+    }
+    
+    s->swap();
+    
+    return 0;
 }