Age | Commit message (Collapse) | Author |
|
- fix gimbal lock
- use right Tait-Bryan conversion to/from matrix, not generic
inapplicable euler conversion
- adjust for timer inaccuracy, therefore running at constant Hz
that's actually the specified Hz
|
|
|
|
|
|
|
|
|
|
How did this even happen?
|
|
|
|
* unstable: (140 commits)
tracker/pt: increase auto threshold bucket size again
tracker/pt: limit max amount of extracted blobs
gui: don't update main window if we're minimized
tracker/pt: only show widget if the frame is visible
tracker/pt: don't resize twice in widget
freetrack/games: regen
contrib/make-csv: perl sort isn't stable, don't ignore case
tracker/pt: avoid widget temp QImage allocation
spline-widget: oops, pass by reference
tracker/pt: don't allocate temporary dynamic size arrays
tracker/pt: don't copy points array needlessly
tracker/pt: don't allocate temporary frame
tracker/pt: cv::Mat::at<T> is slow, use cv::Mat::ptr
tracker/pt: avoid widget malloc when able
tracker/pt: optimize widget
tracker/pt: update video widget at 40 -> 50 ms
cmake/mingw-w64: update
tracker/pt: reduce mutex contention
gui: fix left margin
tracker/pt: remove krap
tracker/pt: move ctor out of the loop
tracker/pt: nix unused
tracker/pt: don't fill mask on frame
pose-widget: also bilinear interpolation of alpha value
ui: adjust margin
ui: make more compact
glwidget: use transparent octopus background
api/mat: fix typos/breakage
api/joy: refresh only manually on certain events
pt: histogram more granular 6 -> 8
cmake/api: link with strmiids.lib on win32
tracker/pt: reduce auto thresholding histogram bucket size
api/keys: prevent idempotent keys
api/joy: move from header
api/joy: prevent idempotent keypressed passed to receiver
compat/options: get rid of std::string usage
compat/options: move from header
gui/settings: set parent, otherwise not modal
gui/settings: don't forget to show a modal dialog before executing
gui/main: don't raise a new window, it's enough to set visible
api/joy: speed up poll_axis path
api/joy: nix static, now that we're not a singleton
tracker/joy: adapt to non-singleton joy worker
joystick: no longer singleton, use fake window handle
api/keys: use a fake window for DirectInput handle
gui/keys: allow for pausing global keystrokes for options dialog
api/keys: nix tautological #ifdef
contrib/aruco: oops, right extension
contrib/aruco: use @frost555's marker image
api/camera-names: move to compat/
...
|
|
|
|
Refresh joylist when new listener arrives, and when the joy singleton
just gets created. Enumerating joys all the time causes high CPU usage
for some of the users.
Issue: #279
Backtrace-by: @exulant
Reported-by: @aka2k
|
|
It worked by accident since cmake/compat already links to it.
|
|
|
|
|
|
|
|
We don't really need to poll for joysticks in tracker/joy.
|
|
|
|
We can create arbitrary amount of dinput handles, given they're passed
unique window handles.
|
|
|
|
|
|
|
|
There's no need to have a copy in each module.
|
|
|
|
|
|
Issue: #252
That involves moving stuff around to get rid of circular dependencies.
You need to bind keys to shortcuts again this once.
|
|
|
|
We can't depend on std::vector's address of array subscript to remain
constant, duh.
|
|
|
|
|
|
|
|
erase from iterator referenced the wrong 'joys' variable
|
|
|
|
|
|
Don't look for changes in hotplug joysticks by freezing up polling for
joysticks' axis and button.
Issue: #267
|
|
|
|
There's no need to have definitions in header for non-template classes
|
|
|
|
|
|
The worker class is win32-only. Don't guard there, consumers are
expected only to include it on _WIN32.
For the same reason don't provide a stub for the keybinding worker.
|
|
|
|
|
|
|
|
|
|
|
|
Also practice object-oriented information hiding to avoid accesses
without the mutex.
Also provide basic joy information (guid, name) without exposing dinput
handles and so on.
|
|
- Make the dinput handle a singleton also across module boundaries.
- Provide axis values per connected stick.
- Robustify in case of sudden unplug.
|
|
|
|
DirectInput dies when two LPDIRECTINPUT8 handles are obtained. Implement
a singleton worker providing keypress events.
|
|
It also slept with lock held. Good riddance.
|
|
|
|
My X65 emits modeswitch events only a while after getting plugged in.
This only affects newly hotplugged joysticks. Ones plugged in before
listening start start processing events immediately.
Issue: #118
|