diff options
| -rw-r--r-- | CMakeLists.txt | 49 | ||||
| -rw-r--r-- | ftnoir_tracker_hillcrest/ftnoir_hillcrest_clientcontrols.ui | 240 | ||||
| -rw-r--r-- | ftnoir_tracker_hillcrest/ftnoir_tracker_hillcrest.cpp | 256 | ||||
| -rw-r--r-- | ftnoir_tracker_hillcrest/ftnoir_tracker_hillcrest.h | 72 | ||||
| -rw-r--r-- | ftnoir_tracker_hillcrest/ftnoir_tracker_hillcrest_dialog.cpp | 168 | ||||
| -rw-r--r-- | ftnoir_tracker_hillcrest/ftnoir_tracker_hillcrest_dll.cpp | 76 | 
6 files changed, 0 insertions, 861 deletions
| diff --git a/CMakeLists.txt b/CMakeLists.txt index f2b3805c..e7a3b9de 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -95,8 +95,6 @@ if(NOT SDK_FACEAPI_ONLY)        endif()      endif(WIN32) -    set(SDK_HILLCREST "" CACHE PATH "Path to libfreespace") -  if(SDK_FSUIPC AND WIN32)      include_directories("${SDK_FSUIPC}")      link_directories("${SDK_FSUIPC}") @@ -240,14 +238,6 @@ if(NOT SDK_FACEAPI_ONLY)      file(GLOB opentrack-tracker-udp-rc "ftnoir_tracker_udp/*.qrc")      QT4_WRAP_UI(opentrack-tracker-udp-uih ${opentrack-tracker-udp-ui})      QT4_ADD_RESOURCES(opentrack-tracker-udp-rcc ${opentrack-tracker-udp-rc}) - -    file(GLOB opentrack-tracker-hillcrest-c "ftnoir_tracker_hillcrest/*.cpp") -    file(GLOB opentrack-tracker-hillcrest-h "ftnoir_tracker_hillcrest/*.h") -    QT4_WRAP_CPP(opentrack-tracker-hillcrest-moc ${opentrack-tracker-hillcrest-h}) -    file(GLOB opentrack-tracker-hillcrest-ui "ftnoir_tracker_hillcrest/*.ui") -    file(GLOB opentrack-tracker-hillcrest-rc "ftnoir_tracker_hillcrest/*.qrc") -    QT4_WRAP_UI(opentrack-tracker-hillcrest-uih ${opentrack-tracker-hillcrest-ui}) -    QT4_ADD_RESOURCES(opentrack-tracker-hillcrest-rcc ${opentrack-tracker-hillcrest-rc})      file(GLOB opentrack-tracker-rift-c "ftnoir_tracker_rift/*.cpp")      file(GLOB opentrack-tracker-rift-h "ftnoir_tracker_rift/*.h") @@ -488,30 +478,6 @@ endif()                        PROPERTIES LINK_FLAGS "-Wl,--version-script=${CMAKE_SOURCE_DIR}/facetracknoir/posix-version-script.txt")          endif()  	endif() -    if(SDK_HILLCREST) -        include_directories("${SDK_HILLCREST}/include") -        if(WIN32) -            set(HILLCREST_LIBDIR ${SDK_HILLCREST}/lib/Release) -            if(MSVC) -                set(HILLCREST_LIBNAME libfreespace.lib) -            else() -                set(HILLCREST_LIBNAME libfreespace.a) -            endif() -        else() -            link_directories(${SDK_HILLCREST}/lib) -        endif() -        add_library(opentrack-tracker-hillcrest SHARED ${opentrack-tracker-hillcrest-c} ${opentrack-tracker-hillcrest-moc} ${opentrack-tracker-hillcrest-uih} ${opentrack-tracker-hillcrest-rcc}) -        if(WIN32) -            set(HILLCREST_LIB "${HILLCREST_LIBDIR}/${HILLCREST_LIBNAME}") -        else() -            set(HILLCREST_LIB freespace) -        endif() -        target_link_libraries(opentrack-tracker-hillcrest ${MY_QT_LIBS} ${HILLCREST_LIB}) -        if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_GNUCC) -            SET_TARGET_PROPERTIES(opentrack-tracker-hillcrest -                      PROPERTIES LINK_FLAGS "-Wl,--version-script=${CMAKE_SOURCE_DIR}/facetracknoir/posix-version-script.txt") -        endif() -    endif()      if(WIN32 AND NOT SDK_CONSOLE_DEBUG)          set(opentrack-win32-executable WIN32) @@ -596,15 +562,6 @@ if(NOT SDK_FACEAPI_ONLY)          install(FILES "${SDK_VJOY}/VJoy.dll" DESTINATION .)      endif() -    if(SDK_HILLCREST) -        install( -            TARGETS opentrack-tracker-hillcrest -            RUNTIME DESTINATION . -            LIBRARY DESTINATION . -            NAMELINK_SKIP -        ) -    endif() -	      if(SDK_RIFT)          install(              TARGETS opentrack-tracker-rift @@ -698,12 +655,6 @@ if(WIN32 AND NOT SDK_FACEAPI_ONLY)      )  endif() -if(SDK_HILLCREST) -    if(WIN32) -        install(FILES "${HILLCREST_LIBDIR}/libfreespace.dll" DESTINATION .) -    endif() -endif() -  if(WIN32 AND SDK_SM_FACEAPI_PATH)      if(MSVC80)          install(TARGETS opentrack-faceapi-wrapper diff --git a/ftnoir_tracker_hillcrest/ftnoir_hillcrest_clientcontrols.ui b/ftnoir_tracker_hillcrest/ftnoir_hillcrest_clientcontrols.ui deleted file mode 100644 index 711ef68e..00000000 --- a/ftnoir_tracker_hillcrest/ftnoir_hillcrest_clientcontrols.ui +++ /dev/null @@ -1,240 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<ui version="4.0"> - <class>UICFTNClientControls</class> - <widget class="QWidget" name="UICFTNClientControls"> -  <property name="geometry"> -   <rect> -    <x>0</x> -    <y>0</y> -    <width>268</width> -    <height>142</height> -   </rect> -  </property> -  <property name="windowTitle"> -   <string>FTNoIR tracker settings FaceTrackNoIR</string> -  </property> -  <property name="windowIcon"> -   <iconset> -    <normaloff>images/FaceTrackNoIR.png</normaloff>images/FaceTrackNoIR.png</iconset> -  </property> -  <property name="layoutDirection"> -   <enum>Qt::LeftToRight</enum> -  </property> -  <property name="autoFillBackground"> -   <bool>false</bool> -  </property> -  <layout class="QVBoxLayout" name="_vertical_layout"> -   <item> -    <widget class="QGroupBox" name="groupBox_3"> -     <property name="minimumSize"> -      <size> -       <width>0</width> -       <height>85</height> -      </size> -     </property> -     <property name="title"> -      <string>Enable Axis</string> -     </property> -     <widget class="QWidget" name="layoutWidget"> -      <property name="geometry"> -       <rect> -        <x>10</x> -        <y>20</y> -        <width>81</width> -        <height>60</height> -       </rect> -      </property> -      <layout class="QGridLayout" name="gridLayout_2"> -       <item row="2" column="1"> -        <widget class="QCheckBox" name="chkEnableYaw"> -         <property name="maximumSize"> -          <size> -           <width>20</width> -           <height>16777215</height> -          </size> -         </property> -         <property name="layoutDirection"> -          <enum>Qt::LeftToRight</enum> -         </property> -         <property name="text"> -          <string/> -         </property> -        </widget> -       </item> -       <item row="0" column="0"> -        <widget class="QLabel" name="label_6"> -         <property name="text"> -          <string>Roll:</string> -         </property> -        </widget> -       </item> -       <item row="1" column="0"> -        <widget class="QLabel" name="label_9"> -         <property name="text"> -          <string>Pitch:</string> -         </property> -        </widget> -       </item> -       <item row="1" column="1"> -        <widget class="QCheckBox" name="chkEnablePitch"> -         <property name="maximumSize"> -          <size> -           <width>20</width> -           <height>16777215</height> -          </size> -         </property> -         <property name="layoutDirection"> -          <enum>Qt::LeftToRight</enum> -         </property> -         <property name="text"> -          <string/> -         </property> -        </widget> -       </item> -       <item row="0" column="1"> -        <widget class="QCheckBox" name="chkEnableRoll"> -         <property name="maximumSize"> -          <size> -           <width>20</width> -           <height>16777215</height> -          </size> -         </property> -         <property name="layoutDirection"> -          <enum>Qt::LeftToRight</enum> -         </property> -         <property name="styleSheet"> -          <string notr="true"/> -         </property> -         <property name="text"> -          <string/> -         </property> -        </widget> -       </item> -       <item row="2" column="0"> -        <widget class="QLabel" name="label_11"> -         <property name="text"> -          <string>Yaw:</string> -         </property> -        </widget> -       </item> -      </layout> -     </widget> -    </widget> -   </item> -   <item> -    <spacer name="verticalSpacer"> -     <property name="orientation"> -      <enum>Qt::Vertical</enum> -     </property> -     <property name="sizeHint" stdset="0"> -      <size> -       <width>20</width> -       <height>40</height> -      </size> -     </property> -    </spacer> -   </item> -   <item> -    <layout class="QHBoxLayout" name="horizontalLayout"> -     <item> -      <spacer name="horizontalSpacer_2"> -       <property name="orientation"> -        <enum>Qt::Horizontal</enum> -       </property> -       <property name="sizeHint" stdset="0"> -        <size> -         <width>40</width> -         <height>20</height> -        </size> -       </property> -      </spacer> -     </item> -     <item> -      <layout class="QHBoxLayout" name="horizontalLayout_2"> -       <property name="sizeConstraint"> -        <enum>QLayout::SetDefaultConstraint</enum> -       </property> -       <item> -        <widget class="QPushButton" name="btnOK"> -         <property name="sizePolicy"> -          <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> -           <horstretch>0</horstretch> -           <verstretch>0</verstretch> -          </sizepolicy> -         </property> -         <property name="minimumSize"> -          <size> -           <width>100</width> -           <height>0</height> -          </size> -         </property> -         <property name="maximumSize"> -          <size> -           <width>100</width> -           <height>16777215</height> -          </size> -         </property> -         <property name="text"> -          <string>OK</string> -         </property> -        </widget> -       </item> -       <item> -        <widget class="QPushButton" name="btnCancel"> -         <property name="sizePolicy"> -          <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> -           <horstretch>0</horstretch> -           <verstretch>0</verstretch> -          </sizepolicy> -         </property> -         <property name="minimumSize"> -          <size> -           <width>100</width> -           <height>0</height> -          </size> -         </property> -         <property name="maximumSize"> -          <size> -           <width>100</width> -           <height>16777215</height> -          </size> -         </property> -         <property name="text"> -          <string>Cancel</string> -         </property> -        </widget> -       </item> -      </layout> -     </item> -     <item> -      <spacer name="horizontalSpacer"> -       <property name="orientation"> -        <enum>Qt::Horizontal</enum> -       </property> -       <property name="sizeType"> -        <enum>QSizePolicy::Fixed</enum> -       </property> -       <property name="sizeHint" stdset="0"> -        <size> -         <width>10</width> -         <height>20</height> -        </size> -       </property> -      </spacer> -     </item> -    </layout> -   </item> -  </layout> - </widget> - <tabstops> -  <tabstop>btnOK</tabstop> -  <tabstop>btnCancel</tabstop> - </tabstops> - <resources/> - <connections/> - <slots> -  <slot>startEngineClicked()</slot> -  <slot>stopEngineClicked()</slot> -  <slot>cameraSettingsClicked()</slot> - </slots> -</ui> diff --git a/ftnoir_tracker_hillcrest/ftnoir_tracker_hillcrest.cpp b/ftnoir_tracker_hillcrest/ftnoir_tracker_hillcrest.cpp deleted file mode 100644 index e6c3bbf2..00000000 --- a/ftnoir_tracker_hillcrest/ftnoir_tracker_hillcrest.cpp +++ /dev/null @@ -1,256 +0,0 @@ -/******************************************************************************** -* FaceTrackNoIR		This program is a private project of some enthusiastic		* -*					gamers from Holland, who don't like to pay much for			* -*					head-tracking.												* -*																				* -* Copyright (C) 2012	Wim Vriend (Developing)									* -*						Ron Hendriks (Researching and Testing)					* -*																				* -* Homepage:			http://facetracknoir.sourceforge.net/home/default.htm		* -*																				* -* This program is free software; you can redistribute it and/or modify it		* -* under the terms of the GNU General Public License as published by the			* -* Free Software Foundation; either version 3 of the License, or (at your		* -* option) any later version.													* -*																				* -* This program is distributed in the hope that it will be useful, but			* -* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY	* -* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for	* -* more details.																	* -*																				* -* You should have received a copy of the GNU General Public License along		* -* with this program; if not, see <http://www.gnu.org/licenses/>.				* -*																				* -********************************************************************************/ -/** - * This file is part of libfreespace-examples. - * - * Copyright (c) 2009-2012, Hillcrest Laboratories, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - *     * Redistributions of source code must retain the above copyright - *       notice, this list of conditions and the following disclaimer. - *     * Redistributions in binary form must reproduce the above copyright - *       notice, this list of conditions and the following disclaimer in - *       the documentation and/or other materials provided with the - *       distribution. - *     * Neither the name of the Hillcrest Laboratories, Inc. nor the names - *       of its contributors may be used to endorse or promote products - *       derived from this software without specific prior written - *       permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED - * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include <stdlib.h> -#include <string.h> -#include <math.h> -#include <float.h> - -#ifndef M_PI -#define M_PI           3.14159265358979323846 -#endif - -#ifdef WIN32 -#ifndef VC_EXTRALEAN -#define VC_EXTRALEAN		// Exclude rarely-used stuff from Windows headers -#endif - -// Modify the following defines if you have to target a platform prior to the ones specified below. -// Refer to MSDN for the latest info on corresponding values for different platforms. -#ifndef WINVER				// Allow use of features specific to Windows XP or later. -#define WINVER 0x0501		// Change this to the appropriate value to target other versions of Windows. -#endif - -#ifndef _WIN32_WINNT		// Allow use of features specific to Windows XP or later.                    -#define _WIN32_WINNT 0x0501	// Change this to the appropriate value to target other versions of Windows. -#endif						 - -#ifndef _WIN32_WINDOWS		// Allow use of features specific to Windows 98 or later. -#define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later. -#endif - -#ifndef _WIN32_IE			// Allow use of features specific to IE 6.0 or later. -#define _WIN32_IE 0x0600	// Change this to the appropriate value to target other versions of IE. -#endif - -#define WIN32_LEAN_AND_MEAN		// Exclude rarely-used stuff from Windows headers -#include <windows.h> -#else -#include <unistd.h> -#endif - -#include "ftnoir_tracker_hillcrest.h" -#include "facetracknoir/global-settings.h" - -static struct freespace_BodyFrame cachedBodyFrame; - -static void receiveMessageCallback(FreespaceDeviceId id, -                            struct freespace_message* message, -                            void* cookie, -                            int result) { -    if (result == FREESPACE_SUCCESS && message != NULL && message->messageType == FREESPACE_MESSAGE_BODYFRAME) { -        cachedBodyFrame = message->bodyFrame; -    } -} - -static FreespaceDeviceId initializeFreespace() { -    struct freespace_message message; -    FreespaceDeviceId device; -    int numIds; -    int rc; - -    // Initialize the freespace library -    rc = freespace_init(); -    if (rc != FREESPACE_SUCCESS) { -        qDebug() << "Initialization error" << rc; -        return -1; -    } - -    /** --- START EXAMPLE INITIALIZATION OF DEVICE -- **/ -    rc = freespace_getDeviceList(&device, 1, &numIds); -    if (numIds == 0) { -        qDebug() << "freespaceInputThread: Didn't find any device"; -        return -1; -    } - -    rc = freespace_openDevice(device); -    if (rc != FREESPACE_SUCCESS) { -        qDebug() << "freespaceInputThread: Error opening device" << rc; -        return -1; -    } -    freespace_setReceiveMessageCallback(device, receiveMessageCallback, NULL); - -    rc = freespace_flush(device); -    if (rc != FREESPACE_SUCCESS) { -        qDebug() << "freespaceInputThread: Error flushing device" << rc; -        return -1; -    } - -    memset(&cachedBodyFrame, 0, sizeof(cachedBodyFrame)); -    memset(&message, 0, sizeof(message)); -    if (FREESPACE_SUCCESS == freespace_isNewDevice(device)) { -        message.messageType = FREESPACE_MESSAGE_DATAMODECONTROLV2REQUEST; -        message.dataModeControlV2Request.packetSelect = 2; -        message.dataModeControlV2Request.modeAndStatus |= 0 << 1; -    } else { -        message.messageType = FREESPACE_MESSAGE_DATAMODEREQUEST; -        message.dataModeRequest.enableBodyMotion = 1; -        message.dataModeRequest.inhibitPowerManager = 1; -    } -    rc = freespace_sendMessage(device, &message); -    if (rc != FREESPACE_SUCCESS) { -        qDebug() << "freespaceInputThread: Could not send message" << rc; -    } -    /** --- END EXAMPLE INITIALIZATION OF DEVICE -- **/ - -    return device; -} - -static void finalizeFreespace(FreespaceDeviceId device) { -    struct freespace_message message; -    int rc; - -    if (device != -1) -    { -        /** --- START EXAMPLE FINALIZATION OF DEVICE --- **/ -        memset(&message, 0, sizeof(message)); -        if (FREESPACE_SUCCESS == freespace_isNewDevice(device)) { -            message.messageType = FREESPACE_MESSAGE_DATAMODECONTROLV2REQUEST; -            message.dataModeControlV2Request.packetSelect = 1; -        } else { -            message.messageType = FREESPACE_MESSAGE_DATAMODEREQUEST; -            message.dataModeRequest.enableMouseMovement = 1; -        } -        rc = freespace_sendMessage(device, &message); -        if (rc != FREESPACE_SUCCESS) { -            qDebug() << "freespaceInputThread: Could not send message" << rc; -        } -         -        freespace_closeDevice(device); -    } -    /** --- END EXAMPLE FINALIZATION OF DEVICE --- **/ - -    freespace_exit(); -} - -FTNoIR_Tracker::FTNoIR_Tracker() -{ -    device = initializeFreespace(); -} - -FTNoIR_Tracker::~FTNoIR_Tracker() -{ -    finalizeFreespace(device); -} - -void FTNoIR_Tracker::StartTracker(QFrame* videoFrame) -{ -    loadSettings(); -} - -#define TO_DEG (180. / M_PI / 1e3 / 3.6) - -bool FTNoIR_Tracker::GiveHeadPoseData(double *data) -{ -    if (device != -1) -    { -        struct freespace_BodyFrame body; -        freespace_perform(); -        body = cachedBodyFrame; -        if (bEnableYaw) -            data[Yaw] = body.angularVelZ * TO_DEG; -        if (bEnablePitch) -            data[Pitch] = body.angularVelY * TO_DEG; -        if (bEnableRoll) -            data[Roll] = body.angularVelX * TO_DEG; -    } -	return device != -1; -} - -// -// Load the current Settings from the currently 'active' INI-file. -// -void FTNoIR_Tracker::loadSettings() { - -	qDebug() << "FTNoIR_Tracker::loadSettings says: Starting "; -	QSettings settings("opentrack");	// Registry settings (in HK_USER) - -	QString currentFile = settings.value ( "SettingsFile", QCoreApplication::applicationDirPath() + "/Settings/default.ini" ).toString(); -	QSettings iniFile( currentFile, QSettings::IniFormat );		// Application settings (in INI-file) - -	iniFile.beginGroup ( "hillcrest-tracker" ); -	bEnableRoll = iniFile.value ( "EnableRoll", 1 ).toBool(); -	bEnablePitch = iniFile.value ( "EnablePitch", 1 ).toBool(); -	bEnableYaw = iniFile.value ( "EnableYaw", 1 ).toBool(); -	iniFile.endGroup (); -} - - -//////////////////////////////////////////////////////////////////////////////// -// Factory function that creates instances if the Tracker object. - -// Export both decorated and undecorated names. -//   GetTracker     - Undecorated name, which can be easily used with GetProcAddress -//                Win32 API function. -//   _GetTracker@0  - Common name decoration for __stdcall functions in C language. -//#pragma comment(linker, "/export:GetTracker=_GetTracker@0") - -extern "C" FTNOIR_TRACKER_BASE_EXPORT ITracker* CALLING_CONVENTION GetConstructor() -{ -    return new FTNoIR_Tracker; -} diff --git a/ftnoir_tracker_hillcrest/ftnoir_tracker_hillcrest.h b/ftnoir_tracker_hillcrest/ftnoir_tracker_hillcrest.h deleted file mode 100644 index 032d6926..00000000 --- a/ftnoir_tracker_hillcrest/ftnoir_tracker_hillcrest.h +++ /dev/null @@ -1,72 +0,0 @@ -#include "ftnoir_tracker_base/ftnoir_tracker_base.h" -#include "ui_ftnoir_hillcrest_clientcontrols.h" -#include <QThread> -#include <QUdpSocket> -#include <QMessageBox> -#include <QSettings> -#include <QMutex> -#include <QWaitCondition> -#include <math.h> -#include "facetracknoir/global-settings.h" -#include <freespace/freespace.h> - -class FTNoIR_Tracker : public ITracker -{ -public: -	FTNoIR_Tracker(); -	~FTNoIR_Tracker(); - -    void StartTracker( QFrame *videoframe ); -    bool GiveHeadPoseData(double *data); -	void loadSettings(); -    void WaitForExit() { -    } - -private: -	bool bEnableRoll; -	bool bEnablePitch; -	bool bEnableYaw; -    FreespaceDeviceId device; -}; - -// Widget that has controls for FTNoIR protocol client-settings. -class TrackerControls: public QWidget, public ITrackerDialog -{ -    Q_OBJECT -public: - -	explicit TrackerControls(); -    ~TrackerControls(); -	void showEvent ( QShowEvent * event ); - -    void Initialize(QWidget *parent); -	void registerTracker(ITracker *tracker) {} -	void unRegisterTracker() {} - -private: -	Ui::UICFTNClientControls ui; -	void loadSettings(); -	void save(); -	bool settingsDirty; - -private slots: -	void doOK(); -	void doCancel(); -	void settingChanged() { settingsDirty = true; } -	void settingChanged(int) { settingsDirty = true; } -}; - -//******************************************************************************************************* -// FaceTrackNoIR Tracker DLL. Functions used to get general info on the Tracker -//******************************************************************************************************* -class FTNoIR_TrackerDll : public Metadata -{ -public: -	FTNoIR_TrackerDll(); -	~FTNoIR_TrackerDll(); -	void getFullName(QString *strToBeFilled); -	void getShortName(QString *strToBeFilled); -	void getDescription(QString *strToBeFilled); -	void getIcon(QIcon *icon); -}; - diff --git a/ftnoir_tracker_hillcrest/ftnoir_tracker_hillcrest_dialog.cpp b/ftnoir_tracker_hillcrest/ftnoir_tracker_hillcrest_dialog.cpp deleted file mode 100644 index d0b973b1..00000000 --- a/ftnoir_tracker_hillcrest/ftnoir_tracker_hillcrest_dialog.cpp +++ /dev/null @@ -1,168 +0,0 @@ -/******************************************************************************** -* FaceTrackNoIR		This program is a private project of some enthusiastic		* -*					gamers from Holland, who don't like to pay much for			* -*					head-tracking.												* -*																				* -* Copyright (C) 2012	Wim Vriend (Developing)									* -*						Ron Hendriks (Researching and Testing)					* -*																				* -* Homepage:			http://facetracknoir.sourceforge.net/home/default.htm		* -*																				* -* This program is free software; you can redistribute it and/or modify it		* -* under the terms of the GNU General Public License as published by the			* -* Free Software Foundation; either version 3 of the License, or (at your		* -* option) any later version.													* -*																				* -* This program is distributed in the hope that it will be useful, but			* -* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY	* -* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for	* -* more details.																	* -*																				* -* You should have received a copy of the GNU General Public License along		* -* with this program; if not, see <http://www.gnu.org/licenses/>.				* -*																				* -********************************************************************************/ -#include "ftnoir_tracker_hillcrest.h" -#include "facetracknoir/global-settings.h" - -//******************************************************************************************************* -// FaceTrackNoIR Client Settings-dialog. -//******************************************************************************************************* - -// -// Constructor for server-settings-dialog -// -TrackerControls::TrackerControls() : -QWidget() -{ -	ui.setupUi( this ); - -	// Connect Qt signals to member-functions -	connect(ui.btnOK, SIGNAL(clicked()), this, SLOT(doOK())); -	connect(ui.btnCancel, SIGNAL(clicked()), this, SLOT(doCancel())); - -	connect(ui.chkEnableRoll, SIGNAL(stateChanged(int)), this, SLOT(settingChanged(int))); -	connect(ui.chkEnablePitch, SIGNAL(stateChanged(int)), this, SLOT(settingChanged(int))); -	connect(ui.chkEnableYaw, SIGNAL(stateChanged(int)), this, SLOT(settingChanged(int))); - -	// Load the settings from the current .INI-file -	loadSettings(); -} - -// -// Destructor for server-dialog -// -TrackerControls::~TrackerControls() { -	qDebug() << "~TrackerControls() says: started"; -} - -// -// Initialize tracker-client-dialog -// -void TrackerControls::Initialize(QWidget *parent) { - -	QPoint offsetpos(100, 100); -	if (parent) { -		this->move(parent->pos() + offsetpos); -	} -	show(); -} - -// -// OK clicked on server-dialog -// -void TrackerControls::doOK() { -	save(); -	this->close(); -} - -// override show event -void TrackerControls::showEvent ( QShowEvent * event ) { -	loadSettings(); -} - -// -// Cancel clicked on server-dialog -// -void TrackerControls::doCancel() { -	// -	// Ask if changed Settings should be saved -	// -	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 ); - -		qDebug() << "doCancel says: answer =" << ret; - -		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(); -	} -} - -// -// Load the current Settings from the currently 'active' INI-file. -// -void TrackerControls::loadSettings() { - -//	qDebug() << "loadSettings says: Starting "; -	QSettings settings("opentrack");	// Registry settings (in HK_USER) - -	QString currentFile = settings.value ( "SettingsFile", QCoreApplication::applicationDirPath() + "/Settings/default.ini" ).toString(); -	QSettings iniFile( currentFile, QSettings::IniFormat );		// Application settings (in INI-file) - -//	qDebug() << "loadSettings says: iniFile = " << currentFile; - -    iniFile.beginGroup ( "hillcrest-tracker" ); -	ui.chkEnableRoll->setChecked(iniFile.value ( "EnableRoll", 1 ).toBool()); -	ui.chkEnablePitch->setChecked(iniFile.value ( "EnablePitch", 1 ).toBool()); -	ui.chkEnableYaw->setChecked(iniFile.value ( "EnableYaw", 1 ).toBool()); -    iniFile.endGroup (); - -	settingsDirty = false; -} - -// -// Save the current Settings to the currently 'active' INI-file. -// -void TrackerControls::save() { -	QSettings settings("opentrack");	// Registry settings (in HK_USER) - -	QString currentFile = settings.value ( "SettingsFile", QCoreApplication::applicationDirPath() + "/Settings/default.ini" ).toString(); -	QSettings iniFile( currentFile, QSettings::IniFormat );		// Application settings (in INI-file) - -    iniFile.beginGroup ( "hillcrest-tracker" ); -	iniFile.setValue ( "EnableRoll", ui.chkEnableRoll->isChecked() ); -	iniFile.setValue ( "EnablePitch", ui.chkEnablePitch->isChecked() ); -	iniFile.setValue ( "EnableYaw", ui.chkEnableYaw->isChecked() ); -	iniFile.endGroup (); - -	settingsDirty = false; -} -//////////////////////////////////////////////////////////////////////////////// -// 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 ITrackerDialog* CALLING_CONVENTION GetDialog( ) -{ -    return new TrackerControls; -} diff --git a/ftnoir_tracker_hillcrest/ftnoir_tracker_hillcrest_dll.cpp b/ftnoir_tracker_hillcrest/ftnoir_tracker_hillcrest_dll.cpp deleted file mode 100644 index 3d59dc9b..00000000 --- a/ftnoir_tracker_hillcrest/ftnoir_tracker_hillcrest_dll.cpp +++ /dev/null @@ -1,76 +0,0 @@ -/******************************************************************************** -* FaceTrackNoIR		This program is a private project of some enthusiastic		* -*					gamers from Holland, who don't like to pay much for			* -*					head-tracking.												* -*																				* -* Copyright (C) 2012	Wim Vriend (Developing)									* -*						Ron Hendriks (Researching and Testing)					* -*																				* -* Homepage																		* -*																				* -* This program is free software; you can redistribute it and/or modify it		* -* under the terms of the GNU General Public License as published by the			* -* Free Software Foundation; either version 3 of the License, or (at your		* -* option) any later version.													* -*																				* -* This program is distributed in the hope that it will be useful, but			* -* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY	* -* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for	* -* more details.																	* -*																				* -* You should have received a copy of the GNU General Public License along		* -* with this program; if not, see <http://www.gnu.org/licenses/>.				* -*																				* -********************************************************************************/ -/* -	Modifications (last one on top): -		20120830 - WVR: The Dialog class was used to get general info on the DLL. This -						had a big disadvantage: the complete dialog was loaded, just to get -						some data and then it was deleted again (without ever showing the dialog). -						The TrackerDll class solves this. -						The functions to get the name(s) and icon were removed from the two other classes. -*/ -#include "ftnoir_tracker_hillcrest.h" -#include <QDebug> -#include "facetracknoir/global-settings.h" - -FTNoIR_TrackerDll::FTNoIR_TrackerDll() { -} - -FTNoIR_TrackerDll::~FTNoIR_TrackerDll() -{ -} - -void FTNoIR_TrackerDll::getFullName(QString *strToBeFilled) -{ -    *strToBeFilled = "Hillcrest"; -} - -void FTNoIR_TrackerDll::getShortName(QString *strToBeFilled) -{ -    *strToBeFilled = "Hillcrest"; -} - -void FTNoIR_TrackerDll::getDescription(QString *strToBeFilled) -{ -    *strToBeFilled = "Hillcrest"; -} - -void FTNoIR_TrackerDll::getIcon(QIcon *icon) -{ -    *icon = QIcon(":/images/facetracknoir.png"); -} - -//////////////////////////////////////////////////////////////////////////////// -// Factory function that creates instances if the Tracker object. - -// Export both decorated and undecorated names. -//   GetTrackerDll     - Undecorated name, which can be easily used with GetProcAddress -//						Win32 API function. -//   _GetTrackerDll@0  - Common name decoration for __stdcall functions in C language. -//#pragma comment(linker, "/export:GetTrackerDll=_GetTrackerDll@0") - -extern "C" FTNOIR_TRACKER_BASE_EXPORT Metadata* CALLING_CONVENTION GetMetadata() -{ -	return new FTNoIR_TrackerDll; -} | 
