Monthly Archives: August 2013
Moving Single Cell to PDollar gesture recognizer.
http://depts.washington.edu/aimgroup/proj/dollar/pdollar.html Moving away from 1$ and going to it’s big brother.
Moving to the improved version so you can do multistroke recognition. Also the timer isn’t working like I thought. Even if you retrace a few times within the second it confuses the engine due to too many repeating points.
So it may have to be mouse down, until I can figure out how to time things better. Ill have some video up in a couple of days. by tonight.
Sigh… was re-writing written code.
Good news is, this is way more functional than mine.
This will easily replace color markers.
Ported Phone app from old application
ToObservableCollection ToList for IObservable.
This is an easy way to get from point A to Point B.
public static class RxForDummysExtentions
{
// Gof will beat you for using these.
public static ObservableCollection<T> ToObservableCollection<T>(this IObservable<T> input)
{
var output = new ObservableCollection<T>();
input.Do(e => { output.Add(e); });
return output;
}
public static List<T> ToList<T>(this IObservable<T> input)
{
var output = new List<T>();
input.Do(e => { output.Add(e); });
return output;
}
}
}
App UI Upgrade.
Leap.PInvoke() problems, Leap Invoke issues.
NOTE: I created the .NET 4.5 DLL. http://everythingworkflow.wordpress.com/2013/09/09/created-the-leap-4-5-dll-not-supported-by-leap/
Make sure you have the right x86 or x64 dll’s
Then I copy all the appropriate DLL’s a “ThirdPartyDlls” Folder to hold them in so I know I have the same versions in all projects that will use Leap.
Reference the Proper: LeapCSHarp.Netx.x.dll version (3.5 or 4.0)
through regular Solution Explorer from that Directory.
Then Add Existing Item these: Leap.dll and LeapSharp.dll
to the project as Items.
Build Action: Content
Copy to Output: Copy always.
Alt B then Alt C (Clean)
Alt B then Alt R (Rebuild)
Should fix most things:
See note above use that for 4.5 now.
Also right now this won’t compile in .Net 4.5, we need to wait until leapCSharp.Net4.5.dll is released to compile in greater than 4.0.
I want to use leap with 4.5
I can’t fix that, but I can show you how to get back Async.
Compile your apps in 4.0 until the leapCSharp.Net4.5.dll comes out.
You can install the segmented Async Pack for 4.0 for missing 4.5 DLL’s here: http://www.microsoft.com/en-us/download/details.aspx?id=29576
Share on FacebookNeat MVVM – Enums for tokens as flags
Neat MVVM Light tool for the belt – Enums for tokens as flags Enums for tokens allows for Generic calling.
//One of the great things about Mvvmlight, the Messenger 🙂 you could to object and .ToString() in this method too.
public static void SendTo(this string input, MessengerToken token){
Enum.GetValues(typeof (MessengerToken)).Cast<MessengerToken>().ToList().Where(e => token.HasFlag(e)).ToList().ForEach(e =>
{
Messenger.Default.Send<string>(input, e);});
}
_____________
Add in the Flag Based Enumerator with the Enum Extension Methods :
http://stackoverflow.com/questions/93744/most-common-c-sharp-bitwise-operations-on-enums
______________
And you can call many Messenger sends in one swoop.
DoOuputActionPreFormatting(e.Result.Text, (s) =>
{
s.SendTo(MessengerToken.MasterText | MessengerToken.MainRegion);
});
///<summary>
/// You can send to more than one spot at one time.
/// Set your Enum to MainRegion | MasterText to sent to both 🙂
///</summary>
[Flags]
public enum MessengerToken
{
[Description(“”)] ByType = 0,
[Description(“Main Region Text”)] MainRegion = 1,
[Description(“Master Text”)]MasterText = 2,
}
Share on FacebookNew Augmented Reality Device. Explained in full.
I will start with a design I posted about back in May 2012. http://everythingworkflow.wordpress.com/2012/05/25/sixth-sense-hardware-plus-leap-good-stuff/ I am sticking with the name Single Cell, as it will grow into many variations as technologies and people move the goal post forward.
(Picture form last may when Leap was vaporware)
My device was meant to be OS agnostic. It will be hardware driven, unlike Sixth Sense which has a software shell. (If you haven’t seen this TED video on Sixth Sense, you need to.)http://www.ted.com/talks/pranav_mistry_the_thrilling_potential_of_sixthsense_technology.html
I have Leap and Kinect working as a mouse and finally have been able to retire the GyroMouse (seen in use here in use:
)
Not much has really changed about the idea other than it’s a reality now and it works like I thought it would.
New Look:
Better view of camera position here:
Ill try to have the Leap and Kinect plugins out soon so you can load them as C# DLL’s.
So the point. The camera is for any visual input needed. I do OCR -> query and object recognition. (You can use it for anything).
The projector is visual output, no need to write software backwards, the screen shows on the wall what you would see on a PC.
Leap is keyboard, Mouse and motion of hand (X Y Z) .
2 Mirrors if you have a front facing, 0 if side facing. Oh and You can now use side facing projectors. The two mirrors are from Home Depot Square telescoping utility mirror. Should run under $10 each.
This means things are hardware driven as well. No more color markers EVER..
Still looks like this on Windows 8 on a Dell with 2 GB of ram. Runs everything.
and
You can start coding against this device today because it runs on most OS’s . I can verify Windows 7 and Windows 8 and can code against it in any language since your just writing an application.
Let me know what you think!
Mark – Augmented Developer
Share on FacebookTied in Leap Device to WordBoard
Not as “ninja accurate” as it will be, but it works.
Weekend Goals accomplished.
Made a word board that acts like a nurse and can take in cheap and easy interaction.
Booya, now 2-3 times as much work to clean this up and tighten up that control.
Thanks to Sergey Barskiy for advice, all the developers whose code I’ve used and saved myself some hassle.
Especially this guy: http://www.codeproject.com/Articles/550336/Leap-Motion-Move-Cursor . I took his code added some Enum/flags for status and cut out anything not needed for a static library call. His logic was sound for the most part (though I had a line by line translated from VB since I saw things like “Nan” I knew the checks couldn’t have been working.) . Other than that he wrote a nice intro almost 6 months ago and seems to know his code.
Only complaint on Leap Development: No 4.5 version for their DLL’s kills off async since presentation layer needs to be 4.0 to run or 3.5 if that dll is referenced.
Share on Facebook