- Reestructuración de ficheros y directorios general

- merge v0.01 --> Añadido fileselector
- Añadidas fuentes de Gem y Pure Data
- pix2jpg incluído en Gem. Archivos de construcción de Gem modificados.
- Añadido fichero ompiling.txt con instrucciones de compilación
This commit is contained in:
Santi Noreña 2013-02-04 18:00:17 +01:00
parent c9adfd020b
commit e85d191b46
3100 changed files with 775434 additions and 3073 deletions

View file

@ -0,0 +1,43 @@
ACLOCAL_AMFLAGS = -I $(top_srcdir)/m4
AM_CPPFLAGS = -I$(top_srcdir)/src @GEM_EXTERNAL_CPPFLAGS@
EXTRA_DIST =
EXTRA_DIST += win-vs2003/videoOptiTrack.sln win-vs2003/videoOptiTrack.vcproj
EXTRA_DIST += win-vs2008/videoOptiTrack.sln win-vs2008/videoOptiTrack.vcproj
EXTRA_DIST += win-vs2008/OptiTrack.vsprops
pkglib_LTLIBRARIES=
gemhelpdir=$(pkglibdir)
dist_gemhelp_DATA =
if DISABLED
pkglib_LTLIBRARIES+= gem_videoOptiTrack.la
dist_gemhelp_DATA +=OptiTrack-videoplugin.pd
endif
gem_videoOptiTrack_la_CXXFLAGS =
gem_videoOptiTrack_la_LDFLAGS = -module -avoid-version -shared
if WINDOWS
gem_videoOptiTrack_la_LDFLAGS += -no-undefined
endif
gem_videoOptiTrack_la_LIBADD =
# RTE
gem_videoOptiTrack_la_CXXFLAGS += @GEM_RTE_CFLAGS@ @GEM_ARCH_CXXFLAGS@
gem_videoOptiTrack_la_LDFLAGS += @GEM_RTE_LIBS@ @GEM_ARCH_LDFLAGS@
# flags for building Gem externals
gem_videoOptiTrack_la_CXXFLAGS += @GEM_EXTERNAL_CFLAGS@
gem_videoOptiTrack_la_LIBADD += -L$(top_builddir) @GEM_EXTERNAL_LIBS@
# gem_videoOptiTrack_la @MOREFLAGS@
# Dependencies
#gem_videoOptiTrack_la_CXXFLAGS += @GEM_LIB_LIBOPTITRACK_CFLAGS@
#gem_videoOptiTrack_la_LIBADD += @GEM_LIB_LIBOPTITRACK_LIBS@
# convenience symlinks
include $(srcdir)/../symlink_ltlib.mk
### SOURCES
gem_videoOptiTrack_la_SOURCES= videoOptiTrack.cpp videoOptiTrack.h DSgrabber.cpp DSgrabber.h

View file

@ -0,0 +1,2 @@
#N canvas 8 49 505 112 10;
#X text 89 47 Nothing special about this backend...;

View file

@ -0,0 +1,30 @@
videoOptiTrack
==============
backend for pix_video using Natural Point's "CameraSDK" library for their OptiTrack tracking system.
CameraSDK is a proprietary library that can do image-acquisition from NaturalPoint's OptiTrack (tracking) cameras.
At time of writing (2012-01) you can download the CameraSDK free of charge from NaturalPoint's homepage
http://www.naturalpoint.com/optitrack/products/camera-sdk/
At time of writing (2012-01), only a W32 version of the library exists (no linux, no mac).
Also, the library only offers C++ bindings, which means that (due to name mangling), it will only work
with videoOptiTrack compiled with VisualStudio (no MinGW).
Please note, that the win-vs2003 project is still a stub (and has not been used yet, so it might nor work).
Development has been done in VS2008.
Working with OptiTrack cameras
------------------------------
Currently you can only acquire images in Greyscale/raw and MJPEG format (depending on the capabilities of your
camera). The default is MJPEG. You can switch to Greyscale by using a "quality" that is <0.
While the cameras (or at least some of them) can do on-board image preprocessing, getting this meta-data is not
(yet) supported by the videoOptiTrack module.
mfgasdr
IOhannes

View file

@ -0,0 +1,458 @@
////////////////////////////////////////////////////////
//
// videoOptiTrack - Graphics Environment for Multimedia
//
// zmoelnig@iem.at
//
// Implementation file
//
// Copyright (c) 2012 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
// For information on usage and redistribution, and for a DISCLAIMER OF ALL
// WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
//
/////////////////////////////////////////////////////////
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
#ifdef HAVE_LIBOPTITRACK
/* when dynamically linking against camerlibrary, we have to set CAMERALIBRARY_IMPORTS
* this is a safeguard
*/
#ifndef CAMERALIBRARY_IMPORTS
# warning CAMERALIBRARY_IMPORTS
#endif
#include "videoOptiTrack.h"
#include "Gem/RTE.h"
#include "Gem/Exception.h"
#include "plugins/PluginFactory.h"
using namespace gem::plugins;
REGISTER_VIDEOFACTORY("OptiTrack", videoOptiTrack);
using namespace CameraLibrary;
namespace {
struct CMInitBase {
CMInitBase(void) {
std::cerr << "OptiTrack: enable development...";
cCameraLibraryStartupSettings::X().EnableDevelopment();
std::cerr << "done"<<std::endl;
}
};
struct CMInit : CMInitBase {
CameraLibrary::CameraManager&m_camman;
CMInit(void) :
CMInitBase(),
m_camman(CameraLibrary::CameraManager::X())
{
std::cerr << "OptiTrack: waiting for CameraManager init...";
m_camman.WaitForInitialization();
std::cerr << "done"<<std::endl;
}
~CMInit(void) {
std::cerr << "OptiTrack: shutting down CameraManager...";
//CameraLibrary::CameraManager::X().Shutdown();
std::cerr << "done"<<std::endl;
}
};
static CMInit s_camlib;
static const std::string s_name = std::string("OptiTrack");
}
videoOptiTrack::videoOptiTrack(void) :
m_devnum(-1),
m_quality(-1),
m_camera(NULL),
m_frame(NULL),
m_resize(true)
{
m_pixBlock.image.xsize = 320;
m_pixBlock.image.ysize = 240;
m_pixBlock.image.setCsizeByFormat(GL_LUMINANCE);
m_pixBlock.image.allocate();
}
videoOptiTrack::~videoOptiTrack(void) {
close();
}
void videoOptiTrack::close(void) {
//MARK;
stop();
if(m_camera)
m_camera->Release();
m_camera=NULL;
}
bool videoOptiTrack::open(gem::Properties&props) {
if(!CameraManager::X().AreCamerasInitialized()) {
return false;
}
CameraList list;
if(!m_devname.empty()) {
for(int i=0; i<list.Count(); i++) {
if(list[i].Name()==m_devname)
m_camera = CameraManager::X().GetCamera(list[i].UID());
if(m_camera)break;
}
if(!m_camera)
return false;
} else if(m_devnum>=0) {
if(m_devnum<list.Count())
m_camera = CameraManager::X().GetCamera(list[m_devnum].UID());
else
return false;
}
/* auto mode */
if(!m_camera)
m_camera = CameraManager::X().GetCamera();
if(!m_camera) {
return false;
}
m_pixBlock.image.xsize = m_camera->Width();
m_pixBlock.image.ysize = m_camera->Height();
m_camera->SetVideoType(MJPEGMode);
m_quality=m_camera->MJPEGQuality();
setProperties(props);
return true;
}
pixBlock*videoOptiTrack::getFrame(void) {
if(!m_camera)return NULL;
//m_frame = m_camera->GetFrame();
m_frame = m_camera->GetLatestFrame();
m_pixBlock.image.reallocate();
if(m_resize) {
m_pixBlock.image.setBlack();
}
m_resize=false;
if(m_frame) {
m_frame->Rasterize(m_pixBlock.image.xsize, m_pixBlock.image.ysize,
m_pixBlock.image.xsize, m_pixBlock.image.csize*8,
m_pixBlock.image.data);
m_pixBlock.newimage=true;
m_pixBlock.image.upsidedown=true;
}
return &m_pixBlock;
}
void videoOptiTrack::releaseFrame(void) {
if(m_frame)
m_frame->Release();
m_frame=NULL;
}
std::vector<std::string>videoOptiTrack::enumerate(void) {
std::vector<std::string>result;
if(!CameraManager::X().AreCamerasInitialized()) {
CameraManager::X().WaitForInitialization();
}
CameraList list;
int i;
for(i=0; i<list.Count(); i++) {
result.push_back(list[i].Name());
}
return result;
}
bool videoOptiTrack::setDevice(int ID) {
m_devname.clear();
m_devnum=ID;
return true;
}
bool videoOptiTrack::setDevice(const std::string device) {
m_devname=device;
return true;
}
/*
SetAEC(bool);
SetAGC(bool);
SetContinuousIR(bool);
SetEnableBlockingMask(bool);
SetHighPowerMode(bool);
SetIRFilter(bool);
SetMarkerOverlay(bool);
SetTextOverlay(bool);
SetExposure(int);
SetFrameDecimation(int);
SetFrameRate(int);
SetGrayscaleDecimation(int);
SetIntensity(int);
SetPrecisionCap(int);
SetShutterDelay(int);
SetStatusIntensity(int);
SetThreshold(int);
SetName(const char*);
SetVideoType(eVideoMode);
SetLateMJPEGDecompression(bool);
SetMJPEGQuality(int);
SetAllLED(eStatusLEDs);
SetLED(eStatusLEDs, bool);
SetNumeric(bool, int);
SetWindow(int, int, int, int);
SetObjectColor(int);
SetBitMaskPixel(int x, int y, bool);
SetCameraParameter(char*name, float value);
*/
bool videoOptiTrack::enumProperties(gem::Properties&readable,
gem::Properties&writeable) {
readable.clear();
writeable.clear();
writeable.set("width", m_pixBlock.image.xsize); readable.set("width", m_pixBlock.image.xsize);
writeable.set("height", m_pixBlock.image.ysize); readable.set("height", m_pixBlock.image.ysize);
#define SETCAMERAPROP_BOOL(name) writeable.set(#name, 1);
#define SETCAMERAPROP_INT(name) writeable.set(#name, 1);
#define SETCAMERAPROP_STR(name) writeable.set(#name, std::string(""));
SETCAMERAPROP_BOOL(AEC);
SETCAMERAPROP_BOOL(AGC);
SETCAMERAPROP_BOOL(ContinuousIR);
SETCAMERAPROP_BOOL(EnableBlockingMask);
SETCAMERAPROP_BOOL(HighPowerMode);
SETCAMERAPROP_BOOL(IRFilter);
SETCAMERAPROP_BOOL(MarkerOverlay);
SETCAMERAPROP_BOOL(TextOverlay);
SETCAMERAPROP_INT(Exposure);
SETCAMERAPROP_INT(FrameDecimation);
SETCAMERAPROP_INT(FrameRate);
SETCAMERAPROP_INT(GrayscaleDecimation);
SETCAMERAPROP_INT(Intensity);
SETCAMERAPROP_INT(PrecisionCap);
SETCAMERAPROP_INT(ShutterDelay);
SETCAMERAPROP_INT(StatusIntensity);
SETCAMERAPROP_INT(Threshold);
SETCAMERAPROP_STR(Name);
#undef SETCAMERAPROP_BOOL
#undef SETCAMERAPROP_INT
#undef SETCAMERAPROP_STR
#define GETCAMERAPROP_BOOL(name) readable.set(#name, 1);
#define GETCAMERAPROP_INT(name) readable.set(#name, 0);
#define GETCAMERAPROP_FLT(name) readable.set(#name, 0);
#define GETCAMERAPROP_STR(name) readable.set(#name, std::string(""));
GETCAMERAPROP_BOOL(AEC);
GETCAMERAPROP_BOOL(AGC);
GETCAMERAPROP_BOOL(ContinuousIR);
GETCAMERAPROP_BOOL(HighPowerMode);
GETCAMERAPROP_BOOL(IRFilter);
GETCAMERAPROP_BOOL(MarkerOverlay);
GETCAMERAPROP_BOOL(TextOverlay);
GETCAMERAPROP_INT(Exposure);
GETCAMERAPROP_INT(FrameDecimation);
GETCAMERAPROP_INT(FrameRate);
GETCAMERAPROP_INT(GrayscaleDecimation);
GETCAMERAPROP_INT(Intensity);
GETCAMERAPROP_INT(PrecisionCap);
GETCAMERAPROP_INT(ShutterDelay);
GETCAMERAPROP_INT(Threshold);
GETCAMERAPROP_FLT(fanspeed);
GETCAMERAPROP_FLT(temperature);
GETCAMERAPROP_STR(Name);
#undef GETCAMERAPROP_BOOL
#undef GETCAMERAPROP_INT
#undef GETCAMERAPROP_STR
return true;
}
void videoOptiTrack::setProperties(gem::Properties&props) {
std::string s;
m_props=props;
double d;
bool resize=false;
if(props.get("width", d)) {
if(d>0) {
m_pixBlock.image.xsize=d;
m_resize=true;
}
}
if(props.get("height", d)) {
if(d>0) {
m_pixBlock.image.ysize=d;
m_resize=true;
}
}
#define SETCAMERAPROP_BOOL(name) do { if(props.get(#name, d)) {bool b=(d>0.5); m_camera->Set##name(b); } } while(0)
#define SETCAMERAPROP_INT(name) do { if(props.get(#name, d)) {int i=(int)d; m_camera->Set##name(i); } } while(0)
#define SETCAMERAPROP_STR(name) do { if(props.get(#name, s)) {int i=(int)d; m_camera->Set##name(s.c_str()); } } while(0)
SETCAMERAPROP_BOOL(AEC);
SETCAMERAPROP_BOOL(AGC);
SETCAMERAPROP_BOOL(ContinuousIR);
SETCAMERAPROP_BOOL(EnableBlockingMask);
SETCAMERAPROP_BOOL(HighPowerMode);
SETCAMERAPROP_BOOL(IRFilter);
SETCAMERAPROP_BOOL(MarkerOverlay);
SETCAMERAPROP_BOOL(TextOverlay);
SETCAMERAPROP_INT(Exposure);
SETCAMERAPROP_INT(FrameDecimation);
SETCAMERAPROP_INT(FrameRate);
SETCAMERAPROP_INT(GrayscaleDecimation);
SETCAMERAPROP_INT(Intensity);
SETCAMERAPROP_INT(PrecisionCap);
SETCAMERAPROP_INT(ShutterDelay);
SETCAMERAPROP_INT(StatusIntensity);
SETCAMERAPROP_INT(Threshold);
SETCAMERAPROP_STR(Name);
#undef SETCAMERAPROP_BOOL
#undef SETCAMERAPROP_INT
#undef SETCAMERAPROP_STR
d=-1;
if(props.get("quality", d)) {
int quality=d;
if(quality!=m_quality) {
m_quality=quality;
if(m_quality<0) {
m_camera->SetVideoType(GrayscaleMode);
} else {
m_camera->SetVideoType(MJPEGMode);
m_camera->SetMJPEGQuality(m_quality);
}
}
}
/*
SetAllLED(eStatusLEDs);
SetLED(eStatusLEDs, bool);
SetVideoType(eVideoMode);
SetLateMJPEGDecompression(bool);
SetMJPEGQuality(int);
SetName(const char*);
SetNumeric(bool, int);
SetWindow(int, int, int, int);
SetObjectColor(int);
SetBitMaskPixel(int x, int y, bool);
SetCameraParameter(char*name, float value);
*/
}
void videoOptiTrack::getProperties(gem::Properties&props) {
std::vector<std::string>keys=props.keys();
double d;
std::string s;
props.clear();
if(!m_camera)return;
unsigned int i;
for(i=0; i<keys.size(); i++) {
const std::string key=keys[i];
if("width"==key) {
props.set(key, m_pixBlock.image.xsize);
continue;
}
if("height"==key) {
props.set(key, m_pixBlock.image.ysize);
continue;
}
if("fanspeed"==key && m_camera->IsCameraFanSpeedValid()) {
d=m_camera->CameraFanSpeed();
props.set(key, d);
continue;
}
if("temperature"==key && m_camera->IsCameraTempValid()) {
d=m_camera->CameraTemp();
props.set(key, d);
continue;
}
#define GETCAMERAPROP_BOOL(name) if(#name == key) {d=m_camera->##name(); props.set(key, d); continue; } else d=0
#define GETCAMERAPROP_INT(name) if(#name == key) {d=m_camera->##name(); props.set(key, d); continue; } else d=0
#define GETCAMERAPROP_STR(name) if(#name == key) {s=m_camera->##name(); props.set(key, s); continue; } else d=0
GETCAMERAPROP_BOOL(AEC);
GETCAMERAPROP_BOOL(AGC);
GETCAMERAPROP_BOOL(ContinuousIR);
GETCAMERAPROP_BOOL(HighPowerMode);
GETCAMERAPROP_BOOL(IRFilter);
GETCAMERAPROP_BOOL(MarkerOverlay);
GETCAMERAPROP_BOOL(TextOverlay);
GETCAMERAPROP_INT(Exposure);
GETCAMERAPROP_INT(FrameDecimation);
GETCAMERAPROP_INT(FrameRate);
GETCAMERAPROP_INT(GrayscaleDecimation);
GETCAMERAPROP_INT(Intensity);
GETCAMERAPROP_INT(PrecisionCap);
GETCAMERAPROP_INT(ShutterDelay);
GETCAMERAPROP_INT(Threshold);
GETCAMERAPROP_STR(Name);
#undef GETCAMERAPROP_BOOL
#undef GETCAMERAPROP_INT
#undef GETCAMERAPROP_STR
}
}
std::vector<std::string>videoOptiTrack::dialogs(void) {
std::vector<std::string>result;
return result;
}
bool videoOptiTrack::provides(const std::string name) {
return (name==s_name);
}
std::vector<std::string>videoOptiTrack::provides(void) {
std::vector<std::string>result;
result.push_back(s_name);
return result;
}
const std::string videoOptiTrack::getName(void) {
return s_name;
}
bool videoOptiTrack::start(void) {
//MARK;
bool status = false;
if(m_camera) {
m_camera->Start();
status=m_camera->IsCameraRunning();
}
return status;
}
bool videoOptiTrack::stop (void) {
//MARK;
bool status=false;
if(m_camera) {
status=m_camera->IsCameraRunning();
m_camera->Stop();
}
return status;
}
bool videoOptiTrack::reset(void) {
CameraLibrary::CameraManager::X().Shutdown();
CameraManager::X().WaitForInitialization();
return true;
}
#endif /* HAVE_LIBOPTITRACK */

View file

@ -0,0 +1,93 @@
/*-----------------------------------------------------------------
GEM - Graphics Environment for Multimedia
Copyright (c) 2012 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-----------------------------------------------------------------*/
#ifndef _INCLUDE_GEMPLUGIN__VIDEOOPTITRACK_VIDEOOPTITRACK_H_
#define _INCLUDE_GEMPLUGIN__VIDEOOPTITRACK_VIDEOOPTITRACK_H_
#include "plugins/video.h"
#include "Gem/Image.h"
#include "Gem/Properties.h"
/* Natural Point's Camera SDK */
/* ... they really like generic names */
#include <cameralibrary.h>
/*-----------------------------------------------------------------
-------------------------------------------------------------------
CLASS
pix_video
captures a video using NaturalPoints OptiTrack cameras
KEYWORDS
pix
-----------------------------------------------------------------*/
namespace gem { namespace plugins {
class GEM_EXPORT videoOptiTrack : public video {
public:
//////////
// Constructor
videoOptiTrack(void);
//////////
// Destructor
virtual ~videoOptiTrack(void);
virtual bool open(gem::Properties&props);
virtual pixBlock *getFrame(void);
virtual std::vector<std::string>enumerate(void);
virtual bool setDevice(int ID);
virtual bool setDevice(const std::string);
virtual bool enumProperties(gem::Properties&readable,
gem::Properties&writeable);
virtual void setProperties(gem::Properties&props);
virtual void getProperties(gem::Properties&props);
virtual std::vector<std::string>dialogs(void);
// for pix_video: query whether this backend provides access to this class of devices
// (e.g. "dv")
virtual bool provides(const std::string);
// get a list of all provided devices
virtual std::vector<std::string>provides(void);
// get's the name of the backend (e.g. "v4l")
virtual const std::string getName(void);
virtual bool isThreadable(void) {return true;}
virtual bool reset(void);
virtual void releaseFrame(void);
virtual bool grabAsynchronous(bool) {return true;}
virtual bool dialog(std::vector<std::string>names=std::vector<std::string>()) {return false;}
virtual bool setColor(int) {return false;}
virtual void close(void);
virtual bool start(void);
virtual bool stop(void);
protected:
gem::Properties m_props;
std::string m_devname;
int m_devnum;
int m_quality;
CameraLibrary::Camera*m_camera;
CameraLibrary::Frame *m_frame;
bool m_resize;
pixBlock m_pixBlock;
};
};};
#endif // for header file

View file

@ -0,0 +1,21 @@
Microsoft Visual Studio Solution File, Format Version 8.00
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "videoOptiTrack", "videoOptiTrack.vcproj", "{FF21A158-2BDE-483F-85C3-80C9DF0A0ABC}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfiguration) = preSolution
Release = Release
ReleaseDummy = ReleaseDummy
EndGlobalSection
GlobalSection(ProjectConfiguration) = postSolution
{FF21A158-2BDE-483F-85C3-80C9DF0A0ABC}.Release.ActiveCfg = Release|Win32
{FF21A158-2BDE-483F-85C3-80C9DF0A0ABC}.Release.Build.0 = Release|Win32
{FF21A158-2BDE-483F-85C3-80C9DF0A0ABC}.ReleaseDummy.ActiveCfg = ReleaseDummy|Win32
{FF21A158-2BDE-483F-85C3-80C9DF0A0ABC}.ReleaseDummy.Build.0 = ReleaseDummy|Win32
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
EndGlobalSection
GlobalSection(ExtensibilityAddIns) = postSolution
EndGlobalSection
EndGlobal

View file

@ -0,0 +1,152 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="7.10"
Name="videoOptiTrack"
ProjectGUID="{FF21A158-2BDE-483F-85C3-80C9DF0A0ABC}"
RootNamespace="gem"
SccProjectName=""
SccLocalPath="">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<Configurations>
<Configuration
Name="Release|Win32"
OutputDirectory="$(SolutionDir)"
IntermediateDirectory="$(ProjectDir)/$(ConfigurationName)"
ConfigurationType="2"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="FALSE">
<Tool
Name="VCCLCompilerTool"
GlobalOptimizations="TRUE"
InlineFunctionExpansion="2"
FavorSizeOrSpeed="1"
OptimizeForProcessor="2"
AdditionalIncludeDirectories="&quot;$(SolutionDir)\..\..\src&quot;;&quot;$(ProjectDir)\..\..\src&quot;;&quot;$(ProjectDir)\..\..\..\..\pd\src&quot;;&quot;$(ProgramFiles)\pd\src&quot;;&quot;C:\DXSDK\samples\C++\DirectShow\BaseClasses&quot;"
PreprocessorDefinitions="NT;WIN32;_WINDOWS;__WIN32__;_LANGUAGE_C_PLUS_PLUS;WIN32_LEAN_AND_MEAN;HAVE_DIRECTSHOW"
StringPooling="TRUE"
RuntimeLibrary="2"
EnableFunctionLevelLinking="TRUE"
EnableEnhancedInstructionSet="0"
DefaultCharIsUnsigned="FALSE"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalOptions="/MACHINE:I386"
AdditionalDependencies="Gem.lib pd.lib OLDNAMES.lib ddraw.lib atls.lib strmiids.lib strmbase.lib libcpmt.lib msvcrt.lib msvcprt.lib winmm.lib"
OutputFile="$(OutDir)/gem_$(ProjectName).dll"
LinkIncremental="1"
AdditionalLibraryDirectories="&quot;$(SolutionDir)&quot;;&quot;$(ProjectDir)\..\..\build\win-vs2003&quot;;&quot;$(ProjectDir)\..\..\..\..\pd\bin&quot;;&quot;$(ProgramFiles)\pd\bin&quot;;&quot;C:\DXSDK\samples\C++\DirectShow\BaseClasses\Release&quot;"
ProgramDatabaseFile="$(ProjectDir)/$(ProjectName).pdb"
ImportLibrary="$(ProjectDir)/$(TargetName).lib"/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="NDEBUG"
MkTypLibCompatible="TRUE"
SuppressStartupBanner="TRUE"
TargetEnvironment="1"
TypeLibraryName=".\./gem.tlb"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="NDEBUG"
Culture="1033"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="ReleaseDummy|Win32"
OutputDirectory="$(SolutionDir)"
IntermediateDirectory="$(ProjectDir)/$(ConfigurationName)"
ConfigurationType="2"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="FALSE">
<Tool
Name="VCCLCompilerTool"
GlobalOptimizations="TRUE"
InlineFunctionExpansion="2"
FavorSizeOrSpeed="1"
OptimizeForProcessor="2"
AdditionalIncludeDirectories="&quot;$(SolutionDir)\..\..\src&quot;;&quot;$(ProjectDir)\..\..\src&quot;;&quot;$(ProjectDir)\..\..\..\..\pd\src&quot;;&quot;$(ProgramFiles)\pd\src&quot;"
PreprocessorDefinitions="NT;WIN32;_WINDOWS;__WIN32__;_LANGUAGE_C_PLUS_PLUS;WIN32_LEAN_AND_MEAN"
StringPooling="TRUE"
RuntimeLibrary="2"
EnableFunctionLevelLinking="TRUE"
EnableEnhancedInstructionSet="0"
DefaultCharIsUnsigned="FALSE"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalOptions="/MACHINE:I386"
AdditionalDependencies="Gem.lib pd.lib vfw32.lib OLDNAMES.lib"
OutputFile="$(OutDir)/gem_$(ProjectName).dll"
LinkIncremental="1"
AdditionalLibraryDirectories="&quot;$(SolutionDir)&quot;;&quot;$(ProjectDir)\..\..\build\win-vs2003&quot;;&quot;$(ProjectDir)\..\..\..\..\pd\bin&quot;;&quot;$(ProgramFiles)\pd\bin&quot;"
ProgramDatabaseFile="$(ProjectDir)/$(ProjectName).pdb"
ImportLibrary="$(ProjectDir)/$(TargetName).lib"/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="NDEBUG"
MkTypLibCompatible="TRUE"
SuppressStartupBanner="TRUE"
TargetEnvironment="1"
TypeLibraryName=".\./gem.tlb"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="NDEBUG"
Culture="1033"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<File
RelativePath="..\DSgrabber.cpp">
</File>
<File
RelativePath="..\DSgrabber.h">
</File>
<File
RelativePath="..\videoOptiTrack.cpp">
</File>
<File
RelativePath="..\videoOptiTrack.h">
</File>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View file

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="OptiTrack"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="$(NP_CAMERASDK)\include"
PreprocessorDefinitions="HAVE_LIBOPTITRACK;CAMERALIBRARY_IMPORTS"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="cameralibrary.lib"
AdditionalLibraryDirectories="$(NP_CAMERASDK)\lib"
/>
</VisualStudioPropertySheet>

View file

@ -0,0 +1,21 @@
Microsoft Visual Studio Solution File, Format Version 8.00
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "videoOptiTrack", "videoOptiTrack.vcproj", "{FF21A158-2BDE-483F-85C3-80C9DF0A0ABC}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfiguration) = preSolution
Release = Release
ReleaseDummy = ReleaseDummy
EndGlobalSection
GlobalSection(ProjectConfiguration) = postSolution
{FF21A158-2BDE-483F-85C3-80C9DF0A0ABC}.Release.ActiveCfg = Release|Win32
{FF21A158-2BDE-483F-85C3-80C9DF0A0ABC}.Release.Build.0 = Release|Win32
{FF21A158-2BDE-483F-85C3-80C9DF0A0ABC}.ReleaseDummy.ActiveCfg = ReleaseDummy|Win32
{FF21A158-2BDE-483F-85C3-80C9DF0A0ABC}.ReleaseDummy.Build.0 = ReleaseDummy|Win32
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
EndGlobalSection
GlobalSection(ExtensibilityAddIns) = postSolution
EndGlobalSection
EndGlobal

View file

@ -0,0 +1,243 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9,00"
Name="videoOptiTrack"
ProjectGUID="{9DC8B017-773B-426C-83D2-467723E09CBD}"
RootNamespace="gem"
TargetFrameworkVersion="131072"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Release|Win32"
ConfigurationType="2"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops;..\..\..\build\win-vs2008\plugin.vsprops;.\OptiTrack.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="NDEBUG"
MkTypLibCompatible="true"
SuppressStartupBanner="true"
TargetEnvironment="1"
TypeLibraryName=".\./gem.tlb"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="NDEBUG"
Culture="1033"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalOptions="/MACHINE:I386"
AdditionalDependencies="ws2_32.lib setupapi.lib"
AdditionalLibraryDirectories=""
EnableCOMDATFolding="2"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="ReleaseDummy|Win32"
ConfigurationType="2"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops;..\..\..\build\win-vs2008\plugin.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="NDEBUG"
MkTypLibCompatible="true"
SuppressStartupBanner="true"
TargetEnvironment="1"
TypeLibraryName=".\./gem.tlb"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="NDEBUG"
Culture="1033"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalOptions="/MACHINE:I386"
AdditionalLibraryDirectories=""
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Debug|Win32"
ConfigurationType="2"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops;..\..\..\build\win-vs2008\plugin.vsprops;..\..\..\build\win-vs2008\Debug.vsprops;.\OptiTrack.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="NDEBUG"
MkTypLibCompatible="true"
SuppressStartupBanner="true"
TargetEnvironment="1"
TypeLibraryName=".\./gem.tlb"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="NDEBUG"
Culture="1033"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalOptions="/MACHINE:I386"
AdditionalDependencies="ws2_32.lib setupapi.lib"
AdditionalLibraryDirectories=""
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<File
RelativePath="..\videoOptiTrack.cpp"
>
</File>
<File
RelativePath="..\videoOptiTrack.h"
>
</File>
</Files>
<Globals>
</Globals>
</VisualStudioProject>