{"id":30936098,"url":"https://github.com/mkalten/tuio11_net","last_synced_at":"2025-09-10T16:05:28.249Z","repository":{"id":22919874,"uuid":"26268781","full_name":"mkalten/TUIO11_NET","owner":"mkalten","description":".NET TUIO 1.1 reference implementation","archived":false,"fork":false,"pushed_at":"2023-12-21T23:02:21.000Z","size":96,"stargazers_count":27,"open_issues_count":3,"forks_count":15,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-08-25T15:41:07.879Z","etag":null,"topics":["c-sharp","library","tuio","tuio-client"],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mkalten.png","metadata":{"files":{"readme":"README.txt","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-11-06T12:22:16.000Z","updated_at":"2024-07-09T16:54:27.000Z","dependencies_parsed_at":"2023-01-13T22:27:05.722Z","dependency_job_id":null,"html_url":"https://github.com/mkalten/TUIO11_NET","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mkalten/TUIO11_NET","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkalten%2FTUIO11_NET","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkalten%2FTUIO11_NET/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkalten%2FTUIO11_NET/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkalten%2FTUIO11_NET/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mkalten","download_url":"https://codeload.github.com/mkalten/TUIO11_NET/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkalten%2FTUIO11_NET/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274486428,"owners_count":25294473,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-10T02:00:12.551Z","response_time":83,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c-sharp","library","tuio","tuio-client"],"created_at":"2025-09-10T16:05:09.697Z","updated_at":"2025-09-10T16:05:28.235Z","avatar_url":"https://github.com/mkalten.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"TUIO C# LIBRARY AND EXAMPLES\r\n----------------------------\r\nCopyright (c) 2005-2016 Martin Kaltenbrunner \u003cmartin@tuio.org\u003e\r\nThis software is part of reacTIVision, an open source fiducial\r\ntracking and multi-touch framework based on computer vision. \r\nhttp://reactivision.sourceforge.net/\r\n\r\nMany thanks to Andrew Jones \u003candrew.b.jones@gmail.com\u003e for his \r\nimprovements of the C# properties and documentation style.\r\n\r\nDemo Applications:\r\n------------------\r\nThis package contains two demo applications which are able\r\nto receive TUIO messages from any TUIO enable tracker.\r\n\r\n* TuioDump prints the TUIO events directly to the concole\r\n* TuioDemo draws the object and cursor state on the screen\r\n\r\nYou can use these demo applications for debugging purposes, \r\nor use them as a starting point for the development of your own\r\nC# applications implementing the TUIO protocol. Please refer to\r\nthe source code of the both examples and the following section.\r\n\r\nPressing F1 will toggle FullScreen mode with the TuioDemo,\r\npressing ESC or closing the Window will end the application.\r\nHitting the V key will print the TUIO events to the console.\r\n\r\nKeep in mind to make your graphics scalable for the varying\r\nscreen and window resolutions. A reasonable TUIO application\r\nwill run in fullscreen mode, although the windowed mode might\r\nbe useful for debugging purposes or working with the Simulator.\r\n\r\nFor your convenience this example contains a monodevelop project.\r\n\r\nApplication Programming Interface:\r\n----------------------------------\r\nFirst you  need to create an instance of TuioClient. This class \r\nis listening to TUIO messages on the specified port and generates\r\nhigher level messages based on the object events.\r\n\r\nYour application needs to implement the TuioListener interface,\r\nand has to be added to the TuioClient in order to receive messages.\r\n\r\n\t\"public class MyApplication : TuioListener\"\r\n\r\nA simple code snippet for setting up a TUIO session:\r\n\r\n\tMyApplication app = new MyApplication();\r\n\tTuioClient client = new TuioClient();\r\n\tclient.addTuioListener(app);\r\n\tclient.start();\r\n\r\nA TuioListener needs to implement the following methods:\r\n\r\n* addTuioObject(TuioObject tobj):\r\n  this is called when an object becomes visible\r\n* updateTuioObject(TuioObject tobj):\r\n  and object was moved on the table surface\r\n* removeTuioObject(TuioObject tobj):\r\n  an object was removed from the table\r\n\r\n* addTuioCursor(TuioCursor tcur):\r\n  this is called when a new cursor is detected\r\n* updateTuioCursor(TuioCursor tcur):\r\n  a cursor is moving on the table surface\r\n* removeTuioCursor(TuioCursor tcur):\r\n  a cursor was removed from the table\r\n\r\n* addTuioBlob(TuioBlob tblob):\r\n  this is called when a new blob is detected\r\n* updateTuiooBlob(TuioBlob tblob):\r\n  a blob is moving on the table surface\r\n* removeTuiooBlob(TuioBlob tblob):\r\n  a blob was removed from the table\r\n\r\n* refresh(TuioTime bundleTime):\r\n  this method is called after each bundle,\r\n  use it to repaint your screen for example\r\n\r\nEach object or cursor is identified with a unique session ID that is maintained\r\nover its lifetime. Additionally each object carries symbol ID that corresponds\r\nto its attached fiducial marker number. The cursor ID of the cursor object is always\r\na number in the range of all currently detected cursor blobs.\r\n\r\nThe TuioObject and TuioCursor references are updated automatically by the TuioClient\r\nand are always referencing to the same instance over the object lifetime.\r\nAll the TuioObject and TuioCursor attributes are encapsulated and can be\r\naccessed with methods such as getX(), getY() and getAngle() and so on.\r\nTuioObject and TuioCursor also have some additional convenience methods\r\nfor the calculation of distances and angles between objects. The getPath()\r\nmethod returns a Vector of TuioPoints representing the movement path of the object.\r\n\r\nAlternatively the TuioClient class contains some methods for the polling\r\nof the currently visible objects and cursors. There are methods which return\r\neither a list or individual object and cursor objects. The TuioObject and\r\nTuioCursor classes have been added as a container which also can be used\r\nby external classes.\r\n\r\n* getTuioObjects() returns a Vector of all currently present TuioObjects\r\n* getTuioCursors() returns a Vector of all currently present TuioCursors\r\n* getTuioBlobs() returns a Vector of all currently present TuioBlobs\r\n* getTuioObject(long s_id) returns a TuioObject (or NULL if not present)\r\n* getTuioCursor(long s_id) returns a TuioCursor (or NULL if not present)\r\n* getTuioBlob(long s_id) returns a TuioBlob (or NULL if not present)\r\n\r\nLicense:\r\n--------\r\nThis library is free software; you can redistribute it and/or\r\nmodify it under the terms of the GNU Lesser General Public\r\nLicense as published by the Free Software Foundation; either\r\nversion 3.0 of the License, or (at your option) any later version.\r\n \r\nThis library is distributed in the hope that it will be useful,\r\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\r\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r\nLesser General Public License for more details.\r\n \r\nYou should have received a copy of the GNU Lesser General Public\r\nLicense along with this library; if not, write to the Free Software\r\nFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r\n\r\nReferences:\r\n-----------\r\nThis example is using the OSC.NET OpenSound Control library for C#\r\nalong with a lot of changes and improvements by the author.\r\nhttp://luvtechno.net/d/1980/02/open_sound_control_for_net_2.html\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmkalten%2Ftuio11_net","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmkalten%2Ftuio11_net","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmkalten%2Ftuio11_net/lists"}