summaryrefslogtreecommitdiffhomepage
path: root/FTNoIR_Tracker_HT
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2013-03-22 20:48:17 +0100
committerStanislaw Halik <sthalik@misaki.pl>2013-03-22 20:48:17 +0100
commit3089c4bbc10e98d18f43e8a70e7a3d0c0eaf0900 (patch)
treec6f985472c05372417ecd4a861f6c2f346b63fd3 /FTNoIR_Tracker_HT
parent3e1515e88c6f750c193ed9b9908d8a9c09e5b025 (diff)
Downcase. PLEASE TURN OFF IGNORING CASE IN GIT CONFIG!!!
.git/config: [core] ignorecase = false
Diffstat (limited to 'FTNoIR_Tracker_HT')
-rw-r--r--FTNoIR_Tracker_HT/FTNoIR_Tracker_HT_vc8.vcproj398
-rw-r--r--FTNoIR_Tracker_HT/Tracker.qrc5
-rw-r--r--FTNoIR_Tracker_HT/TrackerControls.ui295
-rw-r--r--FTNoIR_Tracker_HT/ftnoir_tracker_ht.cpp422
-rw-r--r--FTNoIR_Tracker_HT/ftnoir_tracker_ht.h80
-rw-r--r--FTNoIR_Tracker_HT/ftnoir_tracker_ht_dll.h20
-rw-r--r--FTNoIR_Tracker_HT/headtracker-ftnoir.h24
-rw-r--r--FTNoIR_Tracker_HT/ht-api.h85
-rw-r--r--FTNoIR_Tracker_HT/images/HT.icobin15086 -> 0 bytes
-rw-r--r--FTNoIR_Tracker_HT/stdafx.h14
10 files changed, 0 insertions, 1343 deletions
diff --git a/FTNoIR_Tracker_HT/FTNoIR_Tracker_HT_vc8.vcproj b/FTNoIR_Tracker_HT/FTNoIR_Tracker_HT_vc8.vcproj
deleted file mode 100644
index bf9b23c2..00000000
--- a/FTNoIR_Tracker_HT/FTNoIR_Tracker_HT_vc8.vcproj
+++ /dev/null
@@ -1,398 +0,0 @@
-<?xml version="1.0" encoding="windows-1250"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8,00"
- Name="FTNoIR_Tracker_HT"
- ProjectGUID="{61F2B142-F7DD-4070-8A68-53AD63A5D528}"
- RootNamespace="FTNoIR_Tracker_HT"
- Keyword="Qt4VSv1.0"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(SolutionDir)$(ConfigurationName)"
- IntermediateDirectory="$(ConfigurationName)"
- ConfigurationType="2"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="&quot;$(QTDIR)include&quot;;&quot;$(QTDIR)\include\QtCore&quot;;&quot;$(QTDIR)\include\QtGui&quot;;&quot;.\.GeneratedFiles&quot;"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;FTNOIR_TRACKER_HT_EXPORTS;QT_CORE_LIB;QT_GUI_LIB"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="2"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="QtCored4.lib QtGuid4.lib"
- LinkIncremental="2"
- AdditionalLibraryDirectories="$(QTDIR)lib"
- GenerateDebugInformation="true"
- SubSystem="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(SolutionDir)\bin"
- IntermediateDirectory="$(ConfigurationName)"
- ConfigurationType="2"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- InlineFunctionExpansion="2"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- AdditionalIncludeDirectories="&quot;$(QTDIR)\include&quot;;&quot;$(QTDIR)\include\QtCore&quot;;&quot;$(QTDIR)\include\QtGui&quot;;.\.GeneratedFiles;&quot;C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include&quot;"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;FTNOIR_TRACKER_HT_EXPORTS;QT_CORE_LIB;QT_GUI_LIB;FTNOIR_TRACKER_BASE_LIB"
- RuntimeLibrary="2"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="QtCore4.lib QtGui4.lib Strmiids.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="&quot;$(SolutionDir)\dinput&quot;;&quot;$(QTDIR)\lib&quot;"
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="1"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\ftnoir_tracker_ht.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath=".\ftnoir_tracker_ht.h"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="Moc&apos;ing ftnoir_tracker_ht.h..."
- CommandLine="&quot;$(QTDIR)\bin\moc.exe&quot; &quot;$(InputPath)&quot; -o &quot;.\.GeneratedFiles$(ConfigurationName)\moc_$(InputName).cpp&quot; -DWIN32 -D_DEBUG -D_WINDOWS -D_USRDLL -DFTNOIR_TRACKER_HT_EXPORTS -DQT_CORE_LIB -DQT_GUI_LIB -D_WINDLL -D_UNICODE -DUNICODE &quot;-I$(QTDIR)include&quot; &quot;-I$(QTDIR)\include\QtCore&quot; &quot;-I$(QTDIR)\include\QtGui&quot; &quot;-I.\.GeneratedFiles&quot; &quot;-fStdAfx.h&quot; &quot;-f../ftnoir_tracker_ht.h&quot;&#x0D;&#x0A;"
- AdditionalDependencies="&quot;$(QTDIR)\bin\moc.exe&quot;;$(InputPath)"
- Outputs="&quot;.\.GeneratedFiles$(ConfigurationName)\moc_$(InputName).cpp&quot;"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="Moc&apos;ing ftnoir_tracker_ht.h..."
- CommandLine="&quot;$(QTDIR)\bin\moc.exe&quot; &quot;$(InputPath)&quot; -o &quot;.\.GeneratedFiles$(ConfigurationName)\moc_$(InputName).cpp&quot; -DWIN32 -DNDEBUG -D_WINDOWS -D_USRDLL -DFTNOIR_TRACKER_HT_EXPORTS -DQT_CORE_LIB -DQT_GUI_LIB -DFTNOIR_TRACKER_BASE_LIB -D_WINDLL -D_UNICODE -DUNICODE &quot;-I$(QTDIR)\include&quot; &quot;-I$(QTDIR)\include\QtCore&quot; &quot;-I$(QTDIR)\include\QtGui&quot; &quot;-I.\.GeneratedFiles&quot; &quot;-IC:\Program Files\Microsoft SDKs\Windows\v6.0A\Include&quot;&#x0D;&#x0A;"
- AdditionalDependencies="&quot;$(QTDIR)\bin\moc.exe&quot;;$(InputPath)"
- Outputs="&quot;.\.GeneratedFiles$(ConfigurationName)\moc_$(InputName).cpp&quot;"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\ftnoir_tracker_ht_dll.h"
- >
- </File>
- <File
- RelativePath=".\headtracker-ftnoir.h"
- >
- </File>
- <File
- RelativePath=".\ht-api.h"
- >
- </File>
- <File
- RelativePath=".\stdafx.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="qrc;*"
- UniqueIdentifier="{D9D6E242-F8AF-46E4-B9FD-80ECBC20BA3E}"
- ParseFiles="false"
- >
- <File
- RelativePath=".\Tracker.qrc"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="Rcc&apos;ing $(InputFileName)..."
- CommandLine="&quot;$(QTDIR)\bin\rcc.exe&quot; -name &quot;$(InputName)&quot; -no-compress &quot;$(InputPath)&quot; -o .\.GeneratedFiles\qrc_$(InputName).cpp&#x0D;&#x0A;"
- AdditionalDependencies="$(InputPath);.\images\SeeingMachines.ico"
- Outputs=".\.GeneratedFiles\qrc_$(InputName).cpp"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="Rcc&apos;ing $(InputFileName)..."
- CommandLine="&quot;$(QTDIR)\bin\rcc.exe&quot; -name &quot;$(InputName)&quot; -no-compress &quot;$(InputPath)&quot; -o .\.GeneratedFiles\qrc_$(InputName).cpp&#x0D;&#x0A;"
- AdditionalDependencies="$(InputPath);.\images\SeeingMachines.ico"
- Outputs=".\.GeneratedFiles\qrc_$(InputName).cpp"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="Generated Files"
- Filter="moc;h;cpp"
- UniqueIdentifier="{71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11}"
- >
- <File
- RelativePath=".\.generatedfiles\qrc_Tracker.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\.generatedfiles\ui_TrackerControls.h"
- >
- </File>
- <Filter
- Name="Debug"
- Filter="cpp;moc"
- SourceControlFiles="false"
- >
- <File
- RelativePath=".\.GeneratedFilesDebug\moc_ftnoir_tracker_ht.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="Release"
- Filter="cpp;moc"
- SourceControlFiles="false"
- >
- <File
- RelativePath=".\.GeneratedFilesRelease\moc_ftnoir_tracker_ht.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="Form Files"
- Filter="ui"
- UniqueIdentifier="{99349809-55BA-4b9d-BF79-8FDBB0286EB3}"
- >
- <File
- RelativePath=".\TrackerControls.ui"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="Uic&apos;ing $(InputFileName)..."
- CommandLine="&quot;$(QTDIR)\bin\uic.exe&quot; -o &quot;.\.GeneratedFiles\ui_$(InputName).h&quot; &quot;$(InputPath)&quot;&#x0D;&#x0A;"
- AdditionalDependencies="$(QTDIR)\bin\uic.exe"
- Outputs="&quot;.\.GeneratedFiles\ui_$(InputName).h&quot;"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="Uic&apos;ing $(InputFileName)..."
- CommandLine="&quot;$(QTDIR)\bin\uic.exe&quot; -o &quot;.\.GeneratedFiles\ui_$(InputName).h&quot; &quot;$(InputPath)&quot;&#x0D;&#x0A;"
- AdditionalDependencies="$(QTDIR)\bin\uic.exe"
- Outputs="&quot;.\.GeneratedFiles\ui_$(InputName).h&quot;"
- />
- </FileConfiguration>
- </File>
- </Filter>
- </Files>
- <Globals>
- <Global
- Name="lupdateOnBuild"
- Value="1"
- />
- <Global
- Name="MocDir"
- Value=".GeneratedFiles$(ConfigurationName)"
- />
- <Global
- Name="MocOptions"
- Value=""
- />
- <Global
- Name="QtVersion Win32"
- Value="$(DefaultQtVersion)"
- />
- <Global
- Name="RccDir"
- Value=".GeneratedFiles"
- />
- <Global
- Name="UicDir"
- Value=".GeneratedFiles"
- />
- </Globals>
-</VisualStudioProject>
diff --git a/FTNoIR_Tracker_HT/Tracker.qrc b/FTNoIR_Tracker_HT/Tracker.qrc
deleted file mode 100644
index 9627f700..00000000
--- a/FTNoIR_Tracker_HT/Tracker.qrc
+++ /dev/null
@@ -1,5 +0,0 @@
-<RCC>
- <qresource prefix="/">
- <file>images/HT.ico</file>
- </qresource>
-</RCC>
diff --git a/FTNoIR_Tracker_HT/TrackerControls.ui b/FTNoIR_Tracker_HT/TrackerControls.ui
deleted file mode 100644
index 0a1bc3ae..00000000
--- a/FTNoIR_Tracker_HT/TrackerControls.ui
+++ /dev/null
@@ -1,295 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>Form</class>
- <widget class="QWidget" name="Form">
- <property name="windowModality">
- <enum>Qt::NonModal</enum>
- </property>
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>500</width>
- <height>160</height>
- </rect>
- </property>
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="maximumSize">
- <size>
- <width>500</width>
- <height>160</height>
- </size>
- </property>
- <property name="windowTitle">
- <string>HT tracker settings</string>
- </property>
- <widget class="QLabel" name="label">
- <property name="geometry">
- <rect>
- <x>10</x>
- <y>10</y>
- <width>141</width>
- <height>16</height>
- </rect>
- </property>
- <property name="text">
- <string>Horizontal field of view</string>
- </property>
- </widget>
- <widget class="QDoubleSpinBox" name="cameraFOV">
- <property name="geometry">
- <rect>
- <x>130</x>
- <y>10</y>
- <width>251</width>
- <height>22</height>
- </rect>
- </property>
- <property name="locale">
- <locale language="English" country="UnitedStates"/>
- </property>
- <property name="minimum">
- <double>35.000000000000000</double>
- </property>
- <property name="maximum">
- <double>180.000000000000000</double>
- </property>
- <property name="value">
- <double>69.000000000000000</double>
- </property>
- </widget>
- <widget class="QLabel" name="label_2">
- <property name="geometry">
- <rect>
- <x>10</x>
- <y>40</y>
- <width>101</width>
- <height>16</height>
- </rect>
- </property>
- <property name="text">
- <string>Frames per second</string>
- </property>
- </widget>
- <widget class="QComboBox" name="cameraFPS">
- <property name="geometry">
- <rect>
- <x>130</x>
- <y>40</y>
- <width>251</width>
- <height>22</height>
- </rect>
- </property>
- <item>
- <property name="text">
- <string notr="true">Default</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>30</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>60</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>120</string>
- </property>
- </item>
- </widget>
- <widget class="QLabel" name="label_3">
- <property name="geometry">
- <rect>
- <x>10</x>
- <y>70</y>
- <width>71</width>
- <height>16</height>
- </rect>
- </property>
- <property name="text">
- <string>Camera name</string>
- </property>
- </widget>
- <widget class="QPushButton" name="buttonOK">
- <property name="geometry">
- <rect>
- <x>340</x>
- <y>130</y>
- <width>75</width>
- <height>23</height>
- </rect>
- </property>
- <property name="text">
- <string>OK</string>
- </property>
- </widget>
- <widget class="QPushButton" name="buttonCancel">
- <property name="geometry">
- <rect>
- <x>420</x>
- <y>130</y>
- <width>75</width>
- <height>23</height>
- </rect>
- </property>
- <property name="text">
- <string>Cancel</string>
- </property>
- </widget>
- <widget class="QGroupBox" name="groupBox">
- <property name="geometry">
- <rect>
- <x>390</x>
- <y>10</y>
- <width>101</width>
- <height>81</height>
- </rect>
- </property>
- <property name="title">
- <string>Enable axes</string>
- </property>
- <widget class="QCheckBox" name="rx">
- <property name="geometry">
- <rect>
- <x>10</x>
- <y>20</y>
- <width>70</width>
- <height>17</height>
- </rect>
- </property>
- <property name="text">
- <string>RX</string>
- </property>
- </widget>
- <widget class="QCheckBox" name="ry">
- <property name="geometry">
- <rect>
- <x>10</x>
- <y>40</y>
- <width>70</width>
- <height>17</height>
- </rect>
- </property>
- <property name="text">
- <string>RY</string>
- </property>
- </widget>
- <widget class="QCheckBox" name="rz">
- <property name="geometry">
- <rect>
- <x>10</x>
- <y>60</y>
- <width>70</width>
- <height>17</height>
- </rect>
- </property>
- <property name="text">
- <string>RZ</string>
- </property>
- </widget>
- <widget class="QCheckBox" name="tx">
- <property name="geometry">
- <rect>
- <x>60</x>
- <y>20</y>
- <width>70</width>
- <height>17</height>
- </rect>
- </property>
- <property name="text">
- <string>TX</string>
- </property>
- </widget>
- <widget class="QCheckBox" name="ty">
- <property name="geometry">
- <rect>
- <x>60</x>
- <y>40</y>
- <width>70</width>
- <height>17</height>
- </rect>
- </property>
- <property name="text">
- <string>TY</string>
- </property>
- </widget>
- <widget class="QCheckBox" name="tz">
- <property name="geometry">
- <rect>
- <x>60</x>
- <y>60</y>
- <width>70</width>
- <height>17</height>
- </rect>
- </property>
- <property name="text">
- <string>TZ</string>
- </property>
- </widget>
- </widget>
- <widget class="QComboBox" name="cameraName">
- <property name="geometry">
- <rect>
- <x>130</x>
- <y>70</y>
- <width>251</width>
- <height>22</height>
- </rect>
- </property>
- </widget>
- <widget class="QLabel" name="label_4">
- <property name="geometry">
- <rect>
- <x>10</x>
- <y>100</y>
- <width>61</width>
- <height>16</height>
- </rect>
- </property>
- <property name="text">
- <string>Resolution</string>
- </property>
- </widget>
- <widget class="QComboBox" name="resolution">
- <property name="geometry">
- <rect>
- <x>130</x>
- <y>100</y>
- <width>251</width>
- <height>22</height>
- </rect>
- </property>
- <item>
- <property name="text">
- <string>640x480</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>320x240</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>320x200</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Default (not recommended!)</string>
- </property>
- </item>
- </widget>
- </widget>
- <resources/>
- <connections/>
-</ui>
diff --git a/FTNoIR_Tracker_HT/ftnoir_tracker_ht.cpp b/FTNoIR_Tracker_HT/ftnoir_tracker_ht.cpp
deleted file mode 100644
index 336ede2d..00000000
--- a/FTNoIR_Tracker_HT/ftnoir_tracker_ht.cpp
+++ /dev/null
@@ -1,422 +0,0 @@
-#include "stdafx.h"
-#include "../ftnoir_tracker_base/ftnoir_tracker_base.h"
-#include "headtracker-ftnoir.h"
-#include "ftnoir_tracker_ht.h"
-#include "ftnoir_tracker_ht_dll.h"
-#include "ui_trackercontrols.h"
-#include "../facetracknoir/global-settings.h"
-
-#define WIDGET_WIDTH 250
-#define WIDGET_HEIGHT 188
-
-#if defined(_WIN32) || defined(__WIN32)
-#include <dshow.h>
-#else
-#include <unistd.h>
-#endif
-
-// delicious copypasta
-static QList<QString> get_camera_names(void) {
- QList<QString> ret;
-#if defined(_WIN32) || defined(__WIN32)
- // Create the System Device Enumerator.
- HRESULT hr;
- ICreateDevEnum *pSysDevEnum = NULL;
- hr = CoCreateInstance(CLSID_SystemDeviceEnum, NULL, CLSCTX_INPROC_SERVER, IID_ICreateDevEnum, (void **)&pSysDevEnum);
- if (FAILED(hr))
- {
- return ret;
- }
- // Obtain a class enumerator for the video compressor category.
- IEnumMoniker *pEnumCat = NULL;
- hr = pSysDevEnum->CreateClassEnumerator(CLSID_VideoInputDeviceCategory, &pEnumCat, 0);
-
- if (hr == S_OK) {
- // Enumerate the monikers.
- IMoniker *pMoniker = NULL;
- ULONG cFetched;
- while (pEnumCat->Next(1, &pMoniker, &cFetched) == S_OK) {
- IPropertyBag *pPropBag;
- hr = pMoniker->BindToStorage(0, 0, IID_IPropertyBag, (void **)&pPropBag);
- if (SUCCEEDED(hr)) {
- // To retrieve the filter's friendly name, do the following:
- VARIANT varName;
- VariantInit(&varName);
- hr = pPropBag->Read(L"FriendlyName", &varName, 0);
- if (SUCCEEDED(hr))
- {
- // Display the name in your UI somehow.
- QString str((QChar*)varName.bstrVal, wcslen(varName.bstrVal));
- ret.append(str);
- }
- VariantClear(&varName);
-
- ////// To create an instance of the filter, do the following:
- ////IBaseFilter *pFilter;
- ////hr = pMoniker->BindToObject(NULL, NULL, IID_IBaseFilter,
- //// (void**)&pFilter);
- // Now add the filter to the graph.
- //Remember to release pFilter later.
- pPropBag->Release();
- }
- pMoniker->Release();
- }
- pEnumCat->Release();
- }
- pSysDevEnum->Release();
-#else
- for (int i = 0; i < 16; i++) {
- char buf[128];
- sprintf(buf, "/dev/video%d", i);
- if (access(buf, R_OK | W_OK) == 0) {
- ret.append(buf);
- } else {
- break;
- }
- }
-#endif
- return ret;
-}
-
-typedef struct {
- int width;
- int height;
-} resolution_tuple;
-
-static resolution_tuple resolution_choices[] = {
- { 0, 0 },
- { 640, 480 },
- { 320, 240 },
- { 320, 200 },
- { 0, 0 }
-};
-
-static void load_settings(ht_config_t* config, Tracker* tracker)
-{
- QSettings settings("Abbequerque Inc.", "FaceTrackNoIR");
- QString currentFile = settings.value( "SettingsFile", QCoreApplication::applicationDirPath() + "/Settings/default.ini" ).toString();
- QSettings iniFile( currentFile, QSettings::IniFormat );
-
- iniFile.beginGroup( "HT-Tracker" );
- config->classification_delay = 4000;
- config->field_of_view = iniFile.value("fov", 69).toFloat();
- config->pyrlk_pyramids = 3;
- config->pyrlk_win_size_w = config->pyrlk_win_size_h = 21;
- config->max_keypoints = 250;
- config->keypoint_quality = 12;
- config->keypoint_distance = 2.3f;
- config->keypoint_3distance = 6;
- //config->force_width = 640;
- //config->force_height = 480;
- config->force_fps = iniFile.value("fps", 0).toInt();
- config->camera_index = iniFile.value("camera-index", -1).toInt();
- config->ransac_num_iters = 100;
- config->ransac_max_reprojection_error = 6.5f;
- config->ransac_max_inlier_error = 6.5f;
- config->ransac_max_mean_error = 4.0f;
- config->ransac_abs_max_mean_error = 7.0f;
- config->debug = 0;
- config->ransac_min_features = 0.75f;
- int res = iniFile.value("resolution", 0).toInt();
- if (res < 0 || res >= (int)(sizeof(*resolution_choices) / sizeof(resolution_tuple)))
- res = 0;
- resolution_tuple r = resolution_choices[res];
- config->force_width = r.width;
- config->force_height = r.height;
- if (tracker)
- {
- tracker->enableRX = iniFile.value("enable-rx", true).toBool();
- tracker->enableRY = iniFile.value("enable-ry", true).toBool();
- tracker->enableRZ = iniFile.value("enable-rz", true).toBool();
- tracker->enableTX = iniFile.value("enable-tx", true).toBool();
- tracker->enableTY = iniFile.value("enable-ty", true).toBool();
- tracker->enableTZ = iniFile.value("enable-tz", true).toBool();
- }
- iniFile.endGroup();
-}
-
-Tracker::Tracker() : lck_shm(HT_SHM_NAME, HT_MUTEX_NAME, sizeof(ht_shm_t)), fresh(false)
-{
- videoWidget = NULL;
- layout = NULL;
- enableRX = enableRY = enableRZ = enableTX = enableTY = enableTZ = true;
- shm = (ht_shm_t*) lck_shm.mem;
- shm->terminate = 0;
- load_settings(&shm->config, this);
- shm->result.filled = false;
-}
-
-Tracker::~Tracker()
-{
- subprocess.kill();
- if (shm)
- shm->terminate = true;
- if (layout)
- delete layout;
- if (videoWidget)
- delete videoWidget;
-}
-
-void Tracker::StartTracker(QFrame* videoframe)
-{
- videoframe->setAttribute(Qt::WA_NativeWindow);
- videoframe->show();
- videoWidget = new VideoWidget(videoframe);
- QHBoxLayout* layout = new QHBoxLayout();
- layout->setContentsMargins(0, 0, 0, 0);
- layout->addWidget(videoWidget);
- if (videoframe->layout())
- delete videoframe->layout();
- videoframe->setLayout(layout);
- videoWidget->resize(WIDGET_WIDTH, WIDGET_HEIGHT);
- videoWidget->show();
- this->layout = layout;
- load_settings(&shm->config, this);
- shm->frame.channels = shm->frame.width = shm->frame.height = 0;
- shm->pause = shm->terminate = shm->running = false;
- shm->timer = 0;
- subprocess.setWorkingDirectory(QCoreApplication::applicationDirPath() + "/tracker-ht");
-#if defined(_WIN32) || defined(__WIN32)
- subprocess.start("\"" + QCoreApplication::applicationDirPath() + "/tracker-ht/headtracker-ftnoir" + "\"");
-#else
- subprocess.start(QCoreApplication::applicationDirPath() + "/tracker-ht/headtracker-ftnoir");
-#endif
- connect(&timer, SIGNAL(timeout()), this, SLOT(paint_widget()));
- timer.start(15);
-}
-
-void Tracker::paint_widget() {
- if (fresh) {
- fresh = false;
- videoWidget->update();
- }
-}
-
-bool Tracker::GiveHeadPoseData(THeadPoseData* data)
-{
- bool ret = false;
-
- lck_shm.lock();
- shm->timer = 0;
- if (shm->frame.width > 0)
- {
- videoWidget->updateImage(shm->frame.frame, shm->frame.width, shm->frame.height);
- //memcpy(foo, shm->frame.frame, shm->frame.width * shm->frame.height * 3);
- fresh = true;
- }
- if (shm->result.filled) {
- if (enableRX)
- data->yaw = shm->result.rotx;
- if (enableRY)
- data->pitch = shm->result.roty;
- if (enableRZ)
- data->roll = shm->result.rotz;
- if (enableTX)
- data->x = shm->result.tx;
- if (enableTY)
- data->y = shm->result.ty;
- if (enableTZ)
- data->z = shm->result.tz;
- ret = true;
- }
- lck_shm.unlock();
-
- return ret;
-}
-
-//-----------------------------------------------------------------------------
-void TrackerDll::getFullName(QString *strToBeFilled)
-{
- *strToBeFilled = "HT 0.7";
-}
-
-void TrackerDll::getShortName(QString *strToBeFilled)
-{
- *strToBeFilled = "HT";
-}
-
-void TrackerDll::getDescription(QString *strToBeFilled)
-{
- *strToBeFilled = "";
-}
-
-void TrackerDll::getIcon(QIcon *icon)
-{
- *icon = QIcon(":/images/ht.png");
-}
-
-
-//-----------------------------------------------------------------------------
-//#pragma comment(linker, "/export:GetTrackerDll=_GetTrackerDll@0")
-
-extern "C" FTNOIR_TRACKER_BASE_EXPORT Metadata* CALLING_CONVENTION GetMetadata()
-{
- return new TrackerDll;
-}
-
-//#pragma comment(linker, "/export:GetTracker=_GetTracker@0")
-
-extern "C" FTNOIR_TRACKER_BASE_EXPORT void* CALLING_CONVENTION GetConstructor()
-{
- return (ITracker*) new Tracker;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-// Factory function that creates instances if the Tracker-settings dialog object.
-
-// Export both decorated and undecorated names.
-// GetTrackerDialog - Undecorated name, which can be easily used with GetProcAddress
-// Win32 API function.
-// _GetTrackerDialog@0 - Common name decoration for __stdcall functions in C language.
-//#pragma comment(linker, "/export:GetTrackerDialog=_GetTrackerDialog@0")
-
-extern "C" FTNOIR_TRACKER_BASE_EXPORT void* CALLING_CONVENTION GetDialog( )
-{
- return (ITrackerDialog*) new TrackerControls;
-}
-
-TrackerControls::TrackerControls()
-{
- ui.setupUi(this);
- loadSettings();
- connect(ui.cameraName, SIGNAL(currentIndexChanged(int)), this, SLOT(settingChanged(int)));
- connect(ui.cameraFPS, SIGNAL(currentIndexChanged(int)), this, SLOT(settingChanged(int)));
- connect(ui.cameraFOV, SIGNAL(valueChanged(double)), this, SLOT(settingChanged(double)));
- connect(ui.rx, SIGNAL(stateChanged(int)), this, SLOT(settingChanged(int)));
- connect(ui.ry, SIGNAL(stateChanged(int)), this, SLOT(settingChanged(int)));
- connect(ui.rz, SIGNAL(stateChanged(int)), this, SLOT(settingChanged(int)));
- connect(ui.tx, SIGNAL(stateChanged(int)), this, SLOT(settingChanged(int)));
- connect(ui.ty, SIGNAL(stateChanged(int)), this, SLOT(settingChanged(int)));
- connect(ui.tz, SIGNAL(stateChanged(int)), this, SLOT(settingChanged(int)));
- connect(ui.buttonCancel, SIGNAL(clicked()), this, SLOT(doCancel()));
- connect(ui.buttonOK, SIGNAL(clicked()), this, SLOT(doOK()));
- settingsDirty = false;
-}
-
-TrackerControls::~TrackerControls()
-{
-}
-
-void TrackerControls::showEvent(QShowEvent *event)
-{
-}
-
-void TrackerControls::Initialize(QWidget* parent)
-{
- show();
-}
-
-void TrackerControls::loadSettings()
-{
- ui.cameraName->clear();
- QList<QString> names = get_camera_names();
- names.prepend("Any available");
- ui.cameraName->addItems(names);
- QSettings settings("Abbequerque Inc.", "FaceTrackNoIR");
- QString currentFile = settings.value( "SettingsFile", QCoreApplication::applicationDirPath() + "/Settings/default.ini" ).toString();
- QSettings iniFile( currentFile, QSettings::IniFormat );
- iniFile.beginGroup( "HT-Tracker" );
- ui.cameraName->setCurrentIndex(iniFile.value("camera-index", -1).toInt() + 1);
- ui.cameraFOV->setValue(iniFile.value("fov", 69).toFloat());
- int fps;
- switch (iniFile.value("fps", 0).toInt())
- {
- default:
- case 0:
- fps = 0;
- break;
- case 30:
- fps = 1;
- break;
- case 60:
- fps = 2;
- break;
- case 120:
- fps = 3;
- break;
- }
- ui.cameraFPS->setCurrentIndex(fps);
- ui.rx->setCheckState(iniFile.value("enable-rx", true).toBool() ? Qt::Checked : Qt::Unchecked);
- ui.ry->setCheckState(iniFile.value("enable-ry", true).toBool() ? Qt::Checked : Qt::Unchecked);
- ui.rz->setCheckState(iniFile.value("enable-rz", true).toBool() ? Qt::Checked : Qt::Unchecked);
- ui.tx->setCheckState(iniFile.value("enable-tx", true).toBool() ? Qt::Checked : Qt::Unchecked);
- ui.ty->setCheckState(iniFile.value("enable-ty", true).toBool() ? Qt::Checked : Qt::Unchecked);
- ui.tz->setCheckState(iniFile.value("enable-tz", true).toBool() ? Qt::Checked : Qt::Unchecked);
- ui.resolution->setCurrentIndex(iniFile.value("resolution", 0).toInt());
- iniFile.endGroup();
- settingsDirty = false;
-}
-
-void TrackerControls::save()
-{
- QSettings settings("Abbequerque Inc.", "FaceTrackNoIR");
- QString currentFile = settings.value( "SettingsFile", QCoreApplication::applicationDirPath() + "/Settings/default.ini" ).toString();
- QSettings iniFile( currentFile, QSettings::IniFormat );
-
- iniFile.beginGroup( "HT-Tracker" );
- iniFile.setValue("fov", ui.cameraFOV->value());
- int fps;
- switch (ui.cameraFPS->currentIndex())
- {
- case 0:
- default:
- fps = 0;
- break;
- case 1:
- fps = 30;
- break;
- case 2:
- fps = 60;
- break;
- case 3:
- fps = 120;
- break;
- }
- iniFile.setValue("fps", fps);
- iniFile.setValue("camera-index", ui.cameraName->currentIndex() - 1);
- iniFile.setValue("enable-rx", ui.rx->checkState() != Qt::Unchecked ? true : false);
- iniFile.setValue("enable-ry", ui.ry->checkState() != Qt::Unchecked ? true : false);
- iniFile.setValue("enable-rz", ui.rz->checkState() != Qt::Unchecked ? true : false);
- iniFile.setValue("enable-tx", ui.tx->checkState() != Qt::Unchecked ? true : false);
- iniFile.setValue("enable-ty", ui.ty->checkState() != Qt::Unchecked ? true : false);
- iniFile.setValue("enable-tz", ui.tz->checkState() != Qt::Unchecked ? true : false);
- iniFile.setValue("resolution", ui.resolution->currentIndex());
- iniFile.endGroup();
- settingsDirty = false;
-}
-
-void TrackerControls::doOK()
-{
- save();
- this->close();
-}
-
-void TrackerControls::doCancel()
-{
- if (settingsDirty) {
- int ret = QMessageBox::question ( this,
- "Settings have changed",
- "Do you want to save the settings?",
- QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel,
- QMessageBox::Discard );
-
- switch (ret) {
- case QMessageBox::Save:
- save();
- this->close();
- break;
- case QMessageBox::Discard:
- this->close();
- break;
- case QMessageBox::Cancel:
- // Cancel was clicked
- break;
- default:
- // should never be reached
- break;
- }
- }
- else {
- this->close();
- }
-}
diff --git a/FTNoIR_Tracker_HT/ftnoir_tracker_ht.h b/FTNoIR_Tracker_HT/ftnoir_tracker_ht.h
deleted file mode 100644
index 1a449dca..00000000
--- a/FTNoIR_Tracker_HT/ftnoir_tracker_ht.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/* Copyright (c) 2013 Stanislaw Halik <sthalik@misaki.pl>
- *
- * 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.
- */
-
-#ifndef FTNOIR_TRACKER_HT_H
-#define FTNOIR_TRACKER_HT_H
-
-#include "stdafx.h"
-#include "../ftnoir_tracker_base/ftnoir_tracker_base.h"
-#include "headtracker-ftnoir.h"
-#include "ui_trackercontrols.h"
-#include "video_widget.h"
-#include "../compat/compat.h"
-#include <QObject>
-#include <QTimer>
-
-class Tracker : public QObject, public ITracker
-{
- Q_OBJECT
-public:
- Tracker();
- ~Tracker();
- void StartTracker(QFrame* frame);
- bool GiveHeadPoseData(THeadPoseData *data);
- bool enableTX, enableTY, enableTZ, enableRX, enableRY, enableRZ;
- ht_shm_t* shm;
- bool NeedsTimeToFinish() {
- return true;
- }
- void WaitForExit() {
- if (shm) {
- shm->terminate = true;
- subprocess.waitForFinished(5000);
- }
- subprocess.kill();
- }
-private:
- QTimer timer;
- PortableLockedShm lck_shm;
- QProcess subprocess;
- VideoWidget* videoWidget;
- QHBoxLayout* layout;
- volatile bool fresh;
-private slots:
- void paint_widget();
-};
-
-// Widget that has controls for FTNoIR protocol client-settings.
-class TrackerControls : public QWidget, public ITrackerDialog
-{
- Q_OBJECT
-public:
-
- explicit TrackerControls();
- virtual ~TrackerControls();
- void showEvent ( QShowEvent * event );
-
- void Initialize(QWidget *parent);
- void registerTracker(ITracker *tracker) {};
- void unRegisterTracker() {};
-
-private:
- Ui::Form ui;
- void loadSettings();
- void save();
- bool settingsDirty;
-
-private slots:
- void doOK();
- void doCancel();
- void settingChanged() { settingsDirty = true; };
- void settingChanged(int) { settingsDirty = true; };
- void settingChanged(double) { settingsDirty = true; };
-};
-
-#endif
-
diff --git a/FTNoIR_Tracker_HT/ftnoir_tracker_ht_dll.h b/FTNoIR_Tracker_HT/ftnoir_tracker_ht_dll.h
deleted file mode 100644
index f3bfd381..00000000
--- a/FTNoIR_Tracker_HT/ftnoir_tracker_ht_dll.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright (c) 2013 Stanisław Halik <sthalik@misaki.pl>
- *
- * 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_tracker_base/ftnoir_tracker_base.h"
-#include "../facetracknoir/global-settings.h"
-
-//-----------------------------------------------------------------------------
-class TrackerDll : public Metadata
-{
- // ITrackerDll interface
- void Initialize() {}
- void getFullName(QString *strToBeFilled);
- void getShortName(QString *strToBeFilled);
- void getDescription(QString *strToBeFilled);
- void getIcon(QIcon *icon);
-};
diff --git a/FTNoIR_Tracker_HT/headtracker-ftnoir.h b/FTNoIR_Tracker_HT/headtracker-ftnoir.h
deleted file mode 100644
index 48510997..00000000
--- a/FTNoIR_Tracker_HT/headtracker-ftnoir.h
+++ /dev/null
@@ -1,24 +0,0 @@
-#pragma once
-#include <stdlib.h>
-#include <stdio.h>
-#include "ht-api.h"
-
-#define HT_SHM_NAME "ftnoir-tracker-ht-shm"
-#define HT_MUTEX_NAME "ftnoir-tracker-ht-mutex"
-
-#define HT_MAX_VIDEO_WIDTH 2048
-#define HT_MAX_VIDEO_HEIGHT 1536
-#define HT_MAX_VIDEO_CHANNELS 3
-
-typedef struct {
- int width, height, channels;
- unsigned char frame[HT_MAX_VIDEO_WIDTH * HT_MAX_VIDEO_HEIGHT * HT_MAX_VIDEO_CHANNELS];
-} ht_video_t;
-
-typedef struct {
- ht_video_t frame;
- ht_config_t config;
- ht_result_t result;
- volatile int timer;
- volatile bool pause, terminate, running;
-} ht_shm_t;
diff --git a/FTNoIR_Tracker_HT/ht-api.h b/FTNoIR_Tracker_HT/ht-api.h
deleted file mode 100644
index ac8d45cf..00000000
--- a/FTNoIR_Tracker_HT/ht-api.h
+++ /dev/null
@@ -1,85 +0,0 @@
-#pragma once
-#ifndef HT_API
-#ifndef __cplusplus
-# define HT_EXTERN
-#else
-# define HT_EXTERN extern "C"
-#endif
-# if defined(_WIN32) && !defined(MINGW)
-# define HT_API(t) HT_EXTERN __declspec(dllexport) t __stdcall
-# else
-# define HT_API(t) HT_EXTERN t
-# endif
-#endif
-#if !defined(_WIN32) && !defined(_isnan)
-# define _isnan isnan
-#endif
-#include <stdio.h>
-struct ht_context;
-typedef struct ht_context headtracker_t;
-
-typedef struct ht_config {
- float field_of_view;
- float classification_delay;
- int pyrlk_pyramids;
- int pyrlk_win_size_w;
- int pyrlk_win_size_h;
- float ransac_max_inlier_error;
- float ransac_max_reprojection_error;
- int max_keypoints;
- int keypoint_quality;
- float keypoint_distance;
- float keypoint_3distance;
- int force_width;
- int force_height;
- int force_fps;
- int camera_index;
- bool debug;
- int ransac_num_iters;
- float ransac_min_features;
- float ransac_max_mean_error;
- float ransac_abs_max_mean_error;
-} ht_config_t;
-
-typedef struct {
- double rotx, roty, rotz;
- double tx, ty, tz;
- bool filled;
-} ht_result_t;
-
-typedef enum {
- cfg_type_float = 0,
- cfg_type_int = 1,
- cfg_type_bool = 2,
- cfg_type_double = 3
-} ht_cfg_type_t;
-
-typedef union
-{
- double d;
- float f;
- int i;
-} ht_cfg_value_t;
-
-typedef struct {
- const char* name;
- int offset;
- ht_cfg_type_t type;
- ht_cfg_value_t default_value;
- ht_cfg_value_t min;
- ht_cfg_value_t max;
- const char* docstring;
-} ht_reflection_t;
-
-typedef struct {
- int rows, cols, channels;
- unsigned char* data;
-} ht_frame_t;
-
-HT_API(headtracker_t*) ht_make_context(const ht_config_t* config, const char* filename);
-HT_API(void) ht_load_config(FILE* stream, ht_config_t* cfg);
-HT_API(void) ht_free_context(headtracker_t* ctx);
-HT_API(void) ht_get_bgr_frame(headtracker_t* ctx, ht_frame_t* ret);
-HT_API(void) ht_make_config(ht_config_t* cfg);
-HT_API(bool) ht_cycle(headtracker_t* ctx, ht_result_t* euler);
-HT_API(void) ht_reset(headtracker_t* ctx);
diff --git a/FTNoIR_Tracker_HT/images/HT.ico b/FTNoIR_Tracker_HT/images/HT.ico
deleted file mode 100644
index 7555ce25..00000000
--- a/FTNoIR_Tracker_HT/images/HT.ico
+++ /dev/null
Binary files differ
diff --git a/FTNoIR_Tracker_HT/stdafx.h b/FTNoIR_Tracker_HT/stdafx.h
deleted file mode 100644
index 0e532c9f..00000000
--- a/FTNoIR_Tracker_HT/stdafx.h
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <QWidget>
-#include <QMessageBox>
-#include <QProcess>
-#include <QImage>
-#include <QLabel>
-#include <QCoreApplication>
-#include <QSettings>
-#include <QIcon>
-#include <QHBoxLayout>
-#include <QTimer>
-#include <QPainter>
-#include <QPaintEvent>
-#include <QList>
-#include <QString>