Age | Commit message (Collapse) | Author |
|
|
|
The numeric warnings are somewhat useful. Sadly only clang supports the
vtable object file bloat warning.
|
|
|
|
The files are machine-generated and full of redundancies. With pedantic
warnings it drowns the relevant stuff.
|
|
It's pointless for it to exist, see previous commit for rationale. No
call sites.
|
|
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.
|
|
Due to typo axis index got saved as the same .ini name as another index.
Spotted-by: @Ec0nomist
Confirmed-by: @huliqan
Issue: #327
|
|
Spotted-by: @Ec0nomist
Issue: #327
|
|
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.
|
|
|
|
|
|
Issue: #327
|
|
|
|
|
|
The api callee already takes care of that so remove the "ok" argument.
|
|
|
|
|
|
The resync code already worked without that.
|
|
|
|
We don't need to move back the datagram since we're processing the
original.
|
|
|
|
|
|
It's not used anywhere.
|
|
|
|
Issue: #327
|
|
|
|
|
|
|
|
Issue: #349
|
|
|
|
See:
https://github.com/opentrack/opentrack/issues/327#issuecomment-215991810
|
|
Don't prepend existing remaining data racing with add new data. Expose
the lock as a public member.
|
|
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
|
|
Remove redundant operation on the frame.
|
|
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
|
|
"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.
|
|
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.
|
|
|
|
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.
|
|
|
|
|
|
|
|
Issue: #342
|
|
|
|
causes breakage. even with denormal flush to zero it's not correct to
compare to epsilon.
|
|
Causes frequent user confusion on Linux.
|
|
Issue: #332
|
|
Closes #340
|
|
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
|
|
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
|