Changed NewTek iVGA dependency to be optional at runtime. This will prevent a possible GPL violation.
+++ /dev/null
-#pragma once
-
-// Are files exported ?
-#ifdef COMPILE_PROCESSING_AIRSEND
-#define PROCESSING_AIRSEND_API __declspec(dllexport)
-#else // COMPILE_PROCESSING_AIRSEND
-#define PROCESSING_AIRSEND_API __declspec(dllimport)
-#endif // COMPILE_PROCESSING_AIRSEND
-
-// Create and initialize an AirSend instance. This will return NULL if it fails.
-extern "C" PROCESSING_AIRSEND_API
- void* AirSend_Create( // The video resolution. This should be a multiple of 8 pixels wide.
- // This is the full frame resolution and not the per field resolution
- // so for instance a 1920x1080 interlaced video stream would store
- // xres=1920 yres=1080
- const int xres, const int yres,
- // The frame-rate as a numerator and denominator. Examples :
- // NTSC, 480i30, 1080i30 : 30000/1001
- // NTSC, 720p60 : 60000/1001
- // PAL, 576i50, 1080i50 : 30000/1200
- // PAL, 720p50 : 60000/1200
- const int frame_rate_n, const int frame_rate_d,
- // Is this field interlaced or not ?
- const bool progressive,
- // The image aspect ratio as a floating point. For instance
- // 4:3 = 4.0/3.0 = 1.33333
- // 16:9 = 16.0/9.0 = 1.77778
- const float aspect_ratio,
- // Do we want audio ?
- const bool audio_enabled,
- // The number of audio channels.
- const int no_channels,
- // The audio sample-rate
- const int sample_rate );
-
-// Destroy an instance of AirSend that was created by AirSend_Create.
-extern "C" PROCESSING_AIRSEND_API
- void AirSend_Destroy( void* p_instance );
-
-// Add a video frame. This is in YCbCr format and may have an optional alpha channel.
-// This is stored in an uncompressed video buffer of FourCC UYVY which has 16 bits per pixel
-// YUV 4:2:2 (Y sample at every pixel, U and V sampled at every second pixel horizontally on each line).
-// This means that the stride of the image is xres*2 bytes pointed to by p_ycbcr.
-// For fielded video, the two fields are interleaved together and it is assumed that field 0 is always
-// above field 1 which matches all modern video formats. It is recommended that if you desire to send
-// 486 line video that you drop the first line and the bottom 5 lines and send 480 line video.
-// The return value is true when connected, false when not connected.
-extern "C" PROCESSING_AIRSEND_API
- bool AirSend_add_frame_ycbcr( void* p_instance, const BYTE* p_ycbcr );
-
-extern "C" PROCESSING_AIRSEND_API
- bool AirSend_add_frame_ycbcr_alpha( void* p_instance, const BYTE* p_ycbcr, const BYTE* p_alpha );
-
-// These methods allow you to add video in BGRA and BGRX formats. (BGRX is 32 bit BGR with the alpha channel
-// ignored.) Frames are provided as uncompressed buffers. YCbCr is the preferred color space and these are
-// provided as a conveniance.
-// The return value is true when connected, false when not connected.
-extern "C" PROCESSING_AIRSEND_API
- bool AirSend_add_frame_bgra( void* p_instance, const BYTE* p_bgra );
-extern "C" PROCESSING_AIRSEND_API
- bool AirSend_add_frame_bgrx( void* p_instance, const BYTE* p_bgrx );
-
-// Because Windows tends to create images bottom to top by default in memory, there are versions of the
-// BGR? functions that will send the video frame vertically flipped to avoid you needing to use CPU time
-// and memory bandwidth doing this yourself.
-// The return value is true when connected, false when not connected.
-extern "C" PROCESSING_AIRSEND_API
- bool AirSend_add_frame_bgra_flipped( void* p_instance, const BYTE* p_bgra );
-extern "C" PROCESSING_AIRSEND_API
- bool AirSend_add_frame_bgrx_flipped( void* p_instance, const BYTE* p_bgrx );
-
-// Add audio data. This should be in 16 bit PCM uncompressed and all channels are interleaved together.
-// Because audio and video are muxed together and send to the video source it is important that you send
-// these at the same rate since video frames will be "held" in the muxer until the corresponding audio
-// is received so that all data can be sent in "display" order to the TriCaster.
-// The return value is true when connected, false when not connected.
-extern "C" PROCESSING_AIRSEND_API
- bool AirSend_add_audio( void* p_instance, const short* p_src, const int no_samples );
-
-// This allows you to tell a particular TriCaster that is on "Receive" mode to watch this video source.
-// By default, on a TriCaster "Net 1" is on port 7000, and "Net 2" is on port 7001. Note that a full implementation
-// should use Bonjour to locate the TriCaster as described in the SDK documentation; when working this way
-// you would always know the true port numbers.
-extern "C" PROCESSING_AIRSEND_API
- void AirSend_request_connection( void* p_instance, const ULONG IP, const USHORT Port );
#include <boost/algorithm/string.hpp>
-#include <AirSend_api.h>
+#include "../util/air_send.h"
+
+namespace caspar { namespace newtek {
-namespace caspar { namespace newtek {
-
struct newtek_ivga_consumer : public core::frame_consumer
{
std::shared_ptr<void> air_send_;
: executor_(print())
, channel_layout_(channel_layout)
{
+ if (!airsend::is_available())
+ BOOST_THROW_EXCEPTION(caspar_exception() << msg_info(narrow(airsend::dll_name()) + " not available"));
}
~newtek_ivga_consumer()
virtual void initialize(const core::video_format_desc& format_desc, int channel_index) override
{
air_send_.reset(
- AirSend_Create(
+ airsend::create(
format_desc.width,
format_desc.height,
format_desc.time_scale,
true,
channel_layout_.num_channels,
format_desc.audio_sample_rate),
- AirSend_Destroy);
+ airsend::destroy);
CASPAR_VERIFY(air_send_);
audio_buffer = core::audio_32_to_16(frame->audio_data());
}
- AirSend_add_audio(air_send_.get(), audio_buffer.data(), audio_buffer.size() / channel_layout_.num_channels);
+ airsend::add_audio(air_send_.get(), audio_buffer.data(), audio_buffer.size() / channel_layout_.num_channels);
// VIDEO
- AirSend_add_frame_bgra(air_send_.get(), frame->image_data().begin());
+ airsend::add_frame_bgra(air_send_.get(), frame->image_data().begin());
return true;
});
#include "newtek.h"
#include "consumer/newtek_ivga_consumer.h"
+#include "util/air_send.h"
#include <core/parameters/parameters.h>
#include <core/consumer/frame_consumer.h>
{
try
{
- core::register_consumer_factory([](const core::parameters& params)
- {
- return newtek::create_ivga_consumer(params);
- });
+ if (airsend::is_available())
+ core::register_consumer_factory([](const core::parameters& params)
+ {
+ return newtek::create_ivga_consumer(params);
+ });
}
catch(...){}
}
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)tmp\$(Configuration)\</IntDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">$(ProjectDir)tmp\$(Configuration)\</IntDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">$(ProjectDir)tmp\$(Configuration)\</IntDir>
- <IncludePath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\;..\..\common;..\..\dependencies\newtek\include;..\..\dependencies\boost\;..\..\dependencies\tbb\include\;$(IncludePath)</IncludePath>
- <IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\;..\..\common;..\..\dependencies\newtek\include;..\..\dependencies\boost\;..\..\dependencies\tbb\include\;$(IncludePath)</IncludePath>
- <IncludePath Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">..\..\;..\..\common;..\..\dependencies\newtek\include;..\..\dependencies\boost\;..\..\dependencies\tbb\include\;$(IncludePath)</IncludePath>
- <IncludePath Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">..\..\;..\..\common;..\..\dependencies\newtek\include;..\..\dependencies\boost\;..\..\dependencies\tbb\include\;..\..\dependencies\ffmpeg 0.8\include;$(IncludePath)</IncludePath>
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\;..\..\common;..\..\dependencies\boost\;..\..\dependencies\tbb\include\;$(IncludePath)</IncludePath>
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\;..\..\common;..\..\dependencies\boost\;..\..\dependencies\tbb\include\;$(IncludePath)</IncludePath>
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">..\..\;..\..\common;..\..\dependencies\boost\;..\..\dependencies\tbb\include\;$(IncludePath)</IncludePath>
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">..\..\;..\..\common;..\..\dependencies\boost\;..\..\dependencies\tbb\include\;..\..\dependencies\ffmpeg 0.8\include;$(IncludePath)</IncludePath>
<LibraryPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\dependencies\BluefishSDK_V5_10_0_42\Lib\;..\..\dependencies\boost\stage\lib\;..\..\dependencies\tbb\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>
<LibraryPath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\dependencies\BluefishSDK_V5_10_0_42\Lib\;..\..\dependencies\boost\stage\lib\;..\..\dependencies\tbb\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>
<LibraryPath Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">..\..\dependencies\BluefishSDK_V5_10_0_42\Lib\;..\..\dependencies\boost\stage\lib\;..\..\dependencies\tbb\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>
<ClInclude Include="newtek.h" />
<ClInclude Include="consumer\newtek_ivga_consumer.h" />
<ClInclude Include="StdAfx.h" />
+ <ClInclude Include="util\air_send.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="newtek.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
</ClCompile>
+ <ClCompile Include="util\air_send.cpp">
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\common\common.vcxproj">
<ClCompile Include="newtek.cpp">
<Filter>source</Filter>
</ClCompile>
+ <ClCompile Include="util\air_send.cpp">
+ <Filter>source\util</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="StdAfx.h" />
<ClInclude Include="newtek.h">
<Filter>source</Filter>
</ClInclude>
+ <ClInclude Include="util\air_send.h">
+ <Filter>source\util</Filter>
+ </ClInclude>
</ItemGroup>
<ItemGroup>
<Filter Include="source">
<Filter Include="source\consumer">
<UniqueIdentifier>{c4a0a6b8-00cd-475e-a6a4-775bba93dbc2}</UniqueIdentifier>
</Filter>
+ <Filter Include="source\util">
+ <UniqueIdentifier>{05a7aae8-a23c-4aa2-81c4-fd0710306ce7}</UniqueIdentifier>
+ </Filter>
</ItemGroup>
</Project>
\ No newline at end of file
--- /dev/null
+/*
+* Copyright 2013 Sveriges Television AB http://casparcg.com/
+*
+* This file is part of CasparCG (www.casparcg.com).
+*
+* CasparCG 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.
+*
+* CasparCG 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 CasparCG. If not, see <http://www.gnu.org/licenses/>.
+*
+* Author: Helge Norberg, helge.norberg@svt.se
+*/
+
+#include "../StdAfx.h"
+
+#include "air_send.h"
+
+#include <memory>
+
+#include <Windows.h>
+
+#include <common/exception/exceptions.h>
+
+namespace caspar { namespace newtek { namespace airsend {
+
+void* (*create)(
+ const int width, const int height,
+ const int timescale, const int duration,
+ const bool progressive,
+ const float aspect_ratio,
+ const bool audio_enabled,
+ const int num_channels,
+ const int sample_rate) = nullptr;
+void (*destroy)(void* instance) = nullptr;
+bool (*add_audio)(
+ void* instance, const short* samples, const int num_samples) = nullptr;
+bool (*add_frame_bgra)(void* instance, const unsigned char* data) = nullptr;
+
+const std::wstring& dll_name()
+{
+ static std::wstring name = L"Processing.AirSend.x86.dll";
+
+ return name;
+}
+
+std::shared_ptr<void> load_library()
+{
+ auto module = LoadLibrary(dll_name().c_str());
+
+ if (!module)
+ return nullptr;
+
+ std::shared_ptr<void> lib(module, FreeLibrary);
+
+ create = reinterpret_cast<decltype(create)>(
+ GetProcAddress(module, "AirSend_Create"));
+ destroy = reinterpret_cast<decltype(destroy)>(
+ GetProcAddress(module, "AirSend_Destroy"));
+ add_audio = reinterpret_cast<decltype(add_audio)>(
+ GetProcAddress(module, "AirSend_add_audio"));
+ add_frame_bgra = reinterpret_cast<decltype(add_frame_bgra)>(
+ GetProcAddress(module, "AirSend_add_frame_bgra"));
+
+ if (create == nullptr
+ || destroy == nullptr
+ || add_audio == nullptr
+ || add_frame_bgra == nullptr)
+ {
+ create = nullptr;
+ destroy = nullptr;
+ add_audio = nullptr;
+ add_frame_bgra = nullptr;
+
+ return nullptr;
+ }
+
+ return lib;
+}
+
+bool is_available()
+{
+ static std::shared_ptr<void> lib = load_library();
+
+ return lib;
+}
+
+}}}
--- /dev/null
+/*
+* Copyright 2013 Sveriges Television AB http://casparcg.com/
+*
+* This file is part of CasparCG (www.casparcg.com).
+*
+* CasparCG 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.
+*
+* CasparCG 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 CasparCG. If not, see <http://www.gnu.org/licenses/>.
+*
+* Author: Helge Norberg, helge.norberg@svt.se
+*/
+#pragma once
+
+#include <string>
+
+namespace caspar { namespace newtek { namespace airsend {
+
+const std::wstring& dll_name();
+bool is_available();
+
+extern void* (*create)(
+ const int width, const int height,
+ const int timescale, const int duration,
+ const bool progressive,
+ const float aspect_ratio,
+ const bool audio_enabled,
+ const int num_channels,
+ const int sample_rate);
+extern void (*destroy)(void* instance);
+extern bool (*add_audio)(
+ void* instance, const short* samples, const int num_samples);
+extern bool (*add_frame_bgra)(void* instance, const unsigned char* data);
+
+}}}
#include <modules/flash/flash.h>\r
#include <modules/ffmpeg/ffmpeg.h>\r
#include <modules/image/image.h>\r
+#include <modules/newtek/util/air_send.h>\r
\r
#include <common/env.h>\r
#include <common/exception/win32_exception.h>\r
CASPAR_LOG(info) << L"FFMPEG-swscale " << caspar::ffmpeg::get_swscale_version();\r
CASPAR_LOG(info) << L"Flash " << caspar::flash::get_version();\r
CASPAR_LOG(info) << L"Template-Host " << caspar::flash::get_cg_version();\r
+ CASPAR_LOG(info) << L"NewTek iVGA " << (caspar::newtek::airsend::is_available() ? L"available" : L"unavailable (" + caspar::newtek::airsend::dll_name() + L")");\r
}\r
\r
LONG WINAPI UserUnhandledExceptionFilter(EXCEPTION_POINTERS* info)\r
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)tmp\$(Configuration)\</IntDir>\r
<IntDir Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">$(SolutionDir)tmp\$(Configuration)\</IntDir>\r
<IntDir Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">$(SolutionDir)tmp\$(Configuration)\</IntDir>\r
- <IncludePath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\dependencies\BluefishSDK_V5_10_0_42\Inc\;..\dependencies\boost\;..\dependencies\ffmpeg 0.8\include\;..\dependencies\FreeImage\Dist\;..\dependencies\glew-1.6.0\include;..\dependencies\SFML-1.6\include\;..\dependencies\tbb\include\;..\dependencies\newtek\include\;$(IncludePath)</IncludePath>\r
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\dependencies\BluefishSDK_V5_10_0_42\Inc\;..\dependencies\boost\;..\dependencies\ffmpeg 0.8\include\;..\dependencies\FreeImage\Dist\;..\dependencies\glew-1.6.0\include;..\dependencies\SFML-1.6\include\;..\dependencies\tbb\include\;$(IncludePath)</IncludePath>\r
<IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\dependencies\BluefishSDK_V5_10_0_42\Inc\;..\dependencies\boost\;..\dependencies\ffmpeg 0.8\include\;..\dependencies\FreeImage\Dist\;..\dependencies\glew-1.6.0\include;..\dependencies\SFML-1.6\include\;..\dependencies\tbb\include\;$(IncludePath)</IncludePath>\r
<IncludePath Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">..\dependencies\BluefishSDK_V5_10_0_42\Inc\;..\dependencies\boost\;..\dependencies\ffmpeg 0.8\include\;..\dependencies\FreeImage\Dist\;..\dependencies\glew-1.6.0\include;..\dependencies\SFML-1.6\include\;..\dependencies\tbb\include\;$(IncludePath)</IncludePath>\r
<IncludePath Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">..\dependencies\BluefishSDK_V5_10_0_42\Inc\;..\dependencies\boost\;..\dependencies\ffmpeg 0.8\include\;..\dependencies\FreeImage\Dist\;..\dependencies\glew-1.6.0\include;..\dependencies\SFML-1.6\include\;..\dependencies\tbb\include\;$(IncludePath)</IncludePath>\r
- <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">C:\Program\Microsoft DirectX SDK (June 2010)\Lib\x86;..\dependencies\BluefishSDK_V5_10_0_42\Lib\;..\dependencies\boost\stage\lib\;..\dependencies\ffmpeg 0.8\lib\;..\dependencies\FreeImage\Dist\;..\dependencies\glew-1.6.0\lib;..\dependencies\SFML-1.6\lib\;..\dependencies\tbb\lib\ia32\vc10\;..\dependencies\zlib\lib;..\dependencies\portaudio\lib;..\dependencies\newtek\lib;$(LibraryPath)</LibraryPath>\r
- <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">C:\Program\Microsoft DirectX SDK (June 2010)\Lib\x86;..\dependencies\BluefishSDK_V5_10_0_42\Lib\;..\dependencies\boost\stage\lib\;..\dependencies\ffmpeg 0.8\lib\;..\dependencies\FreeImage\Dist\;..\dependencies\glew-1.6.0\lib;..\dependencies\SFML-1.6\lib\;..\dependencies\tbb\lib\ia32\vc10\;..\dependencies\zlib\lib;..\dependencies\portaudio\lib;..\dependencies\newtek\lib;$(LibraryPath)</LibraryPath>\r
- <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">C:\Program\Microsoft DirectX SDK (June 2010)\Lib\x86;..\dependencies\BluefishSDK_V5_10_0_42\Lib\;..\dependencies\boost\stage\lib\;..\dependencies\ffmpeg 0.8\lib\;..\dependencies\FreeImage\Dist\;..\dependencies\glew-1.6.0\lib;..\dependencies\SFML-1.6\lib\;..\dependencies\tbb\lib\ia32\vc10\;..\dependencies\zlib\lib;..\dependencies\portaudio\lib;..\dependencies\newtek\lib;$(LibraryPath)</LibraryPath>\r
- <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">C:\Program\Microsoft DirectX SDK (June 2010)\Lib\x86;..\dependencies\BluefishSDK_V5_10_0_42\Lib\;..\dependencies\boost\stage\lib\;..\dependencies\ffmpeg 0.8\lib\;..\dependencies\FreeImage\Dist\;..\dependencies\glew-1.6.0\lib;..\dependencies\SFML-1.6\lib\;..\dependencies\tbb\lib\ia32\vc10\;..\dependencies\zlib\lib;..\dependencies\portaudio\lib;..\dependencies\newtek\lib;$(LibraryPath)</LibraryPath>\r
+ <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">C:\Program\Microsoft DirectX SDK (June 2010)\Lib\x86;..\dependencies\BluefishSDK_V5_10_0_42\Lib\;..\dependencies\boost\stage\lib\;..\dependencies\ffmpeg 0.8\lib\;..\dependencies\FreeImage\Dist\;..\dependencies\glew-1.6.0\lib;..\dependencies\SFML-1.6\lib\;..\dependencies\tbb\lib\ia32\vc10\;..\dependencies\zlib\lib;..\dependencies\portaudio\lib;$(LibraryPath)</LibraryPath>\r
+ <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">C:\Program\Microsoft DirectX SDK (June 2010)\Lib\x86;..\dependencies\BluefishSDK_V5_10_0_42\Lib\;..\dependencies\boost\stage\lib\;..\dependencies\ffmpeg 0.8\lib\;..\dependencies\FreeImage\Dist\;..\dependencies\glew-1.6.0\lib;..\dependencies\SFML-1.6\lib\;..\dependencies\tbb\lib\ia32\vc10\;..\dependencies\zlib\lib;..\dependencies\portaudio\lib;$(LibraryPath)</LibraryPath>\r
+ <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">C:\Program\Microsoft DirectX SDK (June 2010)\Lib\x86;..\dependencies\BluefishSDK_V5_10_0_42\Lib\;..\dependencies\boost\stage\lib\;..\dependencies\ffmpeg 0.8\lib\;..\dependencies\FreeImage\Dist\;..\dependencies\glew-1.6.0\lib;..\dependencies\SFML-1.6\lib\;..\dependencies\tbb\lib\ia32\vc10\;..\dependencies\zlib\lib;..\dependencies\portaudio\lib;$(LibraryPath)</LibraryPath>\r
+ <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">C:\Program\Microsoft DirectX SDK (June 2010)\Lib\x86;..\dependencies\BluefishSDK_V5_10_0_42\Lib\;..\dependencies\boost\stage\lib\;..\dependencies\ffmpeg 0.8\lib\;..\dependencies\FreeImage\Dist\;..\dependencies\glew-1.6.0\lib;..\dependencies\SFML-1.6\lib\;..\dependencies\tbb\lib\ia32\vc10\;..\dependencies\zlib\lib;..\dependencies\portaudio\lib;$(LibraryPath)</LibraryPath>\r
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\$(Configuration)\</OutDir>\r
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\$(Configuration)\</OutDir>\r
<OutDir Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">$(SolutionDir)bin\$(Configuration)\</OutDir>\r
<ForcedIncludeFiles>common/compiler/vs/disable_silly_warnings.h</ForcedIncludeFiles>\r
</ClCompile>\r
<Link>\r
- <AdditionalDependencies>sfml-system-s-d.lib;sfml-audio-s-d.lib;sfml-window-s-d.lib;sfml-graphics-s-d.lib;OpenGL32.lib;FreeImage.lib;Winmm.lib;Ws2_32.lib;avformat.lib;avcodec.lib;avdevice.lib;avutil.lib;avfilter.lib;swscale.lib;tbb.lib;glew32.lib;zdll.lib;portaudio_x86.lib;Processing.AirSend.x86.lib</AdditionalDependencies>\r
+ <AdditionalDependencies>sfml-system-s-d.lib;sfml-audio-s-d.lib;sfml-window-s-d.lib;sfml-graphics-s-d.lib;OpenGL32.lib;FreeImage.lib;Winmm.lib;Ws2_32.lib;avformat.lib;avcodec.lib;avdevice.lib;avutil.lib;avfilter.lib;swscale.lib;tbb.lib;glew32.lib;zdll.lib;portaudio_x86.lib</AdditionalDependencies>\r
<Version>\r
</Version>\r
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
copy "$(SolutionDir)dependencies\zlib\*.dll" "$(OutDir)"\r
copy "$(SolutionDir)dependencies\SFML-1.6\extlibs\bin\*.dll" "$(OutDir)"\r
copy "$(SolutionDir)dependencies\portaudio\bin\*.dll" "$(OutDir)"\r
-copy "$(SolutionDir)dependencies\newtek\bin\*.dll" "$(OutDir)"\r
copy "$(ProjectDir)casparcg.config" "$(OutDir)"\r
copy "$(ProjectDir)casparcg_auto_restart.bat" "$(OutDir)"</Command>\r
</PostBuildEvent>\r
</Command>\r
</PreLinkEvent>\r
<Link>\r
- <AdditionalDependencies>sfml-system-s.lib;sfml-audio-s.lib;sfml-window-s.lib;sfml-graphics-s.lib;OpenGL32.lib;FreeImage.lib;Winmm.lib;Ws2_32.lib;avformat.lib;avcodec.lib;avdevice.lib;avutil.lib;avfilter.lib;swscale.lib;tbb.lib;glew32.lib;zdll.lib;portaudio_x86.lib;Processing.AirSend.x86.lib</AdditionalDependencies>\r
+ <AdditionalDependencies>sfml-system-s.lib;sfml-audio-s.lib;sfml-window-s.lib;sfml-graphics-s.lib;OpenGL32.lib;FreeImage.lib;Winmm.lib;Ws2_32.lib;avformat.lib;avcodec.lib;avdevice.lib;avutil.lib;avfilter.lib;swscale.lib;tbb.lib;glew32.lib;zdll.lib;portaudio_x86.lib</AdditionalDependencies>\r
<Version>\r
</Version>\r
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
copy "$(SolutionDir)dependencies\zlib\*.dll" "$(OutDir)"\r
copy "$(SolutionDir)dependencies\SFML-1.6\extlibs\bin\*.dll" "$(OutDir)"\r
copy "$(SolutionDir)dependencies\portaudio\bin\*.dll" "$(OutDir)"\r
-copy "$(SolutionDir)dependencies\newtek\bin\*.dll" "$(OutDir)"\r
copy "$(ProjectDir)casparcg.config" "$(OutDir)"\r
copy "$(ProjectDir)casparcg_auto_restart.bat" "$(OutDir)"</Command>\r
</PostBuildEvent>\r
</Command>\r
</PreLinkEvent>\r
<Link>\r
- <AdditionalDependencies>sfml-system-s.lib;sfml-audio-s.lib;sfml-window-s.lib;sfml-graphics-s.lib;OpenGL32.lib;FreeImage.lib;Winmm.lib;Ws2_32.lib;avformat.lib;avcodec.lib;avdevice.lib;avutil.lib;avfilter.lib;swscale.lib;tbb.lib;glew32.lib;zdll.lib;portaudio_x86.lib;Processing.AirSend.x86.lib</AdditionalDependencies>\r
+ <AdditionalDependencies>sfml-system-s.lib;sfml-audio-s.lib;sfml-window-s.lib;sfml-graphics-s.lib;OpenGL32.lib;FreeImage.lib;Winmm.lib;Ws2_32.lib;avformat.lib;avcodec.lib;avdevice.lib;avutil.lib;avfilter.lib;swscale.lib;tbb.lib;glew32.lib;zdll.lib;portaudio_x86.lib</AdditionalDependencies>\r
<Version>\r
</Version>\r
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
copy "$(SolutionDir)dependencies\zlib\*.dll" "$(OutDir)"\r
copy "$(SolutionDir)dependencies\SFML-1.6\extlibs\bin\*.dll" "$(OutDir)"\r
copy "$(SolutionDir)dependencies\portaudio\bin\*.dll" "$(OutDir)"\r
-copy "$(SolutionDir)dependencies\newtek\bin\*.dll" "$(OutDir)"\r
copy "$(ProjectDir)casparcg.config" "$(OutDir)"\r
copy "$(ProjectDir)casparcg_auto_restart.bat" "$(OutDir)"</Command>\r
</PostBuildEvent>\r
</Command>\r
</PreLinkEvent>\r
<Link>\r
- <AdditionalDependencies>sfml-system-s.lib;sfml-audio-s.lib;sfml-window-s.lib;sfml-graphics-s.lib;OpenGL32.lib;FreeImage.lib;Winmm.lib;Ws2_32.lib;avformat.lib;avcodec.lib;avdevice.lib;avutil.lib;avfilter.lib;swscale.lib;tbb.lib;glew32.lib;zdll.lib;portaudio_x86.lib;Processing.AirSend.x86.lib</AdditionalDependencies>\r
+ <AdditionalDependencies>sfml-system-s.lib;sfml-audio-s.lib;sfml-window-s.lib;sfml-graphics-s.lib;OpenGL32.lib;FreeImage.lib;Winmm.lib;Ws2_32.lib;avformat.lib;avcodec.lib;avdevice.lib;avutil.lib;avfilter.lib;swscale.lib;tbb.lib;glew32.lib;zdll.lib;portaudio_x86.lib</AdditionalDependencies>\r
<Version>\r
</Version>\r
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
copy "$(SolutionDir)dependencies\zlib\*.dll" "$(OutDir)"\r
copy "$(SolutionDir)dependencies\SFML-1.6\extlibs\bin\*.dll" "$(OutDir)"\r
copy "$(SolutionDir)dependencies\portaudio\bin\*.dll" "$(OutDir)"\r
-copy "$(SolutionDir)dependencies\newtek\bin\*.dll" "$(OutDir)"\r
copy "$(ProjectDir)casparcg.config" "$(OutDir)"\r
copy "$(ProjectDir)casparcg_auto_restart.bat" "$(OutDir)"</Command>\r
</PostBuildEvent>\r