opentrack

Head tracking software for MS Windows, Linux, and Apple OSX

Stars
3.6K
Committers
62

Bot releases are visible (Hide)

opentrack - opentrack 2.3.8

Published by sthalik about 7 years ago


THE BUILD IS VERY BUGGY AND WAS PULLED. DON'T BUILD FROM SOURCE!

See #664 for 2.3.9 prereleases. Again, don't use 2.3.8.

Build the unstable git branch from source directly. Don't build point releases since they have no bugfixes.


Changes

  • Fix hatire tracker
  • Accela: use less sluggish gain function.
  • Accela: make nonlinearity useful, not resulting in microstutter anymore.
  • Camera angle rotation is gone now. It didn't work right. Use the current center pose to transform position value. Only happens with camera center mode.
  • Change the method PT tracker uses to extract LED centers. Change the video overlay somewhat.
  • In PT and Aruco, we were using RGB weights rather than BGR for transforming into grayscale. The colors were wrong. This bug was with us since the very beginning. 🍺
  • Prevent mapping from having negative values or over the graph's maximum value. -- reported as #628 by @Forsaken-Player, as #651 by @unhappytroll, and as #641 by @Qiler
  • Russian translations for the calibration and game detector controls -- by @mrsanchos
  • PT: show separate calibration sample counts for yaw and pitch, as well as hints in case of low sample counts.
  • Allow for binding Caps Lock and Tab -- issue #646 reported by @BA1-Templar
  • Fix for Prepar3d 4.0 and overall SimConnect version mislabelling -- issue #627 by @ArnieWe; correct versions supplied by @ronh991.
  • PT: warn in UI not to turn on dynamic pose for clips
  • New tracker interfacing with embedded controllers supported by the Smalltalk Squeak environment -- by @achipa
  • reorder code in the compat/shm functionality to avoid false positive in braindead antivirus software such as Avira or Bitdefender -- issue #654 reported by @cofilippo to also affect Bitdefender.
  • spline/widget: prevent drawing the mapping past the graph's end. Ugly but didn't lead to bugs.

Thanks

Thanks to @Len62 for pointing people to nightly builds after it was found that previous 2.3.7 had few serious bugs.

Trivia

  • Don't try access Qt's install prefix where it was installed on the build machine.
  • Use higher timer resolution during tracking again.
  • Reduce CPU usage with mapping window open during tracking.
  • Workaround Falcon BMS in-game "bump" when pitching to exactly 90 degrees.
  • Speed up spline redraw when dragging a control point.
  • Tweak PT meanshift CPU usage in PT
  • Code cleanups, see actual git log. Idem for CMake module code.
  • We're not using Intel IPP anymore so remove the notice.
  • Fix 32-bit build on Visual Studio 2015 -- issue #640 reported by @ronh991
  • Don't call _Exit(2) on Linux or OSX.
  • pose-widget: fix use-after-free on Linux, found with Valgrind. Also fix one unitialized memory read, by Clang asan.

THE BUILD IS VERY BUGGY AND WAS PULLED. DON'T BUILD FROM SOURCE!

opentrack - opentrack 2.3.7

Published by sthalik over 7 years ago

image

Stability status

Has multiple bugs, breaking trackers and other basic functionality.

Changes

  • The SteamVR tracker for HTC Vive now works. Big thanks to @KydDynoMyte for testing multiple builds in a row, and soliciting outside testing. It was ascertained that yaw works +-180 deg, pitch works +-180 deg, and roll works +-90 as it should be.
  • The "Fusion" tracker allows for receiving rotation and position data from two trackers. This was requested over a few years by multiple users.
  • The "Test" tracker allows for crashing the application on demand. Truly a feature of the year!
  • Mapping: fix points disappearing when moved close together in a particular way.
  • Mostly fix keyboard shortcuts on Linux. Thanks to @miniskipper for starting the work. -- issue #577
  • Fix bitrot in the X-Plane plugin, by @miniskipper -- issue #623
  • After pressing "toggle", "toggle while held" will enable the tracker while held. Previously it always disabled while held.

Misc

  • Install debug information along with the program. Because of this, it's way easier for users to report hard-to-find crashes.
  • Don't rebuild every single module if core library has only unit file .cpp changes, and no header changes. Greatly speeds up release builds.
  • tracker/hatire: try detect 100% cpu serial bug automatically.
  • Fix forcefully unloading QLibrary. It should now work on Linux also without _Exit(2).
opentrack - opentrack 2.3.1.6

Published by sthalik over 7 years ago

Stability status

The software was only tested and deemed stable before release by few dedicated users. Thanks to @Len62 and @mrsanchos and others whom I unfortunately forgot to mention.

The SteamVR tracker for HTC Vive is broken. Use the next release if you need it.

Important changes

  • Accela: filter all DOF together. This makes diagonal rotation less staircase-like. Please report any new issues with the filter's operation. -- discussed and tested with @mrsanchos
  • Accela: smoothing works a lot better. This is indirectly caused by 3DOF rotation filtering. -- requested by @olegiy
  • Accela: adjust gain to prevent microstutter. -- tested together with @mrsanchos
  • Support HTC Vive. Thanks to a community effort the tracker's now complete and ready for initial general use. The tracker name is SteamVR. It should work with both the HMD and controller. Please report issues for this new tracker in #352. -- code submitted by @subnet- and @antcodd, additionally tested by @KydDynoMyte.

Changes

  • PT, Aruco: use Intel's IPP library to speed up image processing for each user's CPU architecture.
  • PT, Aruco: update OpenCV. The new version has separate code depending on the user's CPU. It speeds up image processing similarly to Intel IPP.
  • The software now uses less CPU on the core functionality.
  • Accela: don't allow for very high sensitivity and deadzone values. This should help with configuring the filter as only sensible values are shown on the slider. -- tested by few users
  • Accela: don't behave real stupid when switching between -180->180 in a quick succession -- reported by @evan-king in #600
  • PT, Aruco: allow for roll calibration. It's hard to perform hence not recommended. However, it's technically possible to keep static translation values despite calibrating for roll in addition to yaw and pitch.
  • PT, Aruco: show calibration sample count feedback after done calibrating.
  • PT: point centers are now only shown as crosses. The circle is gone since it was twice too big because of a bug. Making it as small as it should be makes it too unreadable over the camera display. The rotation center cross is now yellow, not red. It looked bad when only tracking the red channel.
  • Fix path to Intel RealSense driver installer. -- by @ph0b
  • FlightGear: few of the axis were inverted. Fix that. -- reported by @rayinny
  • mapping: fix points lumping together when moved close under some circumstances.
  • mapping: allow for an X value up to 100 centimeters. This isn't the default.
  • update the Russian translation -- by @mrsanchos
  • rename the UDP tracker and protocol to make it less confusing. -- requested by @adeldex

Boring changes

  • Include debug data in software builds. Users looking to fix crashes now have much less a burden.
  • Simplify how we handle 90 deg pitch rotation in the Octopus widget.
  • Vastly simplify how the Octopus is drawn.
  • Simplify the build system.
  • Simplify how we format values saved in the .ini file, making Accela's dialog code shorter.
  • Register the project on the Coverity's initiative for open-source. The software detected several non-critical faults that since got fixed.
  • Make our expected timer resolution less invasive on the whole system's operation. Use an undocumented Windows API.
  • Remove one camera angle option that wasn't doing anything.
  • Other random boring code quality changes, of course.

What next

Given we're now done with HTC Vive, the next step is the Tobii EyeX controller. Expect accumulative and snap modes. The tracker is already WIP but has some formulae wrong.

We'll get switching profiles on a hotkey. The idea is to stop tracking, switch the profile and start tracking again. It's been requested multiple times, also recently. The hotkeys will get stored globally just like game detection profile switching.

🐙 🐈 🍺

opentrack - opentrack 2.3.1.5

Published by sthalik over 7 years ago

Changes since 2.3.1.4

Stability status

Individual fixes were tested by users reporting the issues. No widespread usage yet. I recommend you to try it, in case of issues report a bug and go back to the previous build.

Important

  • PT, aruco: the calibrator will now work even if you look at the same spot for a while, and you calibrate with varying speed. -- a major pain reported by many, recently discussed with @Len62 and @MathijsG in #575
  • aruco: now uses the exact same calibration code as PT, with above improvement

Minor

  • PT: correct logic error relating to camera reopen with resolution/fps change during tracking
  • accela: doesn't do a large movement when moving from +180 to -180. This is for inertial trackers. - #533, reported by @Ounicron
  • the "custom center pose" ignores mapping and doesn't affect relative translation as it's not meant to. -- #572, reported by @olegiy
  • cmake: some msvc fixes
  • PT: simplify camera vs tracker code. we'd like to reuse the camera code for other camera-based trackers eventually.
  • cmake, dinput, compat: fix minor bugs no one ever run into
  • I started going over the modules with a disassembler to verify optimized code quality. For now it's a start but I plan to do it more.

Done for the next version

  • HTC Vive works for 6DOF (issue #352, work done by @subnet-)
  • Accela filter works well with diagonal and circular movement

What to expect next

  • Assistive technology support for controlling the computer other than the traditional keyboard and mouse. It's meant to help quadriplegic people, as well as paraplegic suffering muscle pain due to heavy arm use.
  • We're still missing fully working code for the HTC Vive and Tobii EyeX trackers.
  • Implementing Linux/OSX joystick support is a pushover thanks to the QtGamepad module.
opentrack - opentrack 2.3.1.4

Published by sthalik over 7 years ago

This is a stable release

We haven't had critical bugs reported in a while so you can consider this release stable.

Changes since 2.3.0

Important

  • Russian translation updated by @mrsanchos, thank you!
  • Allow setting max X value for mappings
  • Allow a second keybinding for each function, e.g. one for joystick and second for keyboard.
  • PT: with correct fov and model size in mm will show real-life distance in centimeters.
  • Add "neck displacement" feature general for all input and output schemes.
  • PT: add improved centering code by @DaMichel. It's particularly significant for LEDs shining evenly bright across their entire space.
  • aruco: try different parameters if can't detect the marker
  • mouse output: fix small differences not accumulating
  • fix simconnect X axis sign
  • hotfix1 the software now defaults to the camera center method in empty configs
  • hotfix3 PT: show used radius for each point; this helps choose the correct slider position with auto-threshold.

Hotfixes

  • hotfix1 accidentally the cancel button and closing the dialogs didn't revert the settings to saved values
  • hotfix1 pressing escape to close a dialog will now act like the cancel button also, before it never did
  • hotfix2 hotfix1 broke saving the options dialog -- issue #557, reported by @hollywood156
  • hotfix3 don't crash with camera preview on startup for PT and aruco; thanks to @mrsanchos for searching for affected users; thanks to paseznik for installing Visual Studio and allowing remote control of his PC!
  • hotfix4 fix "max rotation/translation" selectable in mapping window only applying after the mapping window is first opened -- issue #568, reported by @flycrshish

The release logo was made by @mrsanchos. Thanks 🐈!

Minor

  • Accela defaults changed. Rotation nonlinearity got documented in the settings dialog.
  • PT camera only reopens if some of its settings were actually changed.
  • Remove broken experimental center mode
  • Fix process detector horizontal scrollbar that shouldn't be there
  • Disable relative translation by default -- reported by @mrsanchos
  • PT: enable auto threshold by default
  • aruco: increase max detectable marker size -- requested by many since forever
  • code quality changes in random places
  • hotfix1 build system fixed relating to translation support -- in collaboration with @mrsanchos
  • hotfix1 source code is installed fully now
  • hotfix1 in case "invert" option is used, do it before transformations; relative pose and friends
  • hotfix1 PT: the preview window's text and crosses look perfectly sharp and accurate now
  • hotfix1 PT and aruco video preview don't slow down the user interface anymore
  • hotfix1 PT: finding LED centers should be slightly more accurate now
  • hotfix1 PT: in case we can't get a frame, don't use 100% of the CPU; wait for 100 ms before each attempt; don't try for 100 times, try only 5 times -- issue #552, reported by @MathijsG
  • hotfix1 simplify, correct some code and move common code outside the gui module; simplify the keyboard listener in the options dialog
  • hotfix1 correct layout in the options window -- fixes Russian translation issues
  • hotfix1 fix build errors on Linux; it won't be officially supported despite that of course
  • hotfix1 fix keyboard shortcuts on Linux; they won't block the key in the user interface, won't suddenly stop working etc
  • hotfix2 fix memory leaks in the options system; now Valgrind is silent for "definite leaks" but see 1b01642dda7ae8bbf3e74a979ffcf7941a8ae2b9's long description.
  • hotfix3 units for position in the mapping window are now shown as cm, not mm, as it ought to be; this is purely cosmetic
  • hotfix4 fix Linux hotkeys. Linux users are expected to build directly from unstable and aren't entitled to support however. This is an OS for developers.
opentrack - opentrack 2.3.0

Published by sthalik almost 8 years ago

Changes since rc15

  • fix hatire serial parameter selection in dialog crashing, this time for good (reported by @huliqan)
  • rifts, hydra: license the code as authorized by @mm0zct
  • fix a dubious build error on msvc 2017 preview

Why now?

There are still few bugs and missing features. But overall it's good to go. We'll iron out the remaining issues in followup releases.

But this is so anticlimatic!

I agree. 🐱 🍺

best regards,
Stanislaw Halik, maintainer

opentrack - opentrack 2.3.0 release candidate 15

Published by sthalik almost 8 years ago

Please report bugs

We're close to stable release. Please report bugs on the issue tracker. They actually get fixed once reported.

Important

  • Add Oculus Rift SDK 1.4.0.
  • Add translation support! The main interface now has a Russian translation (thanks to Alexander Orokhovatskiy) as well as Dutch (Thanks @MathijsG). More modules are planned for translating into Russian.
  • Fix Aruco solver going bonkers. This took a while. Thanks to @Emton for reporting it again and testing several versions.
  • Fix rotation nonlinearity's discontinuity in Accela. You need to increase your nonlinearity values a bit.

Other

  • The mappings are now drawn antialiased.
  • Fix joystick tracker swapping sign on maximum values.
  • Resize the game detector interface to full options window size.
  • Code maintainability improvements.
  • Reword some descriptions in the user interface.
  • Allow for disabling program translation (interface in different languages, not translation as in "position").
  • Remove camera offset from centered position checkbox. It doesn't work properly, and probably doesn't make sense.
  • Fix an infinite loop bug during tracking. This probably hasn't occured to anyone.
  • Remove disabling axis for relative translation. Leave only the option to disable the Z value. -- removed from the build due to feedback.
  • Don't consume too much memory for each mapping. Please report if Accela is too jumpy.

In progress

  • Support for SteamVR controllers. We already receive the data but need to perform geometric transformations which aren't yet implemented.
  • Joystick input for Linux and OSX. It can be tested on Windows so it's not a big deal.
opentrack - opentrack 2.3.0 release candidate 14

Published by sthalik almost 8 years ago

Core changes

  • Unbreak auto translation camera offset when used together with relative translation -- tested by @Len62, #473
  • Prevent freeze on multi-display desktops -- debug info by @kzfr, #469
  • The Octopus is now more slim and not square.
  • Higher snap in the mapping window. It was so small that hitting the right value was a pain.
  • Don't allow points to occupy the same place when dragging in the mapping window. Bug allowed that to happen in some cases.

Module changes

  • PT: Don't call calibration more often than intended.
  • PT, aruco: Don't delay camera stop artificially.
  • PT: display tracker info immediately, and don't refresh it when tracking is stopped.
  • freetrack: support few more games.

Known bugs

These didn't make it in time sadly. The multi-display bug is serious enough to release now rather than fix more known issues.

  • Aruco still has solver problems resulting in nonsensical poses.
  • The FreePIE app won't show debug sensor data unless "send raw" is selected also.
opentrack - opentrack 2.3.0 release candidate 13

Published by sthalik about 8 years ago

  • Translation compensation got renamed to relative translation. Also, effect of each rotation axis on translation can be disabled, and each translation axis can be excluded from relative translation.
  • Mapping snap got lowered to (1, 1) and (.5, .5) for rotation and translation respectively. We have tooltips so it's not a problem.
  • Tracking stop won't reset unsaved dialog changes. Only closing a dialog without saving will reset unsaved changes.
  • Tracking will try very hard to keep running at constant framerate (250 Hz). Previously it only adjusted based on the last delta.
  • The Octopus now has larger resolution, and looks more correct when rolled.
  • Trackers submitting rotation over +-180 will have it normalized.
  • PT tracker had too small auto threshold point area. We forgot to multiply by Pi. Now the area is larger by 3.14.
  • PT tracker finds point centers a bit more accurately.
  • Some Accela settings had their maximum values reduced to prevent user confusion. They didn't make sense at these high values.
  • Settings dialog in PT and Aruco won't show itself for A4 TECH cameras, in addition to PS3 Eye. The former crash when trying to open the dialog.
  • All Rift versions now work without gimbal lock. It was only tested on 0.8.0 but the code is pretty much the same for all the versions.
opentrack - opentrack 2.3.0 release candidate 12

Published by sthalik about 8 years ago

Announcements

This build and well as future releases will be provided for the community active with reporting bugs and requesting features, first. This helped fix simple bugs that made the software unusable before this release.

I'd like to thank (in chronological order): @albertolg, @Sone989, @olegiy, @MathijsG, @Ec0nomist, @Emton, @Len62, @FlyMakerBR, @H-Bear-22, for help with important but hard to find issues, @sheepsskullcity for finding and fixing the UDP issue, as well as @DaMichel for his assistance as a professional programmer.

The OSX port won't have any releases until it finds its own maintainer.

A few wiki pages got rewritten to use active voice and be more terse by dispensing with polysyllabic formalities. Some gaps in documented functionality exists still, but several community members wrote their own tutorial. Thank you for that.

Core changes

  • Fix tray support. A separate option now controls whether to minimize to tray on startup. Tray now has a right-click menu.
  • Fix freezes with some webcams and some joysticks.
  • Mappings: show tooltip with actual value while moving, hovering, and placing points.
  • Tapping a button that is "while held" made the function stuck. Now tapping works no matter how fast.
  • Fix "while held" functions bound to joysticks. They were getting stuck.
  • Mappings: XYZ isn't snapped to 5 units anymore. One unit's used here.
  • Saving settings is overall more efficient.
  • Settings are now migrated from previous versions. There won't be a need to set everything again.
Minor changes
  • Rework profile refresh. If the profile directory can't be created and written to, the software exits.
  • Changing profiles will now reload everything, including mappings.
  • Changes such as checkboxes propagate immediately e.g. tray appears right after checkbox is toggled.
  • Mapping: some visual fixes. Less artifacts and easier on the CPU.
  • Experimental centering option for camera-based trackers.
  • Mapping: saving to .ini is performed only once now, not 12 times (once for each graph).
  • Multiple kinds of data were considered always modified when stored in the .ini.
  • RealSense: the code now resides in its module and there's no separate .dll anymore.
  • Mappings: alt-tabbing away from the window while a point is dragged will stop dragging it.
  • Add shortcut for "translation compensation off while held" for precise gunsight aiming.
  • Tracker data logging interface simplified (by @DaMichel).
  • Mappings: settings are now stored more easily but sadly they aren't plain text anymore.

Module changes

  • Accela filter: maximum position and rotation change is now back to a large value like it was in rc7. The smaller value caused problems for hatire and joystick input users.
  • PT: calibration now doesn't have its sign swapped.
  • UDP tracker was accidentally broken in p11 (fix by @sheepsskullcity).
  • PT: calibration user interface is less confusing as to how to begin and end calibration.
  • Kalman filter: improved again by @DaMichel. By now the filter is in a good shape and you can give it a try if you want.
Minor changes
  • PT, Aruco: The camera settings button is back. It's automatically greyed out with PS3 Eye selected since it doesn't work with it.
  • freetrack output: game list update.
  • Rift trackers: show informative error messages whenever possible.
  • PointTracker is now default for new configs and new users.
  • Accela filter: simplify the way settings are stored.
  • Accela filter: show nonlinearity filter's exponent in a larger font. It was barely visible.
  • Aruco: X and Y translation values are smaller, allowing for more movement overall before they're clamped to the maximum value.
  • Aruco: show 75 FPS as a camera option.

Development information

  • Building opentrack is now easier than ever as Visual Studio 2015 Community is supported on Windows. It's also regularly built with that toolchain.
  • The compiler used is now Microsoft Visual Studio preview 4. There weren't any regressions reported and the software still works on Windows XP.
Minor changes
  • Full text of the ISC license is now used, including the warranty. You have the same rights but it protects from some bullshit that depends on jurisdiction.
  • Add missing licensing to some source files. Stupid AT&T vs BSD suit made it so by default no rights are granted. We want to make it clear that you can do whatever the hell you want with opentrack, including making commercial derivatives with no source code available. Which we wouldn't like but nevertheless won't use the legal system to prevent you.
  • Build system improvements. Writing plugins requires barely any work with the build system.
  • Fix build on older Qt versions, also on Debian sid's Qt 5.6.0.
  • Tobii EyeX tracker: merge in the work done so far. It's not provided for end-users since it's not working well enough.
opentrack - opentrack 2.3.0 release candidate 11

Published by sthalik about 8 years ago

Do not use. Will break mapping migration in rc12+.

  • Gimbal lock is no more. No longer will you get roll output on pitch + yaw input. This was fixed in a crude way but works.
  • Fix axis signs swap for various axis introduced in rc10.
  • There are new optimizations used. Please report random crashes so the optimizations can be backed out!
  • SimConnect: fix total breakage after moving to "modules" subdirectory.
  • SimConnect: add instructions for SDK install.
  • Replace Headsoft VJoy with the vjoystick project. The former gave "trial expired" error which is unacceptable.
  • Max output translation is now 75, from 50.
  • Fix tray icon being broken for some time. Also, add a tray icon menu. Tray now toggles on a single click, not only double click.
  • Install source code with right directory layout.
  • Make tracker Hz as constant as possible. The tracker thread now sleeps less to "catch up" with the Hz requirement.

Do not use. Will break mapping migration in rc12+.

opentrack - opentrack 2.3.0 release candidate 10

Published by sthalik about 8 years ago

  • tracker/pt: point extraction code got replaced with the original version by Patrick Ruoff.
  • tracker/pt: dynamic pose was utterly broken accidentally.
  • tracker/pt: dynamic pose auto-resets if point is away from the last position by more than 8 pixels.
  • install cleye.config also to modules directory. the PS3 Eye camera should allow for full fps range now.
  • filter/kalman: rewritten by @DaMichel. it's way better than old broken Kalman we had. give it a try.
  • filter/accela: add rotation nonlinearity slider. It helps when there's noise at the beginning but high sensitivity is undesirable (almost always).
  • filter/accela: even without nonlinearity there should be less noise at the beginning.
  • experimental option for "offset translation based on camera center" with caveat.
  • it's now possible to log tracking output to a CSV file (@DaMichel).
  • config file is checked for writability. If the file can't be read and written, a warning pops up.
  • window element color also gets applied for user interface, not just overall control shape.
  • gui: mapping window background doesn't look that bad anymore.
  • scaling for HiDPI displays should work better now.
  • camera feeds for tracker/{aruco,pt} should now work with HiDPI.
  • The Octopus and video feed from camera don't get displayed when they're occluded, for performance.
  • wrong formula for matrix -> euler was used. use the right Tait-Bryan formula.
  • official binaries are somewhat smaller.
  • each build will now include source code.
opentrack - opentrack 2.3.0 release candidate 9

Published by sthalik over 8 years ago

Recalled due to serious PT tracker bug

  • improve PT tracker Z translation accuracy
  • fix freetrack protocol breakage (issue #385)
  • modules now go to to the modules/ subdirectory. they still work as usual.
  • slight accela gain changes to allow for lower sensitivity on non-inertial devices
  • octopus doesn't have some axis inverted on the main display
  • reduce translation range. no one used that high a range.
opentrack - opentrack 2.3.0 release candidate 8

Published by sthalik over 8 years ago

recalled due to freetrack protocol accidentally broken

  • PointTracker had a very nasty bug that may have lead to crashes (fix by @DaMichel)
  • Fix some joystick tracker bugs, as well as how it interacts with keybindings.
  • Changing protocol/tracker/filter used to save options. Now the settings are separated. You need to select your input/output/filter again.
  • Some code cleanups with regard to settings handling.
  • Stuff reloads better on profile change, in particular the mappings window and keybinding labels.
  • Joystick POV hats can now be used for keybindings.
  • Points can now be put closer together on the mapping screen.
  • Roll no longer interconnects with pitch for camera trackers.
  • For Linux, opentrack binary is installed in bin/ while the input/output/filter modules are installed in libexec/opentrack relative to the prefix.
  • Update VJoy binary.
  • Fix compile using Microsoft Visual C++ 2015 update 3 (fixes by @DaMichel)
  • 64-bit builds on Windows and 32-bit on Linux now work without additional hassle.
  • Intel RealSense tracker now also has a 64-bit impl library. It also links statically with either of the impl libraries.
  • Preinitialize Aruco pose with the DLS solver before LM solver.
  • Fix Kalman timer but it's still not working right (by @DaMichel)

@DaMichel is now a project member, welcome!

opentrack - opentrack 2.3.0 release candidate 7

Published by sthalik over 8 years ago

  • fix Aruco for real this time. Thanks to @kblomster for working on #375 until it worked.
opentrack - opentrack 2.3.0 prerelease 6

Published by sthalik over 8 years ago

  • fix Aruco tracker crashing on detecting the marker (issue #375)
  • fix Rift SDK 0.2.5 crash on startup
  • allow ewma speed adaptation up to the previous max value, 500%
opentrack - opentrack 2.3.0 prerelease 5

Published by sthalik over 8 years ago

  • filter/ewma: cleanup and adjust to new API. please report regressions.
  • tracker/pt: fix fake points appearing at the top left.
opentrack - opentrack 2.3.0 prerelease 4

Published by sthalik over 8 years ago

  • Only fixes the hatire tracker broken in pre3.
  • We're in feature freeze before 2.3.0 release.
opentrack - opentrack 2.3.0 prerelease 3

Published by sthalik over 8 years ago

  • Accela UI labels don't get smaller or larger as that resized the sliders by accident
  • Camera offset axis shift value sign fixed
  • A test tracker outputting a sine wave
  • Significant config saving performance improvements. The "ok" button is way faster now. At least ten times. On Windows it was slow even on an SSD.
  • Config is only saved if there are actual changes, not if e.g. user clicked and then changed back.
  • Compiler changed. The software should be slightly faster.
  • Qt updated to 5.6.1
  • Library interface split into "logic" and "api". This eases compile times for developers and helps third-party plugin developers.
  • Kalman filter got removed since it never worked correctly.
  • User interface elements renamed. It should be easier for new users. See #371
  • Internal code architecture and code improvements.

We're close to the point release but please report any bugs. Let's make the 2.3.0 final release count!

opentrack - opentrack-2.3 rc49p2

Published by sthalik almost 9 years ago

The opentrack-2.3 branch is dedicated to my late cat, Koszka. He died of circulatory failure following unexplained food/otherwise poisoning. He was an amazing cat, and many days I've spent improving opentrack He sat on my lap, insisting that I lean backwards, so that He can climb on my chest and be closer. He can never be replaced. You can see how He looked like on Google Photos https://goo.gl/photos/jw7uckRKRLF1Yio97. I'm not present on any of these photos as this isn't about me.


Please report any crash bugs or other serious bugs immediately on the issue tracker. We'll address them with priority. This version is meant to become 2.3.0 so let's make it count.

We're switching to semantic versioning. This doesn't directly affect development or features. You can ignore the sudden jump in "release candidate" number.

The face tracker is temporarily disconnected from the build. It has many problems and hasn't worked well. It's gonna come back after its tracking performance is satisfactory. It won't make it for 2.3.0.

  • Allow games to use the freetrack protocol mapping data when running as any other user. This might help with ED not working but the problem might be completely different.
  • Always ensure at least one mapping point exists. Previously, it was only added after reopening the mapping dialog.
  • Joystick buttons, also combined with keyboard modifiers can be used in place of keyboard shortcuts (report issues in #118)
  • Code and build system quality fixes users won't notice
  • Mapping widget points are snapped to grid for increased precision.
  • patchlevel 1 joystick tracker won't freeze/crash on tracking stop (joystick support discussed in #267)
  • patchlevel 1 updated Intel RealSense SDK to release 5
  • patchlevel 1 on Windows, now possible to bind to the Delete key
  • patchlevel 2 on Windows, fix more regressions caused by joystick keybinding support
    • joystick tracker shouldn't lag anymore
    • runaway thread won't use up all processing on a single CPU core
  • patchlevel 2 aruco logic for switching detection modes got changed. see e1ae4a738c011fbbe44e5203cc304dacb6489768
  • patchlevel 2 updated Intel RealSense SDK to release 5-HF1
  • patchlevel 3 allow higher velocity for Accela with higher deltas
  • patchlevel 3 fix typo in joystick code causing crashes - report further issues in #267
  • patchlevel 3 aruco: use only Otsu thresholding
  • patchlevel 3 aruco: use single box filter size always
  • patchlevel 3 aruco: use smaller search window for less CPU usage (thanks @frost555)
  • patchlevel 4 joystick tracker won't lag or skip for some users
  • patchlevel 4 allow for start/stop/toggle tracking shortcuts
  • patchlevel 4 builds are now smaller due to workaround for a GNU binutils bug at dshow.h allowing for more pruning
  • patchlevel 5 PT: adjust histogram size to make automatic thresholding work acceptably fast
  • patchlevel 5 no longer consume one CPU core constantly for joystick detection on some users' machines. Joystick detection now only happens when tracking gets started.
  • patchlevel 5 app:
    • use transparent Octopus, drop Its borders. Beware of the Octopus.
    • make the UI slightly more compact
  • patchlevel 6 speed up the PT tracker by about 40%
  • patchlevel 6 mapping window and tracking startup no longer takes up to 1 second due to high CPU load
  • patchlevel 6 drop the margin to the left of the video feed
  • patchlevel 7 don't update the main interface while opentrack is minimized
  • patchlevel 7 speed up PT tracker widget code
  • patchlevel 7 don't crash the PT tracker on wildly incorrect extraction settings
  • patchlevel 7 more precise auto thresholding, again. The slowdown was caused by something else.
  • patchlevel 8 correct a UI copy-paste error in shortcut list
  • patchlevel 8 freetrack: new game support
  • patchlevel 8 main ui fix for high DPI screens
  • patchlevel 8 RealSense face tracker now supports a video feed and is more simple architecture-wise
  • patchlevel 9 fix PT crashing at startup. The bug was introduced while speeding up PT operation.
  • patchlevel 10 fix PT discontinuity on extreme rotation
  • patchlevel 11 fix missing hatire tracker dependency in Windows build (reminded by @huliqan in #139)
  • rc49p0 hatire simplified. 200 lines of code removed with no loss of functionality. Thanks to @drdanilov21 for providing serial comm dump. I couldn't do any hatire work without it.
  • rc49p0 hatire workaround for 100% cpu on some devices and/or serial converters.
  • rc49p0 remove confusion between tracking not started vs no feed, by @ph0b
  • rc49p0 add shortcuts for zero and toggle while a key is held, only. Only on Windows.
  • rc49p0 add tracker reset global shortcut. Fixes intermittent breakage in trackers with global state.
  • rc49p0 OSX and Linux keybindings fixed. Previously resulted in crashes.
  • rc49p0 RealSense offers to install driver if device detected in the post-installation stage.
  • rc49p0 free up bindings for already-bound keys while binding another key on OSX and Linux.
  • rc49p0 cleanups to numeric code that aren't visible to end users
  • rc49p0 The Octopus no longer gets high on PCP and LSD when exactly perpendicular to the screen (e.g. 90 deg pitch), see #356.
  • rc49p0 PT tracker auto threshold slider becomes meaningful (see #355 for a technical explanation).
  • rc49p0 code and build system cleanups invisible to end-users
  • rc49p0 fix OSX crash bug due to missing QtSerialPort in the binary version.
  • rc49p0 require separate build directory. Helps user experience when building on Linux. Common source and build directory causes build breakage.
  • rc49p0 workaround for freetrack protocol enabled even if opentrack is stopped.
  • rc49p0 some new compiler optimization flags used. Please report new crashes on the issue tracker with your CPU model.
  • rc49p1 crash in the Aruco tracker fixed (#329, data by @Emton)
  • rc49p1 internal code and build system improvements
  • rc49p2 camera dialog works with more webcams. PS3 Eye still broken in the camera dialog despite investigating.
  • rc49p2 internal build system fixes
  • rc49p2 freetrack protocol "remove dll path after quit" works better now
  • rc49p2 Intel RealSense tracker SDK updated
  • rc49p2 Intel RealSense tracker more robust and cleaned up (@ph0b)
  • rc49p2 Numeric cleanups. Mapping dialog may work a bit faster.
  • rc49p2 Dialog related API cleanups. Please report any breakage in tracker, protocol, or filter dialogs on the issue tracker!!! Thanks.
  • rc49p2 Shortcuts now check for exact shift, alt, ctrl modifiers. Binding F11 won't use ctrl+F11 in opentrack, for instance. (requested by white-fang on BMS forum).

I'll upload the OSX build somewhat later. -sh 20160610T0947CET