From 95f542365f6f1cd043c7b3090a67d269d6dde58b Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Fri, 16 Oct 2015 21:38:23 +0200 Subject: allow for filter immediate center --- opentrack/plugin-api.hpp | 2 ++ opentrack/tracker.cpp | 2 ++ 2 files changed, 4 insertions(+) (limited to 'opentrack') diff --git a/opentrack/plugin-api.hpp b/opentrack/plugin-api.hpp index 732dbb3d..a57077ab 100644 --- a/opentrack/plugin-api.hpp +++ b/opentrack/plugin-api.hpp @@ -61,6 +61,8 @@ struct IFilter // perform filtering step. // you have to take care of dt on your own, try "opentrack-compat/timer.hpp" virtual void filter(const double *input, double *output) = 0; + // optionally reset the filter when centering + virtual void center() {} }; struct IFilterDialog : public BaseDialog diff --git a/opentrack/tracker.cpp b/opentrack/tracker.cpp index 8fd054b4..a9e60555 100644 --- a/opentrack/tracker.cpp +++ b/opentrack/tracker.cpp @@ -114,6 +114,8 @@ void Tracker::logic() if (can_center) { + if (libs.pFilter) + libs.pFilter->center(); centerp = false; for (int i = 0; i < 3; i++) t_b[i] = t(i); -- cgit v1.2.3