These are chat archives for highfidelity/hifi

7th
Feb 2017
Michael Varner
@TopRamenGod
Feb 07 2017 02:36
Hello Everyone
Ryan Huffman
@huffman
Feb 07 2017 21:09
Hi @TopRamenGod
Michael Varner
@TopRamenGod
Feb 07 2017 21:10
Hooray, this place isn't a ghost town!
C++ Developer here cracking on the HiFi codebase, ready to take on worklist items, but I'm running into a some errors when building the project fresh and I was wondering if I could get some assistance on that
Michael Varner
@TopRamenGod
Feb 07 2017 21:15
Specifically line 23 of hifi\plugins\hifiSpacemouse\src\SpacemouseManager.cpp
Ryan Huffman
@huffman
Feb 07 2017 21:15
Sure, no problem
What is your build environment?
Michael Varner
@TopRamenGod
Feb 07 2017 21:16
win10 64/vs2013
Ryan Huffman
@huffman
Feb 07 2017 21:16
Building in Release or Debug?
Michael Varner
@TopRamenGod
Feb 07 2017 21:16
Debug
Intellisense kicks the error even before building
Ryan Huffman
@huffman
Feb 07 2017 21:17
You are on master?
Michael Varner
@TopRamenGod
Feb 07 2017 21:17
I forked it into my own repo, but essentially yes
Ryan Huffman
@huffman
Feb 07 2017 21:21
Ok, can you post the error? master should build
Michael Varner
@TopRamenGod
Feb 07 2017 21:24
This is what it kicks prebuild:
IntelliSense: declaration is incompatible with "const char *SpacemouseManager::NAME" (declared at line 130 of "d:\repos\forked\hifi\plugins\hifispacemouse\src\SpacemouseManager.h") d:\repos\forked\hifi\plugins\hifiSpacemouse\src\SpacemouseManager.cpp 23 34
hifiSpacemouse
argh, tried to format that better

and here is the build errors:

Error 3 error C2373: 'NAME' : redefinition; different type modifiers D:\repos\forked\hifi\plugins\hifiSpacemouse\src\SpacemouseManager.cpp 23 1 hifiSpacemouse

Error 1 error C2259: 'SpacemouseManager' : cannot instantiate abstract class D:\repos\forked\hifi\plugins\hifiSpacemouse\src\SpacemouseProvider.cpp 33 1 hifiSpacemouse

Error 2 error C2259: 'SpacemouseProvider' : cannot instantiate abstract class (D:\repos\forked\hifi\plugins\hifiSpacemouse\src\SpacemouseProvider.cpp) D:\repos\forked\hifi\build\plugins\hifiSpacemouse\SpacemouseProvider.moc 163 1 hifiSpacemouse

It seems to be specifically complaining about: const QString SpacemouseManager::NAME { "Spacemouse" }; on line 23 of hifi\plugins\hifiSpacemouse\src\SpacemouseManager.cpp
Michael Varner
@TopRamenGod
Feb 07 2017 21:35
I think maybe perhaps I set my 3dCONNEXTIONCLIENT_INCLUDE_DIRS flag improperly in CMake, I'm just surprised it didn't kick an error on soliution build
Ryan Huffman
@huffman
Feb 07 2017 21:37
Ok, I think that must be it. I don't build with Spacemouse support, and I don't think very many others do, so it's not something I've run into
Michael Varner
@TopRamenGod
Feb 07 2017 21:38
Yeah, it seemed pretty odd, and I realized that I had been a bit too faithful in believing that CMake would have caught that
Ryan Huffman
@huffman
Feb 07 2017 21:40
It looks like NAME is declared as const char*, you could try changing that to QString
Michael Varner
@TopRamenGod
Feb 07 2017 21:41
That would have been my next course of action, but the issue I'm looking into is nowhere near this part of the code base
no intellisense or build errors being thrown now though :)
Ryan Huffman
@huffman
Feb 07 2017 21:43
I'm guessing no one has compiled that in awhile :P
Michael Varner
@TopRamenGod
Feb 07 2017 21:45
The whole project?
Ryan Huffman
@huffman
Feb 07 2017 21:45
Spacemouse support
Michael Varner
@TopRamenGod
Feb 07 2017 21:46
oh, yeah
haha
I think the majority of people using a Spacemouse and using Hifi...work at HiFi
Hmm, looks like the same errors came back...
Ryan Huffman
@huffman
Feb 07 2017 21:51
Haha probably. We have one in the office that isn't being used, and I've only ever seen it being used once or twice.
Do you need Spacemouse support? Might be easier to just compile without it for now. I can file a bug report
Michael Varner
@TopRamenGod
Feb 07 2017 21:53
Oh not at all. Where is le grand switch board in the project?
Ryan Huffman
@huffman
Feb 07 2017 21:55
I would just not set the spacemouse flags so cmake doesn't go looking for it
It's an optional dependency, so it shouldn't add it to the project if it can't find it
Michael Varner
@TopRamenGod
Feb 07 2017 21:56
Ah. I wasn't sure if there was deeper coupling
Ryan Huffman
@huffman
Feb 07 2017 21:57
cmake/modules/FindX.cmake is where you'll find the logic for finding a particular library/plugin
Michael Varner
@TopRamenGod
Feb 07 2017 21:58
thanks
Ze project. She is building....
Michael Varner
@TopRamenGod
Feb 07 2017 22:07
Thank you
Ryan Huffman
@huffman
Feb 07 2017 22:10
Great!
Michael Varner
@TopRamenGod
Feb 07 2017 22:15
Hi everyone! I have some questions regarding the Vive controlleres and the code base if anyone could advise me on that
Clément Brisset
@Atlante45
Feb 07 2017 22:52
Hi @TopRamenGod, what do you need to know?
I'm guessing you are looking for the code that manages them?
Michael Varner
@TopRamenGod
Feb 07 2017 22:53
Well, I have some inclinations, but yeah, it'd be nice to know the layout of the interfaces
I'm considering tackling the Vive touchpad jump trigger sensitivity issue, as I'm positive I'm breaking my touchpad by unconsciously pressing it harder when it it doesn't register a press
Clément Brisset
@Atlante45
Feb 07 2017 22:55
They are implemented as a plugin in plugins/openvr/src
The files you are looking for are probably ViveControllerManager.*
We have an abstract controller layer. on top of those plugins.
I'd say the issue either comes from the plugin or from the translation to that abstract layer I was talking about.
Michael Varner
@TopRamenGod
Feb 07 2017 22:57
It's the translation in the abstract layer that I'm looking for
specifically where and how the touchpad is partitioned for presses
well then, it looks like what I'm looking for is ViveControllerManager::InputDevice::partitionTouchpad on line 315 in ViveControllerManager.cpp
Clément Brisset
@Atlante45
Feb 07 2017 23:00
Yeah I was just looking at that.
What's weird is that it looks like it's divided in 2 buttons at an angle.
X/Y
Michael Varner
@TopRamenGod
Feb 07 2017 23:02
I'm guessing the CENTER_DEADBAND is just a little to wide, if I'm understanding the deadband on a circular input correctly
I wasn't sure if that wierd divide was supposed to be the split for the left hand controller for WASD style input
Ryan Huffman
@huffman
Feb 07 2017 23:07
I would try looking into the .json configurations first. If you take a look at interface/resources/controllers/standard.json you can find that Standard.RY is mapped to Actions.Up, but has a deadzone up to 0.95.
Michael Varner
@TopRamenGod
Feb 07 2017 23:07
Yeah, it looks like the zones are being calculated correctly in ViveControllerManager, if I'm reading the math right
Ryan Huffman
@huffman
Feb 07 2017 23:07
Adjusting that will probably get you what you want. That said, that might cause overlap with other mappings. I'm not sure if we do any partitioning of the touchpad, or if we do, I don't think we use them.
Michael Varner
@TopRamenGod
Feb 07 2017 23:08
AFAIK, the only thing on the right touchpad is fly/fall and teleport
Ryan Huffman
@huffman
Feb 07 2017 23:09
And turn
Unless that's changed on the Vive, I primarily use Touch
Michael Varner
@TopRamenGod
Feb 07 2017 23:09
oh yeah
I keep forgetting because I never use it
Gonna try adjusting the standard.json value
Ryan Huffman
@huffman
Feb 07 2017 23:11
:thumbsup:
Michael Varner
@TopRamenGod
Feb 07 2017 23:11
I was originally looking in the vive.josn, but it only sets the deadzone for the triggers there
Do you notice a similar issue on the Touch?
Or is this a Vive only issue?
Ryan Huffman
@huffman
Feb 07 2017 23:14
I haven't noticed it, but I don't jump often. It's probably less of an issue because you push the joystick all the way forward
Michael Varner
@TopRamenGod
Feb 07 2017 23:14
Ah
I have yet to touch...Touch
Ryan Huffman
@huffman
Feb 07 2017 23:14
:P