summaryrefslogtreecommitdiffhomepage
path: root/ftnoir_filter_accela/ftnoir_filter_accela_dialog.cpp
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2014-10-24 11:22:06 +0200
committerStanislaw Halik <sthalik@misaki.pl>2014-10-24 12:25:35 +0200
commitbc5b5a705f6fa44813d387f31e455bda197c2110 (patch)
tree2f49864041e52df4bd12c900a6c6b6c0c5f770b5 /ftnoir_filter_accela/ftnoir_filter_accela_dialog.cpp
parent5960f42de5cb17c78a3337ee7eed81ab49abd815 (diff)
use moving average in accela over N seconds
Also add showing alphas in UI for configuration's sake. Hopefully update wiki soon enough.
Diffstat (limited to 'ftnoir_filter_accela/ftnoir_filter_accela_dialog.cpp')
-rw-r--r--ftnoir_filter_accela/ftnoir_filter_accela_dialog.cpp28
1 files changed, 21 insertions, 7 deletions
diff --git a/ftnoir_filter_accela/ftnoir_filter_accela_dialog.cpp b/ftnoir_filter_accela/ftnoir_filter_accela_dialog.cpp
index 393a0439..0f21cbcb 100644
--- a/ftnoir_filter_accela/ftnoir_filter_accela_dialog.cpp
+++ b/ftnoir_filter_accela/ftnoir_filter_accela_dialog.cpp
@@ -14,26 +14,42 @@ FilterControls::FilterControls() :
tie_setting(s.rotation_alpha, ui.rotation_alpha);
tie_setting(s.translation_alpha, ui.translation_alpha);
- tie_setting(s.second_order_alpha, ui.order_2nd);
- tie_setting(s.third_order_alpha, ui.order_3rd);
+ tie_setting(s.fast_alpha, ui.ui_fast_alpha);
tie_setting(s.rot_deadzone, ui.rot_deadzone);
tie_setting(s.trans_deadzone, ui.trans_deadzone);
tie_setting(s.expt, ui.expt);
+
+ connect(&t, SIGNAL(timeout()), this, SLOT(timer_fired()));
+
+ t.setInterval(250);
+}
+
+void FilterControls::timer_fired()
+{
+ if (accela_filter)
+ {
+ state_display st = accela_filter->state;
+ ui.debug_y->setValue(st.y);
+ ui.debug_p->setValue(st.p);
+ ui.debug_r->setValue(st.r);
+ }
}
void FilterControls::register_filter(IFilter* filter)
{
accela_filter = static_cast<FTNoIR_Filter*>(filter);
+ t.start();
}
void FilterControls::unregister_filter()
{
- accela_filter = NULL;
+ t.stop();
+ accela_filter = nullptr;
}
void FilterControls::doOK() {
- save();
- this->close();
+ save();
+ this->close();
}
void FilterControls::doCancel() {
@@ -48,8 +64,6 @@ void FilterControls::discard()
void FilterControls::save() {
s.b->save();
- if (accela_filter)
- accela_filter->receiveSettings();
}
extern "C" OPENTRACK_EXPORT IFilterDialog* GetDialog()