Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
  • 9 commits
  • 6 files changed
  • 0 comments
  • 2 contributors
Apr 11, 2012
bj-rn converted to Visual Studio 2010 36824bf
bj-rn removed references to PluginInterfaces & Utils e5b82c5
bj-rn added new references to VVVV.PluginInterfaces & VVVV.utils in \vvvv-s…
…dk\vvvv45\addonpack\src\core\PluginInterfaces\bin\Debug\
56e443a
bj-rn added
addTuioBlob(TuioBlob tuioBlob);
updateTuioBlob(TuioBlob tuioBlob);
removeTuioBlob(TuioBlob tuioBlob);
29d2ebc
bj-rn Added support for TUIOBlob: if(address == "/tuio/2Dblb").
A lot c&P from (address == "/tuio/2Dcur") could for sure be solved more elegantly but works.
a9d19b4
bj-rn more or less c&p from TuioObject. Added attributes according to Tuio …
…protocol spec.
706995a
bj-rn added TuioBlob cd542e7
bj-rn added support for Blobs including pins for width, height and area. bf425b4
Apr 20, 2012
joreg Merge pull request #43 from bj-rn/develop
Develop
7f241b2
121 vvvv45/addonpack/src/nodes/plugins/Network/TUIODecoder/TUIO.NET/TuioBlob.cs
... ... @@ -0,0 +1,121 @@
  1 +/*
  2 + TUIO Java backend - part of the reacTIVision project
  3 + http://reactivision.sourceforge.net/
  4 +
  5 + Copyright (c) 2005-2008 Martin Kaltenbrunner <mkalten@iua.upf.edu>
  6 +
  7 + This program is free software; you can redistribute it and/or modify
  8 + it under the terms of the GNU General Public License as published by
  9 + the Free Software Foundation; either version 2 of the License, or
  10 + (at your option) any later version.
  11 +
  12 + This program is distributed in the hope that it will be useful,
  13 + but WITHOUT ANY WARRANTY; without even the implied warranty of
  14 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15 + GNU General Public License for more details.
  16 +
  17 + You should have received a copy of the GNU General Public License
  18 + along with this program; if not, write to the Free Software
  19 + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  20 +*/
  21 +// 04/12 - bjo:rn more or less c&p from TuioObject. Added attributes according to Tuio protocol spec.
  22 +
  23 +using System;
  24 +using System.Collections.Generic;
  25 +
  26 +namespace TUIO.NET
  27 +{
  28 + public class TuioBlob:TuioContainer {
  29 +
  30 + protected int blob_id;
  31 + protected float angle;
  32 + protected float rotation_speed, rotation_accel;
  33 + protected float width;
  34 + protected float height;
  35 + protected float area;
  36 +
  37 +
  38 +
  39 + public TuioBlob (long s_id, int b_id, float xpos, float ypos, float angle, float width, float height, float area):base(s_id,xpos,ypos) {
  40 + this.blob_id = b_id;
  41 + this.width = width;
  42 + this.height = height;
  43 + this.area = area;
  44 + this.angle = angle;
  45 + this.rotation_speed = 0.0f;
  46 + this.rotation_accel = 0.0f;
  47 + }
  48 +
  49 +
  50 + public TuioBlob (TuioBlob b):base(b) {
  51 +
  52 + this.blob_id = b.getBlobID();
  53 + this.width = b.getWidth();
  54 + this.height = b.getHeight();
  55 + this.area = b.getArea();
  56 + this.angle = b.getAngle();
  57 + this.rotation_speed = 0.0f;
  58 + this.rotation_accel = 0.0f;
  59 + }
  60 +
  61 + public void update (float xpos, float ypos, float angle, float width, float height, float area, float xspeed, float yspeed, float rspeed, float maccel, float raccel) {
  62 + base.update(xpos,ypos,xspeed,yspeed,maccel);
  63 + this.angle = angle;
  64 + this.width = width;
  65 + this.height = height;
  66 + this.area = area;
  67 + this.rotation_speed = rspeed;
  68 + this.rotation_accel = raccel;
  69 +
  70 + }
  71 +
  72 +
  73 + public void update (TuioBlob b) {
  74 + base.update(b);
  75 + this.angle = b.getAngle();
  76 + this.rotation_speed = b.getRotationSpeed();
  77 + this.rotation_accel = b.getRotationAccel();
  78 + }
  79 +
  80 +
  81 + public int getBlobID()
  82 + {
  83 + return blob_id;
  84 + }
  85 +
  86 + public float getWidth() {
  87 + return width;
  88 + }
  89 +
  90 + public float getHeight()
  91 + {
  92 + return height;
  93 + }
  94 +
  95 + public float getArea()
  96 + {
  97 + return area;
  98 + }
  99 +
  100 + public float getAngle() {
  101 + return angle;
  102 + }
  103 +
  104 + public float getAngleDegrees() {
  105 + return angle/(float)Math.PI*180.0f;
  106 +
  107 + }
  108 +
  109 +
  110 + public float getRotationSpeed() {
  111 + return rotation_speed;
  112 + }
  113 +
  114 + public float getRotationAccel() {
  115 + return rotation_accel;
  116 + }
  117 +
  118 +}
  119 +
  120 +
  121 +}
199 vvvv45/addonpack/src/nodes/plugins/Network/TUIODecoder/TUIO.NET/TuioClient.cs
@@ -18,6 +18,7 @@
18 18 along with this program; if not, write to the Free Software
19 19 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 20 */
  21 +// 04/12 added support for "/tuio/2Dblb" bjo:rn
21 22
22 23 using System;
23 24 using System.Threading;
@@ -34,10 +35,17 @@ public class TuioClient
34 35 private Dictionary<long,TuioCursor> cursorList = new Dictionary<long,TuioCursor>(32);
35 36 private List<long> aliveCursorList = new List<long>(32);
36 37 private List<long> newCursorList = new List<long>(32);
37   -
  38 + private Dictionary<long, TuioBlob> blobList = new Dictionary<long, TuioBlob>(32);
  39 + private List<long> aliveBlobList = new List<long>(32);
  40 + private List<long> newBlobList = new List<long>(32);
  41 +
38 42 private List<TuioCursor> freeCursorList = new List<TuioCursor>();
39 43 private int maxFingerID = -1;
40 44
  45 + private List<TuioBlob> freeBlobList = new List<TuioBlob>();
  46 + private int maxBlobID = -1;
  47 +
  48 +
41 49 private int currentFrame = 0;
42 50 private int lastFrame = 0;
43 51 private DateTime startTime;
@@ -156,12 +164,180 @@ public class TuioClient
156 164 }
157 165 }
158 166
159   - } else if (address == "/tuio/2Dcur") {
  167 + } else if (address == "/tuio/2Dblb") {
  168 +
  169 + if ((command == "set") && (currentFrame>=lastFrame))
  170 + {
  171 + long s_id = (int)args[1];
  172 + float x = (float)args[2];
  173 + float y = (float)args[3];
  174 + float a = (float)args[4];
  175 + float w = (float)args[5];
  176 + float h = (float)args[6];
  177 + float area = (float)args[7];
  178 + float X = (float)args[8];
  179 + float Y = (float)args[9];
  180 + float A = (float)args[10];
  181 + float m = (float)args[11];
  182 + float r = (float)args[12];
  183 +
  184 + if (!blobList.ContainsKey(s_id))
  185 + {
  186 +
  187 + int b_id = blobList.Count;
  188 + if (blobList.Count <= maxBlobID)
  189 + {
  190 + TuioBlob closestBlob = freeBlobList[0];
  191 + IEnumerator<TuioBlob> testList = freeBlobList.GetEnumerator();
  192 + while (testList.MoveNext())
  193 + {
  194 + TuioBlob testBlob = testList.Current;
  195 + if (testBlob.getDistance(x, y) < closestBlob.getDistance(x, y)) closestBlob = testBlob;
  196 + }
  197 + b_id = closestBlob.getBlobID();
  198 + freeBlobList.Remove(closestBlob);
  199 + }
  200 + else maxBlobID = b_id;
  201 +
  202 + TuioBlob addBlob = new TuioBlob(s_id, b_id, x, y, a, w, h, area);
  203 + blobList.Add(s_id, addBlob);
  204 +
  205 + for (int i = 0; i < listenerList.Count; i++)
  206 + {
  207 + TuioListener listener = (TuioListener)listenerList[i];
  208 + if (listener != null) listener.addTuioBlob(addBlob);
  209 + }
  210 + }
  211 + else
  212 + {
  213 + TuioBlob updateBlob = (TuioBlob)blobList[s_id];
  214 + if ((updateBlob.getX() != x) || (updateBlob.getY() != y || (updateBlob.getAngle() != a || updateBlob.getWidth() != w || updateBlob.getHeight() != h || updateBlob.getArea() != area)))
  215 + {
  216 + updateBlob.update(x, y, a, w, h, area, X, Y, A, m, r);
  217 + for (int i = 0; i < listenerList.Count; i++)
  218 + {
  219 + TuioListener listener = (TuioListener)listenerList[i];
  220 + if (listener != null) listener.updateTuioBlob(updateBlob);
  221 + }
  222 +
  223 + }
  224 + }
  225 +
  226 +
  227 + }
  228 + else if ((command == "alive") && (currentFrame >= lastFrame))
  229 + {
  230 +
  231 + for (int i = 1; i < args.Count; i++)
  232 + {
  233 + // get the message content
  234 + long s_id = (int)args[i];
  235 + newBlobList.Add(s_id);
  236 + // reduce the blob list to the lost blobs
  237 + if (aliveBlobList.Contains(s_id))
  238 + aliveBlobList.Remove(s_id);
  239 + }
  240 +
  241 + // remove the remaining blobs
  242 + for (int i = 0; i < aliveBlobList.Count; i++)
  243 + {
  244 + long s_id = aliveBlobList[i];
  245 + if (!blobList.ContainsKey(s_id)) continue;
  246 + TuioBlob removeBlob = blobList[s_id];
  247 + int blb_id = removeBlob.getBlobID();
  248 +
  249 + blobList.Remove(s_id);
  250 +
  251 + if (blb_id == maxBlobID)
  252 + {
  253 + maxBlobID = -1;
  254 +
  255 +
  256 + if (blobList.Count > 0)
  257 + {
  258 +
  259 + IEnumerator<KeyValuePair<long, TuioBlob>> blblist = blobList.GetEnumerator();
  260 + while (blblist.MoveNext())
  261 + {
  262 + int b_id = blblist.Current.Value.getBlobID();
  263 + if (b_id > maxBlobID) maxBlobID = b_id;
  264 + }
  265 +
  266 + List<TuioBlob> freeBlobBuffer = new List<TuioBlob>();
  267 + IEnumerator<TuioBlob> flist = freeBlobList.GetEnumerator();
  268 + while (flist.MoveNext())
  269 + {
  270 + TuioBlob testBlob = flist.Current;
  271 +
  272 + if (testBlob.getBlobID() < maxBlobID) freeBlobBuffer.Add(testBlob);
  273 + }
  274 + freeBlobList = freeBlobBuffer;
  275 + }
  276 + }
  277 + else
  278 + {
  279 + removeBlob.remove();
  280 + freeBlobList.Add(removeBlob);
  281 + }
  282 +
  283 +
  284 + for (int j = 0; j < listenerList.Count; j++)
  285 + {
  286 + TuioListener listener = (TuioListener)listenerList[j];
  287 + if (listener != null) listener.removeTuioBlob(removeBlob);
  288 + }
  289 + }
  290 +
  291 + List<long> buffer = aliveBlobList;
  292 + aliveBlobList = newBlobList;
  293 +
  294 + // recycling of the List
  295 + newBlobList = buffer;
  296 + newBlobList.Clear();
  297 + }
  298 + else if (command == "fseq")
  299 + {
  300 + lastFrame = currentFrame;
  301 + currentFrame = (int)args[1];
  302 + if (currentFrame == -1) currentFrame = lastFrame;
  303 +
  304 + if (currentFrame >= lastFrame)
  305 + {
  306 +
  307 +
  308 + long currentTime = lastTime;
  309 + if (currentFrame > lastFrame)
  310 + {
  311 +
  312 + TimeSpan span = DateTime.Now - startTime;
  313 + currentTime = span.Milliseconds;
  314 + lastTime = currentTime;
  315 + }
  316 +
  317 + IEnumerator<TuioBlob> refreshList = blobList.Values.GetEnumerator();
  318 +
  319 + while (refreshList.MoveNext())
  320 + {
  321 +
  322 + TuioBlob refreshBlob = refreshList.Current;
  323 + if (refreshBlob.getUpdateTime() == UNDEFINED) refreshBlob.setUpdateTime(currentTime);
  324 + }
  325 +
  326 + for (int i = 0; i < listenerList.Count; i++)
  327 + {
  328 + TuioListener listener = (TuioListener)listenerList[i];
  329 + if (listener != null) listener.refresh(currentTime);
  330 + }
  331 + }
  332 + }
  333 +
  334 +
  335 + } else if (address == "/tuio/2Dcur") {
160 336
161 337 if ((command == "set") && (currentFrame>=lastFrame)) {
162 338 long s_id = (int)args[1];
163 339 float x = (float)args[2];
164   - TUIODecoder.TUIODecoder.instance.FHost.Log(VVVV.PluginInterfaces.V1.TLogType.Debug, x.ToString() + " - " + message.BinaryData.Length);
  340 + //TUIODecoder.TUIODecoder.instance.FHost.Log(VVVV.PluginInterfaces.V1.TLogType.Debug, x.ToString() + " - " + message.BinaryData.Length);
165 341 float y = (float)args[3];
166 342 float X = (float)args[4];
167 343 float Y = (float)args[5];
@@ -306,11 +482,15 @@ public class TuioClient
306 482 listenerList.Remove(listener);
307 483 }
308 484
309   -
310 485 public List<TuioObject> getTuioObjects() {
311 486 return new List<TuioObject>(objectList.Values);
312 487 }
313   -
  488 +
  489 + public List<TuioBlob> getTuioBlobs()
  490 + {
  491 + return new List<TuioBlob>(blobList.Values);
  492 + }
  493 +
314 494 public List<TuioCursor> getTuioCursors() {
315 495 return new List<TuioCursor>(cursorList.Values);
316 496 }
@@ -321,7 +501,14 @@ public class TuioClient
321 501 objectList.TryGetValue(s_id,out tobject);
322 502 return tobject;
323 503 }
324   -
  504 +
  505 + public TuioBlob getTuioBlob(long s_id)
  506 + {
  507 + TuioBlob tblob = null;
  508 + blobList.TryGetValue(s_id, out tblob);
  509 + return tblob;
  510 + }
  511 +
325 512 public TuioCursor getTuioCursor(long s_id) {
326 513 TuioCursor tcursor = null;
327 514 cursorList.TryGetValue(s_id, out tcursor);
6 vvvv45/addonpack/src/nodes/plugins/Network/TUIODecoder/TUIO.NET/TuioListener.cs
@@ -33,7 +33,11 @@ public interface TuioListener
33 33
34 34 void addTuioCursor(TuioCursor tuioCursor);
35 35 void updateTuioCursor(TuioCursor tuioCursor);
36   - void removeTuioCursor(TuioCursor tuioCursor);
  36 + void removeTuioCursor(TuioCursor tuioCursor);
  37 +
  38 + void addTuioBlob(TuioBlob tuioBlob);
  39 + void updateTuioBlob(TuioBlob tuioBlob);
  40 + void removeTuioBlob(TuioBlob tuioBlob);
37 41
38 42 void refresh(long timestamp);
39 43 }
48 vvvv45/addonpack/src/nodes/plugins/Network/TUIODecoder/TUIODecoder.cs
@@ -30,6 +30,9 @@ public class TUIODecoder : IPlugin, IDisposable
30 30 private IValueOut FUniqueIDOut;
31 31 private IValueOut FPosXOut;
32 32 private IValueOut FPosYOut;
  33 + private IValueOut FWidthOut;
  34 + private IValueOut FHeightOut;
  35 + private IValueOut FAreaOut;
33 36 private IValueOut FAngleOut;
34 37 private IValueOut FMovementXOut;
35 38 private IValueOut FMovementYOut;
@@ -166,7 +169,6 @@ public void SetPluginHost(IPluginHost Host)
166 169
167 170 FHost.CreateValueOutput("Unique ID", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FUniqueIDOut);
168 171 FUniqueIDOut.SetSubType(0, int.MaxValue, 1, 0, false, false, true);
169   -
170 172
171 173 FHost.CreateValueOutput("Position X", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FPosXOut);
172 174 FPosXOut.SetSubType(0, 1, 0.0001, 0, false, false, false);
@@ -175,7 +177,16 @@ public void SetPluginHost(IPluginHost Host)
175 177 FPosYOut.SetSubType(0, 1, 0.0001, 0, false, false, false);
176 178
177 179 FHost.CreateValueOutput("Angle", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FAngleOut);
178   - FAngleOut.SetSubType(0, Math.PI*2, 0.0001, 0, false, false, false);
  180 + FAngleOut.SetSubType(0, Math.PI * 2, 0.0001, 0, false, false, false);
  181 +
  182 + FHost.CreateValueOutput("Width", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FWidthOut);
  183 + FPosYOut.SetSubType(0, 1, 0.0001, 0, false, false, false);
  184 +
  185 + FHost.CreateValueOutput("Height", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FHeightOut);
  186 + FPosYOut.SetSubType(0, 1, 0.0001, 0, false, false, false);
  187 +
  188 + FHost.CreateValueOutput("Area", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FAreaOut);
  189 + FPosYOut.SetSubType(0, 1, 0.0001, 0, false, false, false);
179 190
180 191 FHost.CreateValueOutput("Movement X", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FMovementXOut);
181 192 FMovementXOut.SetSubType(float.MinValue, float.MaxValue, 0.0001, 0, false, false, false);
@@ -214,7 +225,7 @@ public void Evaluate(int SpreadMax)
214 225 //if any of the inputs has changed
215 226 //recompute the outputs
216 227 if (FTUIOPacketInput.PinIsChanged)
217   - {
  228 + {
218 229 string currentPacket;
219 230 FTUIOPacketInput.GetString(0, out currentPacket);
220 231 if (currentPacket == "" || currentPacket == null) return;
@@ -247,17 +258,21 @@ public void Evaluate(int SpreadMax)
247 258 }
248 259 }
249 260 else
250   - FTuioClient.ProcessMessage((OSC.NET.OSCMessage)packet);
  261 + FTuioClient.ProcessMessage((OSC.NET.OSCMessage)packet);
251 262 }
252 263 }
253 264 List<TuioCursor> cursors = FTuioClient.getTuioCursors();
254 265 List<TuioObject> objects = FTuioClient.getTuioObjects();
255   - int slicecount = cursors.Count + objects.Count;
  266 + List<TuioBlob> blobs = FTuioClient.getTuioBlobs();
  267 + int slicecount = cursors.Count + objects.Count + blobs.Count;
256 268 FSessionIDOut.SliceCount = slicecount;
257 269 FClassIDOut.SliceCount = slicecount;
258 270 FUniqueIDOut.SliceCount = slicecount;
259 271 FPosXOut.SliceCount = slicecount;
260 272 FPosYOut.SliceCount = slicecount;
  273 + FWidthOut.SliceCount = slicecount;
  274 + FHeightOut.SliceCount = slicecount;
  275 + FAreaOut.SliceCount = slicecount;
261 276 FAngleOut.SliceCount = slicecount;
262 277 FMovementXOut.SliceCount = slicecount;
263 278 FMovementYOut.SliceCount = slicecount;
@@ -302,6 +317,29 @@ public void Evaluate(int SpreadMax)
302 317 FRotationSpeedOut.SetValue(curindex, obj.getRotationSpeed());
303 318 curindex++;
304 319 }
  320 +
  321 + int blobOffset = 2000;
  322 + for (int i = 0; i < blobs.Count; i++)
  323 + {
  324 + TuioBlob blb = blobs[i];
  325 + FSessionIDOut.SetValue(curindex, blb.getSessionID());
  326 + FClassIDOut.SetValue(curindex, 2);
  327 + FUniqueIDOut.SetValue(curindex, blb.getBlobID() + blobOffset);
  328 + FPosXOut.SetValue(curindex, blb.getPosition().getX() * 2 - 1);
  329 + FPosYOut.SetValue(curindex, -blb.getPosition().getY() * 2 + 1);
  330 + FWidthOut.SetValue(curindex, blb.getWidth());
  331 + FHeightOut.SetValue(curindex, blb.getHeight());
  332 + FAreaOut.SetValue(curindex, blb.getArea());
  333 + FAngleOut.SetValue(curindex, 1 - ((blb.getAngle()) / (Math.PI + Math.PI)));
  334 + FMovementXOut.SetValue(curindex, blb.getXSpeed());
  335 + FMovementYOut.SetValue(curindex, blb.getYSpeed());
  336 + FMotionAccelerationOut.SetValue(curindex, blb.getMotionAccel());
  337 + FRotationAccelerationOut.SetValue(curindex, blb.getRotationAccel());
  338 + FMotionSpeedOut.SetValue(curindex, blb.getMotionSpeed());
  339 + FRotationSpeedOut.SetValue(curindex, blb.getRotationSpeed());
  340 + curindex++;
  341 + }
  342 +
305 343 }
306 344
307 345 #endregion mainloop
28 vvvv45/addonpack/src/nodes/plugins/Network/TUIODecoder/TUIODecoder.csproj
@@ -18,6 +18,7 @@
18 18 </UpgradeBackupLocation>
19 19 <OldToolsVersion>2.0</OldToolsVersion>
20 20 <TargetFrameworkProfile />
  21 + <IsWebBootstrapper>false</IsWebBootstrapper>
21 22 <PublishUrl>publish\</PublishUrl>
22 23 <Install>true</Install>
23 24 <InstallFrom>Disk</InstallFrom>
@@ -30,7 +31,6 @@
30 31 <MapFileExtensions>true</MapFileExtensions>
31 32 <ApplicationRevision>0</ApplicationRevision>
32 33 <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
33   - <IsWebBootstrapper>false</IsWebBootstrapper>
34 34 <UseApplicationTrust>false</UseApplicationTrust>
35 35 <BootstrapperEnabled>true</BootstrapperEnabled>
36 36 </PropertyGroup>
@@ -42,6 +42,7 @@
42 42 <DefineConstants>DEBUG;TRACE</DefineConstants>
43 43 <ErrorReport>prompt</ErrorReport>
44 44 <WarningLevel>4</WarningLevel>
  45 + <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
45 46 </PropertyGroup>
46 47 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
47 48 <DebugType>pdbonly</DebugType>
@@ -50,12 +51,14 @@
50 51 <DefineConstants>TRACE</DefineConstants>
51 52 <ErrorReport>prompt</ErrorReport>
52 53 <WarningLevel>4</WarningLevel>
  54 + <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
53 55 </PropertyGroup>
54 56 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'vvvv Debug|AnyCPU' ">
55   - <OutputPath>.\</OutputPath>
  57 + <OutputPath>..\..\..\..\..\lib\nodes\plugins\</OutputPath>
56 58 <DefineConstants>TRACE;DEBUG</DefineConstants>
57 59 <DebugType>full</DebugType>
58 60 <DebugSymbols>true</DebugSymbols>
  61 + <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
59 62 </PropertyGroup>
60 63 <ItemGroup>
61 64 <Reference Include="System" />
@@ -67,6 +70,16 @@
67 70 </Reference>
68 71 <Reference Include="System.Data" />
69 72 <Reference Include="System.Xml" />
  73 + <Reference Include="VVVV.PluginInterfaces, Version=2.0.4484.20715, Culture=neutral, processorArchitecture=MSIL">
  74 + <SpecificVersion>False</SpecificVersion>
  75 + <HintPath>..\..\..\..\core\PluginInterfaces\bin\Debug\VVVV.PluginInterfaces.dll</HintPath>
  76 + <Private>False</Private>
  77 + </Reference>
  78 + <Reference Include="VVVV.Utils, Version=1.0.4484.20713, Culture=neutral, processorArchitecture=MSIL">
  79 + <SpecificVersion>False</SpecificVersion>
  80 + <HintPath>..\..\..\..\core\PluginInterfaces\bin\Debug\VVVV.Utils.dll</HintPath>
  81 + <Private>False</Private>
  82 + </Reference>
70 83 </ItemGroup>
71 84 <ItemGroup>
72 85 <Compile Include="OSC.NET\OSCBundle.cs" />
@@ -74,6 +87,7 @@
74 87 <Compile Include="OSC.NET\OSCPacket.cs" />
75 88 <Compile Include="OSC.NET\OSCReceiver.cs" />
76 89 <Compile Include="OSC.NET\OSCTransmitter.cs" />
  90 + <Compile Include="TUIO.NET\TuioBlob.cs" />
77 91 <Compile Include="TUIO.NET\TuioClient.cs" />
78 92 <Compile Include="TUIO.NET\TuioContainer.cs" />
79 93 <Compile Include="TUIO.NET\TuioCursor.cs" />
@@ -84,16 +98,6 @@
84 98 <Compile Include="TUIO.NET\TuioPoint.cs" />
85 99 </ItemGroup>
86 100 <ItemGroup>
87   - <ProjectReference Include="..\..\..\..\core\PluginInterfaces\PluginInterfaces.csproj">
88   - <Project>{837C740A-485C-424C-8C38-086ED3DC73CB}</Project>
89   - <Name>PluginInterfaces</Name>
90   - </ProjectReference>
91   - <ProjectReference Include="..\..\..\..\core\Utils\Utils.csproj">
92   - <Project>{C3773330-81FA-4253-823E-1BDE1529AA99}</Project>
93   - <Name>Utils</Name>
94   - </ProjectReference>
95   - </ItemGroup>
96   - <ItemGroup>
97 101 <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
98 102 <Visible>False</Visible>
99 103 <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
5 vvvv45/addonpack/src/nodes/plugins/Network/TUIODecoder/TUIODecoder.sln
... ... @@ -1,7 +1,6 @@
1 1 
2   -Microsoft Visual Studio Solution File, Format Version 9.00
3   -# Visual Studio 2005
4   -# SharpDevelop 2.2.1.2648
  2 +Microsoft Visual Studio Solution File, Format Version 11.00
  3 +# Visual Studio 2010
5 4 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TUIODecoder", "TUIODecoder.csproj", "{82C7F62E-F977-4903-B309-703A01A91975}"
6 5 EndProject
7 6 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PluginInterfaces", "..\..\_PluginInterfaces\PluginInterfaces.csproj", "{837C740A-485C-424C-8C38-086ED3DC73CB}"

No commit comments for this range

Something went wrong with that request. Please try again.