Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hello Matthew #2

Open
touchhope opened this issue Feb 14, 2016 · 18 comments
Open

Hello Matthew #2

touchhope opened this issue Feb 14, 2016 · 18 comments

Comments

@touchhope
Copy link

Hello Matthew

First, a big thank you for your csharp touchplus device commander program last year !

Though I have posted last month a message on github to Umar Nizamani
umarniz/TouchPlusLib#2
to get his help on C++, I think we also need a csharp expert to have win_cursor_plus.exe working on https://github.com/Ractiv/touch_plus_source_code/tree/master !

Indeed, in VS Community 2015, I've uncommented some code on main.cpp in track_plus to get win_cursor_plus.exe compiled and running from "C:\touch_plus_source_code\build", after copying turbojpeg.dll to build's folder, because tasklist command in processes.cpp doesn't run from software's installer folder "C:\Program Files (x86)\Ractiv\Touch+ Software" for blank spaces characters in path.

///*
static bool show_wiggle_sent = false;
if (!show_wiggle_sent)
{
if (child_module_name != "")
ipc->open_udp_channel(child_module_name);
ipc->send_message("menu_plus", "show window", "");
ipc->send_message("menu_plus", "show wiggle", "");//todo
}
show_wiggle_sent = true;
//*/

    ///*

if (child_module_name != "" && child_module_path != "")
{
static bool first = true;
if (first && process_running(child_module_name + extension0))
{
kill_process(child_module_name + extension0);
while (process_running(child_module_name + extension0))
{
console_log("wait kill");
Sleep(1000);
}
}
first = false;
}
//*/

    //

if (child_module_name != "" && child_module_path != "" && !process_running(child_module_name + extension0))
//
create_process(child_module_path, child_module_name + extension0);

I haven't uncommented these lines though I don't know if it's important or not but it doesn't seems to make any difference at running :

// imshow("image_preprocessed1", image_preprocessed1);
// setMouseCallback("image_preprocessed1", left_mouse_cb, NULL);
// waitKey(1);
// return false;

// ipc->send_message("menu_plus", "hide window", "");

I get this in console running C:\touch_plus_source_code\build\win_cursor_plus\win_cursor_plus.exe :
"message received open udp channel win_cursor_plus0
message sent: track_plus open udp channel 54452
bound to UDP port 54452"

but I can't get any same green win cursor as seen on v0.55b on Alexandru Bauer's computer : https://www.youtube.com/watch?v=ulFTmjiwmAA

Maybe it's a typically csharp issue on win_cursor_plus and win_cursor_plus_fallback.

Thanks in advance for maybe a new help from you... if you have a little time again for us...

I'm gonna contact Corey Manders to have his global feeling on Ractiv's ambitious (dead ?) project and on OSX port for existing code.

I would like to get also his scientific and technical point of view on gesture recognition and hand tracking with the touchplus device because part of the wheel seems to have already been invented, see : (https://github.com/nickgillian/grt), (https://github.com/OpenGP/htrack).

Best Regards,

Christian LERICHE
known as The Frog and also touchhope on Wassim Gharbi's website

@shadowmite
Copy link
Owner

I spent a good bit of time playing with this today, but you sound like you have gotten farther, can you zip your working folder up and load it up in google drive so that I can try what you've done? Or itemize the changes you've made in Visual Studio so I can get on the same page?

@touchhope
Copy link
Author

"to make a try to run something on windows, to see only 6 little windows with your fingers moving in realtime for now, just copy turbojpeg.dll file to build folder, after compiling in VS Community 2015, then launch daemon_plus.exe directly from build folder, without modifying any code in fact as soon as your path is without any blank spaces (C:\touch_plus_source_code\build), see : Ractiv/touch_plus_source_code#36"

So then I only was looking for commented code, as I had explained, to try to launch wincursor_plus, nothing else, but it runs in console mode, only talking about udp port.

Unfortunately, I erase the folder to make other tests as I was suspecting blank spaces path problem.

@shadowmite
Copy link
Owner

After a good bit of hacking around I've gotten as far as you did and enabled the win_cursor_plus entry point as well as the UDP port opening process. That all appears to work and yet nothing more happens in the app.

However, I can't find anywhere that anything is ever done with the UDP session. No where that data is sent over. The code looks incomplete to me. :(

I'll have to spend some time on it to fully understand the flow, it's a complex project with a lot of moving pieces.

@touchhope
Copy link
Author

Hi Matthew

I've just left a post on Umar's github to see if he could help us :

"Hi Umar

To me, Lai must have had build a kind of debugging console mode that must be disabled somewhere in code to get output on windows interface with win_cursor_plus to get the famous pointing green circle as seen on v0.55b version. Maybe some true or false to change somewhere or part of the code has to be commented or uncommented somewhere.

As you seems to be cleaver on many things Umar, could you explain us, to Matthew and me :

how to get csharp exe launched from c++ exe ?
what is udp port and what it stands for in this project ?
what is the problem of special permit on signed code that Ractiv have to purchase from Microsoft to allow clicking injection on some of elements of new Windows interface ?
nwjs node webkit https://github.com/nwjs/nw.js, Lai seems to be working on for now, seems to be launching or controlling daemon processes and menus, and drive Lai to kill 3 from 4 default automatically launched processes with tasklist command on processes.cpp : what can you tell us about nwjs ?

Thanks in advance, Umar, if you find a little time and answers to us.

Kind regards,

Christian"

@touchhope
Copy link
Author

Hi touchhope,

I am sorry for not responding earlier on this. I did go through the code for a couple of hours a few weeks back and in its current state it has been left in a debug state where the dev was midway through adding some functionality and has lots of testing code splattered across the code. Secondly the code has very few comments which makes it very hard to understand functionality throughout.

I think for it to be fully functional and usable it would require a lot of time to work on it.

how to get csharp exe launched from c++ exe ?

This part of the code is commented in the code which I was able to run but still wouldn't move the cursor based on my movements. I will see if I can get this working over the weekend so that even with buggy movement end users can have a controllable cursor.

what is udp port and what it stands for in this project ?

UDP is a networking protocol and the touch plus is built with multiple different executable (daemon, gesture recognizer, cursor control) all components talk to each other via UDP.

what is the problem of special permit on signed code that Ractiv have to purchase from Microsoft to allow clicking injection on some of elements of new Windows interface ?

I am guessing this would be for controlling the cursor on windows 8 and above as then the application would need to have a Microsoft certificate to be able to work as an input device.

nwjs node webkit https://github.com/nwjs/nw.js, Lai seems to be working on for now, seems to be launching or controlling daemon processes and menus, and drive Lai to kill 3 from 4 default automatically launched processes with tasklist command on processes.cpp : what can you tell us about nwjs ?

NWJS is a framework to run JavaScript apps on desktops using chrome. I am not sure if the menu application is made using NWJS or directly via flash but it just communicates via UDP with the daemon process which is made in c++ and is part of the project.

@touchhope
Copy link
Author

Hi Matthew,

Robert Sweetman (http://www.robertsweetman.co.uk/) says he will send next week a unit to Dr. Andrea Tagliasacchi.

I've just send him this email in response to his question about Kickstarter Haptix project and also on http://faceshift.com/studio/2015.2/introduction.html#prerequisites :

Hi Andrea

Here's initial Kickstarter's project, called Haptix :

https://www.kickstarter.com/projects/haptix/haptix-multitouch-reinvented/comments

Jerry Bocci posted on 23th February :

Don't forget, they also had assistance from:
"The Iron Yard" startup accelerator (https://www.theironyard.com/)
Thiel Foundation (http://www.thielfoundation.org/team) also (PR guy, ross@torchcommunications.com)
Zhexiong Manufacturing (I can't find these guys online... any help?)

I guess samuel.hsueh@etron.com.tw has technical details on eSP870 Etron 3D Depth-Map Camera Controller :

https://plus.google.com/107414035407354334983

https://www.google.fr/search?q=eSP870&ie=utf-8&oe=utf-8&gws_rd=cr&ei=fCHlVuagNYW1a6XPpdgE#q=eSP870&tbm=vid

Maybe let's also have a look at here :

https://www.leopardimaging.com/uploads/LI-ESP870-STEREO-M031_datasheet.pdf

http://www.computex.biz/etron/default.aspx?com_id=2215&pdt_id=62402&PageType=ProductDetail&ContentTab=Specification

http://www.etron.com/en/pr/latestnews2.php?ID=341

The initial Ractiv's roadmap was :
(OSX support)
Linux support
SDK (will give you access to images, hand segmentation, and finger coordinates)
Multitouch gestures (pinch to zoom, two-finger scroll)
Table mode (manual calibration on untextured surfaces)
Improved tracking performance
Faster performance (including SSE and GPU acceleration) and lower CPU usage
Gesture learner (so you can teach Touch+ to recognize different gestures to activate different functions)
3D hand model

Me and my ACER Aspire R7 with Ezel Hinge are particularly interest with "Table mode (manual calibration on untextured surfaces)" : I dream of controling my pc directly from the flat surface of my white physical desktop.

But is it possible if the sensor has no landmarks to determine 3D positions of my fingers on a virtual untextured surface to detect hard or soft pressure of fingerprint for example ?

Indeed, the 07/25/2015 version I put to my dropbox for Umar (umarniz/TouchPlusLib#2) must have been used to compile v0.55b (https://www.youtube.com/watch?v=ulFTmjiwmAA), and used a disparity mapping system with two sorts of cambered chessboards images (0.jpg and 1.jpg in C:\touch_plus_source_code\build\userdata\0101007491) and references to 4 keys on querty keyboard on calibration step.

I particularly intrigued by the 565 .nrocinunerrad files in C:\touch_plus_source_code\build\database and \labels (rocknroll1 to 19, rest0 to 350, poit1(all alone) and point0 to 206) which seems to generate all sorts of numbers calculations, see : Ractiv/touch_plus_source_code#36

I know nothing about math and geometry, I'm full of paradox because I've studied letters and languages and however I love computer engineering and technology in general.

The last 12/07/2015 version, very confused with unity game engine inside, send nothing to udp channel for win_cursor_plus, but Windows 10 is so buggy even with the last builds, I'm fed up with Microsoft, often my PC just don't load the new interface and to shutdown I have to push Windows key + R to run shutdown /s ! My favorite linux distro is Salix from Slackware Darkstar.

By the way, do you think the device could also have been badly designed electronically and so not giving full access to all of the eSP870 possibilities ?

Cheers,

Touchhope

Message du : 12/03/2016 21:49
De : "Andrea Tagliasacchi " andrea.tagliasacchi@gmail.com
A : "Robert Sweetman" robertiansweetman@gmail.com
Copie à : leriche.christian@sfr.fr, touchplus@aussiebroadband.com.au
Sujet : Re: Re: Ractiv's TouchPlus 3D Stereo Camera : units wanted for labs

Hello there,

I am always clearly interested in looking at new sensors. As I mentioned in my earlier messages is how does it compare to commercial software. Recently Intel announced its linux drivers, thus finally allowing me to perform research on up-to-date hardware.

So, how does your device compare to what’s already out there? My colleagues at FaceShift had a comparison (somewhere on this site) visually analyzing the performance of various hardware with their product. And how does your technology compares internally? (i.e. what are you doing differently that gives you better results).

Paying for shipping costs is not a problem at all, the question is whether it’s worth my time. You mentioned a kickstarter, can you link it to me? The only one I recall was NimbleSense, but I know that team personally.

Have a great day
—Andrea

@touchhope
Copy link
Author

I forgot to tell you Lokki (Lachlan Pollock) and Vic Jang, student at UC Davis, California will provide Maz with a unit (Lokki's programmer friend on OpenCV) in California too (and close to Vic), so that he and his team can have a look at the hardware as well as test software.

@touchhope
Copy link
Author

@touchhope
Copy link
Author

@touchhope
Copy link
Author

Hi Matthew,

If you have Visual Studio 2013 without Update 4 on your computer, could you please have a look at Ractiv/touch_plus_source_code#38 ?

Thanks in advance,

Cheers,

Touchhope

Trying to compile earlier 07/08/2015 July build with VS Community 2015 #38

Hi anyone,

As Lachlan Pollock (Lokki) said "I actually had it functioning in Windows 7 and even tried playing some minecraft with it. But having briefly used the Touch+ I've got to say I enjoyed the experience and found it a lot more natural than the leap ever was on a flat surface.", I've asked him for details.

He told me it was an earlier July build, so I'm trying to compile earlier 07/08/2015 July build with VS Community 2015.

But after copying missing "dependencies" folder from 07/14/2015 version and having incoherent paths corrected in initial "dependencies" folder to avoid include errors, I still get a lot of compiling others errors (see below and the end).

Can someone, gifted enough on c++ (I don't feel able to resolved all the errors actually shown on VS Community 2015) could make a try compiling under Visual Studio 2013 without Update 4 because I don't have this VS version on my computer ?

Here is on dropbox the touch_plus_source_code.zip file to extract in a "c:\touch_plus_source_code" folder :

https://www.dropbox.com/s/x40qxjkd3uho1nq/touch_plus_source_code.zip?dl=0

In needed, here is state of code on 07/08/2015 :

https://www.dropbox.com/s/0bp4c1c3zz9djsd/07082015.zip?dl=0

Thanks in advance,

Cheers,

Touchhope

Post Scriptum :

Don't forget the Build instructions:

Install Visual Studio 2013 (do not install any updates, Visual Studio 2013 Update 4 has been proven to produce bad builds. Other versions of Visual Studio have not yet been tested).

Quit Visual Studio if it is already running, then add the following variables to "Windows Environment Variables" (replace "root_dir" with the path of the cloned repository, e.g. "C:\touch_plus_source_code")
DIRECTSHOW_DIR root_dir\dependencies\DirectShow
ETRON_DIR root_dir\dependencies\Etron
OPENCV_DIR root_dir\dependencies\Opencv\build\x86\vc12
SFML_DIR root_dir\dependencies\SFML

Start Visual Studio with administrator permissions, then open "root_dir\track_plus_visual_studio\track_plus.sln"

Press F7 to build solution. If solution builds without a hiccup, you're all set. If an error is thrown, double click on the error in "Error List", and it should open up "winnt.h". Locate the following lines:

typedef void *PVOID;
typedef void * POINTER_64 PVOID64;

Add one line, so that they become:

#define POINTER_64 __ptr64
typedef void *PVOID;
typedef void * POINTER_64 PVOID64;

If you couldn't save "winnt.h", restart Visual Studio as administrator and try again. You should be able to build the solution now.

Here are the shown errors on VS Community 2015 :

Gravity Project File No. Description State Line deleting
Warning C4577 'noexcept' used without the administration of specified exceptions. The decision on exception is not guaranteed. Specify / EHsc (compilation of the source .. \ file .. \ track_plus_core \ track_plus \ processes.cpp) track_plus C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC \ include \ exception 358
Error CS0246 The type of name or namespace 'TCD' not found win_cursor_plus C (you is missing a using directive or an assembly reference?): \ Touch_plus_source_code \ track_plus_visual_studio \ win_cursor_plus \ MainWindow.xaml.cs 36 Assets
Error CS0246 The type of name or namespace 'PointerTouchInfo' not found (you is missing a using directive or an assembly reference?) Win_cursor_plus C: \ touch_plus_source_code \ track_plus_visual_studio \ win_cursor_plus \ MainWindow.xaml.cs 334 Assets
Error (active) can not open source file "opencv2 / opencv.hpp" track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ Camera.h 23
Error (active) can not open "EtronDI_O.h" track_plus source file c: \ touch_plus_source_code \ track_plus_core \ track_plus \ Camera.h 24
Error (active) can not open source file "eSPAEAWBCtrl.h" track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ Camera.h 25
Error (active) the name must be a namespace name track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ Camera.h 31
Error (active) identifier "Mat" undefined track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ Camera.h 38
Error (active) identifier "Mat" undefined track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ Camera.h 48
Error (active) identifier "Mat" undefined track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ Camera.h 86
Error (active) identifier "Mat" undefined track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ Camera.h 87
Error (active) identifier "Rect" undefined track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ Camera.h 89
Error (active) identifier "Rect" undefined track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ Camera.h 90
Error (active) identifier "CvCapture" undefined track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ Camera.h 93
Error (active) identifier "Videowriter" undefined track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ Camera.h 99
Error (active) can not open source file "opencv / cxcore.h" track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ CameraDS.h 26
Error (active) can not open "qedit.h" track_plus source file c: \ touch_plus_source_code \ track_plus_core \ track_plus \ CameraDS.h 28
Error (active) can not open source file "turbojpeg.h" track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ RactivJPEGDecompressor.h 22
Warning Could not resolve this reference. Could not find assembly "TCD.System.TouchInjection". Verify that the assembly exists on disk. If required by your code, you may get compiler errors. win_cursor_plus
Warning The referenced component 'TCD.System.TouchInjection' not found. win_cursor_plus
Warning D9025 substitute '/ sdl-' with '/ GS' track_plus C: \ touch_plus_source_code \ track_plus_visual_studio \ track_plus \ ks 1
Warning D9007 '/ Gm' requires '/ Zi or / ZI'; ignored track_plus option C: \ touch_plus_source_code \ track_plus_visual_studio \ track_plus \ ks 1
Warning D9025 substitute '/ sdl-' with '/ GS' track_plus C: \ touch_plus_source_code \ track_plus_visual_studio \ track_plus \ ks 1
Warning D9007 '/ Gm' requires '/ Zi or / ZI'; ignored track_plus option C: \ touch_plus_source_code \ track_plus_visual_studio \ track_plus \ ks 1
Warning D9025 substitute '/ sdl-' with '/ GS' track_plus C: \ touch_plus_source_code \ track_plus_visual_studio \ track_plus \ ks 1
Warning D9025 substitute '/ sdl-' with '/ GS' track_plus C: \ touch_plus_source_code \ track_plus_visual_studio \ track_plus \ ks 1
Warning D9007 '/ Gm' requires '/ Zi or / ZI'; ignored track_plus option C: \ touch_plus_source_code \ track_plus_visual_studio \ track_plus \ ks 1
Warning D9007 '/ Gm' requires '/ Zi or / ZI'; ignored track_plus option C: \ touch_plus_source_code \ track_plus_visual_studio \ track_plus \ ks 1
Warning D9025 substitute '/ sdl-' with '/ GS' track_plus C: \ touch_plus_source_code \ track_plus_visual_studio \ track_plus \ ks 1
Warning D9007 '/ Gm' requires '/ Zi or / ZI'; ignored track_plus option C: \ touch_plus_source_code \ track_plus_visual_studio \ track_plus \ ks 1
C1010 error unexpected end of file while looking for precompiled header. Would not you not forgot to add '#include "stdafx.h"' to your source? daemon_plus c: \ touch_plus_source_code \ track_plus_core \ daemon_plus \ udp.cpp 30
Error C1083 Unable to open include file: 'opencv2 / opencv.hpp': No such file or directory (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ blob_detector_new.cpp) track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ blob_new.h 21
Error C1083 Unable to open include file: 'opencv2 / opencv.hpp': No such file or directory (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ blob_new.cpp) track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ blob_new.h 21
Error C1083 Unable to open include file: 'opencv2 / opencv.hpp': No such file or directory (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ blob_tracker.cpp) track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ blob_new.h 21
C1010 error unexpected end of file while looking for precompiled header. Would not you not forgot to add '#include "stdafx.h"' to your source? daemon_plus c: \ touch_plus_source_code \ track_plus_core \ daemon_plus \ string_functions.cpp 66
Error C1083 Unable to open include file: 'opencv2 / opencv.hpp': No such file or directory (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ camera_initializer_new.cpp) track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ camera_initializer_new.h 21
C1010 error unexpected end of file while looking for precompiled header. Would not you not forgot to add '#include "stdafx.h"' to your source? daemon_plus c: \ touch_plus_source_code \ track_plus_core \ daemon_plus \ processes.cpp 92
Error C1083 Unable to open include file: 'opencv2 / opencv.hpp': No such file or directory (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ contour_functions.cpp) track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ contour_functions.h 21
Error C1083 Unable to open include file: 'opencv2 / opencv.hpp': No such file or directory (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ c_tracker.cpp) track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ kalman.h 21
C1010 error unexpected end of file while looking for precompiled header. Would not you not forgot to add '#include "stdafx.h"' to your source? daemon_plus c: \ touch_plus_source_code \ track_plus_core \ daemon_plus \ main.cpp 183
Error C1083 Unable to open include file: 'opencv / bhp-h': No such file or directory (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ exponential.cpp) track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ curve_fitting.h 21
C1010 error unexpected end of file while looking for precompiled header. Would not you not forgot to add '#include "stdafx.h"' to your source? daemon_plus c: \ touch_plus_source_code \ track_plus_core \ daemon_plus \ ipc.cpp 194
C1010 error unexpected end of file while looking for precompiled header. Would not you not forgot to add '#include "stdafx.h"' to your source? daemon_plus c: \ touch_plus_source_code \ track_plus_core \ daemon_plus \ globals.cpp 36
C1010 error unexpected end of file while looking for precompiled header. Would not you not forgot to add '#include "stdafx.h"' to your source? daemon_plus c: \ touch_plus_source_code \ track_plus_core \ daemon_plus \ filesystem.cpp 169
Warning C4530 C ++ exception handler used, but the progress of semantics have not been activated. Specify / EHsc (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ curve_fitting.cpp) track_plus C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC \ include \ XLocale 341
Error C1083 Unable to open include file: 'opencv / bhp-h': No such file or directory (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ curve_fitting.cpp) track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ curve_fitting.h 21
Error C1083 Unable to open include file: 'opencv2 / opencv.hpp': No such file or directory (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ Camera.cpp) track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ Camera.h 23
Warning C4530 C ++ exception handler used, but the progress of semantics have not been activated. Specify / EHsc (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ foreground_extractor_new.cpp) track_plus C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC \ include \ XLocale 341
Error C1083 Unable to open include file: 'opencv / cxcore.h': No such file or directory (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ CameraDS.cpp) track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ CameraDS.h 26
Error C1083 Unable to open include file: 'opencv2 / opencv.hpp': No such file or directory (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ foreground_extractor_new.cpp) track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ blob_new.h 21
Warning C4530 C ++ exception handler used, but the progress of semantics have not been activated. Specify / EHsc (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ globals.cpp) track_plus C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC \ include \ XLocale 341
Warning C4530 C ++ exception handler used, but the progress of semantics have not been activated. Specify / EHsc (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ hand_resolver.cpp) track_plus C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC \ include \ XLocale 341
Warning C4530 C ++ exception handler used, but the progress of semantics have not been activated. Specify / EHsc (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ hand_splitter_new.cpp) track_plus C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC \ include \ XLocale 341
Error C1083 Unable to open include file: 'opencv2 / opencv.hpp': No such file or directory (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ hand_resolver.cpp) track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ blob_new.h 21
Warning C4577 'noexcept' used without the administration of specified exceptions. The decision on exception is not guaranteed. Specify / EHsc (compilation of the source .. \ file .. \ track_plus_core \ track_plus \ globals.cpp) track_plus C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC \ include \ exception 358
Error C1083 Unable to open include file: 'opencv2 / opencv.hpp': No such file or directory (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ hand_splitter_new.cpp) track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ blob_new.h 21
Error C1083 Unable to open include file: 'opencv2 / opencv.hpp': No such file or directory (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ histogram_builder.cpp) track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ histogram_builder.h 21
Warning C4530 C ++ exception handler used, but the progress of semantics have not been activated. Specify / EHsc (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ ipc.cpp) track_plus C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC \ include \ XLocale 341
Warning C4530 C ++ exception handler used, but the progress of semantics have not been activated. Specify / EHsc (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ hungarian.cpp) track_plus C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC \ include \ XLocale 341
Warning C4244 '=': conversion from 'double' to 'int', possible loss of data track_plus C: \ touch_plus_source_code \ track_plus_core \ track_plus \ hungarian.cpp 84
Warning C4244 '=': conversion from 'double' to 'int', possible loss of data track_plus C: \ touch_plus_source_code \ track_plus_core \ track_plus \ hungarian.cpp 485
Warning C4244 '=': conversion from 'double' to 'int', possible loss of data track_plus C: \ touch_plus_source_code \ track_plus_core \ track_plus \ hungarian.cpp 547
Warning C4577 'noexcept' used without the administration of specified exceptions. The decision on exception is not guaranteed. Specify / EHsc (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ hungarian.cpp) track_plus C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC \ include \ limits 210
Warning C4530 C ++ exception handler used, but the progress of semantics have not been activated. Specify / EHsc (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ filesystem.cpp) track_plus C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC \ include \ XLocale 341
Error C1083 Unable to open include file: 'opencv2 / opencv.hpp': No such file or directory (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ kalman.cpp) track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ kalman.h 21
Error C1083 Unable to open include file: 'opencv2 / opencv.hpp': No such file or directory track_plus C: \ touch_plus_source_code \ track_plus_core \ track_plus \ main.cpp 19
Error C1083 Unable to open include file: 'opencv2 / opencv.hpp': No such file or directory (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ math_plus.cpp) track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ math_plus.h 21
Error C1083 Unable to open include file: 'opencv2 / opencv.hpp': No such file or directory (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ mat_functions.cpp) track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ mat_functions.h 21
Warning C4577 'noexcept' used without the administration of specified exceptions. The decision on exception is not guaranteed. Specify / EHsc (compilation of the source .. \ file .. \ track_plus_core \ track_plus \ filesystem.cpp) track_plus C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC \ include \ exception 358
Error C1083 Unable to open include file: 'opencv2 / opencv.hpp': No such file or directory (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ low_pass_filter.cpp) track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ low_pass_filter.h 22
Error C1083 Unable to open include file: 'SFML / Network.hpp': No such file or directory (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ ipc.cpp) track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ udp.h 21
Error C1083 Unable to open include file: 'opencv2 / opencv.hpp': No such file or directory (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ Plane.cpp) track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ plane.h 21
Warning C4530 C ++ exception handler used, but the progress of semantics have not been activated. Specify / EHsc (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ mono_processor_new.cpp) track_plus C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC \ include \ XLocale 341
Warning C4530 C ++ exception handler used, but the progress of semantics have not been activated. Specify / EHsc (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ permutation.cpp) track_plus C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC \ include \ XLocale 341
Warning C4530 C ++ exception handler used, but the progress of semantics have not been activated. Specify / EHsc (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ motion_processor_new.cpp) track_plus C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC \ include \ XLocale 341
Error C1083 Unable to open include file: 'opencv2 / opencv.hpp': No such file or directory (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ mono_processor_new.cpp) track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ blob_new.h 21
Error C1083 Unable to open include file: 'opencv2 / opencv.hpp': No such file or directory (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ motion_processor_new.cpp) track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ blob_new.h 21
Warning C4530 C ++ exception handler used, but the progress of semantics have not been activated. Specify / EHsc (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ pose_estimator.cpp) track_plus C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC \ include \ XLocale 341
Warning C4577 'noexcept' used without the administration of specified exceptions. The decision on exception is not guaranteed. Specify / EHsc (compilation of the source .. \ file .. \ track_plus_core \ track_plus \ permutation.cpp) track_plus C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC \ include \ exception 358
Error C1083 Unable to open include file: 'opencv2 / opencv.hpp': No such file or directory (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ pose_estimator.cpp) track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ contour_functions.h 21
Warning C4530 C ++ exception handler used, but the progress of semantics have not been activated. Specify / EHsc (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ processes.cpp) track_plus C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC \ include \ XLocale 341
Error C1083 Unable to open include file: 'turbojpeg.h': No such file or directory (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ RactivJPEGDecompressor.cpp) track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ RactivJPEGDecompressor.h 22
Warning C4530 C ++ exception handler used, but the progress of semantics have not been activated. Specify / EHsc (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ quadratic.cpp) track_plus C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC \ include \ XLocale 341
Error C1083 Unable to open include file: 'opencv2 / opencv.hpp': No such file or directory (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ Ray.cpp) track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ plane.h 21
Error C1083 Unable to open include file: 'opencv / bhp-h': No such file or directory (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ quadratic.cpp) track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ curve_fitting.h 21
Warning C4530 C ++ exception handler used, but the progress of semantics have not been activated. Specify / EHsc (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ string_functions.cpp) track_plus C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC \ include \ XLocale 341
Warning C4577 'noexcept' used without the administration of specified exceptions. The decision on exception is not guaranteed. Specify / EHsc (compilation of the source .. \ file .. \ track_plus_core \ track_plus \ string_functions.cpp) track_plus C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC \ include \ exception 358
Warning C4530 C ++ exception handler used, but the progress of semantics have not been activated. Specify / EHsc (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ thinning_computer_new.cpp) track_plus C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC \ include \ XLocale 341
Error C1083 Unable to open include file: 'opencv2 / imgproc / imgproc.hpp': No such file or directory (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ thinning_computer_new.cpp) track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ thinning_computer_new.h 22
Error C1083 Unable to open include file: 'SFML / Network.hpp': No such file or directory (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ udp.cpp) track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ udp.h 21
Error C1083 Unable to open include file: 'opencv2 / opencv.hpp': No such file or directory (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ value_store.cpp) track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ value_store.h 22
Error C1083 Unable to open source file 'C: \ External Storage \ Dropbox \ projects \ touch_plus_source_code \ track_plus_core \ track_plus \ imu.cpp': No such file or directory track_plus C: \ touch_plus_source_code \ track_plus_visual_studio \ track_plus \ C1xx 1
Error C1083 Unable to open include file: 'opencv2 / opencv.hpp': No such file or directory (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ tool_tracker_mono_processor.cpp) track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ value_store.h 22
Warning C4530 C ++ exception handler used, but the progress of semantics have not been activated. Specify / EHsc (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ reprojector.cpp) track_plus C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC \ include \ XLocale 341
Warning C4530 C ++ exception handler used, but the progress of semantics have not been activated. Specify / EHsc (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ pointer_mapper.cpp) track_plus C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC \ include \ XLocale 341
Error C1083 Unable to open include file: 'opencv2 / opencv.hpp': No such file or directory (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ pointer_mapper.cpp) track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ reprojector.h 30
Error C1083 Unable to open include file: 'opencv2 / opencv.hpp': No such file or directory (compilation of the source file .. \ .. \ track_plus_core \ track_plus \ reprojector.cpp) track_plus c: \ touch_plus_source_code \ track_plus_core \ track_plus \ reprojector.h 30

@touchhope
Copy link
Author

@everyone

Hi, everyone !

I've succeeded in compiling different states of Ractiv's code along 2015's months, even now on Windows 10 using VS Community 2015 and Find And Replace Tool (https://findandreplace.codeplex.com/) to make all includes pointing to the right dependencies, but, although I found a lot of interesting things on the net, I've failed getting the famous main green pointing circle from win_cursor_plus process :

http://www.tuio.org/?software

https://github.com/frog/touchproxy

https://code.msdn.microsoft.com/windowsdesktop/Touch-Injection-Sample-444d9bf7

http://social.technet.microsoft.com/wiki/contents/articles/6460.simulating-touch-input-in-windows-8-using-touch-injection-api.aspx

http://www.getcodesamples.com/src/5A0342CF

http://www.codeproject.com/Articles/607234/Using-Windows-Interaction-Con

Any idea to get udp channel sending tracking data to win_cursor_plus process ?

On some of the late states of code, it seems to send something to udp channel but you get the blue error message "Your pc cannot run this program on this windows version." if you don't run it under the software folder "C:\Program Files (x86)\Ractiv\Touch+ Software", but on the latest states it only run in a path without blank spaces, such as "C:\touch_plus_source_code\build". On both cases, you can't get any green pointing circle.

Anyone with good knowledge on c++ and csharp to help us ?

Anyone with the zip file of the very earlier 2015, July functional state of code mentionned by Lachlan Pollock ?

@vic Jang and Lachlan Pollock :

Any news from Maz and his team on OpenCV in California ? Did Vic Jang got in touch with Maz ?

Cheers,

Touchdespair ;-(

@touchhope
Copy link
Author

Hi everyone ! It's again Touchhope from http://gharbi.me/ractiv/ !

Well, with my slow old brain, I've only just understand that it was possible to get ancient states of touchplus source code from github, clicking on "307 commits", then on the update that you want and then on "Browse files" on the right, then on the green button 'Clone or download", for example at https://github.com/Ractiv/touch_plus_source_code/commits/master?page=9 from the very beginning.

After a lot of search on internet forums, to solve all compiling errors under vs2015 community from vs2013 code, (adding compiling options in properties under vs2015, adding several includes on top of a lot of the cpp files such as #include "stdafx.h", adding file in C:\External Storage\Dropbox\projects\touch_plus_source_code\track_plus_core\track_plus\imu.cpp, making all includes pointing to right absolute path dependencies, using Find And Replace Tool (https://findandreplace.codeplex.com/), I have zipped an ancient state of code from early 2015 July with all functionnal calibration steps and an udp channel opened for win_cursor_plus process which is launch in console mode unfortunately, in file win10vs2015touch_plus_source_code.zip, available on dropbox at https://www.dropbox.com/s/7oh7defgiwpe42z/win10vs2015touch_plus_source_code.zip?dl=0

To get it work on your win10, first install Touch+ Software.exe to get path C:\Program Files (x86)\Ractiv\Touch+ Software on your pc, then overwrite all its content with "build" folder content.

Don't forget to set your keyboard to English QWERTY instead of AZERTY to perform calibration steps ! Be patient while moving your fingers, and hold finger long time enough to let the software detect the key pressed on the keyboard !

Then you could make some code modifications under Visual Studio 2015 Community you'll find here : https://www.visualstudio.com/en-us/products/vs-2015-product-editions.aspx, loading track_plus.sln project file in C:\touch_plus_source_code\track_plus_visual_studio.

I hope it will help someone (Matthew H. Fogle maybe, or Umar Nizamani when he would be able to buy a new win10 pc, or Maz and his team on OpenCV in California, or someone else with better knowledge than me, a pure self-educated c++ dabbler and beginner) to produce some hybrid version under win10 and vs2015 (of old and last state of code from 1st of 2015 December).

Now the technical challenge is maybe to pick up some portions of code in the different states of code during 2015 year and to mix it adding it maybe to this basic version on win10 and vs2015, instead of vs2013 and win7 or win8 ?

I'd like to end with these words from backer Robert Sweetman one year ago : "As someone once said... No man is an island. Thus no great things come from someone who cannot communicate with their fellows as they remain forever doomed as legend in their own mind only. An inability to deliver on anything, promises, product etc. leads to further isolation. Seek first to understand before trying to be understood. Be of service to others ahead of expecting rewards for empty words. From the short interview text below you could drive a bus through the perceptual issues/potential roadblocks associated with this insular approach. I now formally abandon all hope of seeing anything from this venture. The smartest people in the world are usually sunk by their inability to communicate."

You're so right Robert ! Indeed what about Albert Einstein ? Was he able to communicate enough ? And Nicolas Tesla ? And Rudolf Diesel ? And Xue Lai (or Lai Schwe ?) And Darren Lim ? Surely, maybe too much complicated thoughts to get explain to other people !

Could someone tell me (Corey Manders maybe at IEEE or Dr. Andrea Tagliasacchi ?) why this win_cursor_plus process isn't launched properly to show its big green pointing circle ?

Indeed if you'll make a try under vs2015 with this old state of code from vs 2013, you'll need to first install "vs2015 nuget package manager", you'll find here : https://visualstudiogallery.msdn.microsoft.com/5d345edc-2e2d-4a9c-b73b-d53956dc458d and then, once installed in vs2015, going in the nuget manager in tools menu, click on browse thumb to search for missing "TCD.System.TouchInjection. 1.0.0" !

Cheers everyone and thanks in advance for any eventual help !

Touchhope

settings file loaded
track_plus created
message sent: menu_plus show stage
menu_plus created
Touch+ Camera:vid_1e4e pid_0107
Touch+ Camera found
HD WebCam:vid_1bcf pid_2c17
camera opened = 1
settings file loaded
message sent: menu_plus show notification Please wait:Initializing Touch+ Software
lmmin start 17 -0.0625 102 27 => 8.8574512464
lmmin diag 17 -0.0625 102 27 => 38.937247358
o i lmpar prered ratio dirder delta pnorm fnorm p0 p1 p2 p3
0 0 7.5e-10 0.99 -136188 -0.99 3.894e+03 3.894e+03 3.257578520679308e+03 1350.89623 -9.37912809 -846073.533 1295.47822
0 1 9.8e-09 0.99 -1341.89 -0.99 3.894e+02 3.894e+02 3.234297096063896e+02 152.992915 -8.79677653 -83455.5088 156.868713
0 2 1.1e-07 0.99 -9.14679 -0.99 3.894e+01 3.910e+01 2.812345443854284e+01 31.9310619 -8.73832706 -6362.60825 41.7329552
0 3 0.75 0.47 -0.533259 0.023 3.894e+00 4.128e+00 9.895639494260942e+00 17.219583 -2.1818491 185.809731 27.2941152
0 4 16 0.07 1.20613 0.027 3.894e-01 3.942e-01 8.474394462928776e+00 16.9125343 -0.243465595 73.888238 26.9152316
1 0 3 0.071 0.999151 0.012 7.885e-01 8.084e-01 8.167136010881887e+00 16.798468 -0.453914014 69.1773574 26.8799825
2 0 1 0.085 1.03525 0.033 1.617e+00 1.621e+00 7.800304404582053e+00 16.8434865 -0.816411489 78.8717992 27.3255439
3 0 0.5 0.17 1.10073 0.072 3.242e+00 3.151e+00 7.021468914398151e+00 16.7437777 -1.47364135 93.821699 28.442294
4 0 0.25 0.41 1.14788 0.12 6.303e+00 5.898e+00 5.108576367012606e+00 15.8210873 -2.63903859 109.33949 30.7108406
5 0 0.0091 0.98 0.689894 -0.83 1.180e+01 1.183e+01 2.913732420989827e+00 12.6857568 -4.76178647 123.025422 35.5100193
6 0 0 0.94 0.992328 -0.94 1.180e+01 4.198e+00 7.431822867262537e-01 11.5896332 -3.89756675 119.762047 35.3019043
7 0 0 0.11 0.904534 -0.11 8.397e+00 2.837e+00 7.051821872474435e-01 10.8442948 -3.56552813 117.221326 36.8446364
8 0 0 0.011 0.999469 -0.011 5.674e+00 3.517e-01 7.011518348117394e-01 10.7594774 -3.5554181 116.899842 37.0814765
9 0 0 5e-06 1.04006 -5e-06 7.034e-01 1.130e-01 7.011500253813939e-01 10.7937891 -3.56917069 116.974485 37.0197881
10 0 0 1.2e-07 1.1806 -1.2e-07 2.260e-01 2.202e-02 7.011499742902622e-01 10.8013456 -3.57200733 116.984487 37.0083637
11 0 0 6.6e-09 1.28289 -6.6e-09 4.404e-02 7.173e-03 7.011499713402897e-01 10.8037166 -3.57290845 116.988223 37.0045488
12 0 0 5.4e-10 1.28086 -5.4e-10 1.435e-02 2.022e-03 7.011499710994058e-01 10.8043908 -3.57316295 116.98925 37.0034774
13 0 0 4.3e-11 1.30325 -4.3e-11 4.043e-03 5.704e-04 7.011499710799826e-01 10.8045809 -3.57323471 116.98954 37.0031751
14 0 0 3.7e-12 1.29113 -3.7e-12 1.141e-03 1.701e-04 7.011499710783136e-01 10.8046374 -3.57325608 116.989628 37.0030847
15 0 0 2.1e-13 1.68566 -2.1e-13 3.403e-04 3.441e-05 7.011499710781922e-01 10.8046494 -3.57326048 116.989643 37.0030669
16 0 0 1.5e-13 0.485264 -1.5e-13 6.881e-05 3.853e-05 7.011499710781660e-01 10.8046613 -3.57326521 116.989667 37.0030458
17 0 0 2.6e-15 2.47817 -2.6e-15 7.706e-05 9.574e-07 7.011499710781638e-01 10.8046618 -3.57326532 116.989666 37.0030456
18 0 0.00061 9.5e-15 1.00485 4.1e-15 1.915e-06 1.915e-06 7.011499710781605e-01 10.8046612 -3.57326509 116.989665 37.0030467
19 0 0 1.9e-15 -0.913541 -1.9e-15 3.830e-06 3.611e-06 7.011499710781610e-01 10.8046603 -3.57326467 116.989662 37.0030487
lmmin outcome (1) xnorm 73.6149 ftol 6.66134e-15 xtol 6.66134e-15
lmmin final 10.8046612 -3.57326509 116.989665 37.0030467 => 0.70114997108

a: 10.8047 b: -3.57327 c: 116.99 d: 37.003
pose estimator initialized
message sent: win_cursor_plus open udp channel
message_received start daemon_plus0
message_received get toggles daemon_plus1
message sent: menu_plus get toggles 1011005
message_received open udp channel 60445 track_plus0
udp port is 60445
message sent: menu_plus show window
message sent: menu_plus show wiggle
exposure is 10
message sent: menu_plus show point
message sent: menu_plus show calibration
message sent: menu_plus show calibration next
step 0 complete
message sent: menu_plus show calibration next
step 1 complete
message sent: menu_plus show calibration next
step 2 complete
message sent: menu_plus show calibration next
step 3 complete
message sent: menu_plus show stage
calibration finished

message received open udp channel win_cursor_plus0
message sent: track_plus open udp channel 60445
bound to UDP port 60445

@touchhope
Copy link
Author

OpenCV Error: Assertion failed (0 <= roi.x && 0 <= roi.width && roi.x + roi.width <= m.cols && 0 <= roi.y && 0 <= roi.height && roi.y + roi.height <= m.rows) in cv::Mat::Mat, file C:\builds\2_4_PackSlave-win32-vc12-shared\opencv\modules\core\src\matrix.cpp, line 323

@touchhope
Copy link
Author

Regular update commit number d44e966 on 5 Aug 2015 is much more functional than commit number 65abaf6 on 8 Jul 2015 that I previously toughly solved on compiling errors under vs2015 community :

absolutely no compiling errors under vs2015 community

apparently very fast gesture recognition and 4 keys press detection during the 3 calibration steps

also udp channel messages sent and received between track_plus and win_cursor_plus processes

good base I think to try to understand what wrong in subsystem console instead of subsystem windows launch maybe (https://msdn.microsoft.com/en-us/library/f9t8842e.aspx)

I'm definitely not gifted enough on C++ coding language ! However I still try to change different parameters and still search on internet forums. I'm quite obstinated when I start to solve something !

@touchhope
Copy link
Author

Hi Jerry !

Pleased to finally get in touch(plus ;-) ) with the famous Jerry Bocci Jr, also a kind of "touchhope" at https://www.kickstarter.com/projects/haptix/haptix-multitouch-reinvented/comments !

It was funny the other day when I've sent an email to australian backer Lachlan Pollock (friend of Maz), asking him to post you on Kickstarter a request of technical explanations on how you finally get it to work on your pc !

Indeed, as the frenchman that I am, I didn't understood on first read it was a joke ! In the minute I've sent another email to Lokki to say him I realize you were joking. He said you're probably a sarcastic man and of course you were ironic on that post !

Lai must be laughing at us seeing how stupid we are on not understanding his few commented code. Or maybe he is in a depressive phase so he is psychologically washed out after so big coding effort last year. Fortunately a band of stupid people can become intelligent if they communicate with each other. That's what we need : a good brain storming !

Lai is surely a brillant young engineer but, as he will grow old, he will be learning to better communicate with other people. No man is an island and what is more exciting in human life is surely what we can learn one from each other to go further together. You know like monkeys and in 2016 we are in the chinese year of monkey, aren't we ?

I invite Lai to reestablish dialog with us, people who still believe in your genious idea and project ! Come on Lai, thanks in advance man, you're the best :D ! You're mustn't be a dog and us neither, we're human beings !

I guess what is preventing win_cursor_plus process from being launched properly must be a silly thing such as "true" or "false", or "1" instead of "null" in some function.

As a csharp expert like Matthew H. Fogle, maybe you could explain us how a csharp exe is controlled ? Is there such thing as the manifest file for example ? (https://msdn.microsoft.com/en-us/library/1w45z383%28v=vs.110%29.aspx)

What about C:\touch_plus_source_code\track_plus_visual_studio\win_cursor_plus\ cs files, also in TUIO folder ?

Maybe some examples to examine at http://www.tuio.org/?software and http://blog.mosthege.net/2012/08/19/windows-8-touchinjection-with-c/ and http://touchinjector.codeplex.com/ where you suspect windows firewall to get implicated on port blocking (blue message from last commit in December) ?

To me there could also be a kind of debugging console mode that Lai has established to develop his code and which is preventing win_cursor_plus to get launched in windows mode : some lines somewhere to get commented or uncommented maybe ?

Just time to find !

I'm sure one day we'll all, even Lai, be renamed Tom, Jerry, ultimate mouse killers !

I'll be glad to read you also on http://gharbi.me/ractiv/ soon Jerry !

Keep being confident in finding a solution together !

Cheers,

Touchhope (or Christian or The Hopin'Frog or The Artist or Prince or the unbelivable ramblings spammer at http://gharbi.me/ractiv/ !)

@touchhope
Copy link
Author

Hi all the seekers (and researchers) for functional solution for the touchplus device's software !

Well in the past few days, I didn't found much things :

If you don't want console to get shown, you just have to comment "// #define SHOW_CONSOLE" before compiling in file track_plus_core/daemon_plus/globals.h !

Then the 4 processes (daemon_plus.exe, menu_plus.exe, track_plus.exe and win_cursor_plus.exe) still get launched but without showing any console, like in the commit 950e348 on 6 Oct 2015 (with pretty circle jauge instead of 4 calibration steps with 3 gestures and 4 keys pressed), which indeed shows no console while running, but unfortunately with inert launched process "win_cursor_plus.exe", maybe not receiving any udp port message from track_plus.exe !

Well it would be cool to finally understand how and where in code udp messages are sent from track_plus process to win_cursor_plus process and its subprocess "MainWindow" as seen on taskmgr.

If it could help, for the specialists on csharp, here is the debugging errors tracking while testing a commit but I don't know which anymore, I've obtained the following errors from launched win_cursor_plus that just crashed :

"Unhandled exception: System.Windows.Markup.XamlParseException: The constructor invocation on the type 'win_cursor_plus.MainWindow' that matches the specified binding constraints threw an exception. ---> System.IO.DirectoryNotFoundException: Could not find a part of the path 'C: \ touch_plus_source_code \ build \ ipc'.
at System.IO .__ Error.WinIOError (Int32 errorCode, String maybeFullPath)
to System.IO.FileSystemEnumerableIterator1.CommonInit () to System.IO.FileSystemEnumerableIterator1..ctor (String path, String originalUserPath, String searchPattern, SearchOption SearchOption, SearchResultHandler`1 resultHandler, Boolean checkHost)
to System.IO.DirectoryInfo.InternalGetFiles (String searchPattern, SearchOption SearchOption)
to System.IO.DirectoryInfo.GetFiles (String searchPattern)
to win_cursor_plus.FileSystem.ListFilesInDirectory (String path) in C: \ touch_plus_source_code \ track_plus_visual_studio \ win_cursor_plus \ FileSystem.cs: line 34
win_cursor_plus.IPC.Update to () in C: \ touch_plus_source_code \ track_plus_visual_studio \ win_cursor_plus \ IPC.cs: line 69
to win_cursor_plus.IPC..ctor (String selfNameIn) in C: \ touch_plus_source_code \ track_plus_visual_studio \ win_cursor_plus \ IPC.cs: line 61
win_cursor_plus.MainWindow..ctor to () in C: \ touch_plus_source_code \ track_plus_visual_studio \ win_cursor_plus \ MainWindow.xaml.cs: line 123
--- End trace of inner exception stack ---
to System.Windows.Markup.WpfXamlLoader.Load (XamlReader XamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object RootObject, XamlObjectWriterSettings settings, Uri baseURI)
to System.Windows.Markup.WpfXamlLoader.LoadBaml (XamlReader XamlReader, Boolean skipJournaledProperties, Object RootObject, XamlAccessLevel AccessLevel Uri baseURI)
to System.Windows.Markup.XamlReader.LoadBaml (Stream stream, ParserContext parserContext, Object parent, Boolean closeStream)
to System.Windows.Application.LoadBamlStreamWithSyncInfo (Stream stream, ParserContext pc)
to System.Windows.Application.LoadComponent (resourceLocator Uri, Boolean bSkipJournaledProperties)
to System.Windows.Application.DoStartup ()
to System.Windows.Application. <. ctor> b__1_0 (Object unused)
to System.Windows.Threading.ExceptionWrapper.InternalRealCall (Delegate callback, Object args, Int32 numArgs)
to System.Windows.Threading.ExceptionWrapper.TryCatchWhen (Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
to System.Windows.Threading.DispatcherOperation.InvokeImpl ()
to System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext (Object state)
to System.Threading.ExecutionContext.RunInternal (ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
to System.Threading.ExecutionContext.Run (ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
to System.Threading.ExecutionContext.Run (ExecutionContext executionContext, ContextCallback callback, Object state)
to MS.Internal.CulturePreservingExecutionContext.Run (CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
to System.Windows.Threading.DispatcherOperation.Invoke ()
to System.Windows.Threading.Dispatcher.ProcessQueue ()
to System.Windows.Threading.Dispatcher.WndProcHook (IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean & handled)
to MS.Win32.HwndWrapper.WndProc (IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean & handled)
to MS.Win32.HwndSubclass.DispatcherCallbackOperation (Object o)
to System.Windows.Threading.ExceptionWrapper.InternalRealCall (Delegate callback, Object args, Int32 numArgs)
to System.Windows.Threading.ExceptionWrapper.TryCatchWhen (Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
to System.Windows.Threading.Dispatcher.LegacyInvokeImpl (DispatcherPriority priority, TimeSpan timeout, Delegate method, args Object, Int32 numArgs)
to MS.Win32.HwndSubclass.SubclassWndProc (IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam)
to MS.Win32.UnsafeNativeMethods.DispatchMessage (MSG & msg)
to System.Windows.Threading.Dispatcher.PushFrameImpl (DispatcherFrame frame)
to System.Windows.Threading.Dispatcher.PushFrame (DispatcherFrame frame)
to System.Windows.Application.RunDispatcher (Object ignored)
to System.Windows.Application.RunInternal (Window window)
to System.Windows.Application.Run (Window window)
win_cursor_plus.App.Main to () in C: \ touch_plus_source_code \ track_plus_visual_studio \ win_cursor_plus \ obj \ Release \ App.g.cs: Online 0"

@touchhope
Copy link
Author

mkalten/TUIO11_CPP#2

@touchhope
Copy link
Author

Martin Kaltenbrunner have just answered my demand of help :

mkalten commented 12 hours ago • edited

"hi @touchhope, honestly I never heard of this device before ... looks interesting though.
as far as I understand, the manufacturer left you with non-functional drivers and sdk?
from what I saw quickly reviewing their code, they are using the CSHARP TUIO client in their software,
which may be a hint that their driver actually sends touch data encoded as /tuio/2Dcur cursors.

you could try to use one of the available TUIO client demos for any platform or language and see if you can receive anything on their UDP port (which seems to be different from the standard TUIO UDP port 3333)

you could also try to update the TUIO CSHARP code, which would also be the right place for this discussion, since this here is the C++ version ... https://github.com/mkalten/TUIO11_NET

if you want to provide me with such a device, I can have a closer look of course

edit: it also seems that they modified/extended the TUIO protocol, which probably results in making it incompatible with standard TUIO software. what's exactly the function of the win_cursor_plus component?"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants