- 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:
parent
c9adfd020b
commit
e85d191b46
3100 changed files with 775434 additions and 3073 deletions
40
Gem/plugins/videoVLC/Makefile.am
Normal file
40
Gem/plugins/videoVLC/Makefile.am
Normal 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
|
||||
|
76
Gem/plugins/videoVLC/README.txt
Normal file
76
Gem/plugins/videoVLC/README.txt
Normal 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
|
313
Gem/plugins/videoVLC/videoVLC.cpp
Normal file
313
Gem/plugins/videoVLC/videoVLC.cpp
Normal 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 */
|
80
Gem/plugins/videoVLC/videoVLC.h
Normal file
80
Gem/plugins/videoVLC/videoVLC.h
Normal 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
|
2
Gem/plugins/videoVLC/vlc-videoplugin.pd
Normal file
2
Gem/plugins/videoVLC/vlc-videoplugin.pd
Normal file
|
@ -0,0 +1,2 @@
|
|||
#N canvas 8 49 505 112 10;
|
||||
#X text 89 47 Nothing special about this backend...;
|
21
Gem/plugins/videoVLC/win-vs2003/videoVLC.sln
Normal file
21
Gem/plugins/videoVLC/win-vs2003/videoVLC.sln
Normal 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
|
147
Gem/plugins/videoVLC/win-vs2003/videoVLC.vcproj
Normal file
147
Gem/plugins/videoVLC/win-vs2003/videoVLC.vcproj
Normal 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=""$(SolutionDir)\..\..\src";"$(ProjectDir)\..\..\src";"$(ProjectDir)\..\..\..\..\pd\src";"$(ProgramFiles)\pd\src";"@VLCDIR@""
|
||||
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=""$(SolutionDir)";"$(ProjectDir)\..\..\..\build\win-vs2003";"$(ProjectDir)\..\..\..\..\pd\bin";"$(ProgramFiles)\pd\bin";"@VLCDIR@""
|
||||
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=""$(SolutionDir)\..\..\src";"$(ProjectDir)\..\..\src";"$(ProjectDir)\..\..\..\..\pd\src";"$(ProgramFiles)\pd\src""
|
||||
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=""$(SolutionDir)";"$(ProjectDir)\..\..\build\win-vs2003";"$(ProjectDir)\..\..\..\..\pd\bin";"$(ProgramFiles)\pd\bin""
|
||||
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>
|
21
Gem/plugins/videoVLC/win-vs2008/videoVLC.sln
Normal file
21
Gem/plugins/videoVLC/win-vs2008/videoVLC.sln
Normal 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
|
206
Gem/plugins/videoVLC/win-vs2008/videoVLC.vcproj
Normal file
206
Gem/plugins/videoVLC/win-vs2008/videoVLC.vcproj
Normal 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=""$(SolutionDir)\..\..\src";"$(ProjectDir)\..\..\src";"$(ProjectDir)\..\..\..\..\pd\src";"$(ProgramFiles)\pd\src";"@VLCDIR@""
|
||||
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=""$(SolutionDir)";"$(ProjectDir)\..\..\build\win-vs2003";"$(ProjectDir)\..\..\..\..\pd\bin";"$(ProgramFiles)\pd\bin";"@VLCDIR@""
|
||||
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=""$(SolutionDir)\..\..\src";"$(ProjectDir)\..\..\src";"$(ProjectDir)\..\..\..\..\pd\src";"$(ProgramFiles)\pd\src""
|
||||
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=""$(SolutionDir)";"$(ProjectDir)\..\..\build\win-vs2003";"$(ProjectDir)\..\..\..\..\pd\bin";"$(ProgramFiles)\pd\bin""
|
||||
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>
|
Loading…
Add table
Add a link
Reference in a new issue