| 13 | | import uranodai.oscemote.event.OSCemoteEvent; |
|---|
| 14 | | import uranodai.oscemote.model.acceleration.AccelerationXYZ; |
|---|
| 15 | | import uranodai.oscemote.model.tuio.Tuio2Dcur; |
|---|
| 16 | | import uranodai.oscemote.osc.OSCemoteArgument; |
|---|
| 17 | | import uranodai.oscemote.osc.OSCemoteMessage; |
|---|
| | 8 | import uranodai.oscemote.event.OSCemoteAccelerationEvent; |
|---|
| | 9 | import uranodai.oscemote.event.OSCemoteButtonEvent; |
|---|
| | 10 | import uranodai.oscemote.event.OSCemoteSegmentEvent; |
|---|
| | 11 | import uranodai.oscemote.event.OSCemoteSliderEvent; |
|---|
| | 12 | import uranodai.oscemote.event.OSCemoteSwitchEvent; |
|---|
| | 13 | import uranodai.oscemote.event.OSCemoteTouchEvent; |
|---|
| 50 | | var data:Array = []; |
|---|
| 51 | | for each(var msg:OSCMessage in packet.messages){ |
|---|
| 52 | | //trace(msg.name) |
|---|
| 53 | | if(msg.name == OSCemoteMessage.TUIO_2DCUR){ |
|---|
| 54 | | onTuio2Dcur(msg, data); |
|---|
| 55 | | }else if(msg.name == OSCemoteMessage.ACCELERATION_XYZ){ |
|---|
| 56 | | onAccelerationXYZ(msg, data); |
|---|
| 57 | | } |
|---|
| | 50 | // trace('oscPacketInHandler ---------'); |
|---|
| | 51 | // for each (var msg:OSCMessage in packet.messages) { |
|---|
| | 52 | // trace(msg.name); |
|---|
| | 53 | // for each (var args:OSCArgument in msg.arguments) { |
|---|
| | 54 | // trace(' ', args.type, '->', args.value); |
|---|
| | 55 | // } |
|---|
| | 56 | // } |
|---|
| | 57 | |
|---|
| | 58 | var msg0:OSCMessage = packet.messages[0]; |
|---|
| | 59 | var names:Array = msg0.name.split('/'); |
|---|
| | 60 | // trace(names); |
|---|
| | 61 | var ival:int; |
|---|
| | 62 | var fval:Number; |
|---|
| | 63 | var bval:Boolean; |
|---|
| | 64 | switch (names[1]) { |
|---|
| | 65 | case 'button': |
|---|
| | 66 | ival = int(OSCArgument(msg0.arguments[0]).value); |
|---|
| | 67 | var btnEv:OSCemoteButtonEvent = new OSCemoteButtonEvent(ival ? OSCemoteButtonEvent.BUTTON_DOWN : OSCemoteButtonEvent.BUTTON_UP, names[2]); |
|---|
| | 68 | this.dispatchEvent(btnEv); |
|---|
| | 69 | break; |
|---|
| | 70 | case 'slider': |
|---|
| | 71 | fval = Number(OSCArgument(msg0.arguments[0]).value); |
|---|
| | 72 | var sldEv:OSCemoteSliderEvent = new OSCemoteSliderEvent(OSCemoteSliderEvent.SLIDER_CHANGE, parseInt(names[2]), fval); |
|---|
| | 73 | this.dispatchEvent(sldEv); |
|---|
| | 74 | break; |
|---|
| | 75 | case 'segmented': |
|---|
| | 76 | ival = int(OSCArgument(msg0.arguments[0]).value); |
|---|
| | 77 | var segEv:OSCemoteSegmentEvent = new OSCemoteSegmentEvent(OSCemoteSegmentEvent.SEGMENT_CHANGE, ival); |
|---|
| | 78 | this.dispatchEvent(segEv); |
|---|
| | 79 | break; |
|---|
| | 80 | case 'switch': |
|---|
| | 81 | bval = Boolean(OSCArgument(msg0.arguments[0]).value); |
|---|
| | 82 | var swtEv:OSCemoteSwitchEvent = new OSCemoteSwitchEvent(OSCemoteSwitchEvent.STATE_CHANGE, parseInt(names[2]), bval); |
|---|
| | 83 | this.dispatchEvent(swtEv); |
|---|
| | 84 | break; |
|---|
| | 85 | case 'tuio': |
|---|
| | 86 | this.dispatchEvent(new OSCemoteTouchEvent(OSCemoteTouchEvent.TOUCH, packet)); |
|---|
| | 87 | break; |
|---|
| | 88 | case 'acceleration': |
|---|
| | 89 | var x:Number = Number(OSCArgument(msg0.arguments[0]).value); |
|---|
| | 90 | var y:Number = Number(OSCArgument(msg0.arguments[1]).value); |
|---|
| | 91 | var z:Number = Number(OSCArgument(msg0.arguments[2]).value); |
|---|
| | 92 | var accEv:OSCemoteAccelerationEvent = new OSCemoteAccelerationEvent(OSCemoteAccelerationEvent.ACCELERATION_CHANGE, x, y, z); |
|---|
| | 93 | this.dispatchEvent(accEv); |
|---|
| | 94 | break; |
|---|
| 59 | | if(data.length>0){ |
|---|
| 60 | | var event:OSCemoteEvent = new OSCemoteEvent(OSCemoteEvent.UPDATE); |
|---|
| 61 | | event.data = data; |
|---|
| 62 | | dispatchEvent(event); |
|---|
| 63 | | } |
|---|
| | 96 | |
|---|
| | 97 | |
|---|
| | 98 | // var packet:OSCPacket = e.data as OSCPacket; |
|---|
| | 99 | // var data:Array = []; |
|---|
| | 100 | // for each(var msg:OSCMessage in packet.messages){ |
|---|
| | 101 | // trace(msg.name, '->', msg.arguments.length); |
|---|
| | 102 | // if(msg.name == OSCemoteMessage.TUIO_2DCUR){ |
|---|
| | 103 | // onTuio2Dcur(msg, data); |
|---|
| | 104 | // }else if(msg.name == OSCemoteMessage.ACCELERATION_XYZ){ |
|---|
| | 105 | // onAccelerationXYZ(msg, data); |
|---|
| | 106 | // } |
|---|
| | 107 | // } |
|---|
| | 108 | // if(data.length>0){ |
|---|
| | 109 | // var event:OSCemoteEvent = new OSCemoteEvent(OSCemoteEvent.UPDATE); |
|---|
| | 110 | // event.data = data; |
|---|
| | 111 | // dispatchEvent(event); |
|---|
| | 112 | // } |
|---|
| 66 | | private function onTuio2Dcur(msg:OSCMessage, data:Array):void |
|---|
| 67 | | { |
|---|
| 68 | | var head:OSCArgument = msg.arguments[0] as OSCArgument; |
|---|
| 69 | | if(head.value == OSCemoteArgument.SET){ |
|---|
| 70 | | data.push(new Tuio2Dcur(msg)); |
|---|
| 71 | | } |
|---|
| 72 | | } |
|---|
| 73 | | |
|---|
| 74 | | private function onAccelerationXYZ(msg:OSCMessage, data:Array):void |
|---|
| 75 | | { |
|---|
| 76 | | data.push(new AccelerationXYZ(msg)); |
|---|
| 77 | | } |
|---|
| | 115 | // private function onTuio2Dcur(msg:OSCMessage, data:Array):void |
|---|
| | 116 | // { |
|---|
| | 117 | // var head:OSCArgument = msg.arguments[0] as OSCArgument; |
|---|
| | 118 | // if(head.value == OSCemoteArgument.SET){ |
|---|
| | 119 | // data.push(new Tuio2Dcur(msg)); |
|---|
| | 120 | // } |
|---|
| | 121 | // } |
|---|
| | 122 | // |
|---|
| | 123 | // private function onAccelerationXYZ(msg:OSCMessage, data:Array):void |
|---|
| | 124 | // { |
|---|
| | 125 | // data.push(new AccelerationXYZ(msg)); |
|---|
| | 126 | // } |
|---|