From 990116bf8ac838fce808316e0d5886b531318cff Mon Sep 17 00:00:00 2001 From: Wim Vriend Date: Fri, 1 Mar 2013 14:39:33 +0100 Subject: Add CSV-sources in FreeTrack20 and removed some obsolete files. --- .gitignore | 8 - FTNoIR_Protocol_FT/csv.cpp | 99 +++++++++++++ FTNoIR_Protocol_FT/csv.h | 38 +++++ SetupFaceTrackNoIR/SetupFaceTrackNoIR.jpg | Bin 9780 -> 0 bytes SetupFaceTrackNoIR/msiexec.exe | Bin 78848 -> 0 bytes faceAPI/FaceAPI2FSX.vcproj | 233 ------------------------------ 6 files changed, 137 insertions(+), 241 deletions(-) delete mode 100644 .gitignore create mode 100644 FTNoIR_Protocol_FT/csv.cpp create mode 100644 FTNoIR_Protocol_FT/csv.h delete mode 100644 SetupFaceTrackNoIR/SetupFaceTrackNoIR.jpg delete mode 100644 SetupFaceTrackNoIR/msiexec.exe delete mode 100644 faceAPI/FaceAPI2FSX.vcproj diff --git a/.gitignore b/.gitignore deleted file mode 100644 index cf858ac6..00000000 --- a/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -[Dd]ebug -[Rr]elease -/bin/* -/bin_dbg/* -[Gg]enerated[Ff]iles -*.ncb -*.suo -*.user diff --git a/FTNoIR_Protocol_FT/csv.cpp b/FTNoIR_Protocol_FT/csv.cpp new file mode 100644 index 00000000..22852f89 --- /dev/null +++ b/FTNoIR_Protocol_FT/csv.cpp @@ -0,0 +1,99 @@ +/******************************************************************************** +* FaceTrackNoIR This program is a private project of the some enthusiastic * +* gamers from Holland, who don't like to pay much for * +* head-tracking. * +* * +* Copyright (C) 2013 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 . * +* * +********************************************************************************/ +#include "csv.h" +#include + +CSV::CSV(QIODevice * device) +{ + m_device = device; + m_codec = QTextCodec::codecForLocale(); + m_pos = 0; + m_rx = QRegExp("((?:(?:[^;\\n]*;?)|(?:\"[^\"]*\";?))*)\\n"); +} +CSV::CSV(QString &string){ + m_device = NULL; + m_codec = QTextCodec::codecForLocale(); + m_string = string; + m_pos = 0; + m_rx = QRegExp("((?:(?:[^;\\n]*;?)|(?:\"[^\"]*\";?))*)\\n"); +} + +CSV::~CSV() +{ + //delete m_codec; +} + + +void CSV::setCodec(const char* codecName){ + //delete m_codec; + m_codec = QTextCodec::codecForName(codecName); +} + +QString CSV::readLine(){ + QString line; + + if(m_string.isNull()){ + //READ DATA FROM DEVICE + if(m_device && m_device->isReadable()){ + QTextDecoder dec(m_codec); + m_string = dec.toUnicode(m_device->readAll()); + }else{ + return QString(); + } + } + + //PARSE + if((m_pos = m_rx.indexIn(m_string,m_pos)) != -1) { + line = m_rx.cap(1); + m_pos += m_rx.matchedLength(); + } + return line; + +} +QStringList CSV::parseLine(){ + return parseLine(readLine()); +} +QStringList CSV::parseLine(QString line){ + QStringList list; + int pos2 = 0; + QRegExp rx2("(?:\"([^\"]*)\";?)|(?:([^;]*);?)"); + if(line.size()<1){ + list << ""; + }else while (line.size()>pos2 && (pos2 = rx2.indexIn(line, pos2)) != -1) { + QString col; + if(rx2.cap(1).size()>0) + col = rx2.cap(1); + else if(rx2.cap(2).size()>0) + col = rx2.cap(2); + + list << col; + + if(col.size()) + pos2 += rx2.matchedLength(); + else + pos2++; + } + return list; +} \ No newline at end of file diff --git a/FTNoIR_Protocol_FT/csv.h b/FTNoIR_Protocol_FT/csv.h new file mode 100644 index 00000000..13231293 --- /dev/null +++ b/FTNoIR_Protocol_FT/csv.h @@ -0,0 +1,38 @@ +/*dummy CSV reader for QT4*/ +/*version 0.1*/ +/*11.1.2009*/ +#ifndef CSV_H +#define CSV_H + +//#include "myclass_api.h" + +#include +#include +#include +#include +#include + +class /*MYCLASS_API*/ CSV /*: public QObject*/ +{ + /*Q_OBJECT*/ + +public: + CSV(QIODevice * device); + CSV(QString &string); + ~CSV(); + + QString readLine(); + QStringList parseLine(); + static QStringList parseLine(QString line); + + void setCodec(const char* codecName); +private: + QIODevice *m_device; + QTextCodec *m_codec; + QString m_string; + int m_pos; + QRegExp m_rx; + +}; + +#endif // CSV_H diff --git a/SetupFaceTrackNoIR/SetupFaceTrackNoIR.jpg b/SetupFaceTrackNoIR/SetupFaceTrackNoIR.jpg deleted file mode 100644 index 1f110875..00000000 Binary files a/SetupFaceTrackNoIR/SetupFaceTrackNoIR.jpg and /dev/null differ diff --git a/SetupFaceTrackNoIR/msiexec.exe b/SetupFaceTrackNoIR/msiexec.exe deleted file mode 100644 index 2ac8d19a..00000000 Binary files a/SetupFaceTrackNoIR/msiexec.exe and /dev/null differ diff --git a/faceAPI/FaceAPI2FSX.vcproj b/faceAPI/FaceAPI2FSX.vcproj deleted file mode 100644 index 9437e3d0..00000000 --- a/faceAPI/FaceAPI2FSX.vcproj +++ /dev/null @@ -1,233 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- cgit v1.2.3