summaryrefslogtreecommitdiffhomepage
path: root/facetracknoir/ui.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'facetracknoir/ui.cpp')
-rw-r--r--facetracknoir/ui.cpp53
1 files changed, 5 insertions, 48 deletions
diff --git a/facetracknoir/ui.cpp b/facetracknoir/ui.cpp
index 7a412bdb..405c516a 100644
--- a/facetracknoir/ui.cpp
+++ b/facetracknoir/ui.cpp
@@ -24,6 +24,8 @@
#include "ui.h"
#include "opentrack/tracker.h"
#include "opentrack/options.hpp"
+#include "ftnoir_tracker_pt/ftnoir_tracker_pt.h"
+#include "ftnoir_filter_accela/ftnoir_filter_accela.h"
#include <QFileDialog>
#include <QFileInfo>
@@ -51,26 +53,14 @@ MainWindow::MainWindow() :
connect(ui.btnEditCurves, SIGNAL(clicked()), this, SLOT(showCurveConfiguration()));
connect(ui.btnShortcuts, SIGNAL(clicked()), this, SLOT(showKeyboardShortcuts()));
- connect(ui.btnShowEngineControls, SIGNAL(clicked()), this, SLOT(showTrackerSettings()));
connect(ui.btnShowServerControls, SIGNAL(clicked()), this, SLOT(showProtocolSettings()));
- connect(ui.btnShowFilterControls, SIGNAL(clicked()), this, SLOT(showFilterSettings()));
-
- modules.filters().push_front(std::make_shared<dylib>("", dylib::Filter));
-
- for (auto x : modules.trackers())
- ui.iconcomboTrackerSource->addItem(x->icon, x->name);
for (auto x : modules.protocols())
ui.iconcomboProtocol->addItem(x->icon, x->name);
- for (auto x : modules.filters())
- ui.iconcomboFilter->addItem(x->icon, x->name);
-
fill_profile_combobox();
- tie_setting(s.tracker_dll, ui.iconcomboTrackerSource);
tie_setting(s.protocol_dll, ui.iconcomboProtocol);
- tie_setting(s.filter_dll, ui.iconcomboFilter);
connect(ui.btnStartTracker, SIGNAL(clicked()), this, SLOT(startTracker()));
connect(ui.btnStopTracker, SIGNAL(clicked()), this, SLOT(stopTracker()));
@@ -184,7 +174,7 @@ void MainWindow::fill_profile_combobox()
{
QStringList ini_list = group::ini_list();
QString current = QFileInfo(group::ini_pathname()).fileName();
- setWindowTitle(QString( const_cast<const char*>(opentrack_version) + QStringLiteral(" :: ")) + current);
+ setWindowTitle(QStringLiteral("TrackHat ") + QString( const_cast<const char*>(opentrack_version) + QStringLiteral(" :: ")) + current);
ui.iconcomboProfile->clear();
for (auto x : ini_list)
ui.iconcomboProfile->addItem(QIcon(":/images/settings16.png"), x);
@@ -198,8 +188,6 @@ void MainWindow::updateButtonState(bool running, bool inertialp)
ui.btnStartTracker->setEnabled ( not_running );
ui.btnStopTracker->setEnabled ( running );
ui.iconcomboProtocol->setEnabled ( not_running );
- ui.iconcomboFilter->setEnabled ( not_running );
- ui.iconcomboTrackerSource->setEnabled(not_running);
ui.video_frame_label->setVisible(not_running || inertialp);
ui.btnSaveAs->setEnabled(not_running);
ui.btnLoad->setEnabled(not_running);
@@ -219,7 +207,7 @@ void MainWindow::startTracker() {
// tracker dtor needs run first
work = nullptr;
- libs = SelectedLibraries(ui.video_frame, current_tracker(), current_protocol(), current_filter());
+ libs = SelectedLibraries(ui.video_frame, std::make_shared<Tracker_PT>(), current_protocol(), std::make_shared<FTNoIR_Filter>());
{
double p[6] = {0,0,0, 0,0,0};
@@ -240,12 +228,6 @@ void MainWindow::startTracker() {
bindKeyboardShortcuts();
- if (pTrackerDialog)
- pTrackerDialog->register_tracker(libs.pTracker.get());
-
- if (pFilterDialog)
- pFilterDialog->register_filter(libs.pFilter.get());
-
if (pProtocolDialog)
pProtocolDialog->register_protocol(libs.pProtocol.get());
@@ -263,24 +245,12 @@ void MainWindow::stopTracker( ) {
pose_update_timer.stop();
ui.pose_display->rotateBy(0, 0, 0, 0, 0, 0);
- if (pTrackerDialog)
- {
- pTrackerDialog->unregister_tracker();
- pTrackerDialog = nullptr;
- }
-
if (pProtocolDialog)
{
pProtocolDialog->unregister_protocol();
pProtocolDialog = nullptr;
}
- if (pFilterDialog)
- {
- pFilterDialog->unregister_filter();
- pFilterDialog = nullptr;
- }
-
work = nullptr;
libs = SelectedLibraries();
@@ -364,23 +334,10 @@ bool mk_dialog(mem<dylib> lib, mem<t>* orig)
return false;
}
-
-void MainWindow::showTrackerSettings()
-{
- if (mk_dialog(current_tracker(), &pTrackerDialog) && libs.pTracker)
- pTrackerDialog->register_tracker(libs.pTracker.get());
-}
-
void MainWindow::showProtocolSettings() {
if (mk_dialog(current_protocol(), &pProtocolDialog) && libs.pProtocol)
pProtocolDialog->register_protocol(libs.pProtocol.get());
}
-
-void MainWindow::showFilterSettings() {
- if (mk_dialog(current_filter(), &pFilterDialog) && libs.pFilter)
- pFilterDialog->register_filter(libs.pFilter.get());
-}
-
template<typename t, typename... Args>
bool mk_window(mem<t>* place, Args... params)
{
@@ -401,7 +358,7 @@ bool mk_window(mem<t>* place, Args... params)
}
void MainWindow::showKeyboardShortcuts() {
- if (mk_window(&shortcuts_widget))
+ if (mk_window<OptionsDialog, State&>(&shortcuts_widget, *this))
connect(shortcuts_widget.get(), SIGNAL(reload()), this, SLOT(bindKeyboardShortcuts()));
}