I’m currently playing around with the Oculus Rift, and a plugin is ready, but there are issues.
Basically, a connection to the device is established, I get values and it reports that it’s connected, but I don’t get sensor values out of it.
I found a rather strange workaround which leads me to the conclusion that there is some bug in vvvv, as the code is coming from the Unity3D code provided by Oculus and I also tested it in a commandline C# application (both works without any problems).
Currently it only works if
- some other application has a Rift connection open
- I start vvvv
- I close the other application
- I load the Rift patch
If no other device has a connection open (just regularily starting vvvv), it does not work (connection gets established, but no sensor values reported).
The Rift SDK seems to not be able to report values to more than one process (it runs some kind of background thread, as it seems). Thus, for my Unity and Console applications, if I stop one, the other works again immediately; as long as vvvv is opened (without ever loading my patch or even the dll) neither works.
Can I somehow prevent vvvv from enumerating/doing whatever it does with the device? Or does any of you devvvs understand what I’m talking about and has an idea?
For me, it looks like vvvv does kind of “lock” the device on startup, preventing both itself as well as all other applications from properly accessing the sensors. Thus, if another application already did that, the vvvv code works properly by accessing the device on pressing the “Enable” pin.