summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2016-05-13cmake: disable all warnings for Qt moc-generated source filesStanislaw Halik
The files are machine-generated and full of redundancies. With pedantic warnings it drowns the relevant stuff.
2016-05-12cmake: remove header with version informationStanislaw Halik
It's pointless for it to exist, see previous commit for rationale. No call sites.
2016-05-12cmake: workaround LTO issue on Windows.Stanislaw Halik
With the GNU toolchain there's some mix-up and the "opentrack_version" symbol isn't emitted into the object file at all. Disable LTO for the "version" statically linked library. The "version" statically linked library exists so that files needing the version only need to be re-linked, not recompiled. A preprocessor global -DVERSION=foo rebuilds the whole project after each commit. A header definition rebuilds all include sites. LTO in the GNU toolchain is very broken on Windows, particular the interaction of GCC "linker plugin" injected into Binutils bfd ld. The gold ld we can't use since it's only for ELF executables. There's nothing alarming here at all unless there's some miscompilation and there doesn't seem to be any. The rest of the functional changes is changing cc -> c of that object file, and moving library definition after the source file is already generated.
2016-05-12tracker/hatire: fix option name typoStanislaw Halik
Due to typo axis index got saved as the same .ini name as another index. Spotted-by: @Ec0nomist Confirmed-by: @huliqan Issue: #327
2016-05-10tracker/hatire: add missing serial port name bindingStanislaw Halik
Spotted-by: @Ec0nomist Issue: #327
2016-05-10compat/options: use auto connection type alwaysStanislaw Halik
I'm unsure whether the context object for QObject::connect overload we're using in enum support is treated as the connection's target thread at all. Docs are silent on this. In the meantime, no crashes or other anomalies observed, while violating Qt thread safety invariants resulted in immediate crashes beforehand. So let's use Qt::AutoConnection and not worry for the time being.
2016-05-09tracker/{hatire,rift-080}: remove outdated commentsStanislaw Halik
2016-05-09compat/options: add enum supportStanislaw Halik
2016-05-09tracker/hatire: add serial 100% cpu usage workaroundStanislaw Halik
Issue: #327
2016-05-09tracker/hatire: move to opentrack settings APIStanislaw Halik
2016-05-09tracker/rift-042: reformat, remove outdated todoStanislaw Halik
2016-05-09tracker/hatire: remove min length check duplicationStanislaw Halik
The api callee already takes care of that so remove the "ok" argument.
2016-05-06tracker/hatire: fix sleep in ready_read event handler for debug caseStanislaw Halik
2016-05-06tracker/hatire: add debug logging varianceStanislaw Halik
2016-05-06tracker/hatire: don't hoard more data than a single dgramStanislaw Halik
The resync code already worked without that.
2016-05-06tracker/hatire: move function from headerStanislaw Halik
2016-05-06tracker/hatire: simplifyStanislaw Halik
We don't need to move back the datagram since we're processing the original.
2016-05-06tracker/hatire: prevent infinite loop when no end marker and start at index 0Stanislaw Halik
2016-05-06api: add class for computing running varianceStanislaw Halik
2016-05-04tracker/hatire: remove disconnected logicStanislaw Halik
It's not used anywhere.
2016-05-04tracker/hatire: remove copy-pasted codeStanislaw Halik
2016-05-04tracker/hatire: try to optimize the polling pathStanislaw Halik
Issue: #327
2016-05-04tracker/hatire: fix spelling in identifiersStanislaw Halik
2016-05-04api: fix shortcuts for OSX and LinuxStanislaw Halik
2016-05-04cmake: fix osx linkStanislaw Halik
2016-05-04osx: increase stack size 4 timesStanislaw Halik
Issue: #349
2016-05-04api: fix permissions bits. no code changes.Stanislaw Halik
2016-05-04tracker/hatire: switch to 200 Hz following user complaintStanislaw Halik
See: https://github.com/opentrack/opentrack/issues/327#issuecomment-215991810
2016-05-04tracker/hatire: remove raceStanislaw Halik
Don't prepend existing remaining data racing with add new data. Expose the lock as a public member.
2016-04-29tracker/hatire: move io to a separate threadStanislaw Halik
We can't have async io on the main thread because QSerialPort's readyRead() signal can fire constantly, thus consuming all CPU time. We can't sleep in the main thread either as that blocks too many things. We can't ignore readyRead() invocations over a threshold as that'll make us lose some of data notifications. Refactor hatire to put IO on a thread. Since this is a separate Qt event loop, we may sleep in there. Further, add a debug mode reading data from a file, as if it came from a serial-attached device. Issue: #327
2016-04-29tracker/pt: conversion to unsigned char clamps by itselfStanislaw Halik
Remove redundant operation on the frame.
2016-04-29api, main: implement new keybindingsStanislaw Halik
The following keybindings are now implemented: - restart tracking. if not started, starts. - toggle (keep position) while key held - zero (keep zero) while key held The latter two options only work for Windows as libqxt doesn't support them. Closes #291
2016-04-27gui: show tracking hasn't started in preview area instead of "no video"Xavier Hallade
"no video" wasn't clearly indicating that no tracking was done. Some first time users had hard times figuring out tracking had to be started. @sthalik: I've put an image mimicking what you did for "no video", feel free to change it or switch to plain text instead.
2016-04-27installer: propose install of RealSense runtime on compatible systemsXavier Hallade
When an user installs opentrack on a system which has RealSense F200 or SR300 camera drivers installed, the installer now proposes to install the proper runtime after having displayed its EULA.
2016-04-27tracker/pt: sensible max point sizeStanislaw Halik
2016-04-27tracker/pt: experimental non-white color removalStanislaw Halik
It's enabled only for automatic thresholding. With it on, it's possible to keep tracking in normal light conditions without changing gain or exposure beforehand. It won't function on badly overexposed images, or with other bright white colors in the frame. It should function on somewhat overexposed images. CPU usage is somewhat high, even taking advantage of all OpenCV SIMD goodness as per the code. We can revert the change if user reception is bad.
2016-04-27cmake: -mno-avx for mingw-w64 just to be safeStanislaw Halik
2016-04-27osx: set execute bit for install-fail-toolStanislaw Halik
2016-04-27cmake: force -arch x86_64 for osxStanislaw Halik
2016-04-27gui: make tray click raise the window alsoStanislaw Halik
Issue: #342
2016-04-23api: make NaN/Inf check work even with full fast mathStanislaw Halik
2016-04-23tracker/pt: add caveat to POSITStanislaw Halik
causes breakage. even with denormal flush to zero it's not correct to compare to epsilon.
2016-04-23cmake: explicitly disallow source directory being equal to build directoryStanislaw Halik
Causes frequent user confusion on Linux.
2016-04-23proto/ft: comment how to make "clear registry key on exit" work at allStanislaw Halik
Issue: #332
2016-04-18cmake: fix expanding variable quoting bugStanislaw Halik
Closes #340
2016-04-06proto/ft: only clear registry path on program exitStanislaw Halik
Clear registry path when opentrack exits, not merely tracking is stopped. This is still controlled by the checkbox, while checking for being the first instance happens always regardless. Also update dialog description. Issue: #332
2016-04-06proto/ft: make clear registry path on quit optionalStanislaw Halik
Make clearing the dll path optional, defaulting to false. See previous commit. It has a side effect of games started before opentrack not seeing any dll path, and loading nothing. That is, opentrack only functions when tracking is started before a game is started. Issue: #332
2016-04-06proto/ft: don't make games think opentrack is running after it quitsStanislaw Halik
Some background: Our dll's for freetrack and npclient protocols don't support indication whether opentrack is running or not. Worse yet, they're whitelisted on Arma's anticheat system so we can't modify them at arbitrary times. It's possible to run multiple opentrack instances at a time and we can't have multiple instances stepping upon each other's toes. It's kind of pointless to run multiple sessions but hey. Implementation: Guard with a mutex against multiple instances. Only the first instance (that uses the freetrack protocol at all) gets to control whether the dll's are accessible. Remove the registry keys after either freetrack protocol exits or software exits, but only if we're the first opentrack instance running freetrack protocol at all. Issue: #332
2016-03-15cmake: fix MSVC build typeopentrack-2.3-rc21p11Stanislaw Halik
2016-03-12installer: prepend "DEBUG-" for debug buildsStanislaw Halik