NatNet SDK .NET version does not include Timecode

NatNet, VRPN, TrackD, and Plugins
Post Reply
apalopohapa
Posts: 4
Joined: Mon Sep 22, 2014 4:38 pm

NatNet SDK .NET version does not include Timecode

Post by apalopohapa » Mon Sep 22, 2014 4:43 pm

I started using the NatNet SDK .NET DLL to develop a NatNet client. I've been working on it for a few days and suddenly I realized that the NatNetML.FrameOfMocapData does not expose the Timecode coming in the data stream. But the C++ version does have it. Why do something like that? It is only a few items in that structure, why not expose them all? It is just an 'int' for crying out loud!! Am I missing something here?

NaturalPoint-Dustin
Posts: 609
Joined: Tue Mar 19, 2013 5:03 pm

Re: NatNet SDK .NET version does not include Timecode

Post by NaturalPoint-Dustin » Mon Sep 22, 2014 5:12 pm

Hello,

Have you had a chance to review our NatNet SDK User Guide regarding Timecode on page 14?

http://www.naturalpoint.com/optitrack/s ... 0Guide.pdf
Dustin
Technical Support Engineer
OptiTrack | TrackIR | SmartNav

apalopohapa
Posts: 4
Joined: Mon Sep 22, 2014 4:38 pm

Re: NatNet SDK .NET version does not include Timecode

Post by apalopohapa » Mon Sep 22, 2014 5:37 pm

Hi NaturalPoint-Dustin. Thanks for your quick reply. Yes, I've read it. It describes timecode and its subframes. The problem is, it is not there, in the .NET wrapper that was provided, and there is no source code for the wrapper in the samples (so that I could just add what is missing). So I'd have to write the wrapper or parser from scratch just to get timecode. Or re-write the whole client in C++ so I can access those 4 bytes. Unless I'm blind and don't see it. I thought maybe the developer forgot to make it a public member of the class, but no, not even with reflection can I find it.

morgan
NaturalPoint Employee
NaturalPoint Employee
Posts: 199
Joined: Tue Jun 24, 2008 2:01 pm
Location: Corvallis, OR, USA
Contact:

Re: NatNet SDK .NET version does not include Timecode

Post by morgan » Thu Oct 02, 2014 10:12 am

You are correct - Timecode is not available in the NatNet Managed Library (NatNetML.dll) v2.6. We'll get this into the 2.7 release, which (don't quote me) should be available this month.

Morgan

apalopohapa
Posts: 4
Joined: Mon Sep 22, 2014 4:38 pm

Re: NatNet SDK .NET version does not include Timecode

Post by apalopohapa » Fri Oct 03, 2014 11:44 am

Thanks @morgan. I've moved to all C++ now, so no problem. There are some issues with timecode though. For example if the sample rate is 60 but timecode is 24, then you'll get a suframe that counts back to zero sometimes, like so:

6371[ms] 15:04:44: 0.0
6387[ms] 15:04:44: 0.1
6406[ms] 15: 04:44:1.0
6423[ms] 15:04:44: 1.1
6441[ms] 15:04:44: 1.0
6457[ms] 15:04:44: 2.0
6469[ms] 15:04:44: 2.1
6486[ms] 15:04:44: 3.0
6503[ms] 15:04:44: 3.1
6522[ms] 15:04:44: 3.0
6541[ms] 15:04:44: 4.0
6555[ms] 15:04:44: 4.1
6571[ms] 15:04:44: 5.0
6587[ms] 15:04:44: 5.1
6607[ms] 15:04:44: 5.0
6619[ms] 15:04:44: 6.0
6636[ms] 15:04:44: 6.1
6656[ms] 15:04:44: 7.0
6672[ms] 15:04:44: 7.1
6688[ms] 15:04:44: 7.0
6706[ms] 15:04:44: 8.0
6722[ms] 15:04:44: 8.1

I would have expected the subframe to keep counting to 2 in those cases. No big deal though.

On a related note, perhaps more important, even though the system is sampling at 60Hz, the SampleRate reported in the stream is 120.0. It would be useful if this were corrected.

morgan
NaturalPoint Employee
NaturalPoint Employee
Posts: 199
Joined: Tue Jun 24, 2008 2:01 pm
Location: Corvallis, OR, USA
Contact:

Re: NatNet SDK .NET version does not include Timecode

Post by morgan » Mon Oct 06, 2014 2:02 pm

So far we have been unable to reproduce this issue. Testing here with Motive 1.6b2 and a horita timecode generator, frame rate reporting via NatNet using the "FrameRate" command appears to be reporting correctly, and SMPTE timecode reporting @60hz does not show the extra subframe at 0 issue.

When you record a take in Motive the Timecode should display in the 3D viewport. Does this timecode also display the extra 0 subframe issue?

Can you also tell us a bit more about your setup? (e.g. what version of Motive? What timecode generator are you using? etc.) Hopefully we can track these down.

[update]
Sorry - neglected to notice you were running at 24fps - yes unless you are synching to the timecode signal, the timecode samples will not match up if your mocap system is not running at a whole multiple of the timecode rate.

Testing here at US smpte 29.97 would not display the issue for a while.

So the extra subframe is correct - identify it as 0 instead of 2 is less helpful.

Still no luck reproducing the erroneous frame rate reporting - so if you can prorive version info on that one that would be great as we'd like to ensure this is working well for everyone before the 2.7 release.

[/update]

thx

Morgan

apalopohapa
Posts: 4
Joined: Mon Sep 22, 2014 4:38 pm

Re: NatNet SDK .NET version does not include Timecode

Post by apalopohapa » Mon Oct 06, 2014 2:38 pm

Hi Morgan. I'm using a tip build 1.7.0 Beta. I'm not on set right now but I have a take recorded on one of the test days that I'm using to develop, perhaps I can email it to you?

NaturalPoint-Dustin
Posts: 609
Joined: Tue Mar 19, 2013 5:03 pm

Re: NatNet SDK .NET version does not include Timecode

Post by NaturalPoint-Dustin » Tue Oct 07, 2014 10:41 am

Can you please create a ticket at help.naturalpoint.com? It would be easier for us to track your issue.
Dustin
Technical Support Engineer
OptiTrack | TrackIR | SmartNav

Post Reply