- 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,40 @@
ACLOCAL_AMFLAGS = -I $(top_srcdir)/m4
AM_CPPFLAGS = -I$(top_srcdir)/src @GEM_EXTERNAL_CPPFLAGS@
pkglib_LTLIBRARIES=
gemhelpdir=$(pkglibdir)
dist_gemhelp_DATA =
if HAVE_LIB_LIBVLC
pkglib_LTLIBRARIES+= gem_videoVLC.la
dist_gemhelp_DATA +=vlc-videoplugin.pd
endif
gem_videoVLC_la_CXXFLAGS =
gem_videoVLC_la_LDFLAGS = -module -avoid-version -shared
if WINDOWS
gem_videoVLC_la_LDFLAGS += -no-undefined
endif
gem_videoVLC_la_LIBADD =
# RTE
gem_videoVLC_la_CXXFLAGS += @GEM_RTE_CFLAGS@ @GEM_ARCH_CXXFLAGS@
gem_videoVLC_la_LDFLAGS += @GEM_RTE_LIBS@ @GEM_ARCH_LDFLAGS@
# flags for building Gem externals
gem_videoVLC_la_CXXFLAGS += @GEM_EXTERNAL_CFLAGS@
gem_videoVLC_la_LIBADD += -L$(top_builddir) @GEM_EXTERNAL_LIBS@
# gem_videoVLC_la @MOREFLAGS@
# Dependencies
gem_videoVLC_la_CXXFLAGS += @GEM_LIB_LIBVLC_CFLAGS@
gem_videoVLC_la_LIBADD += @GEM_LIB_LIBVLC_LIBS@
# convenience symlinks
include $(srcdir)/../symlink_ltlib.mk
### SOURCES
gem_videoVLC_la_SOURCES= videoVLC.cpp videoVLC.h

View file

@ -0,0 +1,76 @@
videoVLC
========
open up a media via VLC and display it as a live video source
USAGE
-----
simply use any URI that VLC is capable of opening as the device name.
e.g.
[device screen://(
will capture the screen and output that through [pix_video]
[device v4l2:///dev/video1(
will open /dev/video1 using v4l2
[device file:///tmp/kottan.flv(
[device /tmp/kottan.flv(
will open the movie-file 'kottan.flv'
output size
-----------
currently, there is no attempt to guess the original output size of the media you want to play back.
instead, the media is always re-scaled to thhe size you request (or the default).
change it with [dimen <w> <h>(
properties
----------
VLC offers many, many options for configuring the media playback.
you can use them via the properties system.
currently there is no way to get a list of supported properties.
you can get the available options from VLC, e.g.:
$ vlc -H
example:
vlc has an option "--screen-fps <float>"; therefore:
[clearProps, setProps screen-fps 40, device screen://(
will grab the screen at 40fps (rather than the default 1fps)
the default options are "--noaudio" and "--no-video-title-show"
pre-requisites
--------------
videoVLC depends on VLC-1.1.11
if you want to compile videoVLC yourself, you will also need to have the
SDK (header-files + libvlc library) installed
on W32, you might want to make sure that you add the full path to VLC to
your PATH environment variable, so videoVLC can find VLC and all the plugins!
something along the lines of
$ set PATH=%PATH%:%ProgramFiles%\VideoLAN\VLC
COMPILATION
-----------
w32/MinGW
---------
on w32/MinGW, configure will most likely not find your installation of the vlc
this is what i use approximately to enable vlc support when building Gem with MinGW
(the code is bash-script, change appropriately if you use another shell; the leading '$'
is to indicate newlines - don't copy them)
also make sure that VLC_PATH does not contain any spaces!
$ VLC_PATH="/home/zmoelnig/programfiles/i386/VideoLAN/VLC/"
$ VLC_CFLAGS="-I${VLC_PATH}/sdk/include/"
$ VLC_LIBS="-L${VLC_PATH} -lvlc"
$ ./configure PKG_LIBVLC_CFLAGS="${VLC_CFLAGS}" PKG_LIBVLC_LIBS="${VLC_LIBS}"
again: don't forget to add ${VLC_PATH} to your PATH, prior to running Pd/Gem
AUTHORS
-------
brought to you by IOhannes m zmölnig

View file

@ -0,0 +1,313 @@
////////////////////////////////////////////////////////
//
// GEM - Graphics Environment for Multimedia
//
// zmoelnig@iem.kug.ac.at
//
// Implementation file
//
// Copyright (c) 2011 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_LIBVLC
#include <stdio.h>
#ifdef _MSC_VER
# define snprintf _snprintf
#endif
#include "videoVLC.h"
#include "plugins/PluginFactory.h"
#include "Gem/Exception.h"
#include "Gem/RTE.h"
#define MAXVLCSTRING 1024
using namespace gem::plugins;
#if 0
# define LOCK(x) post("%04d\t%s LOCK", __LINE__, __FUNCTION__), x.unlock(), post("%04d\t%s LOCKed", __LINE__, __FUNCTION__)
# define UNLOCK(x) post("%04d\t%s UNLOCK", __LINE__, __FUNCTION__), x.unlock(), post("%04d\t%s UNLOCKed", __LINE__, __FUNCTION__)
#else
# define LOCK(x) x.lock()
# define UNLOCK(x) x.unlock()
#endif
REGISTER_VIDEOFACTORY("vlc", videoVLC);
videoVLC::videoVLC(void) :
m_name(std::string("vlc")),
m_type(0),
m_instance(NULL),
m_mediaplayer(NULL)
{
const char * const vlc_args[] = {
// "--plugin-path=c:\\program files\\videolan\\vlc\\plugins",
"-I", "dummy", /* Don't use any interface */
"--ignore-config", /* Don't use VLC's config */
"--quiet",
// "--sout=#transcode{vcodec=RV24,acodec=s16l}:smem",
};
m_instance=libvlc_new (sizeof(vlc_args) / sizeof(vlc_args[0]), vlc_args);
if(!m_instance) {
throw(GemException("couldn't initialize libVLC"));
}
m_pixBlock.image.xsize = 64;
m_pixBlock.image.ysize = 64;
m_pixBlock.image.setCsizeByFormat(GL_RGBA);
m_pixBlock.image.reallocate();
}
videoVLC::~videoVLC(void) {
if(m_instance)
libvlc_release(m_instance);
}
void videoVLC::close(void) {
if(m_mediaplayer)
libvlc_media_player_release(m_mediaplayer);
m_mediaplayer=NULL;
}
bool videoVLC::open(gem::Properties&props) {
if(m_mediaplayer)close();
setProperties(props);
if(m_devname.empty())
return false;
libvlc_media_t*media = libvlc_media_new_location (m_instance, m_devname.c_str());
if(!media)
media = libvlc_media_new_path (m_instance, m_devname.c_str());
if(!media)
return false;
char buf[MAXVLCSTRING];
libvlc_media_add_option(media,":noaudio");
libvlc_media_add_option(media,":no-video-title-show");
int w=m_pixBlock.image.xsize;
int h=m_pixBlock.image.ysize;
std::vector<std::string>keys=props.keys();
unsigned int i;
for(i=0; i<keys.size(); i++) {
std::string key=keys[i];
double d;
std::string s;
buf[0]=0;
if(0) {}
else if("width"==key) {
if(props.get(key, d)&&(d>0))
w=d;
} else if("height"==key) {
if(props.get(key, d)&&(d>0))
h=d;
} else {
gem::Properties::PropertyType type = props.type(key);
switch(type) {
case gem::Properties::NONE:
snprintf(buf, MAXVLCSTRING, ":%s", key.c_str());
break;
case gem::Properties::DOUBLE:
if(props.get(key, d)) {
snprintf(buf, MAXVLCSTRING, ":%s=%g", key.c_str(), d);
}
break;
case gem::Properties::STRING:
if(props.get(key, s)) {
/* need to find an option that actually takes strings, so i can test this with spaces */
snprintf(buf, MAXVLCSTRING, ":%s=%s", key.c_str(), s.c_str());
}
break;
default:
break;
}
if(0!=buf[0]) {
buf[MAXVLCSTRING-1]=0;
//post("vlc-option: '%s'", buf);
libvlc_media_add_option(media,buf);
}
}
}
m_pixBlock.image.xsize = w;
m_pixBlock.image.ysize = h;
m_pixBlock.image.setCsizeByFormat(GL_RGBA);
m_pixBlock.image.reallocate();
m_pixBlock.image.setWhite();
m_mediaplayer=libvlc_media_player_new_from_media(media);
libvlc_media_release(media);
libvlc_video_set_callbacks(m_mediaplayer,
lockCB,
unlockCB,
NULL,
this);
libvlc_video_set_format(m_mediaplayer,
"RGBA",
m_pixBlock.image.xsize,
m_pixBlock.image.ysize,
m_pixBlock.image.xsize*m_pixBlock.image.csize);
return true;
}
pixBlock*videoVLC::getFrame(void) {
LOCK(m_mutex);
return &m_pixBlock;
}
void videoVLC::releaseFrame(void) {
// post("release frame");
UNLOCK(m_mutex);
}
std::vector<std::string>videoVLC::enumerate(void) {
std::vector<std::string>result;
result.push_back("vlc");
return result;
}
bool videoVLC::setDevice(int ID) {
m_devname.clear();
return false;
}
bool videoVLC::setDevice(std::string device) {
m_devname=device;
return true;
}
bool videoVLC::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);
return false;
}
void videoVLC::setProperties(gem::Properties&props) {
int width=-1;
int height=-1;
m_props=props;
double d;
if(props.get("width", d)) {
if(d>0)
width = d;
}
if(props.get("height", d)) {
if(d>0)
height=d;
}
if(!m_mediaplayer) {
if(width>0)
m_pixBlock.image.xsize=width;
if(height>0)
m_pixBlock.image.ysize=height;
} else {
// changes will take effect with next restart
}
}
void videoVLC::getProperties(gem::Properties&props) {
std::vector<std::string>keys=props.keys();
double d;
int i;
for(i=0; i<keys.size(); i++) {
if("width"==keys[i]) {
props.set(keys[i], m_pixBlock.image.xsize);
}
if("height"==keys[i]) {
props.set(keys[i], m_pixBlock.image.ysize);
}
}
}
std::vector<std::string>videoVLC::dialogs(void) {
std::vector<std::string>result;
return result;
}
bool videoVLC::provides(const std::string name) {
return (name==m_name);
}
std::vector<std::string>videoVLC::provides(void) {
std::vector<std::string>result;
result.push_back(m_name);
return result;
}
const std::string videoVLC::getName(void) {
return m_name;
}
bool videoVLC::start(void) {
int ret=-1;
if(m_mediaplayer) {
int ret=libvlc_media_player_play(m_mediaplayer);
}
return (0!=ret);
}
bool videoVLC::stop (void) {
if(!m_mediaplayer)
return false;
libvlc_media_player_stop(m_mediaplayer);
return true;
}
void*videoVLC::lockFrame(void**plane ) {
LOCK(m_mutex);
*plane=m_pixBlock.image.data;
// post("prepareFrame %p @ %p --> %p", *plane, plane, m_pixBlock.image.data);
return NULL;
}
void videoVLC::unlockFrame(void*picture, void*const*plane) {
// post("processFrame %p\t%p", picture, *plane);
m_pixBlock.newimage=true;
m_pixBlock.image.upsidedown=true;
UNLOCK(m_mutex);
}
void*videoVLC::lockCB(void*opaque, void**plane ) {
// post(" lockCB: %p", opaque);
videoVLC*obj=(videoVLC*)opaque;
if(obj)
return obj->lockFrame(plane);
return NULL;
}
void videoVLC::unlockCB(void*opaque, void*picture, void*const*plane) {
// post(" unlockCB: %p", opaque);
videoVLC*obj=(videoVLC*)opaque;
if(obj)
obj->unlockFrame(picture, plane);
}
void videoVLC::displayCB(void*opaque, void*picture) {
// post("displayCB: %p -> %p", opaque, picture);
videoVLC*obj=(videoVLC*)opaque;
}
#endif /* HAVE_LIBVLC */

View file

@ -0,0 +1,80 @@
#ifndef _INCLUDE_GEMPLUGIN__VIDEOVLC_VIDEOVLC_H_
#define _INCLUDE_GEMPLUGIN__VIDEOVLC_VIDEOVLC_H_
#include "plugins/video.h"
#include "Gem/Image.h"
#include "Utils/ThreadMutex.h"
#include <vlc/vlc.h>
#include <stdarg.h>
#ifndef VLC_VAR_TIME
typedef int64_t mtime_t;
#endif /* VLC_VAR_TIME */
namespace gem { namespace plugins {
class GEM_EXPORT videoVLC : public video {
private:
std::string m_name;
std::string m_devname;
gem::thread::Mutex m_mutex;
pixBlock m_pixBlock;
Properties m_props;
unsigned int m_type;
public:
videoVLC(void);
virtual ~videoVLC(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) {return true;}
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);
virtual void* lockFrame(void**plane);
virtual void unlockFrame(void*picture, void*const*plane);
private:
static void *lockCB(void*, void**plane);
static void unlockCB(void*, void*picture, void*const*plane);
static void displayCB(void*, void*picture);
libvlc_instance_t*m_instance;
libvlc_media_player_t*m_mediaplayer;
};
};}; // namespace
#endif // for header file

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,21 @@
Microsoft Visual Studio Solution File, Format Version 8.00
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "videoVLC", "videoVLC.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,147 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="7.10"
Name="videoVLC"
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;@VLCDIR@&quot;"
PreprocessorDefinitions="NT;WIN32;_WINDOWS;__WIN32__;_LANGUAGE_C_PLUS_PLUS;WIN32_LEAN_AND_MEAN;HAVE_LIBVLC"
StringPooling="TRUE"
RuntimeLibrary="0"
EnableFunctionLevelLinking="TRUE"
EnableEnhancedInstructionSet="2"
DefaultCharIsUnsigned="FALSE"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalOptions="/MACHINE:I386"
AdditionalDependencies="OLDNAMES.lib Gem.lib pd.lib vfw32.lib libcpmt.lib msvcrt.lib msvcprt.lib libvlc.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;@VLCDIR@&quot;"
IgnoreAllDefaultLibraries="TRUE"
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="0"
EnableFunctionLevelLinking="TRUE"
EnableEnhancedInstructionSet="0"
DefaultCharIsUnsigned="FALSE"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalOptions="/MACHINE:I386"
AdditionalDependencies="OLDNAMES.lib Gem.lib pd.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="..\videoVLC.cpp">
</File>
<File
RelativePath="..\videoVLC.h">
</File>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View file

@ -0,0 +1,21 @@
Microsoft Visual Studio Solution File, Format Version 8.00
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "videoVLC", "videoVLC.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,206 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9,00"
Name="videoVLC"
ProjectGUID="{94CA04E7-CCF9-4733-A1BD-F3283C21288A}"
RootNamespace="gem"
TargetFrameworkVersion="131072"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Release|Win32"
OutputDirectory="$(SolutionDir)"
IntermediateDirectory="$(ProjectDir)/$(ConfigurationName)"
ConfigurationType="2"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.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"
InlineFunctionExpansion="2"
FavorSizeOrSpeed="1"
AdditionalIncludeDirectories="&quot;$(SolutionDir)\..\..\src&quot;;&quot;$(ProjectDir)\..\..\src&quot;;&quot;$(ProjectDir)\..\..\..\..\pd\src&quot;;&quot;$(ProgramFiles)\pd\src&quot;;&quot;@VLCDIR@&quot;"
PreprocessorDefinitions="NT;WIN32;_WINDOWS;__WIN32__;_LANGUAGE_C_PLUS_PLUS;WIN32_LEAN_AND_MEAN;HAVE_LIBVLC"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"
EnableEnhancedInstructionSet="2"
DefaultCharIsUnsigned="false"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="NDEBUG"
Culture="1033"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalOptions="/MACHINE:I386"
AdditionalDependencies="OLDNAMES.lib Gem.lib pd.lib vfw32.lib libcpmt.lib msvcrt.lib msvcprt.lib libvlc.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;@VLCDIR@&quot;"
IgnoreAllDefaultLibraries="true"
ProgramDatabaseFile="$(ProjectDir)/$(ProjectName).pdb"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
ImportLibrary="$(ProjectDir)/$(TargetName).lib"
/>
<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"
OutputDirectory="$(SolutionDir)"
IntermediateDirectory="$(ProjectDir)/$(ConfigurationName)"
ConfigurationType="2"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.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"
InlineFunctionExpansion="2"
FavorSizeOrSpeed="1"
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="0"
EnableFunctionLevelLinking="true"
EnableEnhancedInstructionSet="0"
DefaultCharIsUnsigned="false"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="NDEBUG"
Culture="1033"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalOptions="/MACHINE:I386"
AdditionalDependencies="OLDNAMES.lib Gem.lib pd.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"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
ImportLibrary="$(ProjectDir)/$(TargetName).lib"
/>
<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="..\videoVLC.cpp"
>
</File>
<File
RelativePath="..\videoVLC.h"
>
</File>
</Files>
<Globals>
</Globals>
</VisualStudioProject>