From be30b9bb78dc7e0896d2540b4ada1027f2221b42 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Thu, 22 Oct 2015 09:22:11 +0200 Subject: cmake: update toolchain file --- cmake/mingw-w64-debug.cmake | 38 -------------------------------------- cmake/mingw-w64.cmake | 2 +- 2 files changed, 1 insertion(+), 39 deletions(-) delete mode 100644 cmake/mingw-w64-debug.cmake diff --git a/cmake/mingw-w64-debug.cmake b/cmake/mingw-w64-debug.cmake deleted file mode 100644 index 7a371e5d..00000000 --- a/cmake/mingw-w64-debug.cmake +++ /dev/null @@ -1,38 +0,0 @@ -# this file only serves as toolchain file when specified so explicitly -# when building the software. from repository's root directory: -# mkdir build && cd build && cmake -DCMAKE_TOOLCHAIN_FILE=$(pwd)/../cmake/mingw-w64.cmake -# -sh 20140922 - -SET(CMAKE_SYSTEM_NAME Windows) -SET(CMAKE_SYSTEM_VERSION 1) - -# specify the cross compiler -set(c i686-w64-mingw32-) - -SET(CMAKE_C_COMPILER ${c}gcc) -SET(CMAKE_CXX_COMPILER ${c}g++) -set(CMAKE_RC_COMPILER ${c}windres) -set(CMAKE_LINKER ${c}ld) -set(CMAKE_AR ${c}gcc-ar CACHE STRING "" FORCE) -set(CMAKE_NM ${c}gcc-nm CACHE STRING "" FORCE) -set(CMAKE_RANLIB ${c}gcc-ranlib CACHE STRING "" FORCE) - -SET(CMAKE_FIND_ROOT_PATH /usr/i686-w64-mingw32) - -# search for programs in the host directories -SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) -# don't poison with system compile-time data -SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) -SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) - -set(cpu "-O2 -march=i686 -mtune=corei7-avx -ffast-math -mfpmath=both -msse -msse2 -mno-sse3 -mno-avx") -set(rice "-ggdb") - -set(CFLAGS-OVERRIDE "" CACHE STRING "") - -set(CMAKE_C_FLAGS_RELEASE "${rice} ${cpu} ${CFLAGS-OVERRIDE}" CACHE STRING "" FORCE) -set(CMAKE_CXX_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE} CACHE STRING "" FORCE) -set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${cpu} ${CFLAGS-OVERRIDE}" CACHE STRING "" FORCE) -set(CMAKE_EXE_LINKER_FLAGS_RELEASE ${CMAKE_SHARED_LINKER_FLAGS_RELEASE} CACHE STRING "" FORCE) -set(CMAKE_MODULE_LINKER_FLAGS_RELEASE ${CMAKE_SHARED_LINKER_FLAGS_RELEASE} CACHE STRING "" FORCE) -set(CMAKE_BUILD_TYPE "RELEASE" CACHE STRING "" FORCE) diff --git a/cmake/mingw-w64.cmake b/cmake/mingw-w64.cmake index 2705c068..1f60993a 100644 --- a/cmake/mingw-w64.cmake +++ b/cmake/mingw-w64.cmake @@ -26,7 +26,7 @@ SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) # oldest CPU supported here is Northwood-based Pentium 4. -sh 20150811 -set(fpu "-fno-math-errno -funsafe-math-optimizations -fno-signed-zeros -mfpmath=both") +set(fpu "-ffast-math -fno-finite-math-only -mfpmath=both") set(cpu "-O3 -march=pentium4 -mtune=corei7-avx ${fpu} -msse -msse2 -mno-sse3") set(CFLAGS-OVERRIDE "" CACHE STRING "") -- cgit v1.2.3 From e9c2d579eed29daaa9f10336d3caed0c988dc9b7 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sat, 24 Oct 2015 11:20:49 +0200 Subject: qfc: guard against unlikely division by zero --- qfunctionconfigurator/functionconfig.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qfunctionconfigurator/functionconfig.cpp b/qfunctionconfigurator/functionconfig.cpp index cac8121c..e319b61e 100644 --- a/qfunctionconfigurator/functionconfig.cpp +++ b/qfunctionconfigurator/functionconfig.cpp @@ -104,7 +104,7 @@ void Map::reload() { for (int i = 0; i < sz; i++) data[i] = -1; - if (input.size() == 1) + if (input.size() == 1 && input[0].x() > 1e-2) { for (int k = 0; k < input[0].x() * mult; k++) { if (k < sz) -- cgit v1.2.3 From 603130ef841ea23e317ccfa47385099b4466d8d5 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sat, 24 Oct 2015 11:21:16 +0200 Subject: shortcuts: allow for binding same key to multiple functions Closes #258 --- opentrack/shortcuts.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/opentrack/shortcuts.cpp b/opentrack/shortcuts.cpp index 91480d16..91d449f1 100644 --- a/opentrack/shortcuts.cpp +++ b/opentrack/shortcuts.cpp @@ -154,21 +154,21 @@ void Shortcuts::bind_keyboard_shortcut(K &key, key_opts& k) void Shortcuts::receiver(Key &k) { std::vector ks { &keyCenter, &keyToggle, &keyZero }; - for (auto& k_ : ks) + for (K* k_ : ks) { if (k.keycode != k_->keycode) continue; if (!k_->should_process()) - return; - if (k_->alt && !k.alt) return; - if (k_->ctrl && !k.ctrl) return; - if (k_->shift && !k.shift) return; - - if (k.keycode == keyCenter.keycode) + continue; + if (k_->alt && !k.alt) continue; + if (k_->ctrl && !k.ctrl) continue; + if (k_->shift && !k.shift) continue; + + if (k_ == &keyCenter) emit center(); - else if (k.keycode == keyToggle.keycode) + else if (k_ == &keyToggle) emit toggle(); - else if (k.keycode == keyZero.keycode) + else if (k_ == &keyZero) emit zero(); } } -- cgit v1.2.3 From 57ba66277c80d89038baeb06f8ff398935724879 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sat, 24 Oct 2015 11:27:31 +0200 Subject: timer: sprinkle some const --- opentrack-compat/timer.hpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/opentrack-compat/timer.hpp b/opentrack-compat/timer.hpp index 8192aa83..1d424832 100644 --- a/opentrack-compat/timer.hpp +++ b/opentrack-compat/timer.hpp @@ -54,7 +54,7 @@ static inline void clock_gettime(int, struct timespec* ts) class Timer { private: struct timespec state; - long long conv(const struct timespec& cur) + long long conv(const struct timespec& cur) const { return (cur.tv_sec - state.tv_sec) * 1000000000LL + (cur.tv_nsec - state.tv_nsec); } @@ -65,12 +65,12 @@ public: void start() { (void) clock_gettime(CLOCK_MONOTONIC, &state); } - long long elapsed() { + long long elapsed() const { struct timespec cur; (void) clock_gettime(CLOCK_MONOTONIC, &cur); return conv(cur); } - long elapsed_ms() { + long elapsed_ms() const { return elapsed() / 1000000L; } }; -- cgit v1.2.3 From 1ed0822c27d06043a2730b652a195f37b8e57b17 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sat, 24 Oct 2015 15:29:55 +0200 Subject: accela: remove "done" logic --- ftnoir_filter_accela/ftnoir_filter_accela.cpp | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/ftnoir_filter_accela/ftnoir_filter_accela.cpp b/ftnoir_filter_accela/ftnoir_filter_accela.cpp index 9bac5d58..855cb413 100644 --- a/ftnoir_filter_accela/ftnoir_filter_accela.cpp +++ b/ftnoir_filter_accela/ftnoir_filter_accela.cpp @@ -115,13 +115,8 @@ void FTNoIR_Filter::filter(const double* input, double *output) const double thres = i >= 3 ? rot_t : trans_t; const double val = m.getValue(vec_ / thres); const double result = last_output[i] + (vec < 0 ? -1 : 1) * dt * val; - const bool negp = vec < 0.; - const bool done = negp - ? result <= in - : result >= in; - const double ret = done ? in : result; - last_output[i] = output[i] = elide_nan(ret, last_output[i]); + last_output[i] = output[i] = elide_nan(result, last_output[i]); } } -- cgit v1.2.3 From 0d0a0c2f8aa1eb2dfce3830b931a18d14662c8aa Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sat, 24 Oct 2015 16:03:28 +0200 Subject: timer: guard against overflow on win32 --- opentrack-compat/timer.hpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/opentrack-compat/timer.hpp b/opentrack-compat/timer.hpp index 1d424832..f0741295 100644 --- a/opentrack-compat/timer.hpp +++ b/opentrack-compat/timer.hpp @@ -24,9 +24,7 @@ static inline void opentrack_clock_gettime(int, struct timespec* ts) (void) QueryPerformanceCounter(&d); - long long part = d.QuadPart; - part *= 1000000000ULL; - part /= freq.QuadPart; + long long part = d.QuadPart / ((long double)freq.QuadPart) * 1000000000.L; ts->tv_sec = part / 1000000000ULL; ts->tv_nsec = part % 1000000000ULL; -- cgit v1.2.3 From 65e7ee7c96bed4998c517eab98476eccf68b6a4f Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sat, 24 Oct 2015 22:19:25 +0200 Subject: accela: remove too many nan checks `opentrack/tracker.cpp` takes care of that. --- ftnoir_filter_accela/ftnoir_filter_accela.cpp | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) diff --git a/ftnoir_filter_accela/ftnoir_filter_accela.cpp b/ftnoir_filter_accela/ftnoir_filter_accela.cpp index 855cb413..80636f42 100644 --- a/ftnoir_filter_accela/ftnoir_filter_accela.cpp +++ b/ftnoir_filter_accela/ftnoir_filter_accela.cpp @@ -58,29 +58,13 @@ FTNoIR_Filter::FTNoIR_Filter() : first_run(true) } } -static inline bool nanp(double value) -{ - return std::isnan(value) || std::isinf(value); -} - -static inline double elide_nan(double value, double def) -{ - if (nanp(value)) - { - if (nanp(def)) - return 0; - return def; - } - return value; -} - void FTNoIR_Filter::filter(const double* input, double *output) { if (first_run) { for (int i = 0; i < 6; i++) { - const double f = nanp(input[i]) ? 0 : input[i]; + const double f = input[i]; output[i] = f; last_output[i] = f; smoothed_input[i] = f; @@ -105,7 +89,7 @@ void FTNoIR_Filter::filter(const double* input, double *output) { Map& m = i >= 3 ? rot : trans; - smoothed_input[i] = smoothed_input[i] * (1.-alpha) + elide_nan(input[i], smoothed_input[i]) * alpha; + smoothed_input[i] = smoothed_input[i] * (1.-alpha) + smoothed_input[i] * alpha; const double in = smoothed_input[i]; @@ -116,7 +100,7 @@ void FTNoIR_Filter::filter(const double* input, double *output) const double val = m.getValue(vec_ / thres); const double result = last_output[i] + (vec < 0 ? -1 : 1) * dt * val; - last_output[i] = output[i] = elide_nan(result, last_output[i]); + last_output[i] = output[i] = result; } } -- cgit v1.2.3 From c8fa6d2099874e0f2c9bd72f9c6735ebf31ccbb1 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sun, 25 Oct 2015 07:07:27 +0100 Subject: shortcuts: allow for numlock on win32 --- opentrack/win32-shortcuts.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/opentrack/win32-shortcuts.cpp b/opentrack/win32-shortcuts.cpp index 96232631..e3a5448e 100644 --- a/opentrack/win32-shortcuts.cpp +++ b/opentrack/win32-shortcuts.cpp @@ -120,6 +120,7 @@ QList windows_key_sequences = win_key(DIK_SYSRQ, Qt::Key::Key_Print), win_key(DIK_SCROLL, Qt::Key::Key_ScrollLock), win_key(DIK_PAUSE, Qt::Key::Key_Pause), + win_key(DIK_NUMLOCK, Qt::Key::Key_NumLock), }); bool win_key::to_qt(const Key& k, QKeySequence& qt_, Qt::KeyboardModifiers &mods) -- cgit v1.2.3 From b1f6b8d22bc2bb9129917bce9b1c0fb37a64b5bf Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sun, 25 Oct 2015 16:18:29 +0100 Subject: pt: drop nan check Bug cause was different --- ftnoir_tracker_pt/ftnoir_tracker_pt.cpp | 30 +----------------------------- 1 file changed, 1 insertion(+), 29 deletions(-) diff --git a/ftnoir_tracker_pt/ftnoir_tracker_pt.cpp b/ftnoir_tracker_pt/ftnoir_tracker_pt.cpp index 2db5006c..15a60962 100644 --- a/ftnoir_tracker_pt/ftnoir_tracker_pt.cpp +++ b/ftnoir_tracker_pt/ftnoir_tracker_pt.cpp @@ -67,11 +67,6 @@ bool Tracker_PT::get_focal_length(float& ret) return false; } -static inline bool nanp(double value) -{ - return std::isnan(value) || std::isinf(value); -} - void Tracker_PT::run() { #ifdef PT_PERF_LOG @@ -110,8 +105,6 @@ void Tracker_PT::run() if (!get_focal_length(fx)) continue; - Affine X_CM_ = pose(); - if (success) { point_tracker.track(points, PointModel(s), fx, s.dynamic_pose, s.init_phase_timeout); @@ -119,28 +112,7 @@ void Tracker_PT::run() Affine X_CM = pose(); - { - int j = 0; - - for (int i = 0; i < 3; i++) - { - if (nanp(X_CM.t(i))) - goto nannan; - for (; j < 3; j++) - if (nanp(X_CM.R(i, j))) - { -nannan: success = false; - X_CM = X_CM_; - { - QMutexLocker lock(&mutex); - point_tracker.reset(X_CM_); - } - goto nannannan; - } - } - } - -nannannan: ever_success |= success; + ever_success |= success; { Affine X_MH(cv::Matx33f::eye(), cv::Vec3f(s.t_MH_x, s.t_MH_y, s.t_MH_z)); // just copy pasted these lines from below -- cgit v1.2.3 From a176bc811bf906b8c6816d0444eac979facf688c Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sun, 25 Oct 2015 16:18:45 +0100 Subject: qfc: drop nan check Bug cause was different --- qfunctionconfigurator/functionconfig.cpp | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/qfunctionconfigurator/functionconfig.cpp b/qfunctionconfigurator/functionconfig.cpp index e319b61e..27f3bf40 100644 --- a/qfunctionconfigurator/functionconfig.cpp +++ b/qfunctionconfigurator/functionconfig.cpp @@ -75,18 +75,6 @@ static bool sortFn(const QPointF& one, const QPointF& two) { return one.x() < two.x(); } -static inline bool nanp(double value) -{ - return std::isnan(value) || std::isinf(value); -} - -static inline double elide_nan(double value) -{ - if (nanp(value)) - return -1; - return value; -} - void Map::reload() { if (cur.input.size()) { @@ -144,7 +132,7 @@ void Map::reload() { (-p0_y + 3. * p1_y - 3. * p2_y + p3_y) * t3); if (x >= 0 && x < sz) - data[x] = elide_nan(y); + data[x] = y; } } -- cgit v1.2.3 From 18efc635a8d8cbe877701f519704c0bb16158e3c Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sun, 25 Oct 2015 16:42:31 +0100 Subject: shortcuts: allow for numpad on win32 Closes #259 --- opentrack/win32-shortcuts.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/opentrack/win32-shortcuts.cpp b/opentrack/win32-shortcuts.cpp index e3a5448e..350d99c3 100644 --- a/opentrack/win32-shortcuts.cpp +++ b/opentrack/win32-shortcuts.cpp @@ -121,6 +121,26 @@ QList windows_key_sequences = win_key(DIK_SCROLL, Qt::Key::Key_ScrollLock), win_key(DIK_PAUSE, Qt::Key::Key_Pause), win_key(DIK_NUMLOCK, Qt::Key::Key_NumLock), +#define mod(x, y) static_cast(x | y) + win_key(DIK_NUMPAD0, mod(Qt::Key::Key_0, Qt::KeypadModifier)), + win_key(DIK_NUMPAD0, mod(Qt::Key::Key_0, Qt::KeypadModifier)), + win_key(DIK_NUMPAD1, mod(Qt::Key::Key_1, Qt::KeypadModifier)), + win_key(DIK_NUMPAD2, mod(Qt::Key::Key_2, Qt::KeypadModifier)), + win_key(DIK_NUMPAD3, mod(Qt::Key::Key_3, Qt::KeypadModifier)), + win_key(DIK_NUMPAD4, mod(Qt::Key::Key_4, Qt::KeypadModifier)), + win_key(DIK_NUMPAD5, mod(Qt::Key::Key_5, Qt::KeypadModifier)), + win_key(DIK_NUMPAD6, mod(Qt::Key::Key_6, Qt::KeypadModifier)), + win_key(DIK_NUMPAD7, mod(Qt::Key::Key_7, Qt::KeypadModifier)), + win_key(DIK_NUMPAD8, mod(Qt::Key::Key_8, Qt::KeypadModifier)), + win_key(DIK_NUMPAD9, mod(Qt::Key::Key_9, Qt::KeypadModifier)), + win_key(DIK_NUMPADCOMMA, mod(Qt::Key::Key_Comma, Qt::KeypadModifier)), + win_key(DIK_NUMPADENTER, mod(Qt::Key::Key_Enter, Qt::KeypadModifier)), + win_key(DIK_NUMPADEQUALS, mod(Qt::Key::Key_Equal, Qt::KeypadModifier)), + win_key(DIK_NUMPADMINUS, mod(Qt::Key::Key_Minus, Qt::KeypadModifier)), + win_key(DIK_NUMPADPERIOD, mod(Qt::Key::Key_Period, Qt::KeypadModifier)), + win_key(DIK_NUMPADPLUS, mod(Qt::Key::Key_Plus, Qt::KeypadModifier)), + win_key(DIK_NUMPADSLASH, mod(Qt::Key::Key_Slash, Qt::KeypadModifier)), + win_key(DIK_NUMPADSTAR, mod(Qt::Key::Key_multiply, Qt::KeypadModifier)), }); bool win_key::to_qt(const Key& k, QKeySequence& qt_, Qt::KeyboardModifiers &mods) -- cgit v1.2.3 From 1ad391151314daf4ba689f3cc684c0a2d836e3a7 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sun, 25 Oct 2015 16:43:15 +0100 Subject: shortcuts: remove obsolete code on win32 Now that dinput catches keystrokes, it's not needed --- opentrack/win32-shortcuts.cpp | 27 +-------------------------- 1 file changed, 1 insertion(+), 26 deletions(-) diff --git a/opentrack/win32-shortcuts.cpp b/opentrack/win32-shortcuts.cpp index 350d99c3..1f1d51a4 100644 --- a/opentrack/win32-shortcuts.cpp +++ b/opentrack/win32-shortcuts.cpp @@ -164,33 +164,8 @@ bool win_key::from_qt(QKeySequence qt_, int& dik, Qt::KeyboardModifiers& mods) { auto qt = static_cast(qt_).toInt(); auto our_mods = qt & Qt::KeyboardModifierMask; - const auto our_mods_ = our_mods; - our_mods |= Qt::ShiftModifier; - switch (qt & ~Qt::KeyboardModifierMask) - { - case Qt::Key::Key_BraceLeft: qt = Qt::Key::Key_BracketLeft; break; - case Qt::Key::Key_BraceRight: qt = Qt::Key::Key_BracketRight; break; - case Qt::Key::Key_ParenLeft: qt = Qt::Key::Key_9; break; - case Qt::Key::Key_ParenRight: qt = Qt::Key::Key_0; break; - - case Qt::Key::Key_Exclam: qt = Qt::Key::Key_1; break; - case Qt::Key::Key_At: qt = Qt::Key::Key_2; break; - case Qt::Key::Key_NumberSign: qt = Qt::Key::Key_3; break; - case Qt::Key::Key_Dollar: qt = Qt::Key::Key_4; break; - case Qt::Key::Key_Percent: qt = Qt::Key::Key_5; break; - case Qt::Key::Key_AsciiCircum: qt = Qt::Key::Key_6; break; - case Qt::Key::Key_Ampersand: qt = Qt::Key::Key_7; break; - case Qt::Key::Key_Asterisk: qt = Qt::Key::Key_8; break; - case Qt::Key::Key_Underscore: qt = Qt::Key::Key_Minus; break; - case Qt::Key::Key_Plus: qt = Qt::Key::Key_Equal; break; - - case Qt::Key::Key_Colon: qt = Qt::Key::Key_Semicolon; break; - case Qt::Key::Key_QuoteDbl: qt = Qt::Key::Key_Apostrophe; break; - case Qt::Key::Key_Less: qt = Qt::Key::Key_Comma; break; - case Qt::Key::Key_Question: qt = Qt::Key::Key_Slash; break; - case Qt::Key::Key_Bar: qt = Qt::Key::Key_Backslash; break; - default: our_mods = our_mods_; break; + { } const auto key = qt & ~Qt::KeyboardModifierMask; -- cgit v1.2.3 From 7be318b0ed09705bfbc62adc25c8b1a399b1f656 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sun, 25 Oct 2015 16:43:31 +0100 Subject: win32: try win_key with modifier first --- opentrack/win32-shortcuts.cpp | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/opentrack/win32-shortcuts.cpp b/opentrack/win32-shortcuts.cpp index 1f1d51a4..a0ed51b3 100644 --- a/opentrack/win32-shortcuts.cpp +++ b/opentrack/win32-shortcuts.cpp @@ -166,16 +166,27 @@ bool win_key::from_qt(QKeySequence qt_, int& dik, Qt::KeyboardModifiers& mods) auto our_mods = qt & Qt::KeyboardModifierMask; { + const auto key_ = qt; + for (auto& wk : windows_key_sequences) + { + if (wk.qt == key_) + { + dik = wk.win; + mods = Qt::NoModifier; + return true; + } + } } - - const auto key = qt & ~Qt::KeyboardModifierMask; - for (auto& wk : windows_key_sequences) { - if (wk.qt == key) + const auto key = qt & ~Qt::KeyboardModifierMask; + for (auto& wk : windows_key_sequences) { - dik = wk.win; - mods = static_cast(our_mods); - return true; + if (wk.qt == key) + { + dik = wk.win; + mods = static_cast(our_mods); + return true; + } } } return false; -- cgit v1.2.3 From c2a3efda4bf955189e549c0f130f81135827d4ed Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sun, 25 Oct 2015 18:56:15 +0100 Subject: accela: fix typo Issue: #255 --- ftnoir_filter_accela/ftnoir_filter_accela.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ftnoir_filter_accela/ftnoir_filter_accela.cpp b/ftnoir_filter_accela/ftnoir_filter_accela.cpp index 80636f42..0158f27e 100644 --- a/ftnoir_filter_accela/ftnoir_filter_accela.cpp +++ b/ftnoir_filter_accela/ftnoir_filter_accela.cpp @@ -89,7 +89,7 @@ void FTNoIR_Filter::filter(const double* input, double *output) { Map& m = i >= 3 ? rot : trans; - smoothed_input[i] = smoothed_input[i] * (1.-alpha) + smoothed_input[i] * alpha; + smoothed_input[i] = smoothed_input[i] * (1.-alpha) + input[i] * alpha; const double in = smoothed_input[i]; -- cgit v1.2.3 From bc706bd5006b044b2d22a9543af2f23cfd4cdf3f Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Mon, 26 Oct 2015 07:08:55 +0100 Subject: settings: clarify center method usage --- facetracknoir/settings.ui | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/facetracknoir/settings.ui b/facetracknoir/settings.ui index d87b68bf..d31f9b99 100644 --- a/facetracknoir/settings.ui +++ b/facetracknoir/settings.ui @@ -157,12 +157,12 @@ - Relative + Relative (inertial device) - Absolute + Absolute (camera device) -- cgit v1.2.3 From 8f7e5c0441237a9c8c187f24a424f6c77c5e397e Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Mon, 26 Oct 2015 07:09:10 +0100 Subject: main: use camera-based centering by default --- opentrack/main-settings.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opentrack/main-settings.hpp b/opentrack/main-settings.hpp index d1fe574d..613223ce 100644 --- a/opentrack/main-settings.hpp +++ b/opentrack/main-settings.hpp @@ -58,6 +58,6 @@ struct main_settings : opts { camera_pitch(b, "camera-pitch", 0), camera_roll(b, "camera-roll", 0), center_at_startup(b, "center-at-startup", true), - center_method(b, "centering-method", false) + center_method(b, "centering-method", true) {} }; -- cgit v1.2.3