dll for voice recognition through kinect needed for c++ project - c++

i am new to kinect development, I have watched the sample project for speech recognition with name "SpeechBasics-D2D" given in kinect sdk. it works fantastic. I need this whole project as class library (like .dll file). I have removed "TurtleController" class from project and all its refrences. (still worked fine). then I removed GUI part and try to initiate the class "SpeechBasics" from my main project, it does not start listening through kinect. I just convert the sample project "SpeechBasics-D2D" to class library project and try to call it from my main project. kindly give me some suggessions as i am stuck at this point, thanks in advance

The Kinect demo applications are using the Microsoft Speech Platform SDK; Version 11 being the latest.
http://www.microsoft.com/en-us/download/details.aspx?id=27226
In the C++ example I'd look through the "CSpeechBasics::CreateFirstConnected()" function. This is the function that finds the Kinect sensor and links it to the Speech SDK. The additional function calls made from it are all related to that.
Take note of what calls are being made into the references created here. Those are how the rest of the program are linking into the Speech SDK (the Kinect only serves as a microphone), and thus are what you will want to expose with your DLL.
Also - I'd recommend adding the "speech-recognition" and possibly the "speechrecognitionengine" tag to this post. That may capture a few more people who have tackled this.

Related

Is it possible to step into a member function defined in a .dll file?

I downloaded an SDK from NVIDIA and I'm using Visual Studio 2015 to run the demo project files provided in the SDK.
The demo project files in the SDK worked as expected until I made some small changes in the code (If you'd like details about the changes, please see last paragraph).
After making these changes, a line in the code seems to run forever. Using the debugger I found that there's a member function in that line of code that is not returning anything and therefore the program flow is just stuck at that line. I tried stepping into this function but it's defined in a .dll file that came with the SDK.
Visual Studio tells me that the symbol file is not loaded and the PDB file cannot be found on the Microsoft Server. The debugger lets me see the disassembly code but I don't know if I can identify the problem using that.
So now I'm stuck at a line of code because the member function defined in a .dll file won't return anything and just keeps on running (I've left it running for over an hour and still it didn't return anything).
I want to identify the reason why this is happening, but I'm unable to see the source code of the member function so I have no idea what's happening inside the member function or how to debug it. Is there any way I can identify the cause of this problem? Is it possible to somehow see the source code of the member function in a way that I can understand what is going on?
More details on changes I made:
I've separated this from main body of the question because I don't see it as being very relevant but it may be useful for the answerer. The SDK stitches videos together into a single video (creating 360 view videos). The demo project works fine as long as I use the demo video files. The video files are fed into the project using command line arguments. When I feed my own video files to the demo project, that's when I face this problem, otherwise the member function returns successfully and the project successfully creates a stitched video. The only thing I changed is the input to the project (i.e. the video files), I haven't changed the source code at all.
If the provider of the DLL doesn't deliver the source code, you obviously can't see it. That would be the common way to handle it - unless they are open source, their source code is the company's intellectual property, so of course they are not showing it to you.
If it is open source, you typically can download the debug-DLLs (which contain the source code). Microsoft also delivers many runtime DLLs in version with source code (but of course not Windows itself). Check in the SDK if there is a debug version of that DLL, and link with it instead of the one you are currently using.
So, in a nutshell, you can't see it unless they give it to you.
As stated by VTT and Aganju, I cannot step into the member function defined in the DLL unless the source code is provided to me with the DLL. This answers what I asked. For my specific case, I was working with NVIDIA VRWorks 360 Video SDK, the problem was caused by not having the right codec for the video files that get stitched. Although this is mentioned nowhere in the SDK documentation, the video codec that should be used is H264 - MPEG-4 AVC (part 10) (AVC1).

C++ ASIO driver setup

I ask you for help with the setup of ASIO sdk. I would like to use it to connect some external devices to my system but before that I am struggling to even join ASIO to my programme.
I've downloaded ASIO 2.3 from there:
http://www.steinberg.net/en/company/developers.html
and unfortunately C++ isn't my strongest point. SDK contains few folders (is folder named "Common" having every file needed?), there is no *.lib file only *.cpp and *.h files.
I don't know which files are necessary so the SDK is installed completely.
I was thinking about merging everything into one library but I don't know which files are important for SDK...
Can you give me any hints how can I add files to my program so I can start using ASIO functions in my code?
Sadly I haven't documented my ordeal last year. However, here's some pointers:
How to begin building a VSTi Plugin?
Setting up VST Steinberg SDK on Windows
Build a minimal VST3 host in C++
I admit that's basically cherry-picking the list of SO results for "steinberg", but at least the first 2 seem relevant.

How to make your own SDK from code files?

I have programmed a game with lots of C++ code and it started to take more time then ever to compile my code.
So I thought maybe I can split the game's rendering code as it's own binary SDK.
I have used many SDKs and APIs before, But I don't know how to make my own SDK and how does it all hold up together.
Does any one know a good online tutorial or book about how to make a SDK. thanks.
You need to read about creating libraries. You then compile your game's rendering code as it's own library file.
Here is an example of how do create and use a static library using Visual C++ : http://msdn.microsoft.com/en-us/library/ms235627.aspx
PS: As for increasing compilation times, consider using pre-compiled headers on your platform.

C++ GUI Tutorial: undefined reference to TextOut

So after a bit of searching for Win32 GUI tutorials (I decided a tutorial on making GUIs might make me more active in making C++ applications and therefore stronger at programming in C++ in general,) I came across a rohitab tutorial. There are two parts that I have been able to find. Part 1 worked fine, and I'm now working on Part 2, however, I'm getting this error in Code::Blocks:
C:\Users\John\Documents\Windows GUIs\first_gui.cpp||In function 'C:\Users\John\Documents\Windows GUIs\first_gui.o:first_gui.cpp:(.text+0x281)||undefined reference to '_TextOutA#20'|
My code can be found here (broken link).
I would greatly appreciate any help.
Did you link your app against GDI32.LIB?
Looks like a linker error, are you linking to gdi32.lib?
You should download a WINDOWS SDK package, this include all libraries that you will need to create programs with GDI (including gdi32);
Then in codeblocks/compiler/linkersettings choose folder where SDK's lib files are stored.
That's is it!!.

cross compiling c++ to iphone arm

I've scanned over the (outdated) article that is the first hit on google about ARM cross-compiling. I've also seen the article about compiling OpenCV to the iPhone and the general cross compiling instructions there. My question is can I call the apparently already configured gcc/g++ in the iPhone developer package (which I already have installed) like in the latter article? A lot of the OpenCV stuff seems superfluous to my needs.
If I can, what would the calls look like? Should I create a Makefile to make things easier?
Also, I need -lncurses library. Can I call them like normal, or do I need to specify it's path because I'm not calling the default gcc/g++?
If you're using the official SDK, compiling C++ for the iPhone is as simple as including cpp files in your project and hitting "build". Of course you can still go in and tweak the compiler switches - well, most of them.
As for ncurses, I'm not sure why you'd want to use that - but the only limitation you should have is that you can't link against dynamic libraries - so you'd have to linked the object code in.
A script that you can use as a basis for crosscompiling your libraries for iOs development.
Unfortunately the [n]curses package is not going to do you any good for the iPhone.
[n]curses is designed to be used with a terminal window. This is just not available for the iPhone you will need to learn how to use Coco to develop a GUI interface.