summaryrefslogtreecommitdiffhomepage
path: root/filter-accela
diff options
context:
space:
mode:
Diffstat (limited to 'filter-accela')
-rw-r--r--filter-accela/CMakeLists.txt2
-rw-r--r--filter-accela/ftnoir_accela_filtercontrols.ui276
-rw-r--r--filter-accela/ftnoir_filter_accela.cpp3
-rw-r--r--filter-accela/ftnoir_filter_accela.h31
-rw-r--r--filter-accela/ftnoir_filter_accela_dialog.cpp105
5 files changed, 1 insertions, 416 deletions
diff --git a/filter-accela/CMakeLists.txt b/filter-accela/CMakeLists.txt
index 5bfa81285..df4064e20 100644
--- a/filter-accela/CMakeLists.txt
+++ b/filter-accela/CMakeLists.txt
@@ -1,2 +1,2 @@
-opentrack_boilerplate(opentrack-filter-accela)
+opentrack_boilerplate(opentrack-filter-accela STATIC)
target_link_libraries(opentrack-filter-accela opentrack-spline-widget)
diff --git a/filter-accela/ftnoir_accela_filtercontrols.ui b/filter-accela/ftnoir_accela_filtercontrols.ui
deleted file mode 100644
index 1066cd88c..000000000
--- a/filter-accela/ftnoir_accela_filtercontrols.ui
+++ /dev/null
@@ -1,276 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>AccelaUICFilterControls</class>
- <widget class="QWidget" name="AccelaUICFilterControls">
- <property name="windowModality">
- <enum>Qt::NonModal</enum>
- </property>
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>521</width>
- <height>317</height>
- </rect>
- </property>
- <property name="windowTitle">
- <string>Accela filter settings</string>
- </property>
- <property name="windowIcon">
- <iconset resource="../gui/ui-res.qrc">
- <normaloff>:/images/filter-16.png</normaloff>:/images/filter-16.png</iconset>
- </property>
- <layout class="QGridLayout" name="gridLayout">
- <item row="0" column="0">
- <widget class="QFrame" name="frame">
- <property name="frameShape">
- <enum>QFrame::NoFrame</enum>
- </property>
- <property name="frameShadow">
- <enum>QFrame::Raised</enum>
- </property>
- <layout class="QGridLayout" name="gridLayout_3">
- <item row="1" column="3">
- <widget class="QSlider" name="rotation_slider">
- <property name="maximum">
- <number>99</number>
- </property>
- <property name="pageStep">
- <number>5</number>
- </property>
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="tickPosition">
- <enum>QSlider::TicksAbove</enum>
- </property>
- <property name="tickInterval">
- <number>25</number>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="lblSensYaw_6">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Minimum">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Rotation sensitivity</string>
- </property>
- </widget>
- </item>
- <item row="0" column="0">
- <widget class="QLabel" name="label_2">
- <property name="text">
- <string>Smoothing</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QLabel" name="ewma_label">
- <property name="minimumSize">
- <size>
- <width>48</width>
- <height>0</height>
- </size>
- </property>
- <property name="text">
- <string>0 ms</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QLabel" name="rot_gain">
- <property name="text">
- <string>0°</string>
- </property>
- </widget>
- </item>
- <item row="0" column="3">
- <widget class="QSlider" name="ewma_slider">
- <property name="maximum">
- <number>100</number>
- </property>
- <property name="singleStep">
- <number>10</number>
- </property>
- <property name="pageStep">
- <number>25</number>
- </property>
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="tickPosition">
- <enum>QSlider::TicksAbove</enum>
- </property>
- <property name="tickInterval">
- <number>25</number>
- </property>
- </widget>
- </item>
- <item row="6" column="0">
- <widget class="QLabel" name="label_6">
- <property name="text">
- <string>Translation deadzone</string>
- </property>
- </widget>
- </item>
- <item row="4" column="0">
- <widget class="QLabel" name="label_4">
- <property name="text">
- <string>Rotation deadzone</string>
- </property>
- </widget>
- </item>
- <item row="4" column="3">
- <widget class="QSlider" name="rot_dz_slider">
- <property name="maximum">
- <number>100</number>
- </property>
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item row="4" column="1">
- <widget class="QLabel" name="rot_dz">
- <property name="text">
- <string>0°</string>
- </property>
- </widget>
- </item>
- <item row="6" column="3">
- <widget class="QSlider" name="trans_dz_slider">
- <property name="maximum">
- <number>100</number>
- </property>
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item row="6" column="1">
- <widget class="QLabel" name="trans_dz">
- <property name="text">
- <string>0mm</string>
- </property>
- </widget>
- </item>
- <item row="5" column="0">
- <widget class="QLabel" name="label">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Minimum">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Translation sensitivity</string>
- </property>
- </widget>
- </item>
- <item row="5" column="1">
- <widget class="QLabel" name="trans_gain">
- <property name="text">
- <string>0mm</string>
- </property>
- </widget>
- </item>
- <item row="5" column="3">
- <widget class="QSlider" name="translation_slider">
- <property name="maximum">
- <number>99</number>
- </property>
- <property name="pageStep">
- <number>5</number>
- </property>
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="tickPosition">
- <enum>QSlider::TicksAbove</enum>
- </property>
- <property name="tickInterval">
- <number>25</number>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- <item row="3" column="0">
- <widget class="QDialogButtonBox" name="buttonBox">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Maximum" vsizetype="Maximum">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="standardButtons">
- <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_9">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Minimum" vsizetype="Maximum">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="font">
- <font>
- <pointsize>7</pointsize>
- </font>
- </property>
- <property name="frameShape">
- <enum>QFrame::NoFrame</enum>
- </property>
- <property name="text">
- <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;right&quot;&gt;&lt;br/&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Accela by &lt;/span&gt;&lt;a href=&quot;https://github.com/sthalik&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0057ae;&quot;&gt;Stanisław Halik&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;&lt;br/&gt;Thanks to &lt;/span&gt;&lt;a href=&quot;https://github.com/dbaarda&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0057ae;&quot;&gt;Donovan Baarda&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align=&quot;right&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;2012-2015&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;right&quot;&gt;&lt;br/&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt;Visit &lt;/span&gt;&lt;a href=&quot;https://github.com/opentrack/opentrack/wiki/Accela-in-opentrack-2.3&quot;&gt;&lt;span style=&quot; font-size:8pt; text-decoration: underline; color:#0000ff;&quot;&gt;our wiki&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt; for description of the settings.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
- </property>
- <property name="textFormat">
- <enum>Qt::RichText</enum>
- </property>
- <property name="scaledContents">
- <bool>false</bool>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <property name="indent">
- <number>0</number>
- </property>
- <property name="openExternalLinks">
- <bool>true</bool>
- </property>
- <property name="textInteractionFlags">
- <set>Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- <tabstops>
- <tabstop>buttonBox</tabstop>
- </tabstops>
- <resources>
- <include location="../gui/ui-res.qrc"/>
- </resources>
- <connections/>
- <slots>
- <slot>startEngineClicked()</slot>
- <slot>stopEngineClicked()</slot>
- <slot>cameraSettingsClicked()</slot>
- </slots>
-</ui>
diff --git a/filter-accela/ftnoir_filter_accela.cpp b/filter-accela/ftnoir_filter_accela.cpp
index 62d1598db..e43db7e44 100644
--- a/filter-accela/ftnoir_filter_accela.cpp
+++ b/filter-accela/ftnoir_filter_accela.cpp
@@ -103,6 +103,3 @@ void FTNoIR_Filter::filter(const double* input, double *output)
last_output[i] = output[i] = result;
}
}
-
-OPENTRACK_DECLARE_FILTER(FTNoIR_Filter, FilterControls, FTNoIR_FilterDll)
-
diff --git a/filter-accela/ftnoir_filter_accela.h b/filter-accela/ftnoir_filter_accela.h
index b15e0ceaa..3242c9e1e 100644
--- a/filter-accela/ftnoir_filter_accela.h
+++ b/filter-accela/ftnoir_filter_accela.h
@@ -5,7 +5,6 @@
* copyright notice and this permission notice appear in all copies.
*/
#pragma once
-#include "ui_ftnoir_accela_filtercontrols.h"
#include "opentrack/plugin-api.hpp"
#include "spline-widget/functionconfig.h"
#include <atomic>
@@ -47,33 +46,3 @@ private:
double smoothed_input[6];
Timer t;
};
-
-class FilterControls: public IFilterDialog
-{
- Q_OBJECT
-public:
- FilterControls();
- void register_filter(IFilter* filter);
- void unregister_filter();
-private:
- Ui::AccelaUICFilterControls ui;
- void discard();
- void save();
- FTNoIR_Filter* accela_filter;
- settings_accela s;
-private slots:
- void doOK();
- void doCancel();
- void update_ewma_display(int value);
- void update_rot_display(int value);
- void update_trans_display(int value);
- void update_rot_dz_display(int value);
- void update_trans_dz_display(int value);
-};
-
-class FTNoIR_FilterDll : public Metadata
-{
-public:
- QString name() { return QString("Accela"); }
- QIcon icon() { return QIcon(":/images/filter-16.png"); }
-};
diff --git a/filter-accela/ftnoir_filter_accela_dialog.cpp b/filter-accela/ftnoir_filter_accela_dialog.cpp
deleted file mode 100644
index 599cb7165..000000000
--- a/filter-accela/ftnoir_filter_accela_dialog.cpp
+++ /dev/null
@@ -1,105 +0,0 @@
-/* Copyright (c) 2012-2015 Stanislaw Halik
- *
- * Permission to use, copy, modify, and/or distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- */
-#include "ftnoir_filter_accela.h"
-#include <cmath>
-#include <QDebug>
-#include <algorithm>
-#include <QDoubleSpinBox>
-#include "opentrack/plugin-api.hpp"
-#include "spline-widget/qfunctionconfigurator.h"
-#include <QDialog>
-
-FilterControls::FilterControls() :
- accela_filter(nullptr)
-{
- ui.setupUi( this );
-
- connect(ui.buttonBox, SIGNAL(accepted()), this, SLOT(doOK()));
- connect(ui.buttonBox, SIGNAL(rejected()), this, SLOT(doCancel()));
-
- connect(ui.rotation_slider, SIGNAL(valueChanged(int)), this, SLOT(update_rot_display(int)));
- connect(ui.translation_slider, SIGNAL(valueChanged(int)), this, SLOT(update_trans_display(int)));
- connect(ui.ewma_slider, SIGNAL(valueChanged(int)), this, SLOT(update_ewma_display(int)));
- connect(ui.rot_dz_slider, SIGNAL(valueChanged(int)), this, SLOT(update_rot_dz_display(int)));
- connect(ui.trans_dz_slider, SIGNAL(valueChanged(int)), this, SLOT(update_trans_dz_display(int)));
-
- tie_setting(s.rot_threshold, ui.rotation_slider);
- tie_setting(s.trans_threshold, ui.translation_slider);
- tie_setting(s.ewma, ui.ewma_slider);
- tie_setting(s.rot_deadzone, ui.rot_dz_slider);
- tie_setting(s.trans_deadzone, ui.trans_dz_slider);
-
- update_rot_display(ui.rotation_slider->value());
- update_trans_display(ui.translation_slider->value());
- update_ewma_display(ui.ewma_slider->value());
- update_rot_dz_display(ui.rot_dz_slider->value());
- update_trans_dz_display(ui.trans_dz_slider->value());
-}
-
-void FilterControls::register_filter(IFilter* filter)
-{
- accela_filter = static_cast<FTNoIR_Filter*>(filter);
-//#define LEAKING_DEBUG
-#ifdef LEAKING_DEBUG
- auto d = new QDialog();
- auto r = new QFunctionConfigurator(d);
- r->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
- r->setConfig(&accela_filter->rot, "");
- r->setFixedSize(800, 300);
- d->show();
-#endif
-}
-
-void FilterControls::unregister_filter()
-{
- accela_filter = nullptr;
-}
-
-void FilterControls::doOK() {
- save();
- this->close();
-}
-
-void FilterControls::doCancel() {
- discard();
- close();
-}
-
-void FilterControls::discard()
-{
- s.b->reload();
-}
-
-void FilterControls::save() {
- s.b->save();
-}
-
-void FilterControls::update_rot_display(int value)
-{
- ui.rot_gain->setText(QString::number((value + 1) * s.mult_rot) + "°");
-}
-
-void FilterControls::update_trans_display(int value)
-{
- ui.trans_gain->setText(QString::number((value + 1) * s.mult_trans) + "mm");
-}
-
-void FilterControls::update_ewma_display(int value)
-{
- ui.ewma_label->setText(QString::number(value * s.mult_ewma) + "ms");
-}
-
-void FilterControls::update_rot_dz_display(int value)
-{
- ui.rot_dz->setText(QString::number(value * s.mult_rot_dz) + "°");
-}
-
-void FilterControls::update_trans_dz_display(int value)
-{
- ui.trans_dz->setText(QString::number(value * s.mult_trans_dz) + "mm");
-}
-