EndProject\r
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mixer", "mixer\mixer.vcxproj", "{477E12A4-1B28-4FF7-B46D-76606BDD1891}"\r
EndProject\r
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{32079541-68ED-4319-91FB-0FF041642679}"\r
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "documentation", "documentation", "{32079541-68ED-4319-91FB-0FF041642679}"\r
ProjectSection(SolutionItems) = preProject\r
..\CasparCG 2.0 Preliminary Change Log.txt = ..\CasparCG 2.0 Preliminary Change Log.txt\r
EndProjectSection\r
EndProject\r
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "modules", "modules", "{C54DA43E-4878-45DB-B76D-35970553672C}"\r
+EndProject\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bluefish", "modules\bluefish\bluefish.vcxproj", "{69313D25-9F54-4FC9-9872-628A4DD79464}"\r
+EndProject\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "decklink", "modules\decklink\decklink.vcxproj", "{D3611658-8F54-43CF-B9AF-A5CF8C1102EA}"\r
+EndProject\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ffmpeg", "modules\ffmpeg\ffmpeg.vcxproj", "{F6223AF3-BE0B-4B61-8406-98922CE521C2}"\r
+EndProject\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "flash", "modules\flash\flash.vcxproj", "{816DEABA-3757-4306-AFE0-C27CF96C4DEA}"\r
+EndProject\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "oal", "modules\oal\oal.vcxproj", "{82ED7ED6-8A15-40EC-A8AF-F5E712E0DA68}"\r
+EndProject\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ogl", "modules\ogl\ogl.vcxproj", "{88F974F0-D09F-4788-8CF8-F563209E60C1}"\r
+EndProject\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "silverlight", "modules\silverlight\silverlight.vcxproj", "{B964D953-8882-454C-A935-DB711D697E39}"\r
+EndProject\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "image", "modules\image\image.vcxproj", "{3E11FF65-A9DA-4F80-87F2-A7C6379ED5E2}"\r
+EndProject\r
Global\r
GlobalSection(SubversionScc) = preSolution\r
Svn-Managed = True\r
{02308602-7FE0-4253-B96E-22134919F56A}.Debug|Win32.Build.0 = Debug|Win32\r
{02308602-7FE0-4253-B96E-22134919F56A}.Develop|Win32.ActiveCfg = Develop|Win32\r
{02308602-7FE0-4253-B96E-22134919F56A}.Develop|Win32.Build.0 = Develop|Win32\r
- {02308602-7FE0-4253-B96E-22134919F56A}.Profile|Win32.ActiveCfg = Amplify|Win32\r
- {02308602-7FE0-4253-B96E-22134919F56A}.Profile|Win32.Build.0 = Amplify|Win32\r
+ {02308602-7FE0-4253-B96E-22134919F56A}.Profile|Win32.ActiveCfg = Profile|Win32\r
+ {02308602-7FE0-4253-B96E-22134919F56A}.Profile|Win32.Build.0 = Profile|Win32\r
{02308602-7FE0-4253-B96E-22134919F56A}.Release|Win32.ActiveCfg = Release|Win32\r
{02308602-7FE0-4253-B96E-22134919F56A}.Release|Win32.Build.0 = Release|Win32\r
{79388C20-6499-4BF6-B8B9-D8C33D7D4DDD}.Debug|Win32.ActiveCfg = Debug|Win32\r
{79388C20-6499-4BF6-B8B9-D8C33D7D4DDD}.Debug|Win32.Build.0 = Debug|Win32\r
{79388C20-6499-4BF6-B8B9-D8C33D7D4DDD}.Develop|Win32.ActiveCfg = Develop|Win32\r
{79388C20-6499-4BF6-B8B9-D8C33D7D4DDD}.Develop|Win32.Build.0 = Develop|Win32\r
- {79388C20-6499-4BF6-B8B9-D8C33D7D4DDD}.Profile|Win32.ActiveCfg = Amplify|Win32\r
- {79388C20-6499-4BF6-B8B9-D8C33D7D4DDD}.Profile|Win32.Build.0 = Amplify|Win32\r
+ {79388C20-6499-4BF6-B8B9-D8C33D7D4DDD}.Profile|Win32.ActiveCfg = Profile|Win32\r
+ {79388C20-6499-4BF6-B8B9-D8C33D7D4DDD}.Profile|Win32.Build.0 = Profile|Win32\r
{79388C20-6499-4BF6-B8B9-D8C33D7D4DDD}.Release|Win32.ActiveCfg = Release|Win32\r
{79388C20-6499-4BF6-B8B9-D8C33D7D4DDD}.Release|Win32.Build.0 = Release|Win32\r
{8C26C94F-8092-4769-8D84-DEA479721C5B}.Debug|Win32.ActiveCfg = Debug|Win32\r
{8C26C94F-8092-4769-8D84-DEA479721C5B}.Debug|Win32.Build.0 = Debug|Win32\r
{8C26C94F-8092-4769-8D84-DEA479721C5B}.Develop|Win32.ActiveCfg = Develop|Win32\r
{8C26C94F-8092-4769-8D84-DEA479721C5B}.Develop|Win32.Build.0 = Develop|Win32\r
- {8C26C94F-8092-4769-8D84-DEA479721C5B}.Profile|Win32.ActiveCfg = Amplify|Win32\r
- {8C26C94F-8092-4769-8D84-DEA479721C5B}.Profile|Win32.Build.0 = Amplify|Win32\r
+ {8C26C94F-8092-4769-8D84-DEA479721C5B}.Profile|Win32.ActiveCfg = Profile|Win32\r
+ {8C26C94F-8092-4769-8D84-DEA479721C5B}.Profile|Win32.Build.0 = Profile|Win32\r
{8C26C94F-8092-4769-8D84-DEA479721C5B}.Release|Win32.ActiveCfg = Release|Win32\r
{8C26C94F-8092-4769-8D84-DEA479721C5B}.Release|Win32.Build.0 = Release|Win32\r
{2040B361-1FB6-488E-84A5-38A580DA90DE}.Debug|Win32.ActiveCfg = Debug|Win32\r
{2040B361-1FB6-488E-84A5-38A580DA90DE}.Debug|Win32.Build.0 = Debug|Win32\r
{2040B361-1FB6-488E-84A5-38A580DA90DE}.Develop|Win32.ActiveCfg = Develop|Win32\r
{2040B361-1FB6-488E-84A5-38A580DA90DE}.Develop|Win32.Build.0 = Develop|Win32\r
- {2040B361-1FB6-488E-84A5-38A580DA90DE}.Profile|Win32.ActiveCfg = Amplify|Win32\r
- {2040B361-1FB6-488E-84A5-38A580DA90DE}.Profile|Win32.Build.0 = Amplify|Win32\r
+ {2040B361-1FB6-488E-84A5-38A580DA90DE}.Profile|Win32.ActiveCfg = Profile|Win32\r
+ {2040B361-1FB6-488E-84A5-38A580DA90DE}.Profile|Win32.Build.0 = Profile|Win32\r
{2040B361-1FB6-488E-84A5-38A580DA90DE}.Release|Win32.ActiveCfg = Release|Win32\r
{2040B361-1FB6-488E-84A5-38A580DA90DE}.Release|Win32.Build.0 = Release|Win32\r
{477E12A4-1B28-4FF7-B46D-76606BDD1891}.Debug|Win32.ActiveCfg = Debug|Win32\r
{477E12A4-1B28-4FF7-B46D-76606BDD1891}.Debug|Win32.Build.0 = Debug|Win32\r
{477E12A4-1B28-4FF7-B46D-76606BDD1891}.Develop|Win32.ActiveCfg = Develop|Win32\r
{477E12A4-1B28-4FF7-B46D-76606BDD1891}.Develop|Win32.Build.0 = Develop|Win32\r
- {477E12A4-1B28-4FF7-B46D-76606BDD1891}.Profile|Win32.ActiveCfg = Amplify|Win32\r
- {477E12A4-1B28-4FF7-B46D-76606BDD1891}.Profile|Win32.Build.0 = Amplify|Win32\r
+ {477E12A4-1B28-4FF7-B46D-76606BDD1891}.Profile|Win32.ActiveCfg = Profile|Win32\r
+ {477E12A4-1B28-4FF7-B46D-76606BDD1891}.Profile|Win32.Build.0 = Profile|Win32\r
{477E12A4-1B28-4FF7-B46D-76606BDD1891}.Release|Win32.ActiveCfg = Release|Win32\r
{477E12A4-1B28-4FF7-B46D-76606BDD1891}.Release|Win32.Build.0 = Release|Win32\r
+ {69313D25-9F54-4FC9-9872-628A4DD79464}.Debug|Win32.ActiveCfg = Debug|Win32\r
+ {69313D25-9F54-4FC9-9872-628A4DD79464}.Debug|Win32.Build.0 = Debug|Win32\r
+ {69313D25-9F54-4FC9-9872-628A4DD79464}.Develop|Win32.ActiveCfg = Develop|Win32\r
+ {69313D25-9F54-4FC9-9872-628A4DD79464}.Develop|Win32.Build.0 = Develop|Win32\r
+ {69313D25-9F54-4FC9-9872-628A4DD79464}.Profile|Win32.ActiveCfg = Profile|Win32\r
+ {69313D25-9F54-4FC9-9872-628A4DD79464}.Profile|Win32.Build.0 = Profile|Win32\r
+ {69313D25-9F54-4FC9-9872-628A4DD79464}.Release|Win32.ActiveCfg = Release|Win32\r
+ {69313D25-9F54-4FC9-9872-628A4DD79464}.Release|Win32.Build.0 = Release|Win32\r
+ {D3611658-8F54-43CF-B9AF-A5CF8C1102EA}.Debug|Win32.ActiveCfg = Debug|Win32\r
+ {D3611658-8F54-43CF-B9AF-A5CF8C1102EA}.Debug|Win32.Build.0 = Debug|Win32\r
+ {D3611658-8F54-43CF-B9AF-A5CF8C1102EA}.Develop|Win32.ActiveCfg = Develop|Win32\r
+ {D3611658-8F54-43CF-B9AF-A5CF8C1102EA}.Develop|Win32.Build.0 = Develop|Win32\r
+ {D3611658-8F54-43CF-B9AF-A5CF8C1102EA}.Profile|Win32.ActiveCfg = Profile|Win32\r
+ {D3611658-8F54-43CF-B9AF-A5CF8C1102EA}.Profile|Win32.Build.0 = Profile|Win32\r
+ {D3611658-8F54-43CF-B9AF-A5CF8C1102EA}.Release|Win32.ActiveCfg = Release|Win32\r
+ {D3611658-8F54-43CF-B9AF-A5CF8C1102EA}.Release|Win32.Build.0 = Release|Win32\r
+ {F6223AF3-BE0B-4B61-8406-98922CE521C2}.Debug|Win32.ActiveCfg = Debug|Win32\r
+ {F6223AF3-BE0B-4B61-8406-98922CE521C2}.Debug|Win32.Build.0 = Debug|Win32\r
+ {F6223AF3-BE0B-4B61-8406-98922CE521C2}.Develop|Win32.ActiveCfg = Develop|Win32\r
+ {F6223AF3-BE0B-4B61-8406-98922CE521C2}.Develop|Win32.Build.0 = Develop|Win32\r
+ {F6223AF3-BE0B-4B61-8406-98922CE521C2}.Profile|Win32.ActiveCfg = Profile|Win32\r
+ {F6223AF3-BE0B-4B61-8406-98922CE521C2}.Profile|Win32.Build.0 = Profile|Win32\r
+ {F6223AF3-BE0B-4B61-8406-98922CE521C2}.Release|Win32.ActiveCfg = Release|Win32\r
+ {F6223AF3-BE0B-4B61-8406-98922CE521C2}.Release|Win32.Build.0 = Release|Win32\r
+ {816DEABA-3757-4306-AFE0-C27CF96C4DEA}.Debug|Win32.ActiveCfg = Debug|Win32\r
+ {816DEABA-3757-4306-AFE0-C27CF96C4DEA}.Debug|Win32.Build.0 = Debug|Win32\r
+ {816DEABA-3757-4306-AFE0-C27CF96C4DEA}.Develop|Win32.ActiveCfg = Develop|Win32\r
+ {816DEABA-3757-4306-AFE0-C27CF96C4DEA}.Develop|Win32.Build.0 = Develop|Win32\r
+ {816DEABA-3757-4306-AFE0-C27CF96C4DEA}.Profile|Win32.ActiveCfg = Profile|Win32\r
+ {816DEABA-3757-4306-AFE0-C27CF96C4DEA}.Profile|Win32.Build.0 = Profile|Win32\r
+ {816DEABA-3757-4306-AFE0-C27CF96C4DEA}.Release|Win32.ActiveCfg = Release|Win32\r
+ {816DEABA-3757-4306-AFE0-C27CF96C4DEA}.Release|Win32.Build.0 = Release|Win32\r
+ {82ED7ED6-8A15-40EC-A8AF-F5E712E0DA68}.Debug|Win32.ActiveCfg = Debug|Win32\r
+ {82ED7ED6-8A15-40EC-A8AF-F5E712E0DA68}.Debug|Win32.Build.0 = Debug|Win32\r
+ {82ED7ED6-8A15-40EC-A8AF-F5E712E0DA68}.Develop|Win32.ActiveCfg = Develop|Win32\r
+ {82ED7ED6-8A15-40EC-A8AF-F5E712E0DA68}.Develop|Win32.Build.0 = Develop|Win32\r
+ {82ED7ED6-8A15-40EC-A8AF-F5E712E0DA68}.Profile|Win32.ActiveCfg = Profile|Win32\r
+ {82ED7ED6-8A15-40EC-A8AF-F5E712E0DA68}.Profile|Win32.Build.0 = Profile|Win32\r
+ {82ED7ED6-8A15-40EC-A8AF-F5E712E0DA68}.Release|Win32.ActiveCfg = Release|Win32\r
+ {82ED7ED6-8A15-40EC-A8AF-F5E712E0DA68}.Release|Win32.Build.0 = Release|Win32\r
+ {88F974F0-D09F-4788-8CF8-F563209E60C1}.Debug|Win32.ActiveCfg = Debug|Win32\r
+ {88F974F0-D09F-4788-8CF8-F563209E60C1}.Debug|Win32.Build.0 = Debug|Win32\r
+ {88F974F0-D09F-4788-8CF8-F563209E60C1}.Develop|Win32.ActiveCfg = Develop|Win32\r
+ {88F974F0-D09F-4788-8CF8-F563209E60C1}.Develop|Win32.Build.0 = Develop|Win32\r
+ {88F974F0-D09F-4788-8CF8-F563209E60C1}.Profile|Win32.ActiveCfg = Profile|Win32\r
+ {88F974F0-D09F-4788-8CF8-F563209E60C1}.Profile|Win32.Build.0 = Profile|Win32\r
+ {88F974F0-D09F-4788-8CF8-F563209E60C1}.Release|Win32.ActiveCfg = Release|Win32\r
+ {88F974F0-D09F-4788-8CF8-F563209E60C1}.Release|Win32.Build.0 = Release|Win32\r
+ {B964D953-8882-454C-A935-DB711D697E39}.Debug|Win32.ActiveCfg = Debug|Win32\r
+ {B964D953-8882-454C-A935-DB711D697E39}.Debug|Win32.Build.0 = Debug|Win32\r
+ {B964D953-8882-454C-A935-DB711D697E39}.Develop|Win32.ActiveCfg = Develop|Win32\r
+ {B964D953-8882-454C-A935-DB711D697E39}.Develop|Win32.Build.0 = Develop|Win32\r
+ {B964D953-8882-454C-A935-DB711D697E39}.Profile|Win32.ActiveCfg = Profile|Win32\r
+ {B964D953-8882-454C-A935-DB711D697E39}.Profile|Win32.Build.0 = Profile|Win32\r
+ {B964D953-8882-454C-A935-DB711D697E39}.Release|Win32.ActiveCfg = Release|Win32\r
+ {B964D953-8882-454C-A935-DB711D697E39}.Release|Win32.Build.0 = Release|Win32\r
+ {3E11FF65-A9DA-4F80-87F2-A7C6379ED5E2}.Debug|Win32.ActiveCfg = Debug|Win32\r
+ {3E11FF65-A9DA-4F80-87F2-A7C6379ED5E2}.Debug|Win32.Build.0 = Debug|Win32\r
+ {3E11FF65-A9DA-4F80-87F2-A7C6379ED5E2}.Develop|Win32.ActiveCfg = Develop|Win32\r
+ {3E11FF65-A9DA-4F80-87F2-A7C6379ED5E2}.Develop|Win32.Build.0 = Develop|Win32\r
+ {3E11FF65-A9DA-4F80-87F2-A7C6379ED5E2}.Profile|Win32.ActiveCfg = Profile|Win32\r
+ {3E11FF65-A9DA-4F80-87F2-A7C6379ED5E2}.Profile|Win32.Build.0 = Profile|Win32\r
+ {3E11FF65-A9DA-4F80-87F2-A7C6379ED5E2}.Release|Win32.ActiveCfg = Release|Win32\r
+ {3E11FF65-A9DA-4F80-87F2-A7C6379ED5E2}.Release|Win32.Build.0 = Release|Win32\r
EndGlobalSection\r
GlobalSection(SolutionProperties) = preSolution\r
HideSolutionNode = FALSE\r
EndGlobalSection\r
+ GlobalSection(NestedProjects) = preSolution\r
+ {69313D25-9F54-4FC9-9872-628A4DD79464} = {C54DA43E-4878-45DB-B76D-35970553672C}\r
+ {D3611658-8F54-43CF-B9AF-A5CF8C1102EA} = {C54DA43E-4878-45DB-B76D-35970553672C}\r
+ {F6223AF3-BE0B-4B61-8406-98922CE521C2} = {C54DA43E-4878-45DB-B76D-35970553672C}\r
+ {816DEABA-3757-4306-AFE0-C27CF96C4DEA} = {C54DA43E-4878-45DB-B76D-35970553672C}\r
+ {82ED7ED6-8A15-40EC-A8AF-F5E712E0DA68} = {C54DA43E-4878-45DB-B76D-35970553672C}\r
+ {88F974F0-D09F-4788-8CF8-F563209E60C1} = {C54DA43E-4878-45DB-B76D-35970553672C}\r
+ {B964D953-8882-454C-A935-DB711D697E39} = {C54DA43E-4878-45DB-B76D-35970553672C}\r
+ {3E11FF65-A9DA-4F80-87F2-A7C6379ED5E2} = {C54DA43E-4878-45DB-B76D-35970553672C}\r
+ EndGlobalSection\r
EndGlobal\r
<?xml version="1.0" encoding="utf-8"?>\r
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
<ItemGroup Label="ProjectConfigurations">\r
- <ProjectConfiguration Include="Amplify|Win32">\r
- <Configuration>Amplify</Configuration>\r
+ <ProjectConfiguration Include="Profile|Win32">\r
+ <Configuration>Profile</Configuration>\r
<Platform>Win32</Platform>\r
</ProjectConfiguration>\r
<ProjectConfiguration Include="Debug|Win32">\r
<WholeProgramOptimization>true</WholeProgramOptimization>\r
<CharacterSet>Unicode</CharacterSet>\r
</PropertyGroup>\r
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'" Label="Configuration">\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'" Label="Configuration">\r
<ConfigurationType>StaticLibrary</ConfigurationType>\r
<UseDebugLibraries>false</UseDebugLibraries>\r
<WholeProgramOptimization>true</WholeProgramOptimization>\r
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
</ImportGroup>\r
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'" Label="PropertySheets">\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'" Label="PropertySheets">\r
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
</ImportGroup>\r
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'" Label="PropertySheets">\r
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
<IncludePath>..\dependencies\BluefishSDK_V5_8_0_31\Inc\;..\dependencies\boost_1_44_0\;..\dependencies\ffmpeg 0.6\include\;..\dependencies\FreeImage\Dist\;..\dependencies\GLee5_4\;..\dependencies\SFML-1.6\include\;..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
<LibraryPath>..\dependencies\BluefishSDK_V5_8_0_31\Lib\;..\dependencies\boost_1_44_0\stage\lib\;..\dependencies\ffmpeg 0.6\lib\;..\dependencies\FreeImage\Dist\;..\dependencies\GLee5_4\;..\dependencies\SFML-1.6\lib\;..\dependencies\tbb30_20100406oss\lib\;$(LibraryPath)</LibraryPath>\r
- <OutDir>$(ProjectDir)debug\</OutDir>\r
- <IntDir>$(Configuration)\</IntDir>\r
+ <OutDir>$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <IntDir>$(ProjectDir)bin\$(Configuration)\</IntDir>\r
</PropertyGroup>\r
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
<IncludePath>..\dependencies\BluefishSDK_V5_8_0_31\Inc\;..\dependencies\boost_1_44_0\;..\dependencies\ffmpeg 0.6\include\;..\dependencies\FreeImage\Dist\;..\dependencies\GLee5_4\;..\dependencies\SFML-1.6\include\;..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
<LibraryPath>..\dependencies\BluefishSDK_V5_8_0_31\Lib\;..\dependencies\boost_1_44_0\stage\lib\;..\dependencies\ffmpeg 0.6\lib\;..\dependencies\FreeImage\Dist\;..\dependencies\GLee5_4\;..\dependencies\SFML-1.6\lib\;..\dependencies\tbb30_20100406oss\lib\;$(LibraryPath)</LibraryPath>\r
- <OutDir>$(ProjectDir)release\</OutDir>\r
- <IntDir>$(Configuration)\</IntDir>\r
+ <OutDir>$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <IntDir>$(ProjectDir)bin\$(Configuration)\</IntDir>\r
</PropertyGroup>\r
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">\r
<IncludePath>..\dependencies\BluefishSDK_V5_8_0_31\Inc\;..\dependencies\boost_1_44_0\;..\dependencies\ffmpeg 0.6\include\;..\dependencies\FreeImage\Dist\;..\dependencies\GLee5_4\;..\dependencies\SFML-1.6\include\;..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
<LibraryPath>..\dependencies\BluefishSDK_V5_8_0_31\Lib\;..\dependencies\boost_1_44_0\stage\lib\;..\dependencies\ffmpeg 0.6\lib\;..\dependencies\FreeImage\Dist\;..\dependencies\GLee5_4\;..\dependencies\SFML-1.6\lib\;..\dependencies\tbb30_20100406oss\lib\;$(LibraryPath)</LibraryPath>\r
- <OutDir>$(ProjectDir)release\</OutDir>\r
- <IntDir>$(Configuration)\</IntDir>\r
+ <OutDir>$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <IntDir>$(ProjectDir)bin\$(Configuration)\</IntDir>\r
</PropertyGroup>\r
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">\r
<IncludePath>..\dependencies\BluefishSDK_V5_8_0_31\Inc\;..\dependencies\boost_1_44_0\;..\dependencies\ffmpeg 0.6\include\;..\dependencies\FreeImage\Dist\;..\dependencies\GLee5_4\;..\dependencies\SFML-1.6\include\;..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
<LibraryPath>..\dependencies\BluefishSDK_V5_8_0_31\Lib\;..\dependencies\boost_1_44_0\stage\lib\;..\dependencies\ffmpeg 0.6\lib\;..\dependencies\FreeImage\Dist\;..\dependencies\GLee5_4\;..\dependencies\SFML-1.6\lib\;..\dependencies\tbb30_20100406oss\lib\;$(LibraryPath)</LibraryPath>\r
- <OutDir>$(ProjectDir)release\</OutDir>\r
- <IntDir>$(Configuration)\</IntDir>\r
+ <OutDir>$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <IntDir>$(ProjectDir)bin\$(Configuration)\</IntDir>\r
</PropertyGroup>\r
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
<ClCompile>\r
<PreBuildEvent>\r
<Command>"SubWCRev.exe" "$(SolutionDir)." "$(SolutionDir)\version.tmpl" "$(SolutionDir)\version.h"</Command>\r
</PreBuildEvent>\r
+ <Lib />\r
</ItemDefinitionGroup>\r
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
<ClCompile>\r
<PreBuildEvent>\r
<Command>"SubWCRev.exe" "$(SolutionDir)." "$(SolutionDir)\version.tmpl" "$(SolutionDir)\version.h"</Command>\r
</PreBuildEvent>\r
+ <Lib>\r
+ <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>\r
+ </Lib>\r
</ItemDefinitionGroup>\r
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">\r
<ClCompile>\r
<WarningLevel>Level3</WarningLevel>\r
<PrecompiledHeader>Use</PrecompiledHeader>\r
<PreBuildEvent>\r
<Command>"SubWCRev.exe" "$(SolutionDir)." "$(SolutionDir)\version.tmpl" "$(SolutionDir)\version.h"</Command>\r
</PreBuildEvent>\r
+ <Lib />\r
</ItemDefinitionGroup>\r
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">\r
<ClCompile>\r
<PreBuildEvent>\r
<Command>"SubWCRev.exe" "$(SolutionDir)." "$(SolutionDir)\version.tmpl" "$(SolutionDir)\version.h"</Command>\r
</PreBuildEvent>\r
+ <Lib />\r
</ItemDefinitionGroup>\r
<ItemGroup>\r
<ClInclude Include="compiler\vs\disable_silly_warnings.h" />\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
</ClCompile>\r
<ClCompile Include="exception\win32_exception.cpp">\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
</ClCompile>\r
<ClCompile Include="log\log.cpp">\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
</ClCompile>\r
<ClCompile Include="env.cpp" />\r
<ClCompile Include="stdafx.cpp">\r
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>\r
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>\r
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">Create</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">Create</PrecompiledHeader>\r
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">Create</PrecompiledHeader>\r
</ClCompile>\r
</ItemGroup>\r
<?xml version="1.0" encoding="utf-8"?>\r
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
<ItemGroup>\r
- <Filter Include="Source">\r
- <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>\r
- <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>\r
+ <Filter Include="compiler">\r
+ <UniqueIdentifier>{63471750-a430-4167-9b49-31b7a068a913}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Source\concurrency">\r
- <UniqueIdentifier>{644fe2e4-1199-4a0e-8d4c-63cf1ac82f1d}</UniqueIdentifier>\r
+ <Filter Include="compiler\vs">\r
+ <UniqueIdentifier>{28c25c8a-1277-4d2c-9e85-5af33f9938ea}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Source\exception">\r
- <UniqueIdentifier>{35ca385e-c4db-4fe7-858b-0a0bb678675f}</UniqueIdentifier>\r
+ <Filter Include="concurrency">\r
+ <UniqueIdentifier>{644fe2e4-1199-4a0e-8d4c-63cf1ac82f1d}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Source\log">\r
- <UniqueIdentifier>{3b529e9b-c729-4c8a-8166-0cb8d8030973}</UniqueIdentifier>\r
+ <Filter Include="diagnostics">\r
+ <UniqueIdentifier>{29a29bcc-a9a0-4083-b713-c3773d18e177}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Source\utility">\r
- <UniqueIdentifier>{11860e2d-8adf-4573-956b-785e59aef2b0}</UniqueIdentifier>\r
+ <Filter Include="exception">\r
+ <UniqueIdentifier>{35ca385e-c4db-4fe7-858b-0a0bb678675f}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Source\gl">\r
+ <Filter Include="gl">\r
<UniqueIdentifier>{0d94bbc2-e196-4618-a90b-19392a3a0a8e}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Source\compiler">\r
- <UniqueIdentifier>{63471750-a430-4167-9b49-31b7a068a913}</UniqueIdentifier>\r
- </Filter>\r
- <Filter Include="Source\compiler\vs">\r
- <UniqueIdentifier>{28c25c8a-1277-4d2c-9e85-5af33f9938ea}</UniqueIdentifier>\r
- </Filter>\r
- <Filter Include="Afx">\r
- <UniqueIdentifier>{9250809a-3410-418d-95ca-ff2dcb6f0578}</UniqueIdentifier>\r
+ <Filter Include="log">\r
+ <UniqueIdentifier>{3b529e9b-c729-4c8a-8166-0cb8d8030973}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Source\memory">\r
+ <Filter Include="memory">\r
<UniqueIdentifier>{9259676d-c225-4422-a50e-30d152d78dc2}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Source\diagnostics">\r
- <UniqueIdentifier>{29a29bcc-a9a0-4083-b713-c3773d18e177}</UniqueIdentifier>\r
+ <Filter Include="utility">\r
+ <UniqueIdentifier>{11860e2d-8adf-4573-956b-785e59aef2b0}</UniqueIdentifier>\r
</Filter>\r
</ItemGroup>\r
<ItemGroup>\r
<ClCompile Include="exception\win32_exception.cpp">\r
- <Filter>Source\exception</Filter>\r
- </ClCompile>\r
- <ClCompile Include="stdafx.cpp">\r
- <Filter>Afx</Filter>\r
+ <Filter>exception</Filter>\r
</ClCompile>\r
<ClCompile Include="log\log.cpp">\r
- <Filter>Source\log</Filter>\r
- </ClCompile>\r
- <ClCompile Include="env.cpp">\r
- <Filter>Source</Filter>\r
+ <Filter>log</Filter>\r
</ClCompile>\r
<ClCompile Include="diagnostics\graph.cpp">\r
- <Filter>Source\diagnostics</Filter>\r
+ <Filter>diagnostics</Filter>\r
</ClCompile>\r
+ <ClCompile Include="env.cpp" />\r
+ <ClCompile Include="stdafx.cpp" />\r
</ItemGroup>\r
<ItemGroup>\r
<ClInclude Include="exception\exceptions.h">\r
- <Filter>Source\exception</Filter>\r
+ <Filter>exception</Filter>\r
</ClInclude>\r
<ClInclude Include="exception\win32_exception.h">\r
- <Filter>Source\exception</Filter>\r
+ <Filter>exception</Filter>\r
</ClInclude>\r
<ClInclude Include="compiler\vs\disable_silly_warnings.h">\r
- <Filter>Source\compiler\vs</Filter>\r
- </ClInclude>\r
- <ClInclude Include="stdafx.h">\r
- <Filter>Afx</Filter>\r
+ <Filter>compiler\vs</Filter>\r
</ClInclude>\r
<ClInclude Include="concurrency\executor.h">\r
- <Filter>Source\concurrency</Filter>\r
+ <Filter>concurrency</Filter>\r
</ClInclude>\r
<ClInclude Include="log\log.h">\r
- <Filter>Source\log</Filter>\r
- </ClInclude>\r
- <ClInclude Include="utility\timer.h">\r
- <Filter>Source\utility</Filter>\r
+ <Filter>log</Filter>\r
</ClInclude>\r
<ClInclude Include="gl\gl_check.h">\r
- <Filter>Source\gl</Filter>\r
+ <Filter>gl</Filter>\r
</ClInclude>\r
<ClInclude Include="memory\page_locked_allocator.h">\r
- <Filter>Source\memory</Filter>\r
+ <Filter>memory</Filter>\r
</ClInclude>\r
<ClInclude Include="memory\safe_ptr.h">\r
- <Filter>Source\memory</Filter>\r
+ <Filter>memory</Filter>\r
</ClInclude>\r
- <ClInclude Include="env.h">\r
- <Filter>Source</Filter>\r
+ <ClInclude Include="diagnostics\graph.h">\r
+ <Filter>diagnostics</Filter>\r
</ClInclude>\r
+ <ClInclude Include="stdafx.h" />\r
+ <ClInclude Include="env.h" />\r
<ClInclude Include="utility\assert.h">\r
- <Filter>Source\utility</Filter>\r
+ <Filter>utility</Filter>\r
</ClInclude>\r
- <ClInclude Include="diagnostics\graph.h">\r
- <Filter>Source\diagnostics</Filter>\r
+ <ClInclude Include="utility\printer.h">\r
+ <Filter>utility</Filter>\r
</ClInclude>\r
<ClInclude Include="utility\string.h">\r
- <Filter>Source\utility</Filter>\r
+ <Filter>utility</Filter>\r
</ClInclude>\r
- <ClInclude Include="utility\printer.h">\r
- <Filter>Source\utility</Filter>\r
+ <ClInclude Include="utility\timer.h">\r
+ <Filter>utility</Filter>\r
</ClInclude>\r
</ItemGroup>\r
</Project>
\ No newline at end of file
{\r
RaiseException( 0x406D1388, 0, sizeof(info)/sizeof(DWORD), (DWORD*)&info );\r
}\r
- __except (EXCEPTION_CONTINUE_EXECUTION)\r
- {\r
- } \r
+ __except (EXCEPTION_CONTINUE_EXECUTION){} \r
}\r
\r
}\r
\r
class executor : boost::noncopyable\r
{\r
+ const std::string name_;\r
+ boost::thread thread_;\r
+ tbb::atomic<bool> is_running_;\r
+ tbb::concurrent_bounded_queue<std::function<void()>> execution_queue_;\r
public:\r
\r
explicit executor(const std::wstring& name = L"executor") : name_(narrow(name))\r
detail::SetThreadName(GetCurrentThreadId(), name_.c_str());\r
while(is_running_)\r
execute();\r
- }\r
- \r
- std::string name_;\r
- boost::thread thread_;\r
- tbb::atomic<bool> is_running_;\r
- tbb::concurrent_bounded_queue<std::function<void()>> execution_queue_;\r
+ } \r
};\r
\r
}
\ No newline at end of file
#include <crtdbg.h>\r
#endif\r
\r
-#include <winsock2.h>\r
#include <tchar.h>\r
#include <sstream>\r
#include <memory>\r
#include <boost/range/algorithm.hpp>\r
#include <boost/signals2.hpp>\r
\r
-#include <GLee.h>\r
-\r
-#include <SFML/Window.hpp>\r
-#include <SFML/Audio.hpp>\r
-\r
-#include "../common/utility/string.h"\r
-#include "../common/memory/safe_ptr.h"\r
+#include <common/utility/string.h>\r
+#include <common/memory/safe_ptr.h>\r
//#include "../common/concurrency/executor.h" // Can't include this due to MSVC lambda bug\r
\r
-#include "../common/log/Log.h"\r
-#include "../common/exception/exceptions.h"\r
-#include "../common/exception/win32_exception.h"\r
-\r
-#include <assert.h>\r
+#include <common/log/log.h>\r
+#include <common/exception/exceptions.h>\r
+#include <common/exception/win32_exception.h>\r
+#include <common/utility/assert.h>\r
\r
#endif\r
+++ /dev/null
-#pragma once\r
-\r
-#include "../../video_format.h"\r
-\r
-#include "DeckLinkAPI_h.h"\r
-\r
-namespace caspar { namespace core {\r
- \r
-static BMDDisplayMode GetDecklinkVideoFormat(video_format::type fmt) \r
-{\r
- switch(fmt)\r
- {\r
- case video_format::pal: return bmdModePAL;\r
- case video_format::ntsc: return bmdModeNTSC;\r
- case video_format::x576p2500: return (BMDDisplayMode)ULONG_MAX;\r
- case video_format::x720p2500: return (BMDDisplayMode)ULONG_MAX;\r
- case video_format::x720p5000: return bmdModeHD720p50;\r
- case video_format::x720p5994: return bmdModeHD720p5994;\r
- case video_format::x720p6000: return bmdModeHD720p60;\r
- case video_format::x1080p2397: return bmdModeHD1080p2398;\r
- case video_format::x1080p2400: return bmdModeHD1080p24;\r
- case video_format::x1080i5000: return bmdModeHD1080i50;\r
- case video_format::x1080i5994: return bmdModeHD1080i5994;\r
- case video_format::x1080i6000: return bmdModeHD1080i6000;\r
- case video_format::x1080p2500: return bmdModeHD1080p25;\r
- case video_format::x1080p2997: return bmdModeHD1080p2997;\r
- case video_format::x1080p3000: return bmdModeHD1080p30;\r
- default: return (BMDDisplayMode)ULONG_MAX;\r
- }\r
-}\r
- \r
-static IDeckLinkDisplayMode* get_display_mode(IDeckLinkOutput* output, BMDDisplayMode format)\r
-{\r
- IDeckLinkDisplayModeIterator* iterator;\r
- IDeckLinkDisplayMode* mode;\r
- \r
- if(FAILED(output->GetDisplayModeIterator(&iterator)))\r
- return nullptr;\r
-\r
- while(SUCCEEDED(iterator->Next(&mode)) && mode != nullptr)\r
- { \r
- if(mode->GetDisplayMode() == format)\r
- return mode;\r
- }\r
- iterator->Release();\r
- return nullptr;\r
-}\r
-\r
-static IDeckLinkDisplayMode* get_display_mode(IDeckLinkOutput* output, video_format::type fmt)\r
-{\r
- return get_display_mode(output, GetDecklinkVideoFormat(fmt));\r
-}\r
-\r
-template<typename T>\r
-static std::wstring get_version(T& deckLinkIterator)\r
-{\r
- IDeckLinkAPIInformation* deckLinkAPIInformation;\r
- if (FAILED(deckLinkIterator->QueryInterface(IID_IDeckLinkAPIInformation, (void**)&deckLinkAPIInformation)))\r
- return L"Unknown";\r
- \r
- BSTR ver; \r
- deckLinkAPIInformation->GetString(BMDDeckLinkAPIVersion, &ver);\r
- deckLinkAPIInformation->Release(); \r
- \r
- return ver; \r
-}\r
-\r
-}}
\ No newline at end of file
--- /dev/null
+#include "../StdAfx.h"\r
+\r
+#include "frame_consumer.h"\r
+\r
+#include <common/memory/safe_ptr.h>\r
+\r
+#include <tbb/spin_rw_mutex.h>\r
+\r
+namespace caspar { namespace core {\r
+ \r
+std::vector<const consumer_factory_t> c_factories;\r
+tbb::spin_rw_mutex c_factories_mutex;\r
+\r
+void register_consumer_factory(const consumer_factory_t& factory)\r
+{\r
+ tbb::spin_rw_mutex::scoped_lock(c_factories_mutex, true);\r
+ c_factories.push_back(factory);\r
+}\r
+\r
+safe_ptr<core::frame_consumer> create_consumer(const std::vector<std::wstring>& params)\r
+{\r
+ if(params.empty())\r
+ BOOST_THROW_EXCEPTION(invalid_argument() << arg_name_info("params") << arg_value_info(""));\r
+ \r
+ tbb::spin_rw_mutex::scoped_lock(c_factories_mutex, false);\r
+ auto consumer = frame_consumer::empty();\r
+ std::any_of(c_factories.begin(), c_factories.end(), [&](const consumer_factory_t& factory) -> bool\r
+ {\r
+ try\r
+ {\r
+ consumer = factory(params);\r
+ }\r
+ catch(...)\r
+ {\r
+ CASPAR_LOG_CURRENT_EXCEPTION();\r
+ }\r
+ return consumer != frame_consumer::empty();\r
+ });\r
+\r
+ if(consumer == frame_consumer::empty())\r
+ BOOST_THROW_EXCEPTION(file_not_found() << msg_info("No match found for supplied commands. Check syntax."));\r
+\r
+ return consumer;\r
+}\r
+\r
+}}
\ No newline at end of file
#include <boost/noncopyable.hpp>\r
\r
#include <string>\r
+#include <vector>\r
\r
namespace caspar { namespace core {\r
\r
}\r
};\r
\r
+typedef std::function<safe_ptr<core::frame_consumer>(const std::vector<std::wstring>&)> consumer_factory_t;\r
+\r
+void register_consumer_factory(const consumer_factory_t& factory);\r
+safe_ptr<core::frame_consumer> create_consumer(const std::vector<std::wstring>& params);\r
+\r
}}
\ No newline at end of file
}\r
};\r
\r
-frame_consumer_device::frame_consumer_device(frame_consumer_device&& other) : impl_(std::move(other.impl_)){}\r
frame_consumer_device::frame_consumer_device(const printer& parent_printer, const video_format_desc& format_desc) : impl_(new implementation(parent_printer, format_desc)){}\r
void frame_consumer_device::add(int index, safe_ptr<frame_consumer>&& consumer){impl_->add(index, std::move(consumer));}\r
void frame_consumer_device::remove(int index){impl_->remove(index);}\r
{\r
public:\r
explicit frame_consumer_device(const printer& parent_printer, const video_format_desc& format_desc);\r
- frame_consumer_device(frame_consumer_device&& other);\r
\r
void add(int index, safe_ptr<frame_consumer>&& consumer);\r
void remove(int index);\r
<?xml version="1.0" encoding="utf-8"?>\r
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
<ItemGroup Label="ProjectConfigurations">\r
- <ProjectConfiguration Include="Amplify|Win32">\r
- <Configuration>Amplify</Configuration>\r
+ <ProjectConfiguration Include="Profile|Win32">\r
+ <Configuration>Profile</Configuration>\r
<Platform>Win32</Platform>\r
</ProjectConfiguration>\r
<ProjectConfiguration Include="Debug|Win32">\r
<CharacterSet>Unicode</CharacterSet>\r
<WholeProgramOptimization>false</WholeProgramOptimization>\r
</PropertyGroup>\r
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'" Label="Configuration">\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'" Label="Configuration">\r
<ConfigurationType>StaticLibrary</ConfigurationType>\r
<CharacterSet>Unicode</CharacterSet>\r
<WholeProgramOptimization>false</WholeProgramOptimization>\r
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />\r
</ImportGroup>\r
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'" Label="PropertySheets">\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'" Label="PropertySheets">\r
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />\r
</ImportGroup>\r
<PropertyGroup Label="UserMacros" />\r
<PropertyGroup>\r
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\r
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\</IntDir>\r
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</IntDir>\r
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">$(Configuration)\</IntDir>\r
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">$(Configuration)\</IntDir>\r
- <IncludePath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\;..\common;..\dependencies\BluefishSDK_V5_8_0_31\Inc\;..\dependencies\boost_1_44_0\;..\dependencies\ffmpeg 0.6\include\;..\dependencies\FreeImage\Dist\;..\dependencies\GLee5_4\;..\dependencies\SFML-1.6\include\;..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
- <IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\;..\common;..\dependencies\BluefishSDK_V5_8_0_31\Inc\;..\dependencies\boost_1_44_0\;..\dependencies\ffmpeg 0.6\include\;..\dependencies\FreeImage\Dist\;..\dependencies\GLee5_4\;..\dependencies\SFML-1.6\include\;..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
- <IncludePath Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">..\;..\common;..\dependencies\BluefishSDK_V5_8_0_31\Inc\;..\dependencies\boost_1_44_0\;..\dependencies\ffmpeg 0.6\include\;..\dependencies\FreeImage\Dist\;..\dependencies\GLee5_4\;..\dependencies\SFML-1.6\include\;..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
- <IncludePath Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">..\;..\common;..\dependencies\BluefishSDK_V5_8_0_31\Inc\;..\dependencies\boost_1_44_0\;..\dependencies\ffmpeg 0.6\include\;..\dependencies\FreeImage\Dist\;..\dependencies\GLee5_4\;..\dependencies\SFML-1.6\include\;..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)bin\$(Configuration)\</IntDir>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)bin\$(Configuration)\</IntDir>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">$(ProjectDir)bin\$(Configuration)\</IntDir>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">$(ProjectDir)bin\$(Configuration)\</IntDir>\r
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\;..\dependencies\boost_1_44_0\;..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\;..\dependencies\boost_1_44_0\;..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">..\;..\dependencies\boost_1_44_0\;..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">..\;..\dependencies\boost_1_44_0\;..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
<LibraryPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\dependencies\BluefishSDK_V5_8_0_31\Lib\;..\dependencies\boost_1_44_0\stage\lib\;..\dependencies\ffmpeg 0.6\lib\;..\dependencies\FreeImage\Dist\;..\dependencies\GLee5_4\;..\dependencies\SFML-1.6\lib\;..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
<LibraryPath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\dependencies\BluefishSDK_V5_8_0_31\Lib\;..\dependencies\boost_1_44_0\stage\lib\;..\dependencies\ffmpeg 0.6\lib\;..\dependencies\FreeImage\Dist\;..\dependencies\GLee5_4\;..\dependencies\SFML-1.6\lib\;..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
- <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">..\dependencies\BluefishSDK_V5_8_0_31\Lib\;..\dependencies\boost_1_44_0\stage\lib\;..\dependencies\ffmpeg 0.6\lib\;..\dependencies\FreeImage\Dist\;..\dependencies\GLee5_4\;..\dependencies\SFML-1.6\lib\;..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
+ <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">..\dependencies\BluefishSDK_V5_8_0_31\Lib\;..\dependencies\boost_1_44_0\stage\lib\;..\dependencies\ffmpeg 0.6\lib\;..\dependencies\FreeImage\Dist\;..\dependencies\GLee5_4\;..\dependencies\SFML-1.6\lib\;..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
<LibraryPath Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">..\dependencies\BluefishSDK_V5_8_0_31\Lib\;..\dependencies\boost_1_44_0\stage\lib\;..\dependencies\ffmpeg 0.6\lib\;..\dependencies\FreeImage\Dist\;..\dependencies\GLee5_4\;..\dependencies\SFML-1.6\lib\;..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)debug\</OutDir>\r
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)release\</OutDir>\r
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">$(ProjectDir)release\</OutDir>\r
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">$(ProjectDir)release\</OutDir>\r
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">$(ProjectDir)bin\$(Configuration)\</OutDir>\r
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectName)</TargetName>\r
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectName)</TargetName>\r
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">$(ProjectName)</TargetName>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">$(ProjectName)</TargetName>\r
<TargetName Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">$(ProjectName)</TargetName>\r
</PropertyGroup>\r
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
<FloatingPointModel>Fast</FloatingPointModel>\r
<ForcedIncludeFiles>common/compiler/vs/disable_silly_warnings.h</ForcedIncludeFiles>\r
</ClCompile>\r
- <Link>\r
- <AdditionalDependencies>BlueHancUtils_d.lib;sfml-audio-d.lib;sfml-window-d.lib;sfml-graphics-d.lib;OpenGL32.lib;FreeImage.lib;GLee.lib;Winmm.lib;Ws2_32.lib;BlueVelvet3_d.lib;avformat-52.lib;avcodec-52.lib;avutil-50.lib;swscale-0.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
- <Version>\r
- </Version>\r
- <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
- <IgnoreSpecificDefaultLibraries>LIBC.LIB;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>\r
- <GenerateDebugInformation>true</GenerateDebugInformation>\r
- <ProgramDatabaseFile>$(TargetDir)$(TargetName).pdb</ProgramDatabaseFile>\r
- <GenerateMapFile>true</GenerateMapFile>\r
- <MapFileName>\r
- </MapFileName>\r
- <SubSystem>Console</SubSystem>\r
- <RandomizedBaseAddress>false</RandomizedBaseAddress>\r
- <DataExecutionPrevention>\r
- </DataExecutionPrevention>\r
- <TargetMachine>MachineX86</TargetMachine>\r
- </Link>\r
<PostBuildEvent>\r
<Command>\r
</Command>\r
</PostBuildEvent>\r
+ <Lib />\r
</ItemDefinitionGroup>\r
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
<PreBuildEvent>\r
<FloatingPointModel>Fast</FloatingPointModel>\r
<ForcedIncludeFiles>common/compiler/vs/disable_silly_warnings.h</ForcedIncludeFiles>\r
</ClCompile>\r
- <PreLinkEvent>\r
- <Command>\r
- </Command>\r
- </PreLinkEvent>\r
- <Link>\r
- <AdditionalDependencies>BlueHancUtils.lib;sfml-audio.lib;sfml-window.lib;sfml-graphics.lib;OpenGL32.lib;FreeImage.lib;Winmm.lib;Ws2_32.lib;Bluevelvet3.lib;avformat-52.lib;avcodec-52.lib;avutil-50.lib;SWSCALE-0.lib;tbb.lib;Glee.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
- <Version>\r
- </Version>\r
- <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
- <IgnoreSpecificDefaultLibraries>LIBC.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>\r
- <GenerateDebugInformation>true</GenerateDebugInformation>\r
- <GenerateMapFile>true</GenerateMapFile>\r
- <MapExports>true</MapExports>\r
- <SubSystem>Console</SubSystem>\r
- <OptimizeReferences>\r
- </OptimizeReferences>\r
- <EnableCOMDATFolding>\r
- </EnableCOMDATFolding>\r
- <RandomizedBaseAddress>false</RandomizedBaseAddress>\r
- <FixedBaseAddress>false</FixedBaseAddress>\r
- <DataExecutionPrevention>\r
- </DataExecutionPrevention>\r
- <TargetMachine>MachineX86</TargetMachine>\r
- </Link>\r
<PostBuildEvent>\r
<Command>\r
</Command>\r
</PostBuildEvent>\r
+ <Lib>\r
+ <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>\r
+ </Lib>\r
</ItemDefinitionGroup>\r
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">\r
<PreBuildEvent>\r
<Command>\r
</Command>\r
</Command>\r
</PreLinkEvent>\r
<Link>\r
- <AdditionalDependencies>BlueHancUtils.lib;sfml-audio.lib;sfml-window.lib;sfml-graphics.lib;OpenGL32.lib;FreeImage.lib;Winmm.lib;Ws2_32.lib;Bluevelvet3.lib;avformat-52.lib;avcodec-52.lib;avutil-50.lib;SWSCALE-0.lib;tbb.lib;Glee.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+ <AdditionalDependencies>FreeImage.lib;tbb.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
<Version>\r
</Version>\r
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
<Command>\r
</Command>\r
</PostBuildEvent>\r
+ <Lib />\r
</ItemDefinitionGroup>\r
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">\r
<PreBuildEvent>\r
<Command>\r
</Command>\r
</PreLinkEvent>\r
- <Link>\r
- <AdditionalDependencies>BlueHancUtils.lib;sfml-audio.lib;sfml-window.lib;sfml-graphics.lib;OpenGL32.lib;FreeImage.lib;Winmm.lib;Ws2_32.lib;Bluevelvet3.lib;avformat-52.lib;avcodec-52.lib;avutil-50.lib;SWSCALE-0.lib;tbb.lib;Glee.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
- <Version>\r
- </Version>\r
- <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
- <IgnoreSpecificDefaultLibraries>LIBC.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>\r
- <GenerateDebugInformation>true</GenerateDebugInformation>\r
- <GenerateMapFile>true</GenerateMapFile>\r
- <MapExports>true</MapExports>\r
- <SubSystem>Console</SubSystem>\r
- <OptimizeReferences>\r
- </OptimizeReferences>\r
- <EnableCOMDATFolding>\r
- </EnableCOMDATFolding>\r
- <RandomizedBaseAddress>false</RandomizedBaseAddress>\r
- <FixedBaseAddress>false</FixedBaseAddress>\r
- <DataExecutionPrevention>\r
- </DataExecutionPrevention>\r
- <TargetMachine>MachineX86</TargetMachine>\r
- </Link>\r
<PostBuildEvent>\r
<Command>\r
</Command>\r
</PostBuildEvent>\r
+ <Lib />\r
</ItemDefinitionGroup>\r
<ItemGroup>\r
<ClInclude Include="channel.h" />\r
- <ClInclude Include="consumer\bluefish\memory.h" />\r
- <ClInclude Include="consumer\bluefish\bluefish_consumer.h" />\r
- <ClInclude Include="consumer\bluefish\util.h" />\r
- <ClInclude Include="consumer\decklink\decklink_consumer.h" />\r
- <ClInclude Include="consumer\decklink\util.h" />\r
- <ClInclude Include="consumer\ffmpeg\ffmpeg_consumer.h" />\r
<ClInclude Include="consumer\frame_consumer_device.h" />\r
- <ClInclude Include="consumer\decklink\DeckLinkAPI_h.h" />\r
<ClInclude Include="consumer\frame_consumer.h" />\r
- <ClInclude Include="consumer\oal\oal_consumer.h" />\r
- <ClInclude Include="consumer\ogl\ogl_consumer.h" />\r
<ClInclude Include="producer\color\color_producer.h" />\r
- <ClInclude Include="producer\decklink\decklink_producer.h" />\r
- <ClInclude Include="producer\ffmpeg\audio\audio_decoder.h" />\r
- <ClInclude Include="producer\ffmpeg\ffmpeg_producer.h" />\r
- <ClInclude Include="producer\ffmpeg\input.h" />\r
- <ClInclude Include="producer\ffmpeg\video\video_decoder.h" />\r
- <ClInclude Include="producer\flash\axflash.h" />\r
- <ClInclude Include="producer\flash\cg_producer.h" />\r
- <ClInclude Include="producer\flash\FlashAxContainer.h" />\r
- <ClInclude Include="producer\flash\flash_producer.h" />\r
- <ClInclude Include="producer\flash\TimerHelper.h" />\r
<ClInclude Include="producer\frame_producer.h" />\r
<ClInclude Include="producer\frame_producer_device.h" />\r
- <ClInclude Include="producer\image\image_loader.h" />\r
- <ClInclude Include="producer\image\image_producer.h" />\r
- <ClInclude Include="producer\image\image_scroll_producer.h" />\r
<ClInclude Include="producer\layer.h" />\r
- <ClInclude Include="producer\silverlight\silverlight_producer.h" />\r
- <ClInclude Include="producer\silverlight\XcpControlHost.h" />\r
- <ClInclude Include="producer\silverlight\xcpctrl.h" />\r
- <ClInclude Include="producer\silverlight\xcpctrl_h.h" />\r
- <ClInclude Include="producer\silverlight\XcpPropertyBag.h" />\r
<ClInclude Include="producer\transition\transition_producer.h" />\r
<ClInclude Include="video_format.h" />\r
<CustomBuildStep Include="consumers\bluefish\BluefishException.h" />\r
</ItemGroup>\r
<ItemGroup>\r
<ClCompile Include="channel.cpp" />\r
- <ClCompile Include="consumer\bluefish\bluefish_consumer.cpp">\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- </ClCompile>\r
- <ClCompile Include="consumer\decklink\decklink_consumer.cpp">\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- </ClCompile>\r
- <ClCompile Include="consumer\ffmpeg\ffmpeg_consumer.cpp">\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
+ <ClCompile Include="consumer\frame_consumer.cpp">\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
</ClCompile>\r
<ClCompile Include="consumer\frame_consumer_device.cpp">\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
</ClCompile>\r
- <ClCompile Include="consumer\decklink\DeckLinkAPI_i.c">\r
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>\r
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>\r
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">NotUsing</PrecompiledHeader>\r
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">NotUsing</PrecompiledHeader>\r
- </ClCompile>\r
- <ClCompile Include="consumer\oal\oal_consumer.cpp">\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- </ClCompile>\r
- <ClCompile Include="consumer\ogl\ogl_consumer.cpp">\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- </ClCompile>\r
<ClCompile Include="producer\color\color_producer.cpp">\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- </ClCompile>\r
- <ClCompile Include="producer\decklink\decklink_producer.cpp">\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
</ClCompile>\r
- <ClCompile Include="producer\ffmpeg\audio\audio_decoder.cpp">\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../stdafx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../stdafx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../../../stdafx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../../../stdafx.h</PrecompiledHeaderFile>\r
- </ClCompile>\r
- <ClCompile Include="producer\ffmpeg\ffmpeg_producer.cpp">\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- </ClCompile>\r
- <ClCompile Include="producer\ffmpeg\input.cpp">\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- </ClCompile>\r
- <ClCompile Include="producer\ffmpeg\video\video_decoder.cpp">\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../stdafx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../../../stdafx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../../../stdafx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../stdafx.h</PrecompiledHeaderFile>\r
- </ClCompile>\r
- <ClCompile Include="producer\flash\cg_producer.cpp">\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../stdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../stdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../../stdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../../stdAfx.h</PrecompiledHeaderFile>\r
- </ClCompile>\r
- <ClCompile Include="producer\flash\Flash9e_i.c">\r
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>\r
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">NotUsing</PrecompiledHeader>\r
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">NotUsing</PrecompiledHeader>\r
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>\r
- </ClCompile>\r
- <ClCompile Include="producer\flash\FlashAxContainer.cpp">\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../stdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../stdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../../stdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../../stdAfx.h</PrecompiledHeaderFile>\r
- </ClCompile>\r
- <ClCompile Include="producer\flash\flash_producer.cpp">\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../stdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../stdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../../stdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../../stdAfx.h</PrecompiledHeaderFile>\r
+ <ClCompile Include="producer\frame_producer.cpp">\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
</ClCompile>\r
<ClCompile Include="producer\frame_producer_device.cpp">\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
</ClCompile>\r
- <ClCompile Include="producer\image\image_loader.cpp">\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- </ClCompile>\r
- <ClCompile Include="producer\image\image_producer.cpp">\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- </ClCompile>\r
- <ClCompile Include="producer\image\image_scroll_producer.cpp">\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">true</ExcludedFromBuild>\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">true</ExcludedFromBuild>\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="producer\layer.cpp">\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PreprocessToFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</PreprocessToFile>\r
</ClCompile>\r
- <ClCompile Include="producer\silverlight\silverlight_producer.cpp">\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">true</ExcludedFromBuild>\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">true</ExcludedFromBuild>\r
- </ClCompile>\r
- <ClCompile Include="producer\silverlight\XcpControlHost.cpp">\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>\r
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>\r
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">NotUsing</PrecompiledHeader>\r
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">NotUsing</PrecompiledHeader>\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">true</ExcludedFromBuild>\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">true</ExcludedFromBuild>\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
- </ClCompile>\r
- <ClCompile Include="producer\silverlight\xcpctrl_i.c">\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>\r
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>\r
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">NotUsing</PrecompiledHeader>\r
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">NotUsing</PrecompiledHeader>\r
- </ClCompile>\r
- <ClCompile Include="producer\silverlight\xcpctrl_p.c">\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">true</ExcludedFromBuild>\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">true</ExcludedFromBuild>\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>\r
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>\r
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">NotUsing</PrecompiledHeader>\r
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">NotUsing</PrecompiledHeader>\r
- </ClCompile>\r
- <ClCompile Include="producer\silverlight\XcpPropertyBag.cpp">\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>\r
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>\r
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">NotUsing</PrecompiledHeader>\r
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">NotUsing</PrecompiledHeader>\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">true</ExcludedFromBuild>\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">true</ExcludedFromBuild>\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="producer\transition\transition_producer.cpp">\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
</ClCompile>\r
<ClCompile Include="StdAfx.cpp">\r
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>\r
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>\r
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">Create</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">Create</PrecompiledHeader>\r
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">Create</PrecompiledHeader>\r
</ClCompile>\r
<ClCompile Include="video_format.cpp" />\r
</ItemGroup>\r
- <ItemGroup>\r
- <Midl Include="consumer\decklink\DeckLinkAPI.idl">\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">true</ExcludedFromBuild>\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">true</ExcludedFromBuild>\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
- </Midl>\r
- <Midl Include="consumer\decklink\DeckLinkAPI_v7_1.idl">\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">true</ExcludedFromBuild>\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">true</ExcludedFromBuild>\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
- </Midl>\r
- <Midl Include="consumer\decklink\DeckLinkAPI_v7_3.idl">\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">true</ExcludedFromBuild>\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">true</ExcludedFromBuild>\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
- </Midl>\r
- <Midl Include="consumer\decklink\DeckLinkAPI_v7_6.idl">\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">true</ExcludedFromBuild>\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">true</ExcludedFromBuild>\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
- </Midl>\r
- <Midl Include="producer\flash\Flash9e.IDL">\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">true</ExcludedFromBuild>\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">true</ExcludedFromBuild>\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
- </Midl>\r
- <Midl Include="producer\silverlight\xcpctrl.idl">\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">true</ExcludedFromBuild>\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">true</ExcludedFromBuild>\r
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
- </Midl>\r
- </ItemGroup>\r
- <ItemGroup>\r
- <None Include="My Amplifier Results\r000hs\r000hs.ampl" />\r
- <None Include="My Amplifier Results\r001lw\r001lw.ampl" />\r
- <None Include="My Amplifier Results\r002lw\r002lw.ampl" />\r
- <None Include="My Amplifier Results\r003lw\r003lw.ampl" />\r
- <None Include="My Amplifier Results\r004hs\r004hs.ampl" />\r
- <None Include="My Amplifier Results\r005hs\r005hs.ampl" />\r
- <None Include="My Amplifier Results\r006hs\r006hs.ampl" />\r
- </ItemGroup>\r
<ItemGroup>\r
<ProjectReference Include="..\common\common.vcxproj">\r
<Project>{02308602-7fe0-4253-b96e-22134919f56a}</Project>\r
<?xml version="1.0" encoding="utf-8"?>\r
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
<ItemGroup>\r
- <Filter Include="Source">\r
- <UniqueIdentifier>{0361bd88-1d96-4d86-b3ad-34d40e2319c6}</UniqueIdentifier>\r
- </Filter>\r
- <Filter Include="My Amplifier Results">\r
- <UniqueIdentifier>{bb801cd9-8dc8-4300-a5c7-a7f5ee0805fb}</UniqueIdentifier>\r
- </Filter>\r
- <Filter Include="Afx">\r
- <UniqueIdentifier>{a15604fc-d914-48e1-8fd5-ae1edeba9c6c}</UniqueIdentifier>\r
- </Filter>\r
- <Filter Include="Source\consumer">\r
+ <Filter Include="consumer">\r
<UniqueIdentifier>{35d7835f-f813-4b4b-8d8d-8a35dfef68d3}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Source\consumer\oal">\r
- <UniqueIdentifier>{3dab53b0-e0ef-4431-8c1d-9a973b269ae7}</UniqueIdentifier>\r
- </Filter>\r
- <Filter Include="Source\consumer\ogl">\r
- <UniqueIdentifier>{7217dee5-b7ca-4128-9994-03a844c06903}</UniqueIdentifier>\r
- </Filter>\r
- <Filter Include="Source\consumer\bluefish">\r
- <UniqueIdentifier>{89e746b3-5d4d-4ff2-a66e-279b5371ac9d}</UniqueIdentifier>\r
- </Filter>\r
- <Filter Include="Source\consumer\decklink">\r
- <UniqueIdentifier>{aa3626b2-ad7a-4e84-8867-0f5868a21567}</UniqueIdentifier>\r
- </Filter>\r
- <Filter Include="Source\consumer\decklink\interop">\r
- <UniqueIdentifier>{a5cb89d7-dbbb-4fca-b899-f53a069727b4}</UniqueIdentifier>\r
- </Filter>\r
- <Filter Include="Source\producer">\r
+ <Filter Include="producer">\r
<UniqueIdentifier>{71accefc-1437-4e1d-9ff7-9de654a32df9}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Source\producer\ffmpeg">\r
- <UniqueIdentifier>{671d13be-c7e1-4f65-9909-03b7c8adcbde}</UniqueIdentifier>\r
- </Filter>\r
- <Filter Include="Source\producer\ffmpeg\video">\r
- <UniqueIdentifier>{a6d6bcc9-7ef1-47a3-9800-76e71f2b3f62}</UniqueIdentifier>\r
- </Filter>\r
- <Filter Include="Source\producer\ffmpeg\audio">\r
- <UniqueIdentifier>{4031dc0c-88e9-46b5-b279-955639dca8b7}</UniqueIdentifier>\r
- </Filter>\r
- <Filter Include="Source\producer\ffmpeg\io">\r
- <UniqueIdentifier>{eaa43a39-9ff0-4291-b717-4d4231d8295a}</UniqueIdentifier>\r
- </Filter>\r
- <Filter Include="Source\producer\color">\r
- <UniqueIdentifier>{78b16c14-bf29-4511-9122-684ff513dbf5}</UniqueIdentifier>\r
- </Filter>\r
- <Filter Include="Source\producer\transition">\r
+ <Filter Include="producer\transition">\r
<UniqueIdentifier>{26bf9811-1954-46f5-86ce-ecdc26e6db16}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Source\producer\image">\r
- <UniqueIdentifier>{3d4314f3-8a39-44e3-a0c9-9b833bb8f809}</UniqueIdentifier>\r
- </Filter>\r
- <Filter Include="Source\producer\decklink">\r
- <UniqueIdentifier>{3685fbd9-c2ff-495c-9864-6b0c5778d852}</UniqueIdentifier>\r
- </Filter>\r
- <Filter Include="Source\producer\flash">\r
- <UniqueIdentifier>{fc25232a-cab1-4c79-962a-b51dc51161fb}</UniqueIdentifier>\r
- </Filter>\r
- <Filter Include="Source\producer\flash\interop">\r
- <UniqueIdentifier>{f99e4727-2b1b-4009-a445-99b11b071e8e}</UniqueIdentifier>\r
- </Filter>\r
- <Filter Include="Source\consumer\ffmpeg">\r
- <UniqueIdentifier>{b651856c-ff7e-4f90-be8a-32aba6094dbd}</UniqueIdentifier>\r
- </Filter>\r
- <Filter Include="Source\producer\silverlight">\r
- <UniqueIdentifier>{72cb7c9e-3b8c-4a45-8ee5-26f3dd091928}</UniqueIdentifier>\r
- </Filter>\r
- <Filter Include="Source\producer\silverlight\interop">\r
- <UniqueIdentifier>{865b1b03-83c0-4c59-b896-f98cd3323c00}</UniqueIdentifier>\r
+ <Filter Include="producer\color">\r
+ <UniqueIdentifier>{78b16c14-bf29-4511-9122-684ff513dbf5}</UniqueIdentifier>\r
</Filter>\r
</ItemGroup>\r
<ItemGroup>\r
- <ClInclude Include="consumer\decklink\DeckLinkAPI_h.h">\r
- <Filter>Source\consumer\decklink\interop</Filter>\r
- </ClInclude>\r
- <ClInclude Include="producer\color\color_producer.h">\r
- <Filter>Source\producer\color</Filter>\r
- </ClInclude>\r
- <ClInclude Include="producer\ffmpeg\ffmpeg_producer.h">\r
- <Filter>Source\producer\ffmpeg</Filter>\r
- </ClInclude>\r
- <ClInclude Include="producer\image\image_loader.h">\r
- <Filter>Source\producer\image</Filter>\r
- </ClInclude>\r
- <ClInclude Include="producer\image\image_producer.h">\r
- <Filter>Source\producer\image</Filter>\r
- </ClInclude>\r
- <ClInclude Include="producer\image\image_scroll_producer.h">\r
- <Filter>Source\producer\image</Filter>\r
- </ClInclude>\r
<ClInclude Include="producer\transition\transition_producer.h">\r
- <Filter>Source\producer\transition</Filter>\r
- </ClInclude>\r
- <ClInclude Include="producer\frame_producer.h">\r
- <Filter>Source\producer</Filter>\r
- </ClInclude>\r
- <ClInclude Include="producer\flash\cg_producer.h">\r
- <Filter>Source\producer\flash</Filter>\r
- </ClInclude>\r
- <ClInclude Include="producer\flash\flash_producer.h">\r
- <Filter>Source\producer\flash</Filter>\r
- </ClInclude>\r
- <ClInclude Include="producer\flash\FlashAxContainer.h">\r
- <Filter>Source\producer\flash\interop</Filter>\r
- </ClInclude>\r
- <ClInclude Include="consumer\bluefish\util.h">\r
- <Filter>Source\consumer\bluefish</Filter>\r
- </ClInclude>\r
- <ClInclude Include="consumer\bluefish\memory.h">\r
- <Filter>Source\consumer\bluefish</Filter>\r
- </ClInclude>\r
- <ClInclude Include="consumer\ogl\ogl_consumer.h">\r
- <Filter>Source\consumer\ogl</Filter>\r
- </ClInclude>\r
- <ClInclude Include="consumer\oal\oal_consumer.h">\r
- <Filter>Source\consumer\oal</Filter>\r
- </ClInclude>\r
- <ClInclude Include="consumer\bluefish\bluefish_consumer.h">\r
- <Filter>Source\consumer\bluefish</Filter>\r
- </ClInclude>\r
- <ClInclude Include="consumer\frame_consumer.h">\r
- <Filter>Source\consumer</Filter>\r
+ <Filter>producer\transition</Filter>\r
</ClInclude>\r
+ <ClInclude Include="video_format.h" />\r
+ <ClInclude Include="producer\layer.h" />\r
+ <ClInclude Include="channel.h" />\r
+ <ClInclude Include="StdAfx.h" />\r
<ClInclude Include="consumer\frame_consumer_device.h">\r
- <Filter>Source\consumer</Filter>\r
- </ClInclude>\r
- <ClInclude Include="consumer\decklink\decklink_consumer.h">\r
- <Filter>Source\consumer\decklink</Filter>\r
- </ClInclude>\r
- <ClInclude Include="consumer\decklink\util.h">\r
- <Filter>Source\consumer\decklink</Filter>\r
- </ClInclude>\r
- <ClInclude Include="producer\ffmpeg\audio\audio_decoder.h">\r
- <Filter>Source\producer\ffmpeg\audio</Filter>\r
- </ClInclude>\r
- <ClInclude Include="producer\ffmpeg\input.h">\r
- <Filter>Source\producer\ffmpeg\io</Filter>\r
- </ClInclude>\r
- <ClInclude Include="producer\ffmpeg\video\video_decoder.h">\r
- <Filter>Source\producer\ffmpeg\video</Filter>\r
+ <Filter>consumer</Filter>\r
</ClInclude>\r
- <ClInclude Include="StdAfx.h">\r
- <Filter>Afx</Filter>\r
- </ClInclude>\r
- <ClInclude Include="producer\flash\axflash.h">\r
- <Filter>Source\producer\flash\interop</Filter>\r
- </ClInclude>\r
- <ClInclude Include="producer\flash\TimerHelper.h">\r
- <Filter>Source\producer\flash\interop</Filter>\r
- </ClInclude>\r
- <ClInclude Include="video_format.h">\r
- <Filter>Source</Filter>\r
- </ClInclude>\r
- <ClInclude Include="channel.h">\r
- <Filter>Source</Filter>\r
- </ClInclude>\r
- <ClInclude Include="producer\decklink\decklink_producer.h">\r
- <Filter>Source\producer\decklink</Filter>\r
- </ClInclude>\r
- <ClInclude Include="consumer\ffmpeg\ffmpeg_consumer.h">\r
- <Filter>Source\consumer\ffmpeg</Filter>\r
+ <ClInclude Include="consumer\frame_consumer.h">\r
+ <Filter>consumer</Filter>\r
</ClInclude>\r
<ClInclude Include="producer\frame_producer_device.h">\r
- <Filter>Source\producer</Filter>\r
- </ClInclude>\r
- <ClInclude Include="producer\layer.h">\r
- <Filter>Source\producer</Filter>\r
- </ClInclude>\r
- <ClInclude Include="producer\silverlight\silverlight_producer.h">\r
- <Filter>Source\producer\silverlight</Filter>\r
- </ClInclude>\r
- <ClInclude Include="producer\silverlight\XcpPropertyBag.h">\r
- <Filter>Source\producer\silverlight\interop</Filter>\r
- </ClInclude>\r
- <ClInclude Include="producer\silverlight\XcpControlHost.h">\r
- <Filter>Source\producer\silverlight\interop</Filter>\r
+ <Filter>producer</Filter>\r
</ClInclude>\r
- <ClInclude Include="producer\silverlight\xcpctrl.h">\r
- <Filter>Source\producer\silverlight\interop</Filter>\r
+ <ClInclude Include="producer\frame_producer.h">\r
+ <Filter>producer</Filter>\r
</ClInclude>\r
- <ClInclude Include="producer\silverlight\xcpctrl_h.h">\r
- <Filter>Source\producer\silverlight\interop</Filter>\r
+ <ClInclude Include="producer\color\color_producer.h">\r
+ <Filter>producer\color</Filter>\r
</ClInclude>\r
</ItemGroup>\r
<ItemGroup>\r
- <ClCompile Include="consumer\decklink\DeckLinkAPI_i.c">\r
- <Filter>Source\consumer\decklink\interop</Filter>\r
- </ClCompile>\r
- <ClCompile Include="producer\color\color_producer.cpp">\r
- <Filter>Source\producer\color</Filter>\r
- </ClCompile>\r
- <ClCompile Include="producer\ffmpeg\ffmpeg_producer.cpp">\r
- <Filter>Source\producer\ffmpeg</Filter>\r
- </ClCompile>\r
- <ClCompile Include="producer\image\image_loader.cpp">\r
- <Filter>Source\producer\image</Filter>\r
- </ClCompile>\r
- <ClCompile Include="producer\image\image_producer.cpp">\r
- <Filter>Source\producer\image</Filter>\r
- </ClCompile>\r
- <ClCompile Include="producer\image\image_scroll_producer.cpp">\r
- <Filter>Source\producer\image</Filter>\r
- </ClCompile>\r
<ClCompile Include="producer\transition\transition_producer.cpp">\r
- <Filter>Source\producer\transition</Filter>\r
- </ClCompile>\r
- <ClCompile Include="producer\flash\cg_producer.cpp">\r
- <Filter>Source\producer\flash</Filter>\r
- </ClCompile>\r
- <ClCompile Include="producer\flash\flash_producer.cpp">\r
- <Filter>Source\producer\flash</Filter>\r
+ <Filter>producer\transition</Filter>\r
</ClCompile>\r
- <ClCompile Include="producer\flash\FlashAxContainer.cpp">\r
- <Filter>Source\producer\flash\interop</Filter>\r
- </ClCompile>\r
- <ClCompile Include="consumer\ogl\ogl_consumer.cpp">\r
- <Filter>Source\consumer\ogl</Filter>\r
- </ClCompile>\r
- <ClCompile Include="consumer\oal\oal_consumer.cpp">\r
- <Filter>Source\consumer\oal</Filter>\r
- </ClCompile>\r
- <ClCompile Include="consumer\bluefish\bluefish_consumer.cpp">\r
- <Filter>Source\consumer\bluefish</Filter>\r
+ <ClCompile Include="producer\layer.cpp" />\r
+ <ClCompile Include="channel.cpp" />\r
+ <ClCompile Include="StdAfx.cpp" />\r
+ <ClCompile Include="video_format.cpp" />\r
+ <ClCompile Include="consumer\frame_consumer.cpp">\r
+ <Filter>consumer</Filter>\r
</ClCompile>\r
<ClCompile Include="consumer\frame_consumer_device.cpp">\r
- <Filter>Source\consumer</Filter>\r
- </ClCompile>\r
- <ClCompile Include="consumer\decklink\decklink_consumer.cpp">\r
- <Filter>Source\consumer\decklink</Filter>\r
- </ClCompile>\r
- <ClCompile Include="producer\ffmpeg\audio\audio_decoder.cpp">\r
- <Filter>Source\producer\ffmpeg\audio</Filter>\r
- </ClCompile>\r
- <ClCompile Include="producer\ffmpeg\input.cpp">\r
- <Filter>Source\producer\ffmpeg\io</Filter>\r
- </ClCompile>\r
- <ClCompile Include="producer\ffmpeg\video\video_decoder.cpp">\r
- <Filter>Source\producer\ffmpeg\video</Filter>\r
- </ClCompile>\r
- <ClCompile Include="StdAfx.cpp">\r
- <Filter>Afx</Filter>\r
- </ClCompile>\r
- <ClCompile Include="producer\flash\Flash9e_i.c">\r
- <Filter>Source\producer\flash\interop</Filter>\r
- </ClCompile>\r
- <ClCompile Include="video_format.cpp">\r
- <Filter>Source</Filter>\r
- </ClCompile>\r
- <ClCompile Include="channel.cpp">\r
- <Filter>Source</Filter>\r
+ <Filter>consumer</Filter>\r
</ClCompile>\r
- <ClCompile Include="producer\decklink\decklink_producer.cpp">\r
- <Filter>Source\producer\decklink</Filter>\r
- </ClCompile>\r
- <ClCompile Include="consumer\ffmpeg\ffmpeg_consumer.cpp">\r
- <Filter>Source\consumer\ffmpeg</Filter>\r
+ <ClCompile Include="producer\frame_producer.cpp">\r
+ <Filter>producer</Filter>\r
</ClCompile>\r
<ClCompile Include="producer\frame_producer_device.cpp">\r
- <Filter>Source\producer</Filter>\r
- </ClCompile>\r
- <ClCompile Include="producer\layer.cpp">\r
- <Filter>Source\producer</Filter>\r
- </ClCompile>\r
- <ClCompile Include="producer\silverlight\silverlight_producer.cpp">\r
- <Filter>Source\producer\silverlight</Filter>\r
- </ClCompile>\r
- <ClCompile Include="producer\silverlight\XcpControlHost.cpp">\r
- <Filter>Source\producer\silverlight\interop</Filter>\r
- </ClCompile>\r
- <ClCompile Include="producer\silverlight\xcpctrl_i.c">\r
- <Filter>Source\producer\silverlight\interop</Filter>\r
- </ClCompile>\r
- <ClCompile Include="producer\silverlight\xcpctrl_p.c">\r
- <Filter>Source\producer\silverlight\interop</Filter>\r
+ <Filter>producer</Filter>\r
</ClCompile>\r
- <ClCompile Include="producer\silverlight\XcpPropertyBag.cpp">\r
- <Filter>Source\producer\silverlight\interop</Filter>\r
+ <ClCompile Include="producer\color\color_producer.cpp">\r
+ <Filter>producer\color</Filter>\r
</ClCompile>\r
</ItemGroup>\r
- <ItemGroup>\r
- <Midl Include="producer\flash\Flash9e.IDL">\r
- <Filter>Source\producer\flash\interop</Filter>\r
- </Midl>\r
- <Midl Include="consumer\decklink\DeckLinkAPI_v7_6.idl">\r
- <Filter>Source\consumer\decklink\interop</Filter>\r
- </Midl>\r
- <Midl Include="consumer\decklink\DeckLinkAPI.idl">\r
- <Filter>Source\consumer\decklink\interop</Filter>\r
- </Midl>\r
- <Midl Include="consumer\decklink\DeckLinkAPI_v7_1.idl">\r
- <Filter>Source\consumer\decklink\interop</Filter>\r
- </Midl>\r
- <Midl Include="consumer\decklink\DeckLinkAPI_v7_3.idl">\r
- <Filter>Source\consumer\decklink\interop</Filter>\r
- </Midl>\r
- <Midl Include="producer\silverlight\xcpctrl.idl">\r
- <Filter>Source\producer\silverlight\interop</Filter>\r
- </Midl>\r
- </ItemGroup>\r
- <ItemGroup>\r
- <None Include="My Amplifier Results\r000hs\r000hs.ampl">\r
- <Filter>My Amplifier Results</Filter>\r
- </None>\r
- <None Include="My Amplifier Results\r001lw\r001lw.ampl">\r
- <Filter>My Amplifier Results</Filter>\r
- </None>\r
- <None Include="My Amplifier Results\r002lw\r002lw.ampl">\r
- <Filter>My Amplifier Results</Filter>\r
- </None>\r
- <None Include="My Amplifier Results\r003lw\r003lw.ampl">\r
- <Filter>My Amplifier Results</Filter>\r
- </None>\r
- <None Include="My Amplifier Results\r004hs\r004hs.ampl">\r
- <Filter>My Amplifier Results</Filter>\r
- </None>\r
- <None Include="My Amplifier Results\r005hs\r005hs.ampl">\r
- <Filter>My Amplifier Results</Filter>\r
- </None>\r
- <None Include="My Amplifier Results\r006hs\r006hs.ampl">\r
- <Filter>My Amplifier Results</Filter>\r
- </None>\r
- </ItemGroup>\r
</Project>
\ No newline at end of file
return make_safe<color_producer>(params[0]);\r
}\r
\r
+volatile struct reg\r
+{\r
+ reg(){register_producer_factory(create_color_producer);}\r
+} my_reg;\r
+\r
}}
\ No newline at end of file
+++ /dev/null
-#include "../../../stdafx.h"\r
-\r
-#include "audio_decoder.h"\r
-\r
-#if defined(_MSC_VER)\r
-#pragma warning (push)\r
-#pragma warning (disable : 4244)\r
-#endif\r
-extern "C" \r
-{\r
- #define __STDC_CONSTANT_MACROS\r
- #define __STDC_LIMIT_MACROS\r
- #include <libavformat/avformat.h>\r
- #include <libavcodec/avcodec.h>\r
-}\r
-#if defined(_MSC_VER)\r
-#pragma warning (pop)\r
-#endif\r
-\r
-namespace caspar { namespace core { namespace ffmpeg{\r
-\r
-struct audio_decoder::implementation : boost::noncopyable\r
-{\r
- typedef std::vector<short, tbb::cache_aligned_allocator<short>> buffer;\r
- \r
- AVCodecContext* codec_context_;\r
-\r
- buffer audio_buffer_; \r
- buffer current_chunk_;\r
-\r
- const size_t audio_frame_size_;\r
-\r
- static const size_t SAMPLE_RATE = 48000;\r
- static const size_t N_CHANNELS = 2;\r
-\r
-public:\r
- explicit implementation(AVCodecContext* codec_context, double fps) \r
- : codec_context_(codec_context)\r
- , audio_buffer_(4*SAMPLE_RATE*2+FF_INPUT_BUFFER_PADDING_SIZE/2)\r
- , audio_frame_size_(static_cast<size_t>(static_cast<double>(SAMPLE_RATE) / fps) * N_CHANNELS)\r
- {\r
- if(!codec_context)\r
- BOOST_THROW_EXCEPTION(null_argument() << arg_name_info("codec_context")); \r
- }\r
- \r
- std::vector<std::vector<short>> execute(const aligned_buffer& audio_packet)\r
- { \r
- int written_bytes = audio_buffer_.size()*2 - FF_INPUT_BUFFER_PADDING_SIZE;\r
- const int result = avcodec_decode_audio2(codec_context_, audio_buffer_.data(), &written_bytes, audio_packet.data(), audio_packet.size());\r
-\r
- if(result <= 0 || codec_context_->sample_rate != SAMPLE_RATE || codec_context_->channels != 2)\r
- BOOST_THROW_EXCEPTION(invalid_operation() << msg_info("Invalid audio stream"));\r
- \r
- current_chunk_.insert(current_chunk_.end(), audio_buffer_.data(), audio_buffer_.data() + written_bytes/2);\r
-\r
- std::vector<std::vector<short>> chunks_;\r
- \r
- const auto last = current_chunk_.end() - current_chunk_.size() % audio_frame_size_;\r
-\r
- for(auto it = current_chunk_.begin(); it != last; it += audio_frame_size_) \r
- chunks_.push_back(std::vector<short>(it, it + audio_frame_size_)); \r
-\r
- current_chunk_.erase(current_chunk_.begin(), last);\r
- \r
- return chunks_;\r
- }\r
-};\r
-\r
-audio_decoder::audio_decoder(AVCodecContext* codec_context, double fps) : impl_(new implementation(codec_context, fps)){}\r
-std::vector<std::vector<short>> audio_decoder::execute(const aligned_buffer& audio_packet){return impl_->execute(audio_packet);}\r
-}}}
\ No newline at end of file
+++ /dev/null
-#pragma once\r
-\r
-#include <tbb/cache_aligned_allocator.h>\r
-\r
-#include <boost/noncopyable.hpp>\r
-\r
-#include <memory>\r
-#include <vector>\r
-\r
-struct AVCodecContext;\r
-\r
-namespace caspar { namespace core { namespace ffmpeg{ \r
- \r
-typedef std::vector<unsigned char, tbb::cache_aligned_allocator<unsigned char>> aligned_buffer;\r
-\r
-class audio_decoder : boost::noncopyable\r
-{\r
-public:\r
- explicit audio_decoder(AVCodecContext* codec_context, double fps);\r
- std::vector<std::vector<short>> execute(const aligned_buffer& audio_packet);\r
-private:\r
- struct implementation;\r
- std::shared_ptr<implementation> impl_;\r
-};\r
-\r
-}}}
\ No newline at end of file
+++ /dev/null
-#pragma once\r
-\r
-#include "../frame_producer.h"\r
-\r
-#include <common/memory/safe_ptr.h>\r
-\r
-#include <string>\r
-#include <vector>\r
-\r
-namespace caspar { namespace core { namespace ffmpeg {\r
- \r
-safe_ptr<frame_producer> create_ffmpeg_producer(const std::vector<std::wstring>& params);\r
-\r
-}}}
\ No newline at end of file
+++ /dev/null
-#include "../../../stdafx.h"\r
-\r
-#include "video_decoder.h"\r
-\r
-#include <common/memory/safe_ptr.h>\r
-\r
-#include <core/video_format.h>\r
-\r
-#include <mixer/frame/draw_frame.h>\r
-#include <mixer/image/image_transform.h>\r
-\r
-#include <tbb/parallel_for.h>\r
-\r
-#include <algorithm>\r
-\r
-#if defined(_MSC_VER)\r
-#pragma warning (push)\r
-#pragma warning (disable : 4244)\r
-#endif\r
-extern "C" \r
-{\r
- #define __STDC_CONSTANT_MACROS\r
- #define __STDC_LIMIT_MACROS\r
- #include <libswscale/swscale.h>\r
- #include <libavformat/avformat.h>\r
-}\r
-#if defined(_MSC_VER)\r
-#pragma warning (pop)\r
-#endif\r
-\r
-namespace caspar { namespace core { namespace ffmpeg {\r
- \r
-pixel_format::type get_pixel_format(PixelFormat pix_fmt)\r
-{\r
- switch(pix_fmt)\r
- {\r
- case PIX_FMT_BGRA: return pixel_format::bgra;\r
- case PIX_FMT_ARGB: return pixel_format::argb;\r
- case PIX_FMT_RGBA: return pixel_format::rgba;\r
- case PIX_FMT_ABGR: return pixel_format::abgr;\r
- case PIX_FMT_YUV444P: return pixel_format::ycbcr;\r
- case PIX_FMT_YUV422P: return pixel_format::ycbcr;\r
- case PIX_FMT_YUV420P: return pixel_format::ycbcr;\r
- case PIX_FMT_YUV411P: return pixel_format::ycbcr;\r
- case PIX_FMT_YUV410P: return pixel_format::ycbcr;\r
- case PIX_FMT_YUVA420P: return pixel_format::ycbcra;\r
- default: return pixel_format::invalid;\r
- }\r
-}\r
-\r
-pixel_format_desc get_pixel_format_desc(PixelFormat pix_fmt, size_t width, size_t height)\r
-{\r
- // Get linesizes\r
- AVPicture dummy_pict; \r
- avpicture_fill(&dummy_pict, nullptr, pix_fmt, width, height);\r
-\r
- pixel_format_desc desc;\r
- desc.pix_fmt = get_pixel_format(pix_fmt);\r
- \r
- switch(desc.pix_fmt)\r
- {\r
- case pixel_format::bgra:\r
- case pixel_format::argb:\r
- case pixel_format::rgba:\r
- case pixel_format::abgr:\r
- {\r
- desc.planes.push_back(pixel_format_desc::plane(dummy_pict.linesize[0]/4, height, 4)); \r
- return desc;\r
- }\r
- case pixel_format::ycbcr:\r
- case pixel_format::ycbcra:\r
- { \r
- // Find chroma height\r
- size_t size2 = dummy_pict.data[2] - dummy_pict.data[1];\r
- size_t h2 = size2/dummy_pict.linesize[1]; \r
-\r
- desc.planes.push_back(pixel_format_desc::plane(dummy_pict.linesize[0], height, 1));\r
- desc.planes.push_back(pixel_format_desc::plane(dummy_pict.linesize[1], h2, 1));\r
- desc.planes.push_back(pixel_format_desc::plane(dummy_pict.linesize[2], h2, 1));\r
-\r
- if(desc.pix_fmt == pixel_format::ycbcra) \r
- desc.planes.push_back(pixel_format_desc::plane(dummy_pict.linesize[3], height, 1)); \r
- return desc;\r
- } \r
- default: \r
- desc.pix_fmt = pixel_format::invalid;\r
- return desc;\r
- }\r
-}\r
-\r
-struct video_decoder::implementation : boost::noncopyable\r
-{ \r
- std::shared_ptr<frame_factory> frame_factory_;\r
- std::shared_ptr<SwsContext> sws_context_;\r
-\r
- AVCodecContext* codec_context_;\r
-\r
- const int width_;\r
- const int height_;\r
- const PixelFormat pix_fmt_;\r
- pixel_format_desc desc_;\r
-\r
-public:\r
- explicit implementation(AVCodecContext* codec_context, const safe_ptr<frame_factory>& frame_factory) \r
- : frame_factory_(frame_factory)\r
- , codec_context_(codec_context)\r
- , width_(codec_context_->width)\r
- , height_(codec_context_->height)\r
- , pix_fmt_(codec_context_->pix_fmt)\r
- , desc_(get_pixel_format_desc(pix_fmt_, width_, height_))\r
- {\r
- double frame_time = static_cast<double>(codec_context_->time_base.num) / static_cast<double>(codec_context_->time_base.den);\r
- double format_frame_time = 1.0/frame_factory->get_video_format_desc().fps;\r
- if(abs(frame_time - format_frame_time) > 0.0001)\r
- BOOST_THROW_EXCEPTION(file_read_error() << msg_info("Invalid video framerate.") << arg_value_info(boost::lexical_cast<std::string>(frame_time)));\r
-\r
- if(desc_.pix_fmt == pixel_format::invalid)\r
- {\r
- CASPAR_LOG(warning) << "Hardware accelerated color transform not supported.";\r
-\r
- desc_ = get_pixel_format_desc(PIX_FMT_BGRA, width_, height_);\r
- double param;\r
- sws_context_.reset(sws_getContext(width_, height_, pix_fmt_, width_, height_, PIX_FMT_BGRA, SWS_BILINEAR, nullptr, nullptr, ¶m), sws_freeContext);\r
- if(!sws_context_)\r
- BOOST_THROW_EXCEPTION(operation_failed() <<\r
- msg_info("Could not create software scaling context.") << \r
- boost::errinfo_api_function("sws_getContext"));\r
- }\r
- }\r
- \r
- safe_ptr<write_frame> execute(const aligned_buffer& video_packet)\r
- { \r
- safe_ptr<AVFrame> decoded_frame(avcodec_alloc_frame(), av_free);\r
-\r
- int frame_finished = 0;\r
- const int result = avcodec_decode_video(codec_context_, decoded_frame.get(), &frame_finished, video_packet.data(), video_packet.size());\r
- \r
- if(result < 0)\r
- BOOST_THROW_EXCEPTION(invalid_operation() << msg_info("avcodec_decode_video failed"));\r
- \r
- auto write = frame_factory_->create_frame(desc_);\r
- if(sws_context_ == nullptr)\r
- {\r
- tbb::parallel_for(0, static_cast<int>(desc_.planes.size()), 1, [&](int n)\r
- {\r
- auto plane = desc_.planes[n];\r
- auto result = write->image_data(n).begin();\r
- auto decoded = decoded_frame->data[n];\r
- auto decoded_linesize = decoded_frame->linesize[n];\r
- \r
- tbb::parallel_for(0, static_cast<int>(desc_.planes[n].height), 1, [&](int y)\r
- {\r
- std::copy_n(decoded + y*decoded_linesize, plane.linesize, result + y*plane.linesize);\r
- });\r
- });\r
- }\r
- else\r
- {\r
- safe_ptr<AVFrame> av_frame(avcodec_alloc_frame(), av_free); \r
- avcodec_get_frame_defaults(av_frame.get()); \r
- avpicture_fill(reinterpret_cast<AVPicture*>(av_frame.get()), write->image_data().begin(), PIX_FMT_BGRA, width_, height_);\r
- \r
- sws_scale(sws_context_.get(), decoded_frame->data, decoded_frame->linesize, 0, height_, av_frame->data, av_frame->linesize); \r
- } \r
-\r
- if(codec_context_->codec_id == CODEC_ID_DVVIDEO && frame_factory_->get_video_format_desc().mode == video_mode::upper)\r
- write->get_image_transform().set_fill_translation(0.0f, 1.0/static_cast<double>(height_));\r
-\r
- return write;\r
- }\r
-};\r
-\r
-video_decoder::video_decoder(AVCodecContext* codec_context, const safe_ptr<frame_factory>& frame_factory) : impl_(new implementation(codec_context, frame_factory)){}\r
-safe_ptr<write_frame> video_decoder::execute(const aligned_buffer& video_packet){return impl_->execute(video_packet);}\r
-}}}
\ No newline at end of file
+++ /dev/null
-#pragma once\r
-\r
-#include <common/memory/safe_ptr.h>\r
-\r
-#include <mixer/frame_mixer_device.h>\r
-\r
-struct AVCodecContext;\r
-\r
-namespace caspar { namespace core { namespace ffmpeg {\r
- \r
-typedef std::vector<unsigned char, tbb::cache_aligned_allocator<unsigned char>> aligned_buffer;\r
-\r
-class video_decoder : boost::noncopyable\r
-{\r
-public:\r
- explicit video_decoder(AVCodecContext* codec_context, const safe_ptr<frame_factory>& frame_factory);\r
- safe_ptr<write_frame> execute(const aligned_buffer& video_packet); \r
-private:\r
- struct implementation;\r
- safe_ptr<implementation> impl_;\r
-};\r
-\r
-}}}
\ No newline at end of file
--- /dev/null
+#include "../StdAfx.h"\r
+\r
+#include "frame_producer.h"\r
+\r
+#include <common/memory/safe_ptr.h>\r
+\r
+#include <tbb/spin_rw_mutex.h>\r
+\r
+namespace caspar { namespace core {\r
+ \r
+std::vector<const producer_factory_t> p_factories;\r
+tbb::spin_rw_mutex p_factories_mutex;\r
+\r
+void register_producer_factory(const producer_factory_t& factory)\r
+{\r
+ tbb::spin_rw_mutex::scoped_lock(p_factories_mutex, true);\r
+ p_factories.push_back(factory);\r
+}\r
+\r
+safe_ptr<core::frame_producer> create_producer(const std::vector<std::wstring>& params)\r
+{\r
+ if(params.empty())\r
+ BOOST_THROW_EXCEPTION(invalid_argument() << arg_name_info("params") << arg_value_info(""));\r
+ \r
+ tbb::spin_rw_mutex::scoped_lock(p_factories_mutex, false);\r
+ auto producer = frame_producer::empty();\r
+ std::any_of(p_factories.begin(), p_factories.end(), [&](const producer_factory_t& factory) -> bool\r
+ {\r
+ try\r
+ {\r
+ producer = factory(params);\r
+ }\r
+ catch(...)\r
+ {\r
+ CASPAR_LOG_CURRENT_EXCEPTION();\r
+ }\r
+ return producer != frame_producer::empty();\r
+ });\r
+\r
+ if(producer == frame_producer::empty())\r
+ BOOST_THROW_EXCEPTION(file_not_found() << msg_info("No match found for supplied commands. Check syntax."));\r
+\r
+ return producer;\r
+}\r
+\r
+}}
\ No newline at end of file
*/\r
#pragma once\r
\r
-#include "../mixer/frame/draw_frame.h"\r
-#include "../mixer/frame_factory.h"\r
-\r
#include <common/memory/safe_ptr.h>\r
#include <common/utility/printer.h>\r
\r
+#include <mixer/frame/draw_frame.h>\r
+#include <mixer/frame_factory.h>\r
+\r
#include <boost/noncopyable.hpp>\r
\r
#include <string>\r
return out;\r
}\r
\r
+typedef std::function<safe_ptr<core::frame_producer>(const std::vector<std::wstring>&)> producer_factory_t;\r
+\r
+void register_producer_factory(const producer_factory_t& factory);\r
+safe_ptr<core::frame_producer> create_producer(const std::vector<std::wstring>& params);\r
+\r
+\r
}}\r
\r
#include "frame_producer_device.h"\r
\r
-#include "../mixer/frame/draw_frame.h"\r
-#include "../mixer/frame_factory.h"\r
+#include <mixer/frame/draw_frame.h>\r
+#include <mixer/frame_factory.h>\r
\r
#include "layer.h"\r
\r
+++ /dev/null
-#pragma once\r
-\r
-#include "../frame_producer.h"\r
-\r
-#include <string>\r
-#include <vector>\r
-\r
-namespace caspar { namespace core { namespace image {\r
-\r
-safe_ptr<frame_producer> create_image_producer(const std::vector<std::wstring>& params);\r
-\r
-std::wstring get_image_version();\r
-\r
-}}}
\ No newline at end of file
\r
double dir = info_.direction == transition_direction::from_left ? 1.0 : -1.0; \r
\r
- // For interalced transitions; seperate fields into seperate frames which are transitioned accordingly.\r
-\r
+ // For interlaced transitions. Seperate fields into seperate frames which are transitioned accordingly.\r
+ \r
auto s_frame1 = make_safe<draw_frame>(src_frame);\r
auto s_frame2 = make_safe<draw_frame>(src_frame);\r
\r
- s_frame1->get_audio_transform().set_gain(0);\r
+ s_frame1->get_audio_transform().set_has_audio(false);\r
s_frame2->get_audio_transform().set_gain(1.0-alpha);\r
\r
auto d_frame1 = make_safe<draw_frame>(dest_frame);\r
auto d_frame2 = make_safe<draw_frame>(dest_frame);\r
\r
- d_frame1->get_audio_transform().set_gain(0);\r
+ d_frame1->get_audio_transform().set_has_audio(false);\r
d_frame2->get_audio_transform().set_gain(alpha);\r
\r
if(info_.type == transition::mix)\r
d_frame2->get_image_transform().set_key_scale(alpha, 1.0); \r
}\r
\r
- return draw_frame(draw_frame::interlace(s_frame1, s_frame2, format_desc_.mode), draw_frame::interlace(d_frame1, d_frame2, format_desc_.mode));\r
+ auto s_frame = s_frame1->get_image_transform() == s_frame2->get_image_transform() ? s_frame2 : draw_frame::interlace(s_frame1, s_frame2, format_desc_.mode);\r
+ auto d_frame = draw_frame::interlace(d_frame1, d_frame2, format_desc_.mode);\r
+\r
+ return draw_frame(s_frame, d_frame);\r
}\r
\r
std::wstring print() const\r
#include <crtdbg.h>\r
#endif\r
\r
-#include <winsock2.h>\r
-#include <tchar.h>\r
-#include <sstream>\r
#include <memory>\r
#include <functional>\r
#include <algorithm>\r
#include <boost/range/algorithm.hpp>\r
#include <boost/signals2.hpp>\r
\r
-#include <GLee.h>\r
-\r
-#include <SFML/Window.hpp>\r
-\r
#include <common/utility/string.h>\r
#include <common/memory/safe_ptr.h>\r
//#include <common/concurrency/executor.h> // Can't include this due to MSVC lambda bug\r
#include <common/log/Log.h>\r
#include <common/exception/exceptions.h>\r
#include <common/exception/win32_exception.h>\r
-\r
-#include <assert.h>\r
+#include <common/utility/assert.h>\r
\r
void process(const std::vector<short>& audio_data, int tag)\r
{ \r
+ if(!transform_stack_.top().get_has_audio())\r
+ return;\r
+\r
if(audio_data_.empty())\r
audio_data_.resize(audio_data.size(), 0);\r
\r
namespace caspar { namespace core {\r
\r
audio_transform::audio_transform()\r
- : gain_(1.0){}\r
+ : gain_(1.0)\r
+ , audio_(true){}\r
\r
void audio_transform::set_gain(double value)\r
{\r
return gain_;\r
}\r
\r
+void audio_transform::set_has_audio(bool value)\r
+{\r
+ audio_ = value;\r
+}\r
+\r
+bool audio_transform::get_has_audio() const\r
+{\r
+ return audio_;\r
+}\r
+\r
audio_transform& audio_transform::operator*=(const audio_transform &other) \r
{\r
gain_ *= other.gain_;\r
+ audio_ &= other.audio_;\r
return *this;\r
}\r
\r
{\r
audio_transform result;\r
result.set_gain(mix(lhs.get_gain(), rhs.get_gain(), alpha));\r
+ result.set_has_audio(lhs.get_has_audio() || rhs.get_has_audio());\r
return result;\r
}\r
\r
\r
void set_gain(double value);\r
double get_gain() const;\r
+ \r
+ void set_has_audio(bool value);\r
+ bool get_has_audio() const;\r
\r
audio_transform& operator*=(const audio_transform &other);\r
const audio_transform operator*(const audio_transform &other) const;\r
private:\r
double gain_;\r
+ bool audio_;\r
};\r
\r
audio_transform lerp(const audio_transform& lhs, const audio_transform& rhs, float alpha);\r
\r
#include "draw_frame.h"\r
\r
-#include "../../core/video_format.h"\r
+#include <common/memory/safe_ptr.h>\r
+#include <core/video_format.h>\r
\r
#include <boost/noncopyable.hpp>\r
#include <boost/range/iterator_range.hpp>\r
return frame;\r
}\r
\r
+ void remove_audio();\r
+ void remove_image();\r
+\r
virtual void process_image(image_mixer& mixer);\r
virtual void process_audio(audio_mixer& mixer);\r
\r
<?xml version="1.0" encoding="utf-8"?>\r
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
<ItemGroup Label="ProjectConfigurations">\r
- <ProjectConfiguration Include="Amplify|Win32">\r
- <Configuration>Amplify</Configuration>\r
+ <ProjectConfiguration Include="Profile|Win32">\r
+ <Configuration>Profile</Configuration>\r
<Platform>Win32</Platform>\r
</ProjectConfiguration>\r
<ProjectConfiguration Include="Debug|Win32">\r
<ClCompile Include="audio\audio_mixer.cpp">\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
</ClCompile>\r
<ClCompile Include="audio\audio_transform.cpp">\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
</ClCompile>\r
<ClCompile Include="frame\draw_frame.cpp">\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
</ClCompile>\r
<ClCompile Include="frame\read_frame.cpp">\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
</ClCompile>\r
<ClCompile Include="frame\write_frame.cpp">\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
</ClCompile>\r
<ClCompile Include="frame_mixer_device.cpp" />\r
<ClCompile Include="gpu\device_buffer.cpp">\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
</ClCompile>\r
<ClCompile Include="gpu\host_buffer.cpp">\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
</ClCompile>\r
<ClCompile Include="gpu\ogl_device.cpp">\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
</ClCompile>\r
<ClCompile Include="image\image_kernel.cpp">\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
</ClCompile>\r
<ClCompile Include="image\image_mixer.cpp">\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
</ClCompile>\r
<ClCompile Include="image\image_transform.cpp">\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
</ClCompile>\r
<ClCompile Include="StdAfx.cpp">\r
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>\r
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">Create</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">Create</PrecompiledHeader>\r
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">Create</PrecompiledHeader>\r
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>\r
</ClCompile>\r
<WholeProgramOptimization>true</WholeProgramOptimization>\r
<CharacterSet>Unicode</CharacterSet>\r
</PropertyGroup>\r
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'" Label="Configuration">\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'" Label="Configuration">\r
<ConfigurationType>StaticLibrary</ConfigurationType>\r
<UseDebugLibraries>false</UseDebugLibraries>\r
<WholeProgramOptimization>true</WholeProgramOptimization>\r
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
</ImportGroup>\r
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'" Label="PropertySheets">\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'" Label="PropertySheets">\r
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
</ImportGroup>\r
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'" Label="PropertySheets">\r
<PropertyGroup Label="UserMacros" />\r
<PropertyGroup>\r
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\r
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\</IntDir>\r
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</IntDir>\r
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">$(Configuration)\</IntDir>\r
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">$(Configuration)\</IntDir>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)bin\$(Configuration)\</IntDir>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)bin\$(Configuration)\</IntDir>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">$(ProjectDir)bin\$(Configuration)\</IntDir>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">$(ProjectDir)bin\$(Configuration)\</IntDir>\r
<IncludePath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\;..\common;..\dependencies\BluefishSDK_V5_8_0_31\Inc\;..\dependencies\boost_1_44_0\;..\dependencies\ffmpeg 0.6\include\;..\dependencies\FreeImage\Dist\;..\dependencies\GLee5_4\;..\dependencies\SFML-1.6\include\;..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
<IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\;..\common;..\dependencies\BluefishSDK_V5_8_0_31\Inc\;..\dependencies\boost_1_44_0\;..\dependencies\ffmpeg 0.6\include\;..\dependencies\FreeImage\Dist\;..\dependencies\GLee5_4\;..\dependencies\SFML-1.6\include\;..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
- <IncludePath Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">..\;..\common;..\dependencies\BluefishSDK_V5_8_0_31\Inc\;..\dependencies\boost_1_44_0\;..\dependencies\ffmpeg 0.6\include\;..\dependencies\FreeImage\Dist\;..\dependencies\GLee5_4\;..\dependencies\SFML-1.6\include\;..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">..\;..\common;..\dependencies\BluefishSDK_V5_8_0_31\Inc\;..\dependencies\boost_1_44_0\;..\dependencies\ffmpeg 0.6\include\;..\dependencies\FreeImage\Dist\;..\dependencies\GLee5_4\;..\dependencies\SFML-1.6\include\;..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
<IncludePath Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">..\;..\common;..\dependencies\BluefishSDK_V5_8_0_31\Inc\;..\dependencies\boost_1_44_0\;..\dependencies\ffmpeg 0.6\include\;..\dependencies\FreeImage\Dist\;..\dependencies\GLee5_4\;..\dependencies\SFML-1.6\include\;..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
<LibraryPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\dependencies\BluefishSDK_V5_8_0_31\Lib\;..\dependencies\boost_1_44_0\stage\lib\;..\dependencies\ffmpeg 0.6\lib\;..\dependencies\FreeImage\Dist\;..\dependencies\GLee5_4\;..\dependencies\SFML-1.6\lib\;..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
<LibraryPath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\dependencies\BluefishSDK_V5_8_0_31\Lib\;..\dependencies\boost_1_44_0\stage\lib\;..\dependencies\ffmpeg 0.6\lib\;..\dependencies\FreeImage\Dist\;..\dependencies\GLee5_4\;..\dependencies\SFML-1.6\lib\;..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
- <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">..\dependencies\BluefishSDK_V5_8_0_31\Lib\;..\dependencies\boost_1_44_0\stage\lib\;..\dependencies\ffmpeg 0.6\lib\;..\dependencies\FreeImage\Dist\;..\dependencies\GLee5_4\;..\dependencies\SFML-1.6\lib\;..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
+ <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">..\dependencies\BluefishSDK_V5_8_0_31\Lib\;..\dependencies\boost_1_44_0\stage\lib\;..\dependencies\ffmpeg 0.6\lib\;..\dependencies\FreeImage\Dist\;..\dependencies\GLee5_4\;..\dependencies\SFML-1.6\lib\;..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
<LibraryPath Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">..\dependencies\BluefishSDK_V5_8_0_31\Lib\;..\dependencies\boost_1_44_0\stage\lib\;..\dependencies\ffmpeg 0.6\lib\;..\dependencies\FreeImage\Dist\;..\dependencies\GLee5_4\;..\dependencies\SFML-1.6\lib\;..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)debug\</OutDir>\r
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)release\</OutDir>\r
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">$(ProjectDir)release\</OutDir>\r
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">$(ProjectDir)release\</OutDir>\r
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">$(ProjectDir)bin\$(Configuration)\</OutDir>\r
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectName)</TargetName>\r
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectName)</TargetName>\r
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">$(ProjectName)</TargetName>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">$(ProjectName)</TargetName>\r
<TargetName Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">$(ProjectName)</TargetName>\r
</PropertyGroup>\r
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
<SubSystem>Windows</SubSystem>\r
<GenerateDebugInformation>true</GenerateDebugInformation>\r
</Link>\r
+ <Lib />\r
</ItemDefinitionGroup>\r
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
<ClCompile>\r
<EnableCOMDATFolding>true</EnableCOMDATFolding>\r
<OptimizeReferences>true</OptimizeReferences>\r
</Link>\r
+ <Lib>\r
+ <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>\r
+ </Lib>\r
</ItemDefinitionGroup>\r
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">\r
<ClCompile>\r
<WarningLevel>Level3</WarningLevel>\r
<PrecompiledHeader>Use</PrecompiledHeader>\r
<EnableCOMDATFolding>true</EnableCOMDATFolding>\r
<OptimizeReferences>true</OptimizeReferences>\r
</Link>\r
+ <Lib />\r
</ItemDefinitionGroup>\r
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">\r
<ClCompile>\r
<EnableCOMDATFolding>true</EnableCOMDATFolding>\r
<OptimizeReferences>true</OptimizeReferences>\r
</Link>\r
+ <Lib />\r
</ItemDefinitionGroup>\r
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
<ImportGroup Label="ExtensionTargets">\r
<?xml version="1.0" encoding="utf-8"?>\r
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
<ItemGroup>\r
- <Filter Include="Source Files">\r
- <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>\r
- <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>\r
- </Filter>\r
- <Filter Include="Afx">\r
- <UniqueIdentifier>{d8d51fad-4061-4768-aaa6-d53c01611eb4}</UniqueIdentifier>\r
- </Filter>\r
- <Filter Include="Source Files\audio">\r
+ <Filter Include="audio">\r
<UniqueIdentifier>{ad4b4d9e-2c3d-48fb-977f-edce86b653e1}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Source Files\image">\r
- <UniqueIdentifier>{54ed246e-98e3-4544-bfbb-71912a901e8e}</UniqueIdentifier>\r
+ <Filter Include="frame">\r
+ <UniqueIdentifier>{d42d9881-e19e-4128-91dd-5b7279c2b5e5}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Source Files\gpu">\r
+ <Filter Include="gpu">\r
<UniqueIdentifier>{3c5b1ceb-6788-4278-98cc-0c5865cda30a}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Source Files\frame">\r
- <UniqueIdentifier>{d42d9881-e19e-4128-91dd-5b7279c2b5e5}</UniqueIdentifier>\r
+ <Filter Include="image">\r
+ <UniqueIdentifier>{54ed246e-98e3-4544-bfbb-71912a901e8e}</UniqueIdentifier>\r
</Filter>\r
</ItemGroup>\r
<ItemGroup>\r
- <ClCompile Include="StdAfx.cpp">\r
- <Filter>Afx</Filter>\r
- </ClCompile>\r
<ClCompile Include="audio\audio_transform.cpp">\r
- <Filter>Source Files\audio</Filter>\r
+ <Filter>audio</Filter>\r
</ClCompile>\r
<ClCompile Include="audio\audio_mixer.cpp">\r
- <Filter>Source Files\audio</Filter>\r
- </ClCompile>\r
- <ClCompile Include="image\image_kernel.cpp">\r
- <Filter>Source Files\image</Filter>\r
- </ClCompile>\r
- <ClCompile Include="image\image_mixer.cpp">\r
- <Filter>Source Files\image</Filter>\r
- </ClCompile>\r
- <ClCompile Include="image\image_transform.cpp">\r
- <Filter>Source Files\image</Filter>\r
+ <Filter>audio</Filter>\r
</ClCompile>\r
<ClCompile Include="gpu\host_buffer.cpp">\r
- <Filter>Source Files\gpu</Filter>\r
+ <Filter>gpu</Filter>\r
</ClCompile>\r
<ClCompile Include="gpu\ogl_device.cpp">\r
- <Filter>Source Files\gpu</Filter>\r
+ <Filter>gpu</Filter>\r
</ClCompile>\r
<ClCompile Include="gpu\device_buffer.cpp">\r
- <Filter>Source Files\gpu</Filter>\r
+ <Filter>gpu</Filter>\r
</ClCompile>\r
<ClCompile Include="frame\read_frame.cpp">\r
- <Filter>Source Files\frame</Filter>\r
+ <Filter>frame</Filter>\r
</ClCompile>\r
<ClCompile Include="frame\write_frame.cpp">\r
- <Filter>Source Files\frame</Filter>\r
+ <Filter>frame</Filter>\r
</ClCompile>\r
<ClCompile Include="frame\draw_frame.cpp">\r
- <Filter>Source Files\frame</Filter>\r
+ <Filter>frame</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="frame_mixer_device.cpp" />\r
+ <ClCompile Include="StdAfx.cpp" />\r
+ <ClCompile Include="image\image_kernel.cpp">\r
+ <Filter>image</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="image\image_mixer.cpp">\r
+ <Filter>image</Filter>\r
</ClCompile>\r
- <ClCompile Include="frame_mixer_device.cpp">\r
- <Filter>Source Files</Filter>\r
+ <ClCompile Include="image\image_transform.cpp">\r
+ <Filter>image</Filter>\r
</ClCompile>\r
</ItemGroup>\r
<ItemGroup>\r
- <ClInclude Include="StdAfx.h">\r
- <Filter>Afx</Filter>\r
- </ClInclude>\r
<ClInclude Include="audio\audio_mixer.h">\r
- <Filter>Source Files\audio</Filter>\r
+ <Filter>audio</Filter>\r
</ClInclude>\r
<ClInclude Include="audio\audio_transform.h">\r
- <Filter>Source Files\audio</Filter>\r
- </ClInclude>\r
- <ClInclude Include="image\image_kernel.h">\r
- <Filter>Source Files\image</Filter>\r
- </ClInclude>\r
- <ClInclude Include="image\image_mixer.h">\r
- <Filter>Source Files\image</Filter>\r
- </ClInclude>\r
- <ClInclude Include="image\image_transform.h">\r
- <Filter>Source Files\image</Filter>\r
+ <Filter>audio</Filter>\r
</ClInclude>\r
<ClInclude Include="gpu\device_buffer.h">\r
- <Filter>Source Files\gpu</Filter>\r
+ <Filter>gpu</Filter>\r
</ClInclude>\r
<ClInclude Include="gpu\host_buffer.h">\r
- <Filter>Source Files\gpu</Filter>\r
+ <Filter>gpu</Filter>\r
</ClInclude>\r
<ClInclude Include="gpu\ogl_device.h">\r
- <Filter>Source Files\gpu</Filter>\r
+ <Filter>gpu</Filter>\r
</ClInclude>\r
<ClInclude Include="frame\draw_frame.h">\r
- <Filter>Source Files\frame</Filter>\r
+ <Filter>frame</Filter>\r
</ClInclude>\r
<ClInclude Include="frame\pixel_format.h">\r
- <Filter>Source Files\frame</Filter>\r
+ <Filter>frame</Filter>\r
</ClInclude>\r
<ClInclude Include="frame\read_frame.h">\r
- <Filter>Source Files\frame</Filter>\r
+ <Filter>frame</Filter>\r
</ClInclude>\r
<ClInclude Include="frame\write_frame.h">\r
- <Filter>Source Files\frame</Filter>\r
+ <Filter>frame</Filter>\r
</ClInclude>\r
- <ClInclude Include="fwd.h">\r
- <Filter>Source Files</Filter>\r
+ <ClInclude Include="StdAfx.h" />\r
+ <ClInclude Include="frame_factory.h" />\r
+ <ClInclude Include="frame_mixer_device.h" />\r
+ <ClInclude Include="fwd.h" />\r
+ <ClInclude Include="image\image_transform.h">\r
+ <Filter>image</Filter>\r
</ClInclude>\r
- <ClInclude Include="frame_factory.h">\r
- <Filter>Source Files</Filter>\r
+ <ClInclude Include="image\image_kernel.h">\r
+ <Filter>image</Filter>\r
</ClInclude>\r
- <ClInclude Include="frame_mixer_device.h">\r
- <Filter>Source Files</Filter>\r
+ <ClInclude Include="image\image_mixer.h">\r
+ <Filter>image</Filter>\r
</ClInclude>\r
</ItemGroup>\r
</Project>
\ No newline at end of file
--- /dev/null
+/*\r
+* copyright (c) 2010 Sveriges Television AB <info@casparcg.com>\r
+*\r
+* This file is part of CasparCG.\r
+*\r
+* CasparCG is free software: you can redistribute it and/or modify\r
+* it under the terms of the GNU General Public License as published by\r
+* the Free Software Foundation, either version 3 of the License, or\r
+* (at your option) any later version.\r
+*\r
+* CasparCG is distributed in the hope that it will be useful,\r
+* but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
+* GNU General Public License for more details.\r
+\r
+* You should have received a copy of the GNU General Public License\r
+* along with CasparCG. If not, see <http://www.gnu.org/licenses/>.\r
+*\r
+*/\r
+ \r
+// stdafx.cpp : source file that includes just the standard includes\r
+// dma.pch will be the pre-compiled header\r
+// stdafx.obj will contain the pre-compiled type information\r
+\r
+#include "stdafx.h"\r
+\r
+// TODO: reference any additional headers you need in STDAFX.H\r
+// and not in this file\r
--- /dev/null
+/*\r
+* copyright (c) 2010 Sveriges Television AB <info@casparcg.com>\r
+*\r
+* This file is part of CasparCG.\r
+*\r
+* CasparCG is free software: you can redistribute it and/or modify\r
+* it under the terms of the GNU General Public License as published by\r
+* the Free Software Foundation, either version 3 of the License, or\r
+* (at your option) any later version.\r
+*\r
+* CasparCG is distributed in the hope that it will be useful,\r
+* but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
+* GNU General Public License for more details.\r
+\r
+* You should have received a copy of the GNU General Public License\r
+* along with CasparCG. If not, see <http://www.gnu.org/licenses/>.\r
+*\r
+*/\r
+ \r
+// stdafx.h : include file for standard system include files,\r
+// or project specific include files that are used frequently, but\r
+// are changed infrequently\r
+//\r
+\r
+#pragma once\r
+\r
+#if !defined(AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_)\r
+#define AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_\r
+\r
+#define BOOST_PARAMETER_MAX_ARITY 7\r
+\r
+#ifdef _DEBUG\r
+#include <crtdbg.h>\r
+#endif\r
+\r
+#include <memory>\r
+#include <array>\r
+#include <functional>\r
+#include <algorithm>\r
+#include <vector>\r
+#include <deque>\r
+#include <queue>\r
+#include <string>\r
+#include <math.h>\r
+\r
+#include <tbb/atomic.h>\r
+#include <tbb/concurrent_queue.h>\r
+\r
+#include <boost/assign.hpp>\r
+#include <boost/foreach.hpp>\r
+#include <boost/range/algorithm.hpp>\r
+\r
+#include "../common/utility/string.h"\r
+#include "../common/memory/safe_ptr.h"\r
+//#include "../common/concurrency/executor.h" // Can't include this due to MSVC lambda bug\r
+\r
+#include "../common/log/Log.h"\r
+#include "../common/exception/exceptions.h"\r
+#include "../common/exception/win32_exception.h"\r
+\r
+#include <assert.h>\r
+\r
+#endif\r
--- /dev/null
+#include "bluefish.h"\r
+\r
+#include <core/consumer/frame_consumer.h>\r
+\r
+namespace caspar {\r
+\r
+void init_bluefish()\r
+{\r
+ try\r
+ {\r
+ blue_initialize();\r
+ }\r
+ catch(...){}\r
+ core::register_consumer_factory(create_bluefish_consumer);\r
+}\r
+\r
+}
\ No newline at end of file
--- /dev/null
+#pragma once\r
+\r
+#include "consumer/bluefish_consumer.h"\r
+\r
+namespace caspar {\r
+\r
+void init_bluefish();\r
+\r
+}
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <ItemGroup Label="ProjectConfigurations">\r
+ <ProjectConfiguration Include="Profile|Win32">\r
+ <Configuration>Profile</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Debug|Win32">\r
+ <Configuration>Debug</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Develop|Win32">\r
+ <Configuration>Develop</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Release|Win32">\r
+ <Configuration>Release</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ </ItemGroup>\r
+ <PropertyGroup Label="Globals">\r
+ <ProjectGuid>{69313D25-9F54-4FC9-9872-628A4DD79464}</ProjectGuid>\r
+ <RootNamespace>bluefish</RootNamespace>\r
+ <Keyword>Win32Proj</Keyword>\r
+ <ProjectName>bluefish</ProjectName>\r
+ </PropertyGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">\r
+ <ConfigurationType>StaticLibrary</ConfigurationType>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ <WholeProgramOptimization>false</WholeProgramOptimization>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'" Label="Configuration">\r
+ <ConfigurationType>StaticLibrary</ConfigurationType>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ <WholeProgramOptimization>false</WholeProgramOptimization>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'" Label="Configuration">\r
+ <ConfigurationType>StaticLibrary</ConfigurationType>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ <WholeProgramOptimization>false</WholeProgramOptimization>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">\r
+ <ConfigurationType>StaticLibrary</ConfigurationType>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ <UseIntelTBB>true</UseIntelTBB>\r
+ <InstrumentIntelTBB>false</InstrumentIntelTBB>\r
+ </PropertyGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />\r
+ <ImportGroup Label="ExtensionSettings">\r
+ </ImportGroup>\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />\r
+ </ImportGroup>\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'" Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />\r
+ </ImportGroup>\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'" Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />\r
+ </ImportGroup>\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />\r
+ </ImportGroup>\r
+ <PropertyGroup Label="UserMacros" />\r
+ <PropertyGroup>\r
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)bin\$(Configuration)\</IntDir>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)bin\$(Configuration)\</IntDir>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">$(ProjectDir)bin\$(Configuration)\</IntDir>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">$(ProjectDir)bin\$(Configuration)\</IntDir>\r
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\;..\..\common;..\..\dependencies\BluefishSDK_V5_8_0_31\Inc\;..\..\dependencies\boost_1_44_0\;..\..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\;..\..\common;..\..\dependencies\BluefishSDK_V5_8_0_31\Inc\;..\..\dependencies\boost_1_44_0\;..\..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">..\..\;..\..\common;..\..\dependencies\BluefishSDK_V5_8_0_31\Inc\;..\..\dependencies\boost_1_44_0\;..\..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">..\..\;..\..\common;..\..\dependencies\BluefishSDK_V5_8_0_31\Inc\;..\..\dependencies\boost_1_44_0\;..\..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
+ <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\dependencies\BluefishSDK_V5_8_0_31\Lib\;..\..\dependencies\boost_1_44_0\stage\lib\;..\..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
+ <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\dependencies\BluefishSDK_V5_8_0_31\Lib\;..\..\dependencies\boost_1_44_0\stage\lib\;..\..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
+ <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">..\..\dependencies\BluefishSDK_V5_8_0_31\Lib\;..\..\dependencies\boost_1_44_0\stage\lib\;..\..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
+ <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">..\..\dependencies\BluefishSDK_V5_8_0_31\Lib\;..\..\dependencies\boost_1_44_0\stage\lib\;..\..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectName)</TargetName>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectName)</TargetName>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">$(ProjectName)</TargetName>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">$(ProjectName)</TargetName>\r
+ </PropertyGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+ <PreBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PreBuildEvent>\r
+ <ClCompile>\r
+ <Optimization>Disabled</Optimization>\r
+ <AdditionalIncludeDirectories>../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <MinimalRebuild>false</MinimalRebuild>\r
+ <ExceptionHandling>Async</ExceptionHandling>\r
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\r
+ <SmallerTypeCheck>false</SmallerTypeCheck>\r
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
+ <EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader>Use</PrecompiledHeader>\r
+ <BrowseInformation>true</BrowseInformation>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>\r
+ <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;TBB_USE_CAPTURED_EXCEPTION=0;TBB_USE_ASSERT=1;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <TreatWarningAsError>true</TreatWarningAsError>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ <FloatingPointModel>Fast</FloatingPointModel>\r
+ <ForcedIncludeFiles>common/compiler/vs/disable_silly_warnings.h</ForcedIncludeFiles>\r
+ </ClCompile>\r
+ <PostBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PostBuildEvent>\r
+ <Lib>\r
+ <AdditionalDependencies>\r
+ </AdditionalDependencies>\r
+ </Lib>\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+ <PreBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PreBuildEvent>\r
+ <ClCompile>\r
+ <Optimization>MaxSpeed</Optimization>\r
+ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>\r
+ <IntrinsicFunctions>true</IntrinsicFunctions>\r
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>\r
+ <AdditionalIncludeDirectories>../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <ExceptionHandling>Async</ExceptionHandling>\r
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader>Use</PrecompiledHeader>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;TBB_USE_CAPTURED_EXCEPTION=0;NDEBUG;_VC80_UPGRADE=0x0710;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <WholeProgramOptimization>true</WholeProgramOptimization>\r
+ <TreatWarningAsError>true</TreatWarningAsError>\r
+ <OmitFramePointers>true</OmitFramePointers>\r
+ <FloatingPointModel>Fast</FloatingPointModel>\r
+ <ForcedIncludeFiles>common/compiler/vs/disable_silly_warnings.h</ForcedIncludeFiles>\r
+ </ClCompile>\r
+ <PreLinkEvent>\r
+ <Command>\r
+ </Command>\r
+ </PreLinkEvent>\r
+ <PostBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PostBuildEvent>\r
+ <Lib>\r
+ <AdditionalDependencies>\r
+ </AdditionalDependencies>\r
+ <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>\r
+ </Lib>\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">\r
+ <PreBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PreBuildEvent>\r
+ <ClCompile>\r
+ <Optimization>MaxSpeed</Optimization>\r
+ <InlineFunctionExpansion>Disabled</InlineFunctionExpansion>\r
+ <IntrinsicFunctions>true</IntrinsicFunctions>\r
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>\r
+ <AdditionalIncludeDirectories>../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <ExceptionHandling>Async</ExceptionHandling>\r
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader>Use</PrecompiledHeader>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;TBB_USE_CAPTURED_EXCEPTION=0;TBB_USE_THREADING_TOOLS=1;NDEBUG;_VC80_UPGRADE=0x0710;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <WholeProgramOptimization>false</WholeProgramOptimization>\r
+ <TreatWarningAsError>true</TreatWarningAsError>\r
+ <OmitFramePointers>true</OmitFramePointers>\r
+ <FloatingPointModel>Fast</FloatingPointModel>\r
+ <ForcedIncludeFiles>common/compiler/vs/disable_silly_warnings.h</ForcedIncludeFiles>\r
+ </ClCompile>\r
+ <PreLinkEvent>\r
+ <Command>\r
+ </Command>\r
+ </PreLinkEvent>\r
+ <PostBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PostBuildEvent>\r
+ <Lib>\r
+ <AdditionalDependencies>\r
+ </AdditionalDependencies>\r
+ </Lib>\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">\r
+ <PreBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PreBuildEvent>\r
+ <ClCompile>\r
+ <Optimization>Disabled</Optimization>\r
+ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>\r
+ <IntrinsicFunctions>true</IntrinsicFunctions>\r
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>\r
+ <AdditionalIncludeDirectories>../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <ExceptionHandling>Async</ExceptionHandling>\r
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader>Use</PrecompiledHeader>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;TBB_USE_CAPTURED_EXCEPTION=0;TBB_USE_ASSERT=1;TBB_USE_PERFORMANCE_WARNINGS=1;_VC80_UPGRADE=0x0710;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <WholeProgramOptimization>false</WholeProgramOptimization>\r
+ <TreatWarningAsError>true</TreatWarningAsError>\r
+ <OmitFramePointers>true</OmitFramePointers>\r
+ <FloatingPointModel>Fast</FloatingPointModel>\r
+ <ForcedIncludeFiles>common/compiler/vs/disable_silly_warnings.h</ForcedIncludeFiles>\r
+ </ClCompile>\r
+ <PostBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PostBuildEvent>\r
+ <Lib>\r
+ <AdditionalDependencies>\r
+ </AdditionalDependencies>\r
+ </Lib>\r
+ </ItemDefinitionGroup>\r
+ <ItemGroup>\r
+ <ClInclude Include="bluefish.h" />\r
+ <ClInclude Include="consumer\bluefish_consumer.h" />\r
+ <ClInclude Include="StdAfx.h" />\r
+ <ClInclude Include="util\memory.h" />\r
+ <ClInclude Include="util\util.h" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClCompile Include="bluefish.cpp">\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">NotUsing</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">NotUsing</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>\r
+ </ClCompile>\r
+ <ClCompile Include="consumer\bluefish_consumer.cpp">\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ </ClCompile>\r
+ <ClCompile Include="StdAfx.cpp">\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">Create</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">Create</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>\r
+ </ClCompile>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ProjectReference Include="..\..\common\common.vcxproj">\r
+ <Project>{02308602-7fe0-4253-b96e-22134919f56a}</Project>\r
+ </ProjectReference>\r
+ <ProjectReference Include="..\..\core\core.vcxproj">\r
+ <Project>{79388c20-6499-4bf6-b8b9-d8c33d7d4ddd}</Project>\r
+ </ProjectReference>\r
+ <ProjectReference Include="..\..\mixer\mixer.vcxproj">\r
+ <Project>{477e12a4-1b28-4ff7-b46d-76606bdd1891}</Project>\r
+ </ProjectReference>\r
+ </ItemGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
+ <ImportGroup Label="ExtensionTargets">\r
+ </ImportGroup>\r
+</Project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <ItemGroup>\r
+ <Filter Include="consumer">\r
+ <UniqueIdentifier>{0c50a039-638b-4d66-9b27-6ca0f75b5b63}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="util">\r
+ <UniqueIdentifier>{3de40b41-6c7c-4009-8159-b235e6d33ff6}</UniqueIdentifier>\r
+ </Filter>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClInclude Include="consumer\bluefish_consumer.h">\r
+ <Filter>consumer</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="bluefish.h" />\r
+ <ClInclude Include="StdAfx.h" />\r
+ <ClInclude Include="util\memory.h">\r
+ <Filter>util</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="util\util.h">\r
+ <Filter>util</Filter>\r
+ </ClInclude>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClCompile Include="consumer\bluefish_consumer.cpp">\r
+ <Filter>consumer</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="bluefish.cpp" />\r
+ <ClCompile Include="StdAfx.cpp" />\r
+ </ItemGroup>\r
+</Project>
\ No newline at end of file
*\r
*/\r
\r
-#include "../../StdAfx.h"\r
+#include "../StdAfx.h"\r
\r
#include "bluefish_consumer.h"\r
-#include "util.h"\r
-#include "memory.h"\r
+#include "../util/util.h"\r
+#include "../util/memory.h"\r
\r
#include <mixer/frame/read_frame.h>\r
\r
#include <BlueVelvet4.h>\r
#include <BlueHancUtils.h>\r
\r
-#include <windows.h>\r
-\r
-#include <boost/thread/once.hpp>\r
-\r
#include <memory>\r
#include <array>\r
\r
-namespace caspar { namespace core {\r
+namespace caspar { \r
\r
CBlueVelvet4* (*BlueVelvetFactory4)() = nullptr;\r
const char* (*BlueVelvetVersion)() = nullptr;\r
encode_hanc_frame_ex = reinterpret_cast<decltype(encode_hanc_frame_ex)>(GetProcAddress(module, "encode_hanc_frame_ex"));\r
}\r
\r
-void do_blue_initialize()\r
+void blue_initialize()\r
{\r
blue_velvet_initialize();\r
blue_hanc_initialize();\r
}\r
-\r
-void blue_initialize()\r
-{\r
- static boost::once_flag flag = BOOST_ONCE_INIT;\r
- boost::call_once(do_blue_initialize, flag); \r
-}\r
\r
struct bluefish_consumer::implementation : boost::noncopyable\r
{\r
\r
std::shared_ptr<CBlueVelvet4> blue_;\r
\r
- video_format_desc format_desc_;\r
+ core::video_format_desc format_desc_;\r
\r
unsigned long mem_fmt_;\r
unsigned long upd_fmt_;\r
, res_fmt_(RES_FMT_NORMAL) \r
, engine_mode_(VIDEO_ENGINE_FRAMESTORE) \r
, embed_audio_(embed_audio)\r
- , executor_(print()){}\r
+ , executor_(print())\r
+ {\r
+ if(!BlueVelvetFactory4 || (embed_audio_ && (!encode_hanc_frame || !encode_hanc_frame)))\r
+ BOOST_THROW_EXCEPTION(bluefish_exception() << msg_info("Bluefish drivers not found."));\r
+ }\r
\r
~implementation()\r
{\r
CASPAR_LOG(info) << print() << L" Shutting down."; \r
}\r
\r
- void initialize(const video_format_desc& format_desc, const printer& parent_printer)\r
- {\r
- blue_initialize();\r
- \r
+ void initialize(const core::video_format_desc& format_desc, const printer& parent_printer)\r
+ { \r
format_desc_ = format_desc;\r
parent_printer_ = parent_printer;\r
\r
CASPAR_LOG(error)<< print() << TEXT(" Failed to disable video output."); \r
}\r
\r
- virtual void send(const safe_ptr<const read_frame>& frame)\r
+ virtual void send(const safe_ptr<const core::read_frame>& frame)\r
{ \r
static std::vector<short> silence(MAX_HANC_BUFFER_SIZE, 0);\r
\r
\r
bluefish_consumer::bluefish_consumer(bluefish_consumer&& other) : impl_(std::move(other.impl_)){}\r
bluefish_consumer::bluefish_consumer(unsigned int device_index, bool embed_audio) : impl_(new implementation(device_index, embed_audio)){} \r
-void bluefish_consumer::initialize(const video_format_desc& format_desc, const printer& parent_printer){impl_->initialize(format_desc, parent_printer);}\r
-void bluefish_consumer::send(const safe_ptr<const read_frame>& frame){impl_->send(frame);}\r
+void bluefish_consumer::initialize(const core::video_format_desc& format_desc, const printer& parent_printer){impl_->initialize(format_desc, parent_printer);}\r
+void bluefish_consumer::send(const safe_ptr<const core::read_frame>& frame){impl_->send(frame);}\r
size_t bluefish_consumer::buffer_depth() const{return impl_->buffer_depth();}\r
std::wstring bluefish_consumer::print() const {return impl_->print();} \r
\r
std::vector<std::wstring> devices;\r
\r
try\r
- {\r
- blue_initialize();\r
- \r
+ { \r
+ if(!BlueVelvetFactory4)\r
+ return devices;\r
+\r
std::shared_ptr<CBlueVelvet4> blue(BlueVelvetFactory4());\r
\r
- for(int n = 0; BLUE_PASS(blue->device_attach(n, FALSE)); ++n)\r
+ for(int n = 1; BLUE_PASS(blue->device_attach(n, FALSE)); ++n)\r
{ \r
- devices.push_back(L"[" + boost::lexical_cast<std::wstring>(n+1) + L"] " + get_card_desc(blue->has_video_cardtype()));\r
+ devices.push_back(L"[" + boost::lexical_cast<std::wstring>(n) + L"] " + get_card_desc(blue->has_video_cardtype()));\r
blue->device_detach(); \r
}\r
}\r
return devices;\r
}\r
\r
-safe_ptr<frame_consumer> create_bluefish_consumer(const std::vector<std::wstring>& params)\r
+safe_ptr<core::frame_consumer> create_bluefish_consumer(const std::vector<std::wstring>& params)\r
{\r
if(params.size() < 1 || params[0] != L"BLUEFISH")\r
- return frame_consumer::empty();\r
+ return core::frame_consumer::empty();\r
\r
int device_index = 1;\r
bool embed_audio = false;\r
return make_safe<bluefish_consumer>(device_index, embed_audio);\r
}\r
\r
-}}
\ No newline at end of file
+}
\ No newline at end of file
*/\r
#pragma once\r
\r
-#include "../../video_format.h"\r
-#include "../../consumer/frame_consumer.h"\r
+#include <common/exception/exceptions.h>\r
+\r
+#include <core/video_format.h>\r
+#include <core/consumer/frame_consumer.h>\r
\r
#include <string>\r
\r
-namespace caspar { namespace core {\r
+namespace caspar { \r
\r
struct bluefish_exception : public caspar_exception{};\r
\r
-class bluefish_consumer : public frame_consumer\r
+class bluefish_consumer : public core::frame_consumer\r
{\r
public:\r
explicit bluefish_consumer(unsigned int device_index, bool embed_audio = false);\r
bluefish_consumer(bluefish_consumer&& other);\r
\r
- virtual void initialize(const video_format_desc& format_desc, const printer& parent_printer);\r
- virtual void send(const safe_ptr<const read_frame>&);\r
+ virtual void initialize(const core::video_format_desc& format_desc, const printer& parent_printer);\r
+ virtual void send(const safe_ptr<const core::read_frame>&);\r
virtual size_t buffer_depth() const;\r
virtual std::wstring print() const;\r
private:\r
std::shared_ptr<implementation> impl_;\r
};\r
\r
+void blue_initialize();\r
std::wstring get_bluefish_version();\r
std::vector<std::wstring> get_bluefish_device_list();\r
-safe_ptr<frame_consumer> create_bluefish_consumer(const std::vector<std::wstring>& params);\r
+safe_ptr<core::frame_consumer> create_bluefish_consumer(const std::vector<std::wstring>& params);\r
\r
-}}\r
+}
\ No newline at end of file
#include <Windows.h>\r
\r
#include <BlueVelvet4.h>\r
-#include "../../video_format.h"\r
\r
#include <common/memory/page_locked_allocator.h>\r
\r
#include <vector>\r
\r
-namespace caspar { namespace core {\r
+namespace caspar { \r
\r
static const size_t MAX_HANC_BUFFER_SIZE = 256*1024;\r
static const size_t MAX_VBI_BUFFER_SIZE = 36*1920*4;\r
};\r
typedef std::shared_ptr<blue_dma_buffer> blue_dma_buffer_ptr;\r
\r
-}}
\ No newline at end of file
+}
\ No newline at end of file
#pragma once\r
\r
#include <BlueVelvet4.h>\r
-#include "../../video_format.h"\r
+#include <core/video_format.h>\r
\r
-namespace caspar { namespace core {\r
+namespace caspar { \r
\r
inline bool is_epoch_card(int card_type)\r
{\r
card_type == CRD_BLUE_EPOCH_ULTRA;\r
}\r
\r
-inline EVideoMode vid_fmt_from_video_format(const video_format::type& fmt) \r
+inline EVideoMode vid_fmt_from_video_format(const core::video_format::type& fmt) \r
{\r
switch(fmt)\r
{\r
- case video_format::pal: return VID_FMT_PAL;\r
- case video_format::ntsc: return VID_FMT_NTSC;\r
- case video_format::x576p2500: return VID_FMT_INVALID; //not supported\r
- case video_format::x720p2500: return VID_FMT_720P_2500;\r
- case video_format::x720p5000: return VID_FMT_720P_5000;\r
- case video_format::x720p5994: return VID_FMT_720P_5994;\r
- case video_format::x720p6000: return VID_FMT_720P_6000;\r
- case video_format::x1080p2397: return VID_FMT_1080P_2397;\r
- case video_format::x1080p2400: return VID_FMT_1080P_2400;\r
- case video_format::x1080i5000: return VID_FMT_1080I_5000;\r
- case video_format::x1080i5994: return VID_FMT_1080I_5994;\r
- case video_format::x1080i6000: return VID_FMT_1080I_6000;\r
- case video_format::x1080p2500: return VID_FMT_1080P_2500;\r
- case video_format::x1080p2997: return VID_FMT_1080P_2997;\r
- case video_format::x1080p3000: return VID_FMT_1080P_3000;\r
+ case core::video_format::pal: return VID_FMT_PAL;\r
+ case core::video_format::ntsc: return VID_FMT_NTSC;\r
+ case core::video_format::x576p2500: return VID_FMT_INVALID; //not supported\r
+ case core::video_format::x720p2500: return VID_FMT_720P_2500;\r
+ case core::video_format::x720p5000: return VID_FMT_720P_5000;\r
+ case core::video_format::x720p5994: return VID_FMT_720P_5994;\r
+ case core::video_format::x720p6000: return VID_FMT_720P_6000;\r
+ case core::video_format::x1080p2397: return VID_FMT_1080P_2397;\r
+ case core::video_format::x1080p2400: return VID_FMT_1080P_2400;\r
+ case core::video_format::x1080i5000: return VID_FMT_1080I_5000;\r
+ case core::video_format::x1080i5994: return VID_FMT_1080I_5994;\r
+ case core::video_format::x1080i6000: return VID_FMT_1080I_6000;\r
+ case core::video_format::x1080p2500: return VID_FMT_1080P_2500;\r
+ case core::video_format::x1080p2997: return VID_FMT_1080P_2997;\r
+ case core::video_format::x1080p3000: return VID_FMT_1080P_3000;\r
default: return VID_FMT_INVALID;\r
}\r
}\r
return set_card_property(pSdk.get(), prop, value);\r
}\r
\r
-}}
\ No newline at end of file
+}
\ No newline at end of file
--- /dev/null
+/*\r
+* copyright (c) 2010 Sveriges Television AB <info@casparcg.com>\r
+*\r
+* This file is part of CasparCG.\r
+*\r
+* CasparCG is free software: you can redistribute it and/or modify\r
+* it under the terms of the GNU General Public License as published by\r
+* the Free Software Foundation, either version 3 of the License, or\r
+* (at your option) any later version.\r
+*\r
+* CasparCG is distributed in the hope that it will be useful,\r
+* but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
+* GNU General Public License for more details.\r
+\r
+* You should have received a copy of the GNU General Public License\r
+* along with CasparCG. If not, see <http://www.gnu.org/licenses/>.\r
+*\r
+*/\r
+ \r
+// stdafx.cpp : source file that includes just the standard includes\r
+// dma.pch will be the pre-compiled header\r
+// stdafx.obj will contain the pre-compiled type information\r
+\r
+#include "stdafx.h"\r
+\r
+// TODO: reference any additional headers you need in STDAFX.H\r
+// and not in this file\r
--- /dev/null
+/*\r
+* copyright (c) 2010 Sveriges Television AB <info@casparcg.com>\r
+*\r
+* This file is part of CasparCG.\r
+*\r
+* CasparCG is free software: you can redistribute it and/or modify\r
+* it under the terms of the GNU General Public License as published by\r
+* the Free Software Foundation, either version 3 of the License, or\r
+* (at your option) any later version.\r
+*\r
+* CasparCG is distributed in the hope that it will be useful,\r
+* but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
+* GNU General Public License for more details.\r
+\r
+* You should have received a copy of the GNU General Public License\r
+* along with CasparCG. If not, see <http://www.gnu.org/licenses/>.\r
+*\r
+*/\r
+ \r
+// stdafx.h : include file for standard system include files,\r
+// or project specific include files that are used frequently, but\r
+// are changed infrequently\r
+//\r
+\r
+#pragma once\r
+\r
+#include "../common/compiler/vs/disable_silly_warnings.h"\r
+\r
+#define NOMINMAX\r
+\r
+#if defined(_MSC_VER)\r
+# ifndef _SCL_SECURE_NO_WARNINGS\r
+# define _SCL_SECURE_NO_WARNINGS\r
+# endif\r
+# ifndef _CRT_SECURE_NO_WARNINGS\r
+# define _CRT_SECURE_NO_WARNINGS\r
+# endif\r
+#endif\r
+\r
+#if !defined(AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_)\r
+#define AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_\r
+\r
+#define BOOST_PARAMETER_MAX_ARITY 7\r
+\r
+#ifdef _DEBUG\r
+#include <crtdbg.h>\r
+#endif\r
+\r
+#include <memory>\r
+#include <array>\r
+#include <functional>\r
+#include <algorithm>\r
+#include <vector>\r
+#include <deque>\r
+#include <queue>\r
+#include <string>\r
+#include <math.h>\r
+\r
+#include <tbb/atomic.h>\r
+#include <tbb/concurrent_queue.h>\r
+#include <tbb/concurrent_unordered_map.h>\r
+#include <tbb/parallel_invoke.h>\r
+#include <tbb/parallel_for.h>\r
+#include <tbb/parallel_for_each.h>\r
+\r
+#include <boost/assign.hpp>\r
+#include <boost/filesystem.hpp>\r
+#include <boost/foreach.hpp>\r
+#include <boost/range/algorithm.hpp>\r
+#include <boost/signals2.hpp>\r
+\r
+#include "../common/utility/string.h"\r
+#include "../common/memory/safe_ptr.h"\r
+//#include "../common/concurrency/executor.h" // Can't include this due to MSVC lambda bug\r
+\r
+#include "../common/log/Log.h"\r
+#include "../common/exception/exceptions.h"\r
+#include "../common/exception/win32_exception.h"\r
+\r
+#include <assert.h>\r
+\r
+#endif\r
* along with CasparCG. If not, see <http://www.gnu.org/licenses/>.\r
*\r
*/\r
- \r
-#include "../../stdafx.h"\r
\r
+#include "../StdAfx.h"\r
+ \r
#include "decklink_consumer.h"\r
\r
-#include "util.h"\r
+#include "../util/util.h"\r
\r
-#include "DeckLinkAPI_h.h"\r
+#include "../interop/DeckLinkAPI_h.h"\r
\r
#include <core/video_format.h>\r
\r
\r
#include <boost/circular_buffer.hpp>\r
\r
+#include <array>\r
+\r
#pragma warning(push)\r
#pragma warning(disable : 4996)\r
\r
\r
#pragma warning(push)\r
\r
-namespace caspar { namespace core {\r
+namespace caspar { \r
\r
struct decklink_output : public IDeckLinkVideoOutputCallback, public IDeckLinkAudioOutputCallback, boost::noncopyable\r
{ \r
CComQIPtr<IDeckLinkOutput> output_;\r
CComQIPtr<IDeckLinkKeyer> keyer_;\r
\r
- video_format_desc format_desc_;\r
+ core::video_format_desc format_desc_;\r
\r
BMDTimeScale frame_time_scale_;\r
BMDTimeValue frame_duration_;\r
unsigned long frames_scheduled_;\r
unsigned long audio_scheduled_;\r
\r
- tbb::concurrent_bounded_queue<safe_ptr<const read_frame>> video_frame_buffer_;\r
- tbb::concurrent_bounded_queue<safe_ptr<const read_frame>> audio_frame_buffer_;\r
+ tbb::concurrent_bounded_queue<safe_ptr<const core::read_frame>> video_frame_buffer_;\r
+ tbb::concurrent_bounded_queue<safe_ptr<const core::read_frame>> audio_frame_buffer_;\r
\r
public:\r
- decklink_output(const video_format_desc& format_desc, const printer& parent_printer, size_t device_index, bool embed_audio, bool internalKey) \r
+ decklink_output(const core::video_format_desc& format_desc, const printer& parent_printer, size_t device_index, bool embed_audio, bool internalKey) \r
: parent_printer_(parent_printer)\r
, model_name_(L"DECKLINK")\r
, device_index_(device_index)\r
\r
auto buffer_size = static_cast<size_t>(frame_time_scale_/frame_duration_)/4;\r
for(size_t n = 0; n < buffer_size; ++n)\r
- schedule_next_video(safe_ptr<const read_frame>());\r
+ schedule_next_video(safe_ptr<const core::read_frame>());\r
\r
video_frame_buffer_.set_capacity(buffer_size);\r
audio_frame_buffer_.set_capacity(buffer_size);\r
for(size_t n = 0; n < std::max<size_t>(2, buffer_size-2); ++n)\r
{\r
- video_frame_buffer_.try_push(safe_ptr<const read_frame>());\r
+ video_frame_buffer_.try_push(safe_ptr<const core::read_frame>());\r
if(embed_audio_)\r
- audio_frame_buffer_.try_push(safe_ptr<const read_frame>());\r
+ audio_frame_buffer_.try_push(safe_ptr<const core::read_frame>());\r
}\r
\r
if(FAILED(output_->StartScheduledPlayback(0, frame_time_scale_, 1.0))) \r
\r
virtual HRESULT STDMETHODCALLTYPE ScheduledFrameCompleted (IDeckLinkVideoFrame* /*completedFrame*/, BMDOutputFrameCompletionResult /*result*/)\r
{\r
- safe_ptr<const read_frame> frame; \r
+ safe_ptr<const core::read_frame> frame; \r
video_frame_buffer_.pop(frame); \r
schedule_next_video(frame);\r
return S_OK;\r
\r
virtual HRESULT STDMETHODCALLTYPE RenderAudioSamples (BOOL /*preroll*/)\r
{\r
- safe_ptr<const read_frame> frame;\r
+ safe_ptr<const core::read_frame> frame;\r
audio_frame_buffer_.pop(frame);\r
schedule_next_audio(frame);\r
return S_OK;\r
}\r
\r
- void schedule_next_audio(const safe_ptr<const read_frame>& frame)\r
+ void schedule_next_audio(const safe_ptr<const core::read_frame>& frame)\r
{\r
static std::vector<short> silence(48000, 0);\r
\r
CASPAR_LOG(error) << print() << L" Failed to schedule audio.";\r
}\r
\r
- void schedule_next_video(const safe_ptr<const read_frame>& frame)\r
+ void schedule_next_video(const safe_ptr<const core::read_frame>& frame)\r
{\r
if(!frame->image_data().empty())\r
std::copy(frame->image_data().begin(), frame->image_data().end(), static_cast<char*>(reserved_frames_.front().first));\r
perf_timer_.reset();\r
}\r
\r
- void send(const safe_ptr<const read_frame>& frame)\r
+ void send(const safe_ptr<const core::read_frame>& frame)\r
{\r
video_frame_buffer_.push(frame);\r
if(embed_audio_)\r
});\r
}\r
\r
- void initialize(const video_format_desc& format_desc, const printer& parent_printer)\r
+ void initialize(const core::video_format_desc& format_desc, const printer& parent_printer)\r
{\r
executor_.invoke([&]\r
{\r
});\r
}\r
\r
- void send(const safe_ptr<const read_frame>& frame)\r
+ void send(const safe_ptr<const core::read_frame>& frame)\r
{\r
input_->send(frame);\r
}\r
\r
decklink_consumer::decklink_consumer(size_t device_index, bool embed_audio, bool internalKey) : impl_(new implementation(device_index, embed_audio, internalKey)){}\r
decklink_consumer::decklink_consumer(decklink_consumer&& other) : impl_(std::move(other.impl_)){}\r
-void decklink_consumer::initialize(const video_format_desc& format_desc, const printer& parent_printer){impl_->initialize(format_desc, parent_printer);}\r
-void decklink_consumer::send(const safe_ptr<const read_frame>& frame){impl_->send(frame);}\r
+void decklink_consumer::initialize(const core::video_format_desc& format_desc, const printer& parent_printer){impl_->initialize(format_desc, parent_printer);}\r
+void decklink_consumer::send(const safe_ptr<const core::read_frame>& frame){impl_->send(frame);}\r
size_t decklink_consumer::buffer_depth() const{return impl_->buffer_depth();}\r
std::wstring decklink_consumer::print() const{return impl_->print();}\r
-\r
-std::wstring get_decklink_version() \r
-{\r
- std::wstring version = L"Unknown";\r
-\r
- ::CoInitialize(nullptr);\r
- try\r
- {\r
- CComPtr<IDeckLinkIterator> pDecklinkIterator;\r
- if(SUCCEEDED(pDecklinkIterator.CoCreateInstance(CLSID_CDeckLinkIterator))) \r
- version = get_version(pDecklinkIterator);\r
- }\r
- catch(...){}\r
- ::CoUninitialize();\r
-\r
- return version;\r
-}\r
-\r
-std::vector<std::wstring> get_decklink_device_list()\r
-{\r
- std::vector<std::wstring> devices;\r
-\r
- ::CoInitialize(nullptr);\r
- try\r
- {\r
- CComPtr<IDeckLinkIterator> pDecklinkIterator;\r
- if(SUCCEEDED(pDecklinkIterator.CoCreateInstance(CLSID_CDeckLinkIterator)))\r
- { \r
- CComPtr<IDeckLink> decklink;\r
- for(int n = 1; pDecklinkIterator->Next(&decklink) == S_OK; ++n) \r
- {\r
- BSTR model_name = L"Unknown";\r
- decklink->GetModelName(&model_name);\r
- devices.push_back(L"[" + boost::lexical_cast<std::wstring>(n) + L"] " + model_name); \r
- }\r
- }\r
- }\r
- catch(...){}\r
- ::CoUninitialize();\r
-\r
- return devices;\r
-}\r
\r
-safe_ptr<frame_consumer> create_decklink_consumer(const std::vector<std::wstring>& params)\r
+safe_ptr<core::frame_consumer> create_decklink_consumer(const std::vector<std::wstring>& params)\r
{\r
if(params.size() < 1 || params[0] != L"DECKLINK")\r
- return frame_consumer::empty();\r
+ return core::frame_consumer::empty();\r
\r
int device_index = 1;\r
bool embed_audio = false;\r
return make_safe<decklink_consumer>(device_index, embed_audio, internal_key);\r
}\r
\r
-}}
\ No newline at end of file
+}
\ No newline at end of file
*/\r
#pragma once\r
\r
-#include "../../consumer/frame_consumer.h"\r
+#include <core/consumer/frame_consumer.h>\r
\r
-#include "../../video_format.h"\r
+#include <core/video_format.h>\r
\r
#include <string>\r
+#include <vector>\r
\r
-namespace caspar { namespace core {\r
+namespace caspar { \r
\r
-class decklink_consumer : public frame_consumer\r
+class decklink_consumer : public core::frame_consumer\r
{\r
public:\r
explicit decklink_consumer(size_t device_index, bool embed_audio = false, bool internal_key = false);\r
decklink_consumer(decklink_consumer&& other);\r
\r
- virtual void initialize(const video_format_desc& format_desc, const printer& parent_printer);\r
- virtual void send(const safe_ptr<const read_frame>&);\r
+ virtual void initialize(const core::video_format_desc& format_desc, const printer& parent_printer);\r
+ virtual void send(const safe_ptr<const core::read_frame>&);\r
virtual size_t buffer_depth() const;\r
virtual std::wstring print() const;\r
\r
std::tr1::shared_ptr<implementation> impl_;\r
};\r
\r
-std::wstring get_decklink_version();\r
-std::vector<std::wstring> get_decklink_device_list();\r
-safe_ptr<frame_consumer> create_decklink_consumer(const std::vector<std::wstring>& params);\r
+safe_ptr<core::frame_consumer> create_decklink_consumer(const std::vector<std::wstring>& params);\r
\r
-\r
-}}
\ No newline at end of file
+}
\ No newline at end of file
--- /dev/null
+#include "stdafx.h"\r
+\r
+#include "decklink.h"\r
+#include "util/util.h"\r
+\r
+#include "consumer/decklink_consumer.h"\r
+#include "producer/decklink_producer.h"\r
+\r
+#include <core/consumer/frame_consumer.h>\r
+#include <core/producer/frame_producer.h>\r
+\r
+#include "interop/DeckLinkAPI_h.h"\r
+\r
+#pragma warning(push)\r
+#pragma warning(disable : 4996)\r
+\r
+ #include <atlbase.h>\r
+\r
+ #include <atlcom.h>\r
+ #include <atlhost.h>\r
+\r
+#pragma warning(push)\r
+\r
+namespace caspar{\r
+\r
+void init_decklink()\r
+{\r
+ core::register_consumer_factory(create_decklink_consumer);\r
+ core::register_producer_factory(create_decklink_producer);\r
+}\r
+\r
+std::wstring get_decklink_version() \r
+{\r
+ std::wstring version = L"Unknown";\r
+\r
+ ::CoInitialize(nullptr);\r
+ try\r
+ {\r
+ CComPtr<IDeckLinkIterator> pDecklinkIterator;\r
+ if(SUCCEEDED(pDecklinkIterator.CoCreateInstance(CLSID_CDeckLinkIterator))) \r
+ version = get_version(pDecklinkIterator);\r
+ }\r
+ catch(...){}\r
+ ::CoUninitialize();\r
+\r
+ return version;\r
+}\r
+\r
+std::vector<std::wstring> get_decklink_device_list()\r
+{\r
+ std::vector<std::wstring> devices;\r
+\r
+ ::CoInitialize(nullptr);\r
+ try\r
+ {\r
+ CComPtr<IDeckLinkIterator> pDecklinkIterator;\r
+ if(SUCCEEDED(pDecklinkIterator.CoCreateInstance(CLSID_CDeckLinkIterator)))\r
+ { \r
+ CComPtr<IDeckLink> decklink;\r
+ for(int n = 1; pDecklinkIterator->Next(&decklink) == S_OK; ++n) \r
+ {\r
+ BSTR model_name = L"Unknown";\r
+ decklink->GetModelName(&model_name);\r
+ devices.push_back(L"[" + boost::lexical_cast<std::wstring>(n) + L"] " + model_name); \r
+ }\r
+ }\r
+ }\r
+ catch(...){}\r
+ ::CoUninitialize();\r
+\r
+ return devices;\r
+}\r
+\r
+}
\ No newline at end of file
--- /dev/null
+#pragma once\r
+\r
+#include <string>\r
+#include <vector>\r
+\r
+namespace caspar {\r
+\r
+void init_decklink();\r
+\r
+std::wstring get_decklink_version();\r
+std::vector<std::wstring> get_decklink_device_list();\r
+\r
+}
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <ItemGroup Label="ProjectConfigurations">\r
+ <ProjectConfiguration Include="Profile|Win32">\r
+ <Configuration>Profile</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Debug|Win32">\r
+ <Configuration>Debug</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Develop|Win32">\r
+ <Configuration>Develop</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Release|Win32">\r
+ <Configuration>Release</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ </ItemGroup>\r
+ <PropertyGroup Label="Globals">\r
+ <ProjectGuid>{D3611658-8F54-43CF-B9AF-A5CF8C1102EA}</ProjectGuid>\r
+ <RootNamespace>decklink</RootNamespace>\r
+ <Keyword>Win32Proj</Keyword>\r
+ <ProjectName>decklink</ProjectName>\r
+ </PropertyGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">\r
+ <ConfigurationType>StaticLibrary</ConfigurationType>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ <WholeProgramOptimization>false</WholeProgramOptimization>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'" Label="Configuration">\r
+ <ConfigurationType>StaticLibrary</ConfigurationType>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ <WholeProgramOptimization>false</WholeProgramOptimization>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'" Label="Configuration">\r
+ <ConfigurationType>StaticLibrary</ConfigurationType>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ <WholeProgramOptimization>false</WholeProgramOptimization>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">\r
+ <ConfigurationType>StaticLibrary</ConfigurationType>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ <UseIntelTBB>true</UseIntelTBB>\r
+ <InstrumentIntelTBB>false</InstrumentIntelTBB>\r
+ </PropertyGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />\r
+ <ImportGroup Label="ExtensionSettings">\r
+ </ImportGroup>\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />\r
+ </ImportGroup>\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'" Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />\r
+ </ImportGroup>\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'" Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />\r
+ </ImportGroup>\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />\r
+ </ImportGroup>\r
+ <PropertyGroup Label="UserMacros" />\r
+ <PropertyGroup>\r
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)bin\$(Configuration)\</IntDir>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)bin\$(Configuration)\</IntDir>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">$(ProjectDir)bin\$(Configuration)\</IntDir>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">$(ProjectDir)bin\$(Configuration)\</IntDir>\r
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\;..\..\dependencies\boost_1_44_0\;..\..\dependencies\ffmpeg 0.6\include\;..\..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\;..\..\dependencies\boost_1_44_0\;..\..\dependencies\ffmpeg 0.6\include\;..\..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">..\..\;..\..\dependencies\boost_1_44_0\;..\..\dependencies\ffmpeg 0.6\include\;..\..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">..\..\;..\..\dependencies\boost_1_44_0\;..\..\dependencies\ffmpeg 0.6\include\;..\..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
+ <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\dependencies\boost_1_44_0\stage\lib\;..\..\dependencies\ffmpeg 0.6\lib\;..\..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
+ <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\dependencies\boost_1_44_0\stage\lib\;..\..\dependencies\ffmpeg 0.6\lib\;..\..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
+ <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">..\..\dependencies\boost_1_44_0\stage\lib\;..\..\dependencies\ffmpeg 0.6\lib\;..\..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
+ <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">..\..\dependencies\boost_1_44_0\stage\lib\;..\..\dependencies\ffmpeg 0.6\lib\;..\..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectName)</TargetName>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectName)</TargetName>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">$(ProjectName)</TargetName>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">$(ProjectName)</TargetName>\r
+ </PropertyGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+ <PreBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PreBuildEvent>\r
+ <ClCompile>\r
+ <Optimization>Disabled</Optimization>\r
+ <AdditionalIncludeDirectories>../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <MinimalRebuild>false</MinimalRebuild>\r
+ <ExceptionHandling>Async</ExceptionHandling>\r
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\r
+ <SmallerTypeCheck>false</SmallerTypeCheck>\r
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
+ <EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader>Use</PrecompiledHeader>\r
+ <BrowseInformation>true</BrowseInformation>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>\r
+ <PreprocessorDefinitions>TBB_USE_CAPTURED_EXCEPTION=0;TBB_USE_ASSERT=1;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <TreatWarningAsError>true</TreatWarningAsError>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ <FloatingPointModel>Fast</FloatingPointModel>\r
+ <ForcedIncludeFiles>common/compiler/vs/disable_silly_warnings.h</ForcedIncludeFiles>\r
+ </ClCompile>\r
+ <PostBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PostBuildEvent>\r
+ <Lib />\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+ <PreBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PreBuildEvent>\r
+ <ClCompile>\r
+ <Optimization>MaxSpeed</Optimization>\r
+ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>\r
+ <IntrinsicFunctions>true</IntrinsicFunctions>\r
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>\r
+ <AdditionalIncludeDirectories>../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <ExceptionHandling>Async</ExceptionHandling>\r
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader>Use</PrecompiledHeader>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ <PreprocessorDefinitions>TBB_USE_CAPTURED_EXCEPTION=0;NDEBUG;_VC80_UPGRADE=0x0710;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <WholeProgramOptimization>true</WholeProgramOptimization>\r
+ <TreatWarningAsError>true</TreatWarningAsError>\r
+ <OmitFramePointers>true</OmitFramePointers>\r
+ <FloatingPointModel>Fast</FloatingPointModel>\r
+ <ForcedIncludeFiles>common/compiler/vs/disable_silly_warnings.h</ForcedIncludeFiles>\r
+ </ClCompile>\r
+ <PostBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PostBuildEvent>\r
+ <Lib>\r
+ <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>\r
+ </Lib>\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">\r
+ <PreBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PreBuildEvent>\r
+ <ClCompile>\r
+ <Optimization>MaxSpeed</Optimization>\r
+ <InlineFunctionExpansion>Disabled</InlineFunctionExpansion>\r
+ <IntrinsicFunctions>true</IntrinsicFunctions>\r
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>\r
+ <AdditionalIncludeDirectories>../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <ExceptionHandling>Async</ExceptionHandling>\r
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader>Use</PrecompiledHeader>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ <PreprocessorDefinitions>TBB_USE_CAPTURED_EXCEPTION=0;TBB_USE_THREADING_TOOLS=1;NDEBUG;_VC80_UPGRADE=0x0710;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <WholeProgramOptimization>false</WholeProgramOptimization>\r
+ <TreatWarningAsError>true</TreatWarningAsError>\r
+ <OmitFramePointers>true</OmitFramePointers>\r
+ <FloatingPointModel>Fast</FloatingPointModel>\r
+ <ForcedIncludeFiles>common/compiler/vs/disable_silly_warnings.h</ForcedIncludeFiles>\r
+ </ClCompile>\r
+ <PostBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PostBuildEvent>\r
+ <Lib />\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">\r
+ <PreBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PreBuildEvent>\r
+ <ClCompile>\r
+ <Optimization>Disabled</Optimization>\r
+ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>\r
+ <IntrinsicFunctions>true</IntrinsicFunctions>\r
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>\r
+ <AdditionalIncludeDirectories>../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <ExceptionHandling>Async</ExceptionHandling>\r
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader>Use</PrecompiledHeader>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ <PreprocessorDefinitions>TBB_USE_CAPTURED_EXCEPTION=0;TBB_USE_ASSERT=1;TBB_USE_PERFORMANCE_WARNINGS=1;_VC80_UPGRADE=0x0710;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <WholeProgramOptimization>false</WholeProgramOptimization>\r
+ <TreatWarningAsError>true</TreatWarningAsError>\r
+ <OmitFramePointers>true</OmitFramePointers>\r
+ <FloatingPointModel>Fast</FloatingPointModel>\r
+ <ForcedIncludeFiles>common/compiler/vs/disable_silly_warnings.h</ForcedIncludeFiles>\r
+ </ClCompile>\r
+ <PostBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PostBuildEvent>\r
+ <Lib />\r
+ </ItemDefinitionGroup>\r
+ <ItemGroup>\r
+ <ClCompile Include="consumer\decklink_consumer.cpp">\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ </ClCompile>\r
+ <ClCompile Include="decklink.cpp" />\r
+ <ClCompile Include="interop\DeckLinkAPI_i.c">\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">NotUsing</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">NotUsing</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>\r
+ </ClCompile>\r
+ <ClCompile Include="producer\decklink_producer.cpp">\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ </ClCompile>\r
+ <ClCompile Include="StdAfx.cpp">\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">Create</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">Create</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>\r
+ </ClCompile>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClInclude Include="consumer\decklink_consumer.h" />\r
+ <ClInclude Include="decklink.h" />\r
+ <ClInclude Include="interop\DeckLinkAPI_h.h" />\r
+ <ClInclude Include="producer\decklink_producer.h" />\r
+ <ClInclude Include="StdAfx.h" />\r
+ <ClInclude Include="util\util.h" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <Midl Include="interop\DeckLinkAPI.idl">\r
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">true</ExcludedFromBuild>\r
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">true</ExcludedFromBuild>\r
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
+ </Midl>\r
+ <Midl Include="interop\DeckLinkAPI_v7_1.idl">\r
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">true</ExcludedFromBuild>\r
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">true</ExcludedFromBuild>\r
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
+ </Midl>\r
+ <Midl Include="interop\DeckLinkAPI_v7_3.idl">\r
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">true</ExcludedFromBuild>\r
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">true</ExcludedFromBuild>\r
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
+ </Midl>\r
+ <Midl Include="interop\DeckLinkAPI_v7_6.idl">\r
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">true</ExcludedFromBuild>\r
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">true</ExcludedFromBuild>\r
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
+ </Midl>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ProjectReference Include="..\..\common\common.vcxproj">\r
+ <Project>{02308602-7fe0-4253-b96e-22134919f56a}</Project>\r
+ </ProjectReference>\r
+ <ProjectReference Include="..\..\core\core.vcxproj">\r
+ <Project>{79388c20-6499-4bf6-b8b9-d8c33d7d4ddd}</Project>\r
+ </ProjectReference>\r
+ <ProjectReference Include="..\..\mixer\mixer.vcxproj">\r
+ <Project>{477e12a4-1b28-4ff7-b46d-76606bdd1891}</Project>\r
+ </ProjectReference>\r
+ </ItemGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
+ <ImportGroup Label="ExtensionTargets">\r
+ </ImportGroup>\r
+</Project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <ItemGroup>\r
+ <Filter Include="consumer">\r
+ <UniqueIdentifier>{681577c3-a264-4849-bdef-27fc1988e50f}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="interop">\r
+ <UniqueIdentifier>{8f268fa2-b236-4cb5-86dc-ca6612b251a5}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="producer">\r
+ <UniqueIdentifier>{d1c2b767-8787-4ba5-b141-0c17d030bfe0}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="util">\r
+ <UniqueIdentifier>{963cca43-0294-4fdd-a786-b98499c22644}</UniqueIdentifier>\r
+ </Filter>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClCompile Include="interop\DeckLinkAPI_i.c">\r
+ <Filter>interop</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="consumer\decklink_consumer.cpp">\r
+ <Filter>consumer</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="producer\decklink_producer.cpp">\r
+ <Filter>producer</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="decklink.cpp" />\r
+ <ClCompile Include="StdAfx.cpp" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClInclude Include="interop\DeckLinkAPI_h.h">\r
+ <Filter>interop</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="consumer\decklink_consumer.h">\r
+ <Filter>consumer</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="producer\decklink_producer.h">\r
+ <Filter>producer</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="StdAfx.h" />\r
+ <ClInclude Include="decklink.h" />\r
+ <ClInclude Include="util\util.h">\r
+ <Filter>util</Filter>\r
+ </ClInclude>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <Midl Include="interop\DeckLinkAPI_v7_1.idl">\r
+ <Filter>interop</Filter>\r
+ </Midl>\r
+ <Midl Include="interop\DeckLinkAPI_v7_3.idl">\r
+ <Filter>interop</Filter>\r
+ </Midl>\r
+ <Midl Include="interop\DeckLinkAPI_v7_6.idl">\r
+ <Filter>interop</Filter>\r
+ </Midl>\r
+ <Midl Include="interop\DeckLinkAPI.idl">\r
+ <Filter>interop</Filter>\r
+ </Midl>\r
+ </ItemGroup>\r
+</Project>
\ No newline at end of file
*\r
*/\r
\r
-#include "../../stdafx.h"\r
+#include "../stdafx.h"\r
\r
#include "decklink_producer.h"\r
\r
#include <mixer/frame/draw_frame.h>\r
-#include "../../consumer/decklink/DeckLinkAPI_h.h" // TODO: Change this\r
-#include "../../consumer/decklink/util.h" // TODO: Change this\r
+#include "../interop/DeckLinkAPI_h.h" // TODO: Change this\r
+#include "../util/util.h" // TODO: Change this\r
\r
#include <common/diagnostics/graph.h>\r
#include <common/concurrency/executor.h>\r
\r
#include <functional>\r
\r
-namespace caspar { namespace core {\r
+namespace caspar { \r
\r
class decklink_input : public IDeckLinkInputCallback\r
{\r
} co_;\r
\r
printer parent_printer_;\r
- const video_format_desc format_desc_;\r
+ const core::video_format_desc format_desc_;\r
std::wstring model_name_;\r
const size_t device_index_;\r
\r
\r
std::vector<short> audio_data_;\r
\r
- std::shared_ptr<frame_factory> frame_factory_;\r
+ std::shared_ptr<core::frame_factory> frame_factory_;\r
\r
- tbb::concurrent_bounded_queue<safe_ptr<draw_frame>> frame_buffer_;\r
- safe_ptr<draw_frame> tail_;\r
+ tbb::concurrent_bounded_queue<safe_ptr<core::draw_frame>> frame_buffer_;\r
+ safe_ptr<core::draw_frame> tail_;\r
\r
public:\r
\r
- decklink_input(const video_format_desc& format_desc, size_t device_index, const std::shared_ptr<frame_factory>& frame_factory, const printer& parent_printer)\r
+ decklink_input(const core::video_format_desc& format_desc, size_t device_index, const std::shared_ptr<core::frame_factory>& frame_factory, const printer& parent_printer)\r
: parent_printer_(parent_printer)\r
, format_desc_(format_desc)\r
, device_index_(device_index)\r
, model_name_(L"DECKLINK")\r
, frame_factory_(frame_factory)\r
- , tail_(draw_frame::empty())\r
+ , tail_(core::draw_frame::empty())\r
{\r
frame_buffer_.set_capacity(4);\r
\r
if(FAILED(video->GetBytes(&bytes)))\r
return S_OK;\r
\r
- pixel_format_desc desc;\r
- desc.pix_fmt = pixel_format::ycbcr;\r
- desc.planes.push_back(pixel_format_desc::plane(d_mode_->GetWidth(), d_mode_->GetHeight(), 1));\r
- desc.planes.push_back(pixel_format_desc::plane(d_mode_->GetWidth()/2, d_mode_->GetHeight(), 1));\r
- desc.planes.push_back(pixel_format_desc::plane(d_mode_->GetWidth()/2, d_mode_->GetHeight(), 1)); \r
+ core::pixel_format_desc desc;\r
+ desc.pix_fmt = core::pixel_format::ycbcr;\r
+ desc.planes.push_back(core::pixel_format_desc::plane(d_mode_->GetWidth(), d_mode_->GetHeight(), 1));\r
+ desc.planes.push_back(core::pixel_format_desc::plane(d_mode_->GetWidth()/2, d_mode_->GetHeight(), 1));\r
+ desc.planes.push_back(core::pixel_format_desc::plane(d_mode_->GetWidth()/2, d_mode_->GetHeight(), 1)); \r
auto frame = frame_factory_->create_frame(desc);\r
\r
unsigned char* data = reinterpret_cast<unsigned char*>(bytes);\r
return nullptr;\r
}\r
\r
- safe_ptr<draw_frame> get_frame()\r
+ safe_ptr<core::draw_frame> get_frame()\r
{\r
frame_buffer_.try_pop(tail_);\r
return tail_;\r
}\r
};\r
\r
-class decklink_producer : public frame_producer\r
+class decklink_producer : public core::frame_producer\r
{ \r
const size_t device_index_;\r
printer parent_printer_;\r
\r
std::unique_ptr<decklink_input> input_;\r
\r
- const video_format_desc format_desc_;\r
+ const core::video_format_desc format_desc_;\r
\r
executor executor_;\r
public:\r
\r
- explicit decklink_producer(const video_format_desc& format_desc, size_t device_index)\r
+ explicit decklink_producer(const core::video_format_desc& format_desc, size_t device_index)\r
: format_desc_(format_desc) \r
, device_index_(device_index){}\r
\r
});\r
}\r
\r
- virtual void initialize(const safe_ptr<frame_factory>& frame_factory)\r
+ virtual void initialize(const safe_ptr<core::frame_factory>& frame_factory)\r
{\r
executor_.start();\r
executor_.invoke([=]\r
\r
virtual void set_parent_printer(const printer& parent_printer) { parent_printer_ = parent_printer;}\r
\r
- virtual safe_ptr<draw_frame> receive()\r
+ virtual safe_ptr<core::draw_frame> receive()\r
{\r
return input_->get_frame();\r
}\r
}\r
};\r
\r
-safe_ptr<frame_producer> create_decklink_producer(const std::vector<std::wstring>& params)\r
+safe_ptr<core::frame_producer> create_decklink_producer(const std::vector<std::wstring>& params)\r
{\r
if(params.empty() || !boost::iequals(params[0], "decklink"))\r
- return frame_producer::empty();\r
+ return core::frame_producer::empty();\r
\r
size_t device_index = 1;\r
if(params.size() > 1)\r
catch(boost::bad_lexical_cast&){}\r
}\r
\r
- video_format_desc format_desc = video_format_desc::get(L"PAL");\r
+ core::video_format_desc format_desc = core::video_format_desc::get(L"PAL");\r
if(params.size() > 2)\r
{\r
- format_desc = video_format_desc::get(params[2]);\r
- format_desc = format_desc.format != video_format::invalid ? format_desc : video_format_desc::get(L"PAL");\r
+ format_desc = core::video_format_desc::get(params[2]);\r
+ format_desc = format_desc.format != core::video_format::invalid ? format_desc : core::video_format_desc::get(L"PAL");\r
}\r
\r
return make_safe<decklink_producer>(format_desc, device_index);\r
}\r
\r
-}}
\ No newline at end of file
+}
\ No newline at end of file
*/\r
#pragma once\r
\r
-#include "../frame_producer.h"\r
+#include <core/producer/frame_producer.h>\r
\r
#include <string>\r
#include <vector>\r
\r
-namespace caspar { namespace core {\r
+namespace caspar { \r
\r
-safe_ptr<frame_producer> create_decklink_producer(const std::vector<std::wstring>& params);\r
+safe_ptr<core::frame_producer> create_decklink_producer(const std::vector<std::wstring>& params);\r
\r
-}}\r
+}\r
--- /dev/null
+#pragma once\r
+\r
+#include <core/video_format.h>\r
+\r
+#include "../interop/DeckLinkAPI_h.h"\r
+\r
+namespace caspar { \r
+ \r
+static BMDDisplayMode GetDecklinkVideoFormat(core::video_format::type fmt) \r
+{\r
+ switch(fmt)\r
+ {\r
+ case core::video_format::pal: return bmdModePAL;\r
+ case core::video_format::ntsc: return bmdModeNTSC;\r
+ case core::video_format::x576p2500: return (BMDDisplayMode)ULONG_MAX;\r
+ case core::video_format::x720p2500: return (BMDDisplayMode)ULONG_MAX;\r
+ case core::video_format::x720p5000: return bmdModeHD720p50;\r
+ case core::video_format::x720p5994: return bmdModeHD720p5994;\r
+ case core::video_format::x720p6000: return bmdModeHD720p60;\r
+ case core::video_format::x1080p2397: return bmdModeHD1080p2398;\r
+ case core::video_format::x1080p2400: return bmdModeHD1080p24;\r
+ case core::video_format::x1080i5000: return bmdModeHD1080i50;\r
+ case core::video_format::x1080i5994: return bmdModeHD1080i5994;\r
+ case core::video_format::x1080i6000: return bmdModeHD1080i6000;\r
+ case core::video_format::x1080p2500: return bmdModeHD1080p25;\r
+ case core::video_format::x1080p2997: return bmdModeHD1080p2997;\r
+ case core::video_format::x1080p3000: return bmdModeHD1080p30;\r
+ default: return (BMDDisplayMode)ULONG_MAX;\r
+ }\r
+}\r
+ \r
+static IDeckLinkDisplayMode* get_display_mode(IDeckLinkOutput* output, BMDDisplayMode format)\r
+{\r
+ IDeckLinkDisplayModeIterator* iterator;\r
+ IDeckLinkDisplayMode* mode;\r
+ \r
+ if(FAILED(output->GetDisplayModeIterator(&iterator)))\r
+ return nullptr;\r
+\r
+ while(SUCCEEDED(iterator->Next(&mode)) && mode != nullptr)\r
+ { \r
+ if(mode->GetDisplayMode() == format)\r
+ return mode;\r
+ }\r
+ iterator->Release();\r
+ return nullptr;\r
+}\r
+\r
+static IDeckLinkDisplayMode* get_display_mode(IDeckLinkOutput* output, core::video_format::type fmt)\r
+{\r
+ return get_display_mode(output, GetDecklinkVideoFormat(fmt));\r
+}\r
+\r
+template<typename T>\r
+static std::wstring get_version(T& deckLinkIterator)\r
+{\r
+ IDeckLinkAPIInformation* deckLinkAPIInformation;\r
+ if (FAILED(deckLinkIterator->QueryInterface(IID_IDeckLinkAPIInformation, (void**)&deckLinkAPIInformation)))\r
+ return L"Unknown";\r
+ \r
+ BSTR ver; \r
+ deckLinkAPIInformation->GetString(BMDDeckLinkAPIVersion, &ver);\r
+ deckLinkAPIInformation->Release(); \r
+ \r
+ return ver; \r
+}\r
+\r
+}
\ No newline at end of file
--- /dev/null
+/*\r
+* copyright (c) 2010 Sveriges Television AB <info@casparcg.com>\r
+*\r
+* This file is part of CasparCG.\r
+*\r
+* CasparCG is free software: you can redistribute it and/or modify\r
+* it under the terms of the GNU General Public License as published by\r
+* the Free Software Foundation, either version 3 of the License, or\r
+* (at your option) any later version.\r
+*\r
+* CasparCG is distributed in the hope that it will be useful,\r
+* but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
+* GNU General Public License for more details.\r
+\r
+* You should have received a copy of the GNU General Public License\r
+* along with CasparCG. If not, see <http://www.gnu.org/licenses/>.\r
+*\r
+*/\r
+ \r
+// stdafx.cpp : source file that includes just the standard includes\r
+// dma.pch will be the pre-compiled header\r
+// stdafx.obj will contain the pre-compiled type information\r
+\r
+#include "stdafx.h"\r
+\r
+// TODO: reference any additional headers you need in STDAFX.H\r
+// and not in this file\r
--- /dev/null
+/*\r
+* copyright (c) 2010 Sveriges Television AB <info@casparcg.com>\r
+*\r
+* This file is part of CasparCG.\r
+*\r
+* CasparCG is free software: you can redistribute it and/or modify\r
+* it under the terms of the GNU General Public License as published by\r
+* the Free Software Foundation, either version 3 of the License, or\r
+* (at your option) any later version.\r
+*\r
+* CasparCG is distributed in the hope that it will be useful,\r
+* but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
+* GNU General Public License for more details.\r
+\r
+* You should have received a copy of the GNU General Public License\r
+* along with CasparCG. If not, see <http://www.gnu.org/licenses/>.\r
+*\r
+*/\r
+ \r
+// stdafx.h : include file for standard system include files,\r
+// or project specific include files that are used frequently, but\r
+// are changed infrequently\r
+//\r
+\r
+#pragma once\r
+\r
+#include "../common/compiler/vs/disable_silly_warnings.h"\r
+\r
+#define NOMINMAX\r
+\r
+#if defined(_MSC_VER)\r
+# ifndef _SCL_SECURE_NO_WARNINGS\r
+# define _SCL_SECURE_NO_WARNINGS\r
+# endif\r
+# ifndef _CRT_SECURE_NO_WARNINGS\r
+# define _CRT_SECURE_NO_WARNINGS\r
+# endif\r
+#endif\r
+\r
+#if !defined(AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_)\r
+#define AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_\r
+\r
+#define BOOST_PARAMETER_MAX_ARITY 7\r
+\r
+#ifdef _DEBUG\r
+#include <crtdbg.h>\r
+#endif\r
+\r
+#include <memory>\r
+#include <array>\r
+#include <functional>\r
+#include <algorithm>\r
+#include <vector>\r
+#include <deque>\r
+#include <queue>\r
+#include <string>\r
+#include <math.h>\r
+\r
+#include <tbb/atomic.h>\r
+#include <tbb/concurrent_queue.h>\r
+#include <tbb/concurrent_unordered_map.h>\r
+#include <tbb/parallel_invoke.h>\r
+#include <tbb/parallel_for.h>\r
+#include <tbb/parallel_for_each.h>\r
+\r
+#include <boost/assign.hpp>\r
+#include <boost/filesystem.hpp>\r
+#include <boost/foreach.hpp>\r
+#include <boost/range/algorithm.hpp>\r
+\r
+#include "../common/utility/string.h"\r
+#include "../common/memory/safe_ptr.h"\r
+//#include "../common/concurrency/executor.h" // Can't include this due to MSVC lambda bug\r
+\r
+#include "../common/log/Log.h"\r
+#include "../common/exception/exceptions.h"\r
+#include "../common/exception/win32_exception.h"\r
+\r
+#include <assert.h>\r
+\r
+#endif\r
*\r
*/\r
\r
-#include "../../StdAfx.h"\r
+#include "../StdAfx.h"\r
\r
#include "ffmpeg_consumer.h"\r
\r
#pragma warning (pop)\r
#endif\r
\r
-namespace caspar { namespace core {\r
+namespace caspar { \r
\r
struct ffmpeg_consumer::implementation : boost::noncopyable\r
{ \r
\r
AVOutputFormat* fmt_;\r
std::shared_ptr<AVFormatContext> oc_;\r
- video_format_desc format_desc_;\r
+ core::video_format_desc format_desc_;\r
\r
std::vector<short, tbb::cache_aligned_allocator<short>> audio_input_buffer_;\r
\r
url_fclose(oc_->pb); // Close the output ffmpeg.\r
}\r
\r
- void initialize(const video_format_desc& format_desc, const printer& parent_printer)\r
+ void initialize(const core::video_format_desc& format_desc, const printer& parent_printer)\r
{\r
format_desc_ = format_desc;\r
parent_printer_ = parent_printer;\r
boost::errinfo_file_name(filename_)); \r
}\r
\r
- void encode_video_frame(const safe_ptr<const read_frame>& frame)\r
+ void encode_video_frame(const safe_ptr<const core::read_frame>& frame)\r
{ \r
AVCodecContext* c = video_st_->codec;\r
\r
boost::errinfo_file_name(filename_));\r
}\r
\r
- void encode_audio_frame(const safe_ptr<const read_frame>& frame)\r
+ void encode_audio_frame(const safe_ptr<const core::read_frame>& frame)\r
{ \r
if(!frame->audio_data().empty())\r
audio_input_buffer_.insert(audio_input_buffer_.end(), frame->audio_data().begin(), frame->audio_data().end());\r
return true;\r
}\r
\r
- void send(const safe_ptr<const read_frame>& frame)\r
+ void send(const safe_ptr<const core::read_frame>& frame)\r
{\r
active_.get();\r
active_ = executor_.begin_invoke([=]\r
\r
ffmpeg_consumer::ffmpeg_consumer(const std::wstring& filename) : impl_(new implementation(narrow(filename))){}\r
ffmpeg_consumer::ffmpeg_consumer(ffmpeg_consumer&& other) : impl_(std::move(other.impl_)){}\r
-void ffmpeg_consumer::send(const safe_ptr<const read_frame>& frame){impl_->send(frame);}\r
+void ffmpeg_consumer::send(const safe_ptr<const core::read_frame>& frame){impl_->send(frame);}\r
size_t ffmpeg_consumer::buffer_depth() const{return impl_->buffer_depth();}\r
-void ffmpeg_consumer::initialize(const video_format_desc& format_desc, const printer& parent_printer) {impl_->initialize(format_desc, parent_printer);}\r
+void ffmpeg_consumer::initialize(const core::video_format_desc& format_desc, const printer& parent_printer) {impl_->initialize(format_desc, parent_printer);}\r
std::wstring ffmpeg_consumer::print() const {return impl_->print();}\r
\r
-safe_ptr<frame_consumer> create_ffmpeg_consumer(const std::vector<std::wstring>& params)\r
+safe_ptr<core::frame_consumer> create_ffmpeg_consumer(const std::vector<std::wstring>& params)\r
{\r
if(params.size() < 2 || params[0] != L"FILE")\r
- return frame_consumer::empty();\r
+ return core::frame_consumer::empty();\r
\r
// TODO: Ask stakeholders about case where file already exists.\r
boost::filesystem::remove(boost::filesystem::wpath(env::media_folder() + params[1])); // Delete the file if it exists\r
return make_safe<ffmpeg_consumer>(env::media_folder() + params[1]);\r
}\r
\r
-}}\r
+}\r
*/\r
#pragma once\r
\r
-#include "../../video_format.h"\r
-#include "../../consumer/frame_consumer.h"\r
+#include <core/video_format.h>\r
+#include <core/consumer/frame_consumer.h>\r
\r
-namespace caspar { namespace core {\r
+namespace caspar { \r
\r
-class ffmpeg_consumer : public frame_consumer\r
+class ffmpeg_consumer : public core::frame_consumer\r
{\r
public: \r
explicit ffmpeg_consumer(const std::wstring& filename);\r
ffmpeg_consumer(ffmpeg_consumer&& other);\r
\r
- virtual void initialize(const video_format_desc& format_desc, const printer& parent_printer);\r
- virtual void send(const safe_ptr<const read_frame>&);\r
+ virtual void initialize(const core::video_format_desc& format_desc, const printer& parent_printer);\r
+ virtual void send(const safe_ptr<const core::read_frame>&);\r
virtual size_t buffer_depth() const;\r
virtual std::wstring print() const;\r
private:\r
std::shared_ptr<implementation> impl_;\r
};\r
\r
-safe_ptr<frame_consumer> create_ffmpeg_consumer(const std::vector<std::wstring>& params);\r
+safe_ptr<core::frame_consumer> create_ffmpeg_consumer(const std::vector<std::wstring>& params);\r
\r
-}}
\ No newline at end of file
+}
\ No newline at end of file
--- /dev/null
+#include "StdAfx.h"\r
+\r
+#include "consumer/ffmpeg_consumer.h"\r
+#include "producer/ffmpeg_producer.h"\r
+\r
+#include <core/consumer/frame_consumer.h>\r
+#include <core/producer/frame_producer.h>\r
+\r
+#if defined(_MSC_VER)\r
+#pragma warning (disable : 4244)\r
+#endif\r
+\r
+extern "C" \r
+{\r
+ #define __STDC_CONSTANT_MACROS\r
+ #define __STDC_LIMIT_MACROS\r
+ #include <libavformat/avformat.h>\r
+ #include <libswscale/swscale.h>\r
+ #include <libavcodec/avcodec.h>\r
+}\r
+\r
+namespace caspar {\r
+\r
+void init_ffmpeg()\r
+{\r
+ av_register_all();\r
+ avcodec_init();\r
+\r
+ core::register_consumer_factory(create_ffmpeg_consumer);\r
+ core::register_producer_factory(create_ffmpeg_producer);\r
+}\r
+\r
+std::wstring get_avcodec_version()\r
+{\r
+ std::wstringstream str;\r
+ str << ((avcodec_version() >> 16) & 0xFF) << L"." << ((avcodec_version() >> 8) & 0xFF) << L"." << ((avcodec_version() >> 0) & 0xFF);\r
+ return str.str();\r
+}\r
+\r
+std::wstring get_avformat_version()\r
+{\r
+ std::wstringstream str;\r
+ str << ((avformat_version() >> 16) & 0xFF) << L"." << ((avformat_version() >> 8) & 0xFF) << L"." << ((avformat_version() >> 0) & 0xFF);\r
+ return str.str();\r
+}\r
+\r
+std::wstring get_swscale_version()\r
+{\r
+ std::wstringstream str;\r
+ str << ((swscale_version() >> 16) & 0xFF) << L"." << ((swscale_version() >> 8) & 0xFF) << L"." << ((swscale_version() >> 0) & 0xFF);\r
+ return str.str();\r
+}\r
+\r
+}
\ No newline at end of file
--- /dev/null
+#pragma once\r
+\r
+namespace caspar {\r
+\r
+void init_ffmpeg();\r
+\r
+std::wstring get_avcodec_version();\r
+std::wstring get_avformat_version();\r
+std::wstring get_swscale_version();\r
+\r
+}
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <ItemGroup Label="ProjectConfigurations">\r
+ <ProjectConfiguration Include="Profile|Win32">\r
+ <Configuration>Profile</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Debug|Win32">\r
+ <Configuration>Debug</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Develop|Win32">\r
+ <Configuration>Develop</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Release|Win32">\r
+ <Configuration>Release</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ </ItemGroup>\r
+ <PropertyGroup Label="Globals">\r
+ <ProjectGuid>{F6223AF3-BE0B-4B61-8406-98922CE521C2}</ProjectGuid>\r
+ <RootNamespace>ffmpeg</RootNamespace>\r
+ <Keyword>Win32Proj</Keyword>\r
+ <ProjectName>ffmpeg</ProjectName>\r
+ </PropertyGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">\r
+ <ConfigurationType>StaticLibrary</ConfigurationType>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ <WholeProgramOptimization>false</WholeProgramOptimization>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'" Label="Configuration">\r
+ <ConfigurationType>StaticLibrary</ConfigurationType>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ <WholeProgramOptimization>false</WholeProgramOptimization>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'" Label="Configuration">\r
+ <ConfigurationType>StaticLibrary</ConfigurationType>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ <WholeProgramOptimization>false</WholeProgramOptimization>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">\r
+ <ConfigurationType>StaticLibrary</ConfigurationType>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ <UseIntelTBB>true</UseIntelTBB>\r
+ <InstrumentIntelTBB>false</InstrumentIntelTBB>\r
+ </PropertyGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />\r
+ <ImportGroup Label="ExtensionSettings">\r
+ </ImportGroup>\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />\r
+ </ImportGroup>\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'" Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />\r
+ </ImportGroup>\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'" Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />\r
+ </ImportGroup>\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />\r
+ </ImportGroup>\r
+ <PropertyGroup Label="UserMacros" />\r
+ <PropertyGroup>\r
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)bin\$(Configuration)\</IntDir>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)bin\$(Configuration)\</IntDir>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">$(ProjectDir)bin\$(Configuration)\</IntDir>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">$(ProjectDir)bin\$(Configuration)\</IntDir>\r
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\;..\..\dependencies\boost_1_44_0\;..\..\dependencies\ffmpeg 0.6\include\;..\..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\;..\..\dependencies\boost_1_44_0\;..\..\dependencies\ffmpeg 0.6\include\;..\..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">..\..\;..\..\dependencies\boost_1_44_0\;..\..\dependencies\ffmpeg 0.6\include\;..\..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">..\..\;..\..\dependencies\boost_1_44_0\;..\..\dependencies\ffmpeg 0.6\include\;..\..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
+ <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\dependencies\boost_1_44_0\stage\lib\;..\..\dependencies\ffmpeg 0.6\lib\;..\..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
+ <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\dependencies\boost_1_44_0\stage\lib\;..\..\dependencies\ffmpeg 0.6\lib\;..\..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
+ <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">..\..\dependencies\boost_1_44_0\stage\lib\;..\..\dependencies\ffmpeg 0.6\lib\;..\..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
+ <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">..\..\dependencies\boost_1_44_0\stage\lib\;..\..\dependencies\ffmpeg 0.6\lib\;..\..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectName)</TargetName>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectName)</TargetName>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">$(ProjectName)</TargetName>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">$(ProjectName)</TargetName>\r
+ </PropertyGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+ <PreBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PreBuildEvent>\r
+ <ClCompile>\r
+ <Optimization>Disabled</Optimization>\r
+ <AdditionalIncludeDirectories>../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <MinimalRebuild>false</MinimalRebuild>\r
+ <ExceptionHandling>Async</ExceptionHandling>\r
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\r
+ <SmallerTypeCheck>false</SmallerTypeCheck>\r
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
+ <EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader>Use</PrecompiledHeader>\r
+ <BrowseInformation>true</BrowseInformation>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>\r
+ <PreprocessorDefinitions>TBB_USE_CAPTURED_EXCEPTION=0;TBB_USE_ASSERT=1;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <TreatWarningAsError>true</TreatWarningAsError>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ <FloatingPointModel>Fast</FloatingPointModel>\r
+ <ForcedIncludeFiles>common/compiler/vs/disable_silly_warnings.h</ForcedIncludeFiles>\r
+ </ClCompile>\r
+ <PostBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PostBuildEvent>\r
+ <Lib />\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+ <PreBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PreBuildEvent>\r
+ <ClCompile>\r
+ <Optimization>MaxSpeed</Optimization>\r
+ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>\r
+ <IntrinsicFunctions>true</IntrinsicFunctions>\r
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>\r
+ <AdditionalIncludeDirectories>../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <ExceptionHandling>Async</ExceptionHandling>\r
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader>Use</PrecompiledHeader>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ <PreprocessorDefinitions>TBB_USE_CAPTURED_EXCEPTION=0;NDEBUG;_VC80_UPGRADE=0x0710;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <WholeProgramOptimization>true</WholeProgramOptimization>\r
+ <TreatWarningAsError>true</TreatWarningAsError>\r
+ <OmitFramePointers>true</OmitFramePointers>\r
+ <FloatingPointModel>Fast</FloatingPointModel>\r
+ <ForcedIncludeFiles>common/compiler/vs/disable_silly_warnings.h</ForcedIncludeFiles>\r
+ </ClCompile>\r
+ <PostBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PostBuildEvent>\r
+ <Lib>\r
+ <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>\r
+ </Lib>\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">\r
+ <PreBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PreBuildEvent>\r
+ <ClCompile>\r
+ <Optimization>MaxSpeed</Optimization>\r
+ <InlineFunctionExpansion>Disabled</InlineFunctionExpansion>\r
+ <IntrinsicFunctions>true</IntrinsicFunctions>\r
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>\r
+ <AdditionalIncludeDirectories>../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <ExceptionHandling>Async</ExceptionHandling>\r
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader>Use</PrecompiledHeader>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ <PreprocessorDefinitions>TBB_USE_CAPTURED_EXCEPTION=0;TBB_USE_THREADING_TOOLS=1;NDEBUG;_VC80_UPGRADE=0x0710;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <WholeProgramOptimization>false</WholeProgramOptimization>\r
+ <TreatWarningAsError>true</TreatWarningAsError>\r
+ <OmitFramePointers>true</OmitFramePointers>\r
+ <FloatingPointModel>Fast</FloatingPointModel>\r
+ <ForcedIncludeFiles>common/compiler/vs/disable_silly_warnings.h</ForcedIncludeFiles>\r
+ </ClCompile>\r
+ <PreLinkEvent>\r
+ <Command>\r
+ </Command>\r
+ </PreLinkEvent>\r
+ <Link>\r
+ <AdditionalDependencies>avformat-52.lib;avcodec-52.lib;avutil-50.lib;SWSCALE-0.lib;tbb.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+ <Version>\r
+ </Version>\r
+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
+ <IgnoreSpecificDefaultLibraries>LIBC.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>\r
+ <GenerateDebugInformation>true</GenerateDebugInformation>\r
+ <GenerateMapFile>true</GenerateMapFile>\r
+ <MapExports>true</MapExports>\r
+ <SubSystem>Console</SubSystem>\r
+ <OptimizeReferences>\r
+ </OptimizeReferences>\r
+ <EnableCOMDATFolding>\r
+ </EnableCOMDATFolding>\r
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>\r
+ <FixedBaseAddress>false</FixedBaseAddress>\r
+ <DataExecutionPrevention>\r
+ </DataExecutionPrevention>\r
+ <TargetMachine>MachineX86</TargetMachine>\r
+ </Link>\r
+ <PostBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PostBuildEvent>\r
+ <Lib />\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">\r
+ <PreBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PreBuildEvent>\r
+ <ClCompile>\r
+ <Optimization>Disabled</Optimization>\r
+ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>\r
+ <IntrinsicFunctions>true</IntrinsicFunctions>\r
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>\r
+ <AdditionalIncludeDirectories>../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <ExceptionHandling>Async</ExceptionHandling>\r
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader>Use</PrecompiledHeader>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ <PreprocessorDefinitions>TBB_USE_CAPTURED_EXCEPTION=0;TBB_USE_ASSERT=1;TBB_USE_PERFORMANCE_WARNINGS=1;_VC80_UPGRADE=0x0710;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <WholeProgramOptimization>false</WholeProgramOptimization>\r
+ <TreatWarningAsError>true</TreatWarningAsError>\r
+ <OmitFramePointers>true</OmitFramePointers>\r
+ <FloatingPointModel>Fast</FloatingPointModel>\r
+ <ForcedIncludeFiles>common/compiler/vs/disable_silly_warnings.h</ForcedIncludeFiles>\r
+ </ClCompile>\r
+ <PreLinkEvent>\r
+ <Command>\r
+ </Command>\r
+ </PreLinkEvent>\r
+ <Link>\r
+ <AdditionalDependencies>avformat-52.lib;avcodec-52.lib;avutil-50.lib;SWSCALE-0.lib;tbb.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+ <Version>\r
+ </Version>\r
+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
+ <IgnoreSpecificDefaultLibraries>LIBC.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>\r
+ <GenerateDebugInformation>true</GenerateDebugInformation>\r
+ <GenerateMapFile>true</GenerateMapFile>\r
+ <MapExports>true</MapExports>\r
+ <SubSystem>Console</SubSystem>\r
+ <OptimizeReferences>\r
+ </OptimizeReferences>\r
+ <EnableCOMDATFolding>\r
+ </EnableCOMDATFolding>\r
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>\r
+ <FixedBaseAddress>false</FixedBaseAddress>\r
+ <DataExecutionPrevention>\r
+ </DataExecutionPrevention>\r
+ <TargetMachine>MachineX86</TargetMachine>\r
+ </Link>\r
+ <PostBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PostBuildEvent>\r
+ <Lib />\r
+ </ItemDefinitionGroup>\r
+ <ItemGroup>\r
+ <ClCompile Include="consumer\ffmpeg_consumer.cpp">\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ </ClCompile>\r
+ <ClCompile Include="ffmpeg.cpp" />\r
+ <ClCompile Include="producer\audio\audio_decoder.cpp">\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
+ </ClCompile>\r
+ <ClCompile Include="producer\ffmpeg_producer.cpp">\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ </ClCompile>\r
+ <ClCompile Include="producer\input.cpp">\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ </ClCompile>\r
+ <ClCompile Include="producer\video\video_decoder.cpp">\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
+ </ClCompile>\r
+ <ClCompile Include="StdAfx.cpp">\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">Create</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">Create</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>\r
+ </ClCompile>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClInclude Include="consumer\ffmpeg_consumer.h" />\r
+ <ClInclude Include="ffmpeg.h" />\r
+ <ClInclude Include="producer\audio\audio_decoder.h" />\r
+ <ClInclude Include="producer\ffmpeg_producer.h" />\r
+ <ClInclude Include="producer\input.h" />\r
+ <ClInclude Include="producer\video\video_decoder.h" />\r
+ <ClInclude Include="StdAfx.h" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ProjectReference Include="..\..\common\common.vcxproj">\r
+ <Project>{02308602-7fe0-4253-b96e-22134919f56a}</Project>\r
+ </ProjectReference>\r
+ <ProjectReference Include="..\..\core\core.vcxproj">\r
+ <Project>{79388c20-6499-4bf6-b8b9-d8c33d7d4ddd}</Project>\r
+ </ProjectReference>\r
+ <ProjectReference Include="..\..\mixer\mixer.vcxproj">\r
+ <Project>{477e12a4-1b28-4ff7-b46d-76606bdd1891}</Project>\r
+ </ProjectReference>\r
+ </ItemGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
+ <ImportGroup Label="ExtensionTargets">\r
+ </ImportGroup>\r
+</Project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <ItemGroup>\r
+ <Filter Include="consumer">\r
+ <UniqueIdentifier>{4db7d9c3-08ea-4423-a303-f18737629268}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="producer">\r
+ <UniqueIdentifier>{c5a94fd1-4552-4f6d-97cd-24e44e662e0f}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="producer\video">\r
+ <UniqueIdentifier>{4b0f3949-6dc5-4895-837f-4c3ef1759a90}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="producer\audio">\r
+ <UniqueIdentifier>{6937307b-550f-48f8-9cc0-509de0e18ddc}</UniqueIdentifier>\r
+ </Filter>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClCompile Include="producer\ffmpeg_producer.cpp">\r
+ <Filter>producer</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="producer\input.cpp">\r
+ <Filter>producer</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="producer\video\video_decoder.cpp">\r
+ <Filter>producer\video</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="producer\audio\audio_decoder.cpp">\r
+ <Filter>producer\audio</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="consumer\ffmpeg_consumer.cpp">\r
+ <Filter>consumer</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="ffmpeg.cpp" />\r
+ <ClCompile Include="StdAfx.cpp" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClInclude Include="producer\ffmpeg_producer.h">\r
+ <Filter>producer</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="producer\input.h">\r
+ <Filter>producer</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="producer\video\video_decoder.h">\r
+ <Filter>producer\video</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="producer\audio\audio_decoder.h">\r
+ <Filter>producer\audio</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="consumer\ffmpeg_consumer.h">\r
+ <Filter>consumer</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="StdAfx.h" />\r
+ <ClInclude Include="ffmpeg.h" />\r
+ </ItemGroup>\r
+</Project>
\ No newline at end of file
-#include "../../stdafx.h"\r
+#include "../stdafx.h"\r
\r
#include "ffmpeg_producer.h"\r
\r
#include <mixer/audio/audio_transform.h>\r
\r
#include <common/env.h>\r
+#include <common/utility/timer.h>\r
\r
#include <tbb/parallel_invoke.h>\r
\r
#include <deque>\r
#include <functional>\r
\r
-namespace caspar { namespace core { namespace ffmpeg{\r
+namespace caspar {\r
\r
-struct ffmpeg_producer : public frame_producer\r
+struct ffmpeg_producer : public core::frame_producer\r
{\r
const std::wstring filename_;\r
const bool loop_;\r
std::unique_ptr<audio_decoder> audio_decoder_;\r
std::unique_ptr<video_decoder> video_decoder_;\r
\r
- std::deque<safe_ptr<write_frame>> video_frame_channel_; \r
- std::deque<std::vector<short>> audio_chunk_channel_;\r
+ std::deque<safe_ptr<core::write_frame>> video_frame_channel_; \r
+ std::deque<std::vector<short>> audio_chunk_channel_;\r
\r
- std::queue<safe_ptr<draw_frame>> ouput_channel_;\r
+ std::queue<safe_ptr<core::draw_frame>> ouput_channel_;\r
\r
- safe_ptr<draw_frame> last_frame_;\r
- std::shared_ptr<frame_factory> frame_factory_;\r
+ safe_ptr<core::draw_frame> last_frame_;\r
+ std::shared_ptr<core::frame_factory> frame_factory_;\r
\r
std::unique_ptr<input> input_; \r
public:\r
explicit ffmpeg_producer(const std::wstring& filename, bool loop) \r
: filename_(filename)\r
, loop_(loop) \r
- , last_frame_(draw_frame(draw_frame::empty()))\r
+ , last_frame_(core::draw_frame(core::draw_frame::empty()))\r
\r
{\r
graph_ = diagnostics::create_graph(boost::bind(&ffmpeg_producer::print, this)); \r
graph_->set_color("frame-time", diagnostics::color(1.0f, 0.0f, 0.0f));\r
}\r
\r
- virtual void initialize(const safe_ptr<frame_factory>& frame_factory)\r
+ virtual void initialize(const safe_ptr<core::frame_factory>& frame_factory)\r
{\r
frame_factory_ = frame_factory;\r
input_.reset(new input(safe_ptr<diagnostics::graph>(graph_), filename_, loop_, std::bind(&ffmpeg_producer::print, this)));\r
parent_printer_ = parent_printer;\r
}\r
\r
- virtual safe_ptr<draw_frame> receive()\r
+ virtual safe_ptr<core::draw_frame> receive()\r
{\r
perf_timer_.reset();\r
\r
\r
while((!video_frame_channel_.empty() || !video_decoder_) && (!audio_chunk_channel_.empty() || !audio_decoder_))\r
{\r
- std::shared_ptr<write_frame> frame;\r
+ std::shared_ptr<core::write_frame> frame;\r
\r
if(video_decoder_)\r
{\r
audio_chunk_channel_.pop_front();\r
}\r
\r
- ouput_channel_.push(safe_ptr<write_frame>(frame)); \r
+ ouput_channel_.push(safe_ptr<core::write_frame>(frame)); \r
} \r
\r
if(ouput_channel_.empty() && video_packet.empty() && audio_packet.empty()) \r
if(!ouput_channel_.empty())\r
{\r
result = std::move(ouput_channel_.front());\r
- last_frame_ = draw_frame(result);\r
+ last_frame_ = core::draw_frame(result);\r
last_frame_->get_audio_transform().set_gain(0.0); // last_frame should not have audio\r
ouput_channel_.pop();\r
}\r
else if(input_->is_eof())\r
- return draw_frame::eof();\r
+ return core::draw_frame::eof();\r
\r
return result;\r
}\r
}\r
};\r
\r
-safe_ptr<frame_producer> create_ffmpeg_producer(const std::vector<std::wstring>& params)\r
+safe_ptr<core::frame_producer> create_ffmpeg_producer(const std::vector<std::wstring>& params)\r
{ \r
static const std::vector<std::wstring> extensions = boost::assign::list_of\r
(L"mpg")(L"mpeg")(L"avi")(L"mov")(L"qt")(L"webm")(L"dv")(L"mp4")(L"f4v")(L"flv")(L"mkv")(L"mka")(L"wmw")(L"wma")(L"ogg")(L"divx")(L"wav")(L"mp3");\r
});\r
\r
if(ext == extensions.end())\r
- return frame_producer::empty();\r
+ return core::frame_producer::empty();\r
\r
std::wstring path = filename + L"." + *ext;\r
bool loop = std::find(params.begin(), params.end(), L"LOOP") != params.end();\r
return make_safe<ffmpeg_producer>(path, loop);\r
}\r
\r
-}}}
\ No newline at end of file
+}
\ No newline at end of file
--- /dev/null
+#pragma once\r
+\r
+#include <core/producer/frame_producer.h>\r
+\r
+#include <common/memory/safe_ptr.h>\r
+\r
+#include <string>\r
+#include <vector>\r
+\r
+namespace caspar {\r
+ \r
+safe_ptr<core::frame_producer> create_ffmpeg_producer(const std::vector<std::wstring>& params);\r
+\r
+}
\ No newline at end of file
-#include "..\..\stdafx.h"\r
+#include "..\stdafx.h"\r
\r
#include "input.h"\r
\r
-#include "../../video_format.h"\r
+#include <core/video_format.h>\r
\r
#include <common/concurrency/executor.h>\r
#include <common/diagnostics/graph.h>\r
#include <libavformat/avformat.h>\r
}\r
\r
-namespace caspar { namespace core { namespace ffmpeg{\r
+namespace caspar {\r
\r
struct input::implementation : boost::noncopyable\r
{ \r
aligned_buffer input::get_video_packet(){return impl_->get_video_packet();}\r
aligned_buffer input::get_audio_packet(){return impl_->get_audio_packet();}\r
double input::fps() const { return impl_->fps(); }\r
-}}}
\ No newline at end of file
+}
\ No newline at end of file
\r
struct AVCodecContext;\r
\r
-namespace caspar { namespace core { namespace ffmpeg{ \r
+namespace caspar {\r
\r
typedef std::vector<unsigned char, tbb::cache_aligned_allocator<unsigned char>> aligned_buffer;\r
\r
std::shared_ptr<implementation> impl_;\r
};\r
\r
- }\r
-}}\r
+ \r
+}\r
--- /dev/null
+/*\r
+* copyright (c) 2010 Sveriges Television AB <info@casparcg.com>\r
+*\r
+* This file is part of CasparCG.\r
+*\r
+* CasparCG is free software: you can redistribute it and/or modify\r
+* it under the terms of the GNU General Public License as published by\r
+* the Free Software Foundation, either version 3 of the License, or\r
+* (at your option) any later version.\r
+*\r
+* CasparCG is distributed in the hope that it will be useful,\r
+* but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
+* GNU General Public License for more details.\r
+\r
+* You should have received a copy of the GNU General Public License\r
+* along with CasparCG. If not, see <http://www.gnu.org/licenses/>.\r
+*\r
+*/\r
+ \r
+// stdafx.cpp : source file that includes just the standard includes\r
+// dma.pch will be the pre-compiled header\r
+// stdafx.obj will contain the pre-compiled type information\r
+\r
+#include "stdafx.h"\r
+\r
+// TODO: reference any additional headers you need in STDAFX.H\r
+// and not in this file\r
--- /dev/null
+/*\r
+* copyright (c) 2010 Sveriges Television AB <info@casparcg.com>\r
+*\r
+* This file is part of CasparCG.\r
+*\r
+* CasparCG is free software: you can redistribute it and/or modify\r
+* it under the terms of the GNU General Public License as published by\r
+* the Free Software Foundation, either version 3 of the License, or\r
+* (at your option) any later version.\r
+*\r
+* CasparCG is distributed in the hope that it will be useful,\r
+* but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
+* GNU General Public License for more details.\r
+\r
+* You should have received a copy of the GNU General Public License\r
+* along with CasparCG. If not, see <http://www.gnu.org/licenses/>.\r
+*\r
+*/\r
+ \r
+// stdafx.h : include file for standard system include files,\r
+// or project specific include files that are used frequently, but\r
+// are changed infrequently\r
+//\r
+\r
+#pragma once\r
+\r
+#include "../common/compiler/vs/disable_silly_warnings.h"\r
+\r
+#define NOMINMAX\r
+\r
+#if defined(_MSC_VER)\r
+# ifndef _SCL_SECURE_NO_WARNINGS\r
+# define _SCL_SECURE_NO_WARNINGS\r
+# endif\r
+# ifndef _CRT_SECURE_NO_WARNINGS\r
+# define _CRT_SECURE_NO_WARNINGS\r
+# endif\r
+#endif\r
+\r
+#if !defined(AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_)\r
+#define AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_\r
+\r
+#define BOOST_PARAMETER_MAX_ARITY 7\r
+\r
+#ifdef _DEBUG\r
+#include <crtdbg.h>\r
+#endif\r
+\r
+#include <memory>\r
+#include <array>\r
+#include <functional>\r
+#include <algorithm>\r
+#include <vector>\r
+#include <deque>\r
+#include <queue>\r
+#include <string>\r
+#include <math.h>\r
+\r
+#include <tbb/atomic.h>\r
+#include <tbb/concurrent_queue.h>\r
+#include <tbb/concurrent_unordered_map.h>\r
+#include <tbb/parallel_invoke.h>\r
+#include <tbb/parallel_for.h>\r
+#include <tbb/parallel_for_each.h>\r
+\r
+#include <boost/assign.hpp>\r
+#include <boost/filesystem.hpp>\r
+#include <boost/foreach.hpp>\r
+#include <boost/range/algorithm.hpp>\r
+#include <boost/signals2.hpp>\r
+\r
+#include "../common/utility/string.h"\r
+#include "../common/memory/safe_ptr.h"\r
+//#include "../common/concurrency/executor.h" // Can't include this due to MSVC lambda bug\r
+\r
+#include "../common/log/Log.h"\r
+#include "../common/exception/exceptions.h"\r
+#include "../common/exception/win32_exception.h"\r
+\r
+#include <assert.h>\r
+\r
+#endif\r
--- /dev/null
+#include "StdAfx.h"\r
+\r
+#include "flash.h"\r
+\r
+#include "producer/cg_producer.h"\r
+#include "producer/flash_producer.h"\r
+\r
+#include <common/env.h>\r
+\r
+namespace caspar{\r
+\r
+void init_flash()\r
+{\r
+ core::register_producer_factory(create_ct_producer);\r
+}\r
+\r
+std::wstring get_cg_version()\r
+{\r
+ return L"Unknown";\r
+}\r
+\r
+std::wstring g_version = L"Not found";\r
+void setup_version()\r
+{ \r
+#ifdef WIN32\r
+ HKEY hkey;\r
+ \r
+ DWORD dwType, dwSize;\r
+ if(RegOpenKeyEx(HKEY_LOCAL_MACHINE, TEXT("SOFTWARE\\Macromedia\\FlashPlayerActiveX"), 0, KEY_QUERY_VALUE, &hkey) == ERROR_SUCCESS)\r
+ {\r
+ wchar_t ver_str[1024];\r
+\r
+ dwType = REG_SZ;\r
+ dwSize = sizeof(ver_str);\r
+ RegQueryValueEx(hkey, TEXT("Version"), NULL, &dwType, (PBYTE)&ver_str, &dwSize);\r
+ \r
+ g_version = ver_str;\r
+\r
+ RegCloseKey(hkey);\r
+ }\r
+#endif\r
+}\r
+\r
+std::wstring get_flash_version()\r
+{ \r
+ boost::once_flag flag = BOOST_ONCE_INIT;\r
+ boost::call_once(setup_version, flag);\r
+\r
+ return g_version;\r
+}\r
+\r
+}\r
--- /dev/null
+#pragma once\r
+\r
+#include <string>\r
+\r
+namespace caspar{\r
+\r
+void init_flash();\r
+\r
+std::wstring get_cg_version();\r
+std::wstring get_flash_version();\r
+\r
+}
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <ItemGroup Label="ProjectConfigurations">\r
+ <ProjectConfiguration Include="Profile|Win32">\r
+ <Configuration>Profile</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Debug|Win32">\r
+ <Configuration>Debug</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Develop|Win32">\r
+ <Configuration>Develop</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Release|Win32">\r
+ <Configuration>Release</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ </ItemGroup>\r
+ <PropertyGroup Label="Globals">\r
+ <ProjectGuid>{816DEABA-3757-4306-AFE0-C27CF96C4DEA}</ProjectGuid>\r
+ <RootNamespace>flash</RootNamespace>\r
+ <Keyword>Win32Proj</Keyword>\r
+ <ProjectName>flash</ProjectName>\r
+ </PropertyGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">\r
+ <ConfigurationType>StaticLibrary</ConfigurationType>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ <WholeProgramOptimization>false</WholeProgramOptimization>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'" Label="Configuration">\r
+ <ConfigurationType>StaticLibrary</ConfigurationType>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ <WholeProgramOptimization>false</WholeProgramOptimization>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'" Label="Configuration">\r
+ <ConfigurationType>StaticLibrary</ConfigurationType>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ <WholeProgramOptimization>false</WholeProgramOptimization>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">\r
+ <ConfigurationType>StaticLibrary</ConfigurationType>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ <UseIntelTBB>true</UseIntelTBB>\r
+ <InstrumentIntelTBB>false</InstrumentIntelTBB>\r
+ </PropertyGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />\r
+ <ImportGroup Label="ExtensionSettings">\r
+ </ImportGroup>\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />\r
+ </ImportGroup>\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'" Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />\r
+ </ImportGroup>\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'" Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />\r
+ </ImportGroup>\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />\r
+ </ImportGroup>\r
+ <PropertyGroup Label="UserMacros" />\r
+ <PropertyGroup>\r
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)bin\$(Configuration)\</IntDir>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)bin\$(Configuration)\</IntDir>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">$(ProjectDir)bin\$(Configuration)\</IntDir>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">$(ProjectDir)bin\$(Configuration)\</IntDir>\r
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\;..\..\dependencies\boost_1_44_0\;..\..\dependencies\ffmpeg 0.6\include\;..\..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\;..\..\dependencies\boost_1_44_0\;..\..\dependencies\ffmpeg 0.6\include\;..\..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">..\..\;..\..\dependencies\boost_1_44_0\;..\..\dependencies\ffmpeg 0.6\include\;..\..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">..\..\;..\..\dependencies\boost_1_44_0\;..\..\dependencies\ffmpeg 0.6\include\;..\..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
+ <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\dependencies\boost_1_44_0\stage\lib\;..\..\dependencies\ffmpeg 0.6\lib\;..\..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
+ <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\dependencies\boost_1_44_0\stage\lib\;..\..\dependencies\ffmpeg 0.6\lib\;..\..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
+ <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">..\..\dependencies\boost_1_44_0\stage\lib\;..\..\dependencies\ffmpeg 0.6\lib\;..\..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
+ <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">..\..\dependencies\boost_1_44_0\stage\lib\;..\..\dependencies\ffmpeg 0.6\lib\;..\..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectName)</TargetName>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectName)</TargetName>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">$(ProjectName)</TargetName>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">$(ProjectName)</TargetName>\r
+ </PropertyGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+ <PreBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PreBuildEvent>\r
+ <ClCompile>\r
+ <Optimization>Disabled</Optimization>\r
+ <AdditionalIncludeDirectories>../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <MinimalRebuild>false</MinimalRebuild>\r
+ <ExceptionHandling>Async</ExceptionHandling>\r
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\r
+ <SmallerTypeCheck>false</SmallerTypeCheck>\r
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
+ <EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader>Use</PrecompiledHeader>\r
+ <BrowseInformation>true</BrowseInformation>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>\r
+ <PreprocessorDefinitions>TBB_USE_CAPTURED_EXCEPTION=0;TBB_USE_ASSERT=1;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <TreatWarningAsError>true</TreatWarningAsError>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ <FloatingPointModel>Fast</FloatingPointModel>\r
+ <ForcedIncludeFiles>common/compiler/vs/disable_silly_warnings.h</ForcedIncludeFiles>\r
+ </ClCompile>\r
+ <PostBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PostBuildEvent>\r
+ <Lib />\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+ <PreBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PreBuildEvent>\r
+ <ClCompile>\r
+ <Optimization>MaxSpeed</Optimization>\r
+ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>\r
+ <IntrinsicFunctions>true</IntrinsicFunctions>\r
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>\r
+ <AdditionalIncludeDirectories>../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <ExceptionHandling>Async</ExceptionHandling>\r
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader>Use</PrecompiledHeader>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ <PreprocessorDefinitions>TBB_USE_CAPTURED_EXCEPTION=0;NDEBUG;_VC80_UPGRADE=0x0710;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <WholeProgramOptimization>true</WholeProgramOptimization>\r
+ <TreatWarningAsError>true</TreatWarningAsError>\r
+ <OmitFramePointers>true</OmitFramePointers>\r
+ <FloatingPointModel>Fast</FloatingPointModel>\r
+ <ForcedIncludeFiles>common/compiler/vs/disable_silly_warnings.h</ForcedIncludeFiles>\r
+ </ClCompile>\r
+ <PostBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PostBuildEvent>\r
+ <Lib>\r
+ <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>\r
+ </Lib>\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">\r
+ <PreBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PreBuildEvent>\r
+ <ClCompile>\r
+ <Optimization>MaxSpeed</Optimization>\r
+ <InlineFunctionExpansion>Disabled</InlineFunctionExpansion>\r
+ <IntrinsicFunctions>true</IntrinsicFunctions>\r
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>\r
+ <AdditionalIncludeDirectories>../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <ExceptionHandling>Async</ExceptionHandling>\r
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader>Use</PrecompiledHeader>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ <PreprocessorDefinitions>TBB_USE_CAPTURED_EXCEPTION=0;TBB_USE_THREADING_TOOLS=1;NDEBUG;_VC80_UPGRADE=0x0710;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <WholeProgramOptimization>false</WholeProgramOptimization>\r
+ <TreatWarningAsError>true</TreatWarningAsError>\r
+ <OmitFramePointers>true</OmitFramePointers>\r
+ <FloatingPointModel>Fast</FloatingPointModel>\r
+ <ForcedIncludeFiles>common/compiler/vs/disable_silly_warnings.h</ForcedIncludeFiles>\r
+ </ClCompile>\r
+ <PostBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PostBuildEvent>\r
+ <Lib />\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">\r
+ <PreBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PreBuildEvent>\r
+ <ClCompile>\r
+ <Optimization>Disabled</Optimization>\r
+ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>\r
+ <IntrinsicFunctions>true</IntrinsicFunctions>\r
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>\r
+ <AdditionalIncludeDirectories>../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <ExceptionHandling>Async</ExceptionHandling>\r
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader>Use</PrecompiledHeader>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ <PreprocessorDefinitions>TBB_USE_CAPTURED_EXCEPTION=0;TBB_USE_ASSERT=1;TBB_USE_PERFORMANCE_WARNINGS=1;_VC80_UPGRADE=0x0710;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <WholeProgramOptimization>false</WholeProgramOptimization>\r
+ <TreatWarningAsError>true</TreatWarningAsError>\r
+ <OmitFramePointers>true</OmitFramePointers>\r
+ <FloatingPointModel>Fast</FloatingPointModel>\r
+ <ForcedIncludeFiles>common/compiler/vs/disable_silly_warnings.h</ForcedIncludeFiles>\r
+ </ClCompile>\r
+ <PostBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PostBuildEvent>\r
+ <Lib />\r
+ </ItemDefinitionGroup>\r
+ <ItemGroup>\r
+ <ProjectReference Include="..\..\common\common.vcxproj">\r
+ <Project>{02308602-7fe0-4253-b96e-22134919f56a}</Project>\r
+ </ProjectReference>\r
+ <ProjectReference Include="..\..\core\core.vcxproj">\r
+ <Project>{79388c20-6499-4bf6-b8b9-d8c33d7d4ddd}</Project>\r
+ </ProjectReference>\r
+ <ProjectReference Include="..\..\mixer\mixer.vcxproj">\r
+ <Project>{477e12a4-1b28-4ff7-b46d-76606bdd1891}</Project>\r
+ </ProjectReference>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <Midl Include="interop\Flash9e.IDL">\r
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">true</ExcludedFromBuild>\r
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">true</ExcludedFromBuild>\r
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
+ </Midl>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClCompile Include="flash.cpp" />\r
+ <ClCompile Include="interop\Flash9e_i.c">\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">NotUsing</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">NotUsing</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>\r
+ </ClCompile>\r
+ <ClCompile Include="producer\cg_producer.cpp">\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ </ClCompile>\r
+ <ClCompile Include="producer\FlashAxContainer.cpp">\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ </ClCompile>\r
+ <ClCompile Include="producer\flash_producer.cpp">\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ </ClCompile>\r
+ <ClCompile Include="StdAfx.cpp">\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">Create</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">Create</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>\r
+ </ClCompile>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClInclude Include="flash.h" />\r
+ <ClInclude Include="interop\axflash.h" />\r
+ <ClInclude Include="interop\TimerHelper.h" />\r
+ <ClInclude Include="producer\cg_producer.h" />\r
+ <ClInclude Include="producer\FlashAxContainer.h" />\r
+ <ClInclude Include="producer\flash_producer.h" />\r
+ <ClInclude Include="StdAfx.h" />\r
+ </ItemGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
+ <ImportGroup Label="ExtensionTargets">\r
+ </ImportGroup>\r
+</Project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <ItemGroup>\r
+ <Filter Include="interop">\r
+ <UniqueIdentifier>{bd73f842-a8f5-4d98-92cf-81c623283dde}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="producer">\r
+ <UniqueIdentifier>{448da3f4-8d88-4c18-856b-8f8ecc190d1e}</UniqueIdentifier>\r
+ </Filter>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <Midl Include="interop\Flash9e.IDL">\r
+ <Filter>interop</Filter>\r
+ </Midl>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClCompile Include="interop\Flash9e_i.c">\r
+ <Filter>interop</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="producer\flash_producer.cpp">\r
+ <Filter>producer</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="producer\FlashAxContainer.cpp">\r
+ <Filter>producer</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="producer\cg_producer.cpp">\r
+ <Filter>producer</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="flash.cpp" />\r
+ <ClCompile Include="StdAfx.cpp" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClInclude Include="interop\TimerHelper.h">\r
+ <Filter>interop</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="interop\axflash.h">\r
+ <Filter>interop</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="producer\cg_producer.h">\r
+ <Filter>producer</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="producer\flash_producer.h">\r
+ <Filter>producer</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="producer\FlashAxContainer.h">\r
+ <Filter>producer</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="StdAfx.h" />\r
+ <ClInclude Include="flash.h" />\r
+ </ItemGroup>\r
+</Project>
\ No newline at end of file
*\r
*/\r
\r
-#include "..\..\stdafx.h"\r
+#include "../stdafx.h"\r
\r
#include "FlashAxContainer.h"\r
-#include "TimerHelper.h"\r
+#include "../interop/TimerHelper.h"\r
\r
#include <common/log/log.h>\r
\r
#include <functional>\r
#include <vector>\r
\r
-#include "../../video_format.h"\r
-#include "axflash.h"\r
+#include <core/video_format.h>\r
+#include "../interop/axflash.h"\r
//#import "progid:ShockwaveFlash.ShockwaveFlash.9" no_namespace, named_guids\r
\r
#include <comdef.h>\r
\r
-#include "TimerHelper.h"\r
+#include "../interop/TimerHelper.h"\r
\r
#include <InitGuid.h>\r
#include <ddraw.h>\r
-#include "../../StdAfx.h"\r
+#include "../StdAfx.h"\r
\r
#include <common/env.h>\r
\r
using boost::format;\r
using boost::io::group;\r
\r
-namespace caspar { namespace core { namespace flash {\r
+namespace caspar {\r
\r
struct cg_producer::implementation : boost::noncopyable\r
{\r
printer parent_printer_;\r
safe_ptr<flash_producer> flash_producer_;\r
- std::shared_ptr<frame_factory> frame_factory_;\r
+ std::shared_ptr<core::frame_factory> frame_factory_;\r
public:\r
implementation() \r
: flash_producer_(flash_producer(env::template_host())){}\r
{\r
flash_producer_ = flash_producer(env::template_host());\r
flash_producer_->set_parent_printer(parent_printer_);\r
- flash_producer_->initialize(safe_ptr<frame_factory>(frame_factory_));\r
+ flash_producer_->initialize(safe_ptr<core::frame_factory>(frame_factory_));\r
}\r
\r
void add(int layer, const std::wstring& filename, bool play_on_load, const std::wstring& label, const std::wstring& data)\r
flash_producer_->param((boost::wformat(L"<invoke name=\"Invoke\" returntype=\"xml\"><arguments><array><property id=\"0\"><number>%1%</number></property></array><string>%2%</string></arguments></invoke>") % layer % label).str());\r
}\r
\r
- safe_ptr<draw_frame> receive()\r
+ safe_ptr<core::draw_frame> receive()\r
{\r
return flash_producer_->receive();\r
}\r
\r
- void initialize(const safe_ptr<frame_factory>& frame_factory)\r
+ void initialize(const safe_ptr<core::frame_factory>& frame_factory)\r
{\r
frame_factory_ = frame_factory;\r
flash_producer_->set_parent_printer(parent_printer_);\r
}\r
};\r
\r
-safe_ptr<cg_producer> get_default_cg_producer(const safe_ptr<channel>& channel, int render_layer)\r
+safe_ptr<cg_producer> get_default_cg_producer(const safe_ptr<core::channel>& channel, int render_layer)\r
{ \r
try\r
{\r
}\r
}\r
\r
-safe_ptr<frame_producer> create_ct_producer(const std::vector<std::wstring>& params) \r
+safe_ptr<core::frame_producer> create_ct_producer(const std::vector<std::wstring>& params) \r
{\r
std::wstring filename = env::media_folder() + L"\\" + params[0] + L".ct";\r
if(!boost::filesystem::exists(filename))\r
- return frame_producer::empty();\r
+ return core::frame_producer::empty();\r
\r
auto producer = make_safe<cg_producer>();\r
producer->add(0, filename, 1);\r
\r
cg_producer::cg_producer() : impl_(new implementation()){}\r
cg_producer::cg_producer(cg_producer&& other) : impl_(std::move(other.impl_)){}\r
-safe_ptr<draw_frame> cg_producer::receive(){return impl_->receive();}\r
+safe_ptr<core::draw_frame> cg_producer::receive(){return impl_->receive();}\r
void cg_producer::clear(){impl_->clear();}\r
void cg_producer::add(int layer, const std::wstring& template_name, bool play_on_load, const std::wstring& startFromLabel, const std::wstring& data){impl_->add(layer, template_name, play_on_load, startFromLabel, data);}\r
void cg_producer::remove(int layer){impl_->remove(layer);}\r
void cg_producer::next(int layer){impl_->next(layer);}\r
void cg_producer::update(int layer, const std::wstring& data){impl_->update(layer, data);}\r
void cg_producer::invoke(int layer, const std::wstring& label){impl_->invoke(layer, label);}\r
-void cg_producer::initialize(const safe_ptr<frame_factory>& frame_factory){impl_->initialize(frame_factory);}\r
+void cg_producer::initialize(const safe_ptr<core::frame_factory>& frame_factory){impl_->initialize(frame_factory);}\r
void cg_producer::set_parent_printer(const printer& parent_printer) { impl_->set_parent_printer(parent_printer);}\r
std::wstring cg_producer::print() const{return impl_->print();}\r
\r
-std::wstring get_cg_version()\r
-{\r
- return L"Unknown";\r
-}\r
-}}}
\ No newline at end of file
+}
\ No newline at end of file
#pragma once\r
\r
-#include "../frame_producer.h"\r
-#include "../frame_producer_device.h"\r
-#include "../../video_format.h"\r
-#include "../../channel.h"\r
+#include <core/producer/frame_producer.h>\r
+#include <core/producer/frame_producer_device.h>\r
+#include <core/video_format.h>\r
+#include <core/channel.h>\r
\r
#include <string>\r
\r
-namespace caspar { namespace core { namespace flash{\r
+namespace caspar {\r
\r
-class cg_producer : public frame_producer\r
+class cg_producer : public core::frame_producer\r
{\r
public:\r
static const unsigned int DEFAULT_LAYER = 9999;\r
explicit cg_producer();\r
cg_producer(cg_producer&& other);\r
\r
- virtual safe_ptr<draw_frame> receive();\r
- virtual void initialize(const safe_ptr<frame_factory>& frame_factory);\r
+ virtual safe_ptr<core::draw_frame> receive();\r
+ virtual void initialize(const safe_ptr<core::frame_factory>& frame_factory);\r
virtual void set_parent_printer(const printer& parent_printer);\r
\r
void clear();\r
struct implementation;\r
std::shared_ptr<implementation> impl_;\r
};\r
+safe_ptr<cg_producer> get_default_cg_producer(const safe_ptr<core::channel>& channel, int layer_index = cg_producer::DEFAULT_LAYER);\r
\r
-std::wstring get_cg_version();\r
+safe_ptr<core::frame_producer> create_ct_producer(const std::vector<std::wstring>& params);\r
\r
-safe_ptr<cg_producer> get_default_cg_producer(const safe_ptr<channel>& channel, int layer_index = cg_producer::DEFAULT_LAYER);\r
-\r
-safe_ptr<frame_producer> create_ct_producer(const std::vector<std::wstring>& params);\r
-\r
-}}}
\ No newline at end of file
+}
\ No newline at end of file
*\r
*/\r
\r
-#include "..\..\stdafx.h"\r
+#include "../stdafx.h"\r
\r
#if defined(_MSC_VER)\r
#pragma warning (disable : 4146)\r
#include <functional>\r
#include <boost/thread.hpp>\r
\r
-namespace caspar { namespace core { namespace flash {\r
+namespace caspar {\r
\r
-bool interlaced(double fps, const video_format_desc& format_desc)\r
+bool interlaced(double fps, const core::video_format_desc& format_desc)\r
{\r
return abs(fps/2.0 - format_desc.fps) < 0.1;\r
}\r
\r
printer parent_printer_;\r
const std::wstring filename_;\r
- const video_format_desc format_desc_;\r
+ const core::video_format_desc format_desc_;\r
\r
- std::shared_ptr<frame_factory> frame_factory_;\r
+ std::shared_ptr<core::frame_factory> frame_factory_;\r
\r
BYTE* bmp_data_; \r
std::shared_ptr<void> hdc_;\r
std::shared_ptr<void> bmp_;\r
\r
CComObject<caspar::flash::FlashAxContainer>* ax_;\r
- safe_ptr<draw_frame> head_;\r
+ safe_ptr<core::draw_frame> head_;\r
\r
timer timer_;\r
\r
}\r
\r
public:\r
- flash_renderer(const safe_ptr<diagnostics::graph>& graph, const std::shared_ptr<frame_factory>& frame_factory, const std::wstring& filename, const printer& parent_printer) \r
+ flash_renderer(const safe_ptr<diagnostics::graph>& graph, const std::shared_ptr<core::frame_factory>& frame_factory, const std::wstring& filename, const printer& parent_printer) \r
: parent_printer_(parent_printer)\r
, graph_(graph)\r
, filename_(filename)\r
, bmp_data_(nullptr)\r
, hdc_(CreateCompatibleDC(0), DeleteDC)\r
, ax_(nullptr)\r
- , head_(draw_frame::empty())\r
+ , head_(core::draw_frame::empty())\r
{\r
graph_->add_guide("frame-time", 0.5f);\r
graph_->set_color("frame-time", diagnostics::color(1.0f, 0.0f, 0.0f)); \r
CASPAR_LOG(warning) << print() << " Invalid frame-rate: " << ax_->GetFPS() << L". Should be either " << format_desc_.fps << L" or " << format_desc_.fps*2.0 << L".";\r
}\r
\r
- safe_ptr<draw_frame> render_frame(bool has_underflow)\r
+ safe_ptr<core::draw_frame> render_frame(bool has_underflow)\r
{\r
if(ax_->IsEmpty())\r
- return draw_frame::empty();\r
+ return core::draw_frame::empty();\r
\r
auto frame = render_simple_frame(has_underflow);\r
if(interlaced(ax_->GetFPS(), format_desc_))\r
- frame = draw_frame::interlace(frame, render_simple_frame(has_underflow), format_desc_.mode);\r
+ frame = core::draw_frame::interlace(frame, render_simple_frame(has_underflow), format_desc_.mode);\r
return frame;\r
}\r
\r
\r
private:\r
\r
- safe_ptr<draw_frame> render_simple_frame(bool underflow)\r
+ safe_ptr<core::draw_frame> render_simple_frame(bool underflow)\r
{\r
if(underflow)\r
graph_->add_tag("underflow");\r
\r
std::shared_ptr<diagnostics::graph> graph_;\r
\r
- safe_ptr<draw_frame> tail_;\r
- tbb::concurrent_bounded_queue<safe_ptr<draw_frame>> frame_buffer_;\r
+ safe_ptr<core::draw_frame> tail_;\r
+ tbb::concurrent_bounded_queue<safe_ptr<core::draw_frame>> frame_buffer_;\r
\r
std::shared_ptr<flash_renderer> renderer_;\r
- std::shared_ptr<frame_factory> frame_factory_;\r
- video_format_desc format_desc_;\r
+ std::shared_ptr<core::frame_factory> frame_factory_;\r
+ core::video_format_desc format_desc_;\r
\r
executor executor_;\r
\r
public:\r
implementation(const std::wstring& filename) \r
: filename_(filename) \r
- , tail_(draw_frame::empty()) \r
+ , tail_(core::draw_frame::empty()) \r
, executor_(print())\r
{ \r
if(!boost::filesystem::exists(filename))\r
});\r
}\r
\r
- virtual void initialize(const safe_ptr<frame_factory>& frame_factory)\r
+ virtual void initialize(const safe_ptr<core::frame_factory>& frame_factory)\r
{\r
frame_factory_ = frame_factory;\r
format_desc_ = frame_factory->get_video_format_desc();\r
parent_printer_ = parent_printer;\r
}\r
\r
- virtual safe_ptr<draw_frame> receive()\r
+ virtual safe_ptr<core::draw_frame> receive()\r
{ \r
if(!renderer_)\r
- return draw_frame::empty();\r
+ return core::draw_frame::empty();\r
\r
graph_->set_value("output-buffer", static_cast<float>(frame_buffer_.size())/static_cast<float>(frame_buffer_.capacity()));\r
if(!frame_buffer_.try_pop(tail_))\r
\r
try\r
{\r
- auto frame = draw_frame::empty();\r
+ auto frame = core::draw_frame::empty();\r
do{frame = renderer_->render_frame(frame_buffer_.size() < frame_buffer_.capacity()-2);}\r
- while(frame_buffer_.try_push(frame) && frame == draw_frame::empty());\r
+ while(frame_buffer_.try_push(frame) && frame == core::draw_frame::empty());\r
graph_->set_value("output-buffer", static_cast<float>(frame_buffer_.size())/static_cast<float>(frame_buffer_.capacity())); \r
fps_.fetch_and_store(static_cast<int>(renderer_->fps()*100.0));\r
}\r
if(!renderer_)\r
{\r
renderer_.reset(new flash_renderer(safe_ptr<diagnostics::graph>(graph_), frame_factory_, filename_, [=]{return print();}));\r
- while(frame_buffer_.try_push(draw_frame::empty())){} \r
+ while(frame_buffer_.try_push(core::draw_frame::empty())){} \r
}\r
\r
try\r
\r
flash_producer::flash_producer(flash_producer&& other) : impl_(std::move(other.impl_)){}\r
flash_producer::flash_producer(const std::wstring& filename) : impl_(new implementation(filename)){}\r
-safe_ptr<draw_frame> flash_producer::receive(){return impl_->receive();}\r
+safe_ptr<core::draw_frame> flash_producer::receive(){return impl_->receive();}\r
void flash_producer::param(const std::wstring& param){impl_->param(param);}\r
-void flash_producer::initialize(const safe_ptr<frame_factory>& frame_factory) { impl_->initialize(frame_factory);}\r
+void flash_producer::initialize(const safe_ptr<core::frame_factory>& frame_factory) { impl_->initialize(frame_factory);}\r
void flash_producer::set_parent_printer(const printer& parent_printer){impl_->set_parent_printer(parent_printer);}\r
std::wstring flash_producer::print() const {return impl_->print();}\r
\r
return L"";\r
}\r
\r
-std::wstring g_version = L"Not found";\r
-void setup_version()\r
-{ \r
-#ifdef WIN32\r
- HKEY hkey;\r
- \r
- DWORD dwType, dwSize;\r
- if(RegOpenKeyEx(HKEY_LOCAL_MACHINE, TEXT("SOFTWARE\\Macromedia\\FlashPlayerActiveX"), 0, KEY_QUERY_VALUE, &hkey) == ERROR_SUCCESS)\r
- {\r
- wchar_t ver_str[1024];\r
-\r
- dwType = REG_SZ;\r
- dwSize = sizeof(ver_str);\r
- RegQueryValueEx(hkey, TEXT("Version"), NULL, &dwType, (PBYTE)&ver_str, &dwSize);\r
- \r
- g_version = ver_str;\r
-\r
- RegCloseKey(hkey);\r
- }\r
-#endif\r
-}\r
-\r
-std::wstring get_flash_version()\r
-{ \r
- boost::once_flag flag = BOOST_ONCE_INIT;\r
- boost::call_once(setup_version, flag);\r
-\r
- return g_version;\r
-}\r
-\r
-}}}
\ No newline at end of file
+}
\ No newline at end of file
*/\r
#pragma once\r
\r
-#include "../frame_producer.h"\r
+#include <core/producer/frame_producer.h>\r
\r
#include <memory>\r
\r
-namespace caspar { namespace core { namespace flash {\r
+namespace caspar {\r
\r
-class flash_producer : public frame_producer\r
+class flash_producer : public core::frame_producer\r
{\r
public:\r
explicit flash_producer(const std::wstring& filename);\r
flash_producer(flash_producer&& other);\r
\r
- virtual safe_ptr<draw_frame> receive();\r
- virtual void initialize(const safe_ptr<frame_factory>& frame_factory);\r
+ virtual safe_ptr<core::draw_frame> receive();\r
+ virtual void initialize(const safe_ptr<core::frame_factory>& frame_factory);\r
virtual void set_parent_printer(const printer& parent_printer);\r
virtual std::wstring print() const;\r
\r
std::shared_ptr<implementation> impl_;\r
};\r
\r
-std::wstring get_flash_version();\r
-\r
-}}}
\ No newline at end of file
+}
\ No newline at end of file
--- /dev/null
+#include "image.h"\r
+\r
+#include "producer/image_producer.h"\r
+\r
+#include <core/producer/frame_producer.h>\r
+\r
+#include <common/utility/string.h>\r
+\r
+#include <FreeImage.h>\r
+\r
+namespace caspar\r
+{\r
+\r
+void init_image()\r
+{\r
+ core::register_producer_factory(create_image_producer);\r
+}\r
+\r
+std::wstring get_image_version()\r
+{\r
+ return widen(std::string(FreeImage_GetVersion()));\r
+}\r
+\r
+}
\ No newline at end of file
--- /dev/null
+#pragma once\r
+\r
+#include <string>\r
+\r
+namespace caspar{\r
+\r
+void init_image();\r
+\r
+std::wstring get_image_version();\r
+\r
+}
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <ItemGroup Label="ProjectConfigurations">\r
+ <ProjectConfiguration Include="Profile|Win32">\r
+ <Configuration>Profile</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Debug|Win32">\r
+ <Configuration>Debug</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Develop|Win32">\r
+ <Configuration>Develop</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Release|Win32">\r
+ <Configuration>Release</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ </ItemGroup>\r
+ <PropertyGroup Label="Globals">\r
+ <ProjectGuid>{3E11FF65-A9DA-4F80-87F2-A7C6379ED5E2}</ProjectGuid>\r
+ <RootNamespace>image</RootNamespace>\r
+ <Keyword>Win32Proj</Keyword>\r
+ <ProjectName>image</ProjectName>\r
+ </PropertyGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">\r
+ <ConfigurationType>StaticLibrary</ConfigurationType>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ <WholeProgramOptimization>false</WholeProgramOptimization>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'" Label="Configuration">\r
+ <ConfigurationType>StaticLibrary</ConfigurationType>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ <WholeProgramOptimization>false</WholeProgramOptimization>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'" Label="Configuration">\r
+ <ConfigurationType>StaticLibrary</ConfigurationType>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ <WholeProgramOptimization>false</WholeProgramOptimization>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">\r
+ <ConfigurationType>StaticLibrary</ConfigurationType>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ <UseIntelTBB>true</UseIntelTBB>\r
+ <InstrumentIntelTBB>false</InstrumentIntelTBB>\r
+ </PropertyGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />\r
+ <ImportGroup Label="ExtensionSettings">\r
+ </ImportGroup>\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />\r
+ </ImportGroup>\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'" Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />\r
+ </ImportGroup>\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'" Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />\r
+ </ImportGroup>\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />\r
+ </ImportGroup>\r
+ <PropertyGroup Label="UserMacros" />\r
+ <PropertyGroup>\r
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)bin\$(Configuration)\</IntDir>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)bin\$(Configuration)\</IntDir>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">$(ProjectDir)bin\$(Configuration)\</IntDir>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">$(ProjectDir)bin\$(Configuration)\</IntDir>\r
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\;..\..\dependencies\boost_1_44_0\;..\..\dependencies\FreeImage\Dist\;..\..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\;..\..\dependencies\boost_1_44_0\;..\..\dependencies\FreeImage\Dist\;..\..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">..\..\;..\..\dependencies\boost_1_44_0\;..\..\dependencies\FreeImage\Dist\;..\..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">..\..\;..\..\dependencies\boost_1_44_0\;..\..\dependencies\FreeImage\Dist\;..\..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
+ <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\dependencies\boost_1_44_0\stage\lib\;..\..\dependencies\ffmpeg 0.6\lib\;..\..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
+ <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\dependencies\boost_1_44_0\stage\lib\;..\..\dependencies\ffmpeg 0.6\lib\;..\..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
+ <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">..\..\dependencies\boost_1_44_0\stage\lib\;..\..\dependencies\ffmpeg 0.6\lib\;..\..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
+ <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">..\..\dependencies\boost_1_44_0\stage\lib\;..\..\dependencies\ffmpeg 0.6\lib\;..\..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectName)</TargetName>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectName)</TargetName>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">$(ProjectName)</TargetName>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">$(ProjectName)</TargetName>\r
+ </PropertyGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+ <PreBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PreBuildEvent>\r
+ <ClCompile>\r
+ <Optimization>Disabled</Optimization>\r
+ <AdditionalIncludeDirectories>../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <MinimalRebuild>false</MinimalRebuild>\r
+ <ExceptionHandling>Async</ExceptionHandling>\r
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\r
+ <SmallerTypeCheck>false</SmallerTypeCheck>\r
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
+ <EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
+ <BrowseInformation>true</BrowseInformation>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>\r
+ <PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;TBB_USE_CAPTURED_EXCEPTION=0;TBB_USE_ASSERT=1;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <TreatWarningAsError>true</TreatWarningAsError>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ <FloatingPointModel>Fast</FloatingPointModel>\r
+ <ForcedIncludeFiles>common/compiler/vs/disable_silly_warnings.h</ForcedIncludeFiles>\r
+ </ClCompile>\r
+ <PostBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PostBuildEvent>\r
+ <Lib />\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+ <PreBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PreBuildEvent>\r
+ <ClCompile>\r
+ <Optimization>MaxSpeed</Optimization>\r
+ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>\r
+ <IntrinsicFunctions>true</IntrinsicFunctions>\r
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>\r
+ <AdditionalIncludeDirectories>../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <ExceptionHandling>Async</ExceptionHandling>\r
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ <PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;TBB_USE_CAPTURED_EXCEPTION=0;NDEBUG;_VC80_UPGRADE=0x0710;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <WholeProgramOptimization>true</WholeProgramOptimization>\r
+ <TreatWarningAsError>true</TreatWarningAsError>\r
+ <OmitFramePointers>true</OmitFramePointers>\r
+ <FloatingPointModel>Fast</FloatingPointModel>\r
+ <ForcedIncludeFiles>common/compiler/vs/disable_silly_warnings.h</ForcedIncludeFiles>\r
+ </ClCompile>\r
+ <PostBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PostBuildEvent>\r
+ <Lib>\r
+ <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>\r
+ </Lib>\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">\r
+ <PreBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PreBuildEvent>\r
+ <ClCompile>\r
+ <Optimization>MaxSpeed</Optimization>\r
+ <InlineFunctionExpansion>Disabled</InlineFunctionExpansion>\r
+ <IntrinsicFunctions>true</IntrinsicFunctions>\r
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>\r
+ <AdditionalIncludeDirectories>../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <ExceptionHandling>Async</ExceptionHandling>\r
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ <PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;TBB_USE_CAPTURED_EXCEPTION=0;TBB_USE_THREADING_TOOLS=1;NDEBUG;_VC80_UPGRADE=0x0710;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <WholeProgramOptimization>false</WholeProgramOptimization>\r
+ <TreatWarningAsError>true</TreatWarningAsError>\r
+ <OmitFramePointers>true</OmitFramePointers>\r
+ <FloatingPointModel>Fast</FloatingPointModel>\r
+ <ForcedIncludeFiles>common/compiler/vs/disable_silly_warnings.h</ForcedIncludeFiles>\r
+ </ClCompile>\r
+ <PostBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PostBuildEvent>\r
+ <Lib />\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">\r
+ <PreBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PreBuildEvent>\r
+ <ClCompile>\r
+ <Optimization>Disabled</Optimization>\r
+ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>\r
+ <IntrinsicFunctions>true</IntrinsicFunctions>\r
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>\r
+ <AdditionalIncludeDirectories>../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <ExceptionHandling>Async</ExceptionHandling>\r
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ <PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;TBB_USE_CAPTURED_EXCEPTION=0;TBB_USE_ASSERT=1;TBB_USE_PERFORMANCE_WARNINGS=1;_VC80_UPGRADE=0x0710;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <WholeProgramOptimization>false</WholeProgramOptimization>\r
+ <TreatWarningAsError>true</TreatWarningAsError>\r
+ <OmitFramePointers>true</OmitFramePointers>\r
+ <FloatingPointModel>Fast</FloatingPointModel>\r
+ <ForcedIncludeFiles>common/compiler/vs/disable_silly_warnings.h</ForcedIncludeFiles>\r
+ </ClCompile>\r
+ <PostBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PostBuildEvent>\r
+ <Lib />\r
+ </ItemDefinitionGroup>\r
+ <ItemGroup>\r
+ <ProjectReference Include="..\..\common\common.vcxproj">\r
+ <Project>{02308602-7fe0-4253-b96e-22134919f56a}</Project>\r
+ </ProjectReference>\r
+ <ProjectReference Include="..\..\core\core.vcxproj">\r
+ <Project>{79388c20-6499-4bf6-b8b9-d8c33d7d4ddd}</Project>\r
+ </ProjectReference>\r
+ <ProjectReference Include="..\..\mixer\mixer.vcxproj">\r
+ <Project>{477e12a4-1b28-4ff7-b46d-76606bdd1891}</Project>\r
+ </ProjectReference>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClCompile Include="image.cpp" />\r
+ <ClCompile Include="producer\image_producer.cpp">\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">NotUsing</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">NotUsing</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>\r
+ </ClCompile>\r
+ <ClCompile Include="producer\image_scroll_producer.cpp">\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">NotUsing</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">NotUsing</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>\r
+ </ClCompile>\r
+ <ClCompile Include="util\image_loader.cpp" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClInclude Include="image.h" />\r
+ <ClInclude Include="producer\image_producer.h" />\r
+ <ClInclude Include="producer\image_scroll_producer.h" />\r
+ <ClInclude Include="util\image_loader.h" />\r
+ </ItemGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
+ <ImportGroup Label="ExtensionTargets">\r
+ </ImportGroup>\r
+</Project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <ItemGroup>\r
+ <Filter Include="producer">\r
+ <UniqueIdentifier>{46bdb484-2321-419b-a1c4-4b8d5d49fba9}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="util">\r
+ <UniqueIdentifier>{6abd09ae-2ad7-41fa-bfa5-f4614a07be8c}</UniqueIdentifier>\r
+ </Filter>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClCompile Include="producer\image_producer.cpp">\r
+ <Filter>producer</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="producer\image_scroll_producer.cpp">\r
+ <Filter>producer</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="image.cpp" />\r
+ <ClCompile Include="util\image_loader.cpp">\r
+ <Filter>util</Filter>\r
+ </ClCompile>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClInclude Include="producer\image_producer.h">\r
+ <Filter>producer</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="producer\image_scroll_producer.h">\r
+ <Filter>producer</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="image.h" />\r
+ <ClInclude Include="util\image_loader.h">\r
+ <Filter>util</Filter>\r
+ </ClInclude>\r
+ </ItemGroup>\r
+</Project>
\ No newline at end of file
-#include "../../StdAfx.h"\r
-\r
#include "image_producer.h"\r
-#include "image_loader.h"\r
+\r
+#include "../util/image_loader.h"\r
\r
#include <core/video_format.h>\r
\r
#include <common/env.h>\r
\r
#include <boost/assign.hpp>\r
+#include <boost/filesystem.hpp>\r
\r
#include <algorithm>\r
\r
using namespace boost::assign;\r
\r
-namespace caspar { namespace core { namespace image{\r
+namespace caspar {\r
\r
-struct image_producer : public frame_producer\r
+struct image_producer : public core::frame_producer\r
{ \r
printer parent_printer_;\r
- std::shared_ptr<frame_factory> frame_factory_;\r
+ std::shared_ptr<core::frame_factory> frame_factory_;\r
std::wstring filename_;\r
- safe_ptr<draw_frame> frame_;\r
+ safe_ptr<core::draw_frame> frame_;\r
\r
image_producer(const std::wstring& filename) \r
- : filename_(filename), frame_(draw_frame::empty()) {}\r
+ : filename_(filename), frame_(core::draw_frame::empty()) {}\r
\r
- virtual safe_ptr<draw_frame> receive(){return frame_;}\r
+ virtual safe_ptr<core::draw_frame> receive(){return frame_;}\r
\r
- virtual void initialize(const safe_ptr<frame_factory>& frame_factory)\r
+ virtual void initialize(const safe_ptr<core::frame_factory>& frame_factory)\r
{\r
frame_factory_ = frame_factory;\r
auto bitmap = load_image(filename_);\r
}\r
};\r
\r
-safe_ptr<frame_producer> create_image_producer(const std::vector<std::wstring>& params)\r
+safe_ptr<core::frame_producer> create_image_producer(const std::vector<std::wstring>& params)\r
{\r
static const std::vector<std::wstring> extensions = list_of(L"png")(L"tga")(L"bmp")(L"jpg")(L"jpeg");\r
std::wstring filename = env::media_folder() + L"\\" + params[0];\r
});\r
\r
if(ext == extensions.end())\r
- return frame_producer::empty();\r
+ return core::frame_producer::empty();\r
\r
return make_safe<image_producer>(filename + L"." + *ext);\r
}\r
\r
-std::wstring get_image_version()\r
-{\r
- return widen(std::string(FreeImage_GetVersion()));\r
-}\r
\r
-}}}
\ No newline at end of file
+}
\ No newline at end of file
--- /dev/null
+#pragma once\r
+\r
+#include <core/producer/frame_producer.h>\r
+\r
+#include <string>\r
+#include <vector>\r
+\r
+namespace caspar { \r
+\r
+safe_ptr<core::frame_producer> create_image_producer(const std::vector<std::wstring>& params);\r
+\r
+}
\ No newline at end of file
-//#include "../../StdAfx.h"\r
-//\r
//#include "image_scroll_producer.h"\r
//\r
//#include "image_loader.h"\r
#include <string>\r
#include <vector>\r
\r
-namespace caspar { namespace core { namespace image {\r
+namespace caspar {\r
\r
safe_ptr<frame_producer> create_image_scroll_producer(const std::vector<std::wstring>& params);\r
\r
-}}}
\ No newline at end of file
+}
\ No newline at end of file
-#include "..\..\StdAfx.h"\r
-\r
#include "image_loader.h"\r
\r
#include <common/exception/Exceptions.h>\r
+#include <common/utility/string.h>\r
\r
#if defined(_MSC_VER)\r
#pragma warning (disable : 4714) // marked as __forceinline not inlined\r
#include <boost/exception/errinfo_file_name.hpp>\r
#include <boost/thread/once.hpp>\r
\r
-namespace caspar { namespace core { namespace image{\r
- \r
+namespace caspar { \r
+\r
std::shared_ptr<FIBITMAP> load_image(const std::string& filename)\r
{\r
struct FreeImage_initializer\r
return load_image(narrow(filename));\r
}\r
\r
-}}}
\ No newline at end of file
+}
\ No newline at end of file
#include <memory>\r
#include <string>\r
\r
-namespace caspar { namespace core { namespace image{\r
+namespace caspar { \r
\r
std::shared_ptr<FIBITMAP> load_image(const std::string& filename);\r
std::shared_ptr<FIBITMAP> load_image(const std::wstring& filename);\r
\r
-}}}\r
+}\r
*\r
*/\r
\r
-#include "../../StdAfx.h"\r
-\r
#include "oal_consumer.h"\r
\r
#include <common/diagnostics/graph.h>\r
#include <common/utility/timer.h>\r
+#include <common/log/log.h>\r
+\r
#include <core/video_format.h>\r
\r
#include <mixer/frame/read_frame.h>\r
\r
#include <boost/circular_buffer.hpp>\r
\r
-namespace caspar { namespace core {\r
+#include <tbb/concurrent_queue.h>\r
+\r
+namespace caspar {\r
\r
struct oal_consumer::implementation : public sf::SoundStream, boost::noncopyable\r
{\r
boost::circular_buffer<std::vector<short>> container_;\r
tbb::atomic<bool> is_running_;\r
\r
- video_format_desc format_desc_;\r
+ core::video_format_desc format_desc_;\r
public:\r
implementation() \r
: graph_(diagnostics::create_graph(narrow(print())))\r
CASPAR_LOG(info) << print() << L" Shutting down."; \r
}\r
\r
- void initialize(const video_format_desc& format_desc, const printer& parent_printer)\r
+ void initialize(const core::video_format_desc& format_desc, const printer& parent_printer)\r
{\r
format_desc_ = format_desc;\r
parent_printer_ = parent_printer;\r
CASPAR_LOG(info) << print() << " Sucessfully initialized.";\r
}\r
\r
- void send(const safe_ptr<const read_frame>& frame)\r
+ void send(const safe_ptr<const core::read_frame>& frame)\r
{ \r
if(!frame->audio_data().empty())\r
input_.push(std::vector<short>(frame->audio_data().begin(), frame->audio_data().end())); \r
\r
oal_consumer::oal_consumer(oal_consumer&& other) : impl_(std::move(other.impl_)){}\r
oal_consumer::oal_consumer() : impl_(new implementation()){}\r
-void oal_consumer::send(const safe_ptr<const read_frame>& frame){impl_->send(frame);}\r
+void oal_consumer::send(const safe_ptr<const core::read_frame>& frame){impl_->send(frame);}\r
size_t oal_consumer::buffer_depth() const{return impl_->buffer_depth();}\r
-void oal_consumer::initialize(const video_format_desc& format_desc, const printer& parent_printer){impl_->initialize(format_desc, parent_printer);}\r
+void oal_consumer::initialize(const core::video_format_desc& format_desc, const printer& parent_printer){impl_->initialize(format_desc, parent_printer);}\r
std::wstring oal_consumer::print() const { return impl_->print(); }\r
\r
-safe_ptr<frame_consumer> create_oal_consumer(const std::vector<std::wstring>& params)\r
+safe_ptr<core::frame_consumer> create_oal_consumer(const std::vector<std::wstring>& params)\r
{\r
if(params.size() < 1 || params[0] != L"OAL")\r
- return frame_consumer::empty();\r
+ return core::frame_consumer::empty();\r
\r
return make_safe<oal_consumer>();\r
}\r
-}}\r
+}\r
*/\r
#pragma once\r
\r
-#include "../../video_format.h"\r
-#include "../../consumer/frame_consumer.h"\r
+#include <core/video_format.h>\r
+#include <core/consumer/frame_consumer.h>\r
\r
-namespace caspar { namespace core {\r
+#include <vector>\r
+\r
+namespace caspar {\r
\r
-class oal_consumer : public frame_consumer\r
+class oal_consumer : public core::frame_consumer\r
{\r
public: \r
explicit oal_consumer();\r
oal_consumer(oal_consumer&& other);\r
\r
- virtual void initialize(const video_format_desc& format_desc, const printer& parent_printer); \r
+ virtual void initialize(const core::video_format_desc& format_desc, const printer& parent_printer); \r
\r
- virtual void send(const safe_ptr<const read_frame>&);\r
+ virtual void send(const safe_ptr<const core::read_frame>&);\r
virtual size_t buffer_depth() const;\r
virtual std::wstring print() const;\r
private:\r
std::shared_ptr<implementation> impl_;\r
};\r
\r
-safe_ptr<frame_consumer> create_oal_consumer(const std::vector<std::wstring>& params);\r
+safe_ptr<core::frame_consumer> create_oal_consumer(const std::vector<std::wstring>& params);\r
\r
-}}
\ No newline at end of file
+}
\ No newline at end of file
--- /dev/null
+#include "oal.h"\r
+\r
+#include "consumer/oal_consumer.h"\r
+\r
+#include <core/consumer/frame_consumer.h>\r
+\r
+namespace caspar\r
+{\r
+\r
+void init_oal()\r
+{\r
+ core::register_consumer_factory(create_oal_consumer);\r
+}\r
+\r
+}
\ No newline at end of file
--- /dev/null
+#pragma once\r
+\r
+namespace caspar{\r
+\r
+void init_oal();\r
+\r
+}
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <ItemGroup Label="ProjectConfigurations">\r
+ <ProjectConfiguration Include="Profile|Win32">\r
+ <Configuration>Profile</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Debug|Win32">\r
+ <Configuration>Debug</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Develop|Win32">\r
+ <Configuration>Develop</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Release|Win32">\r
+ <Configuration>Release</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ </ItemGroup>\r
+ <PropertyGroup Label="Globals">\r
+ <ProjectGuid>{82ED7ED6-8A15-40EC-A8AF-F5E712E0DA68}</ProjectGuid>\r
+ <RootNamespace>oal</RootNamespace>\r
+ <Keyword>Win32Proj</Keyword>\r
+ <ProjectName>oal</ProjectName>\r
+ </PropertyGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">\r
+ <ConfigurationType>StaticLibrary</ConfigurationType>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ <WholeProgramOptimization>false</WholeProgramOptimization>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'" Label="Configuration">\r
+ <ConfigurationType>StaticLibrary</ConfigurationType>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ <WholeProgramOptimization>false</WholeProgramOptimization>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'" Label="Configuration">\r
+ <ConfigurationType>StaticLibrary</ConfigurationType>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ <WholeProgramOptimization>false</WholeProgramOptimization>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">\r
+ <ConfigurationType>StaticLibrary</ConfigurationType>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ <UseIntelTBB>true</UseIntelTBB>\r
+ <InstrumentIntelTBB>false</InstrumentIntelTBB>\r
+ </PropertyGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />\r
+ <ImportGroup Label="ExtensionSettings">\r
+ </ImportGroup>\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />\r
+ </ImportGroup>\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'" Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />\r
+ </ImportGroup>\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'" Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />\r
+ </ImportGroup>\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />\r
+ </ImportGroup>\r
+ <PropertyGroup Label="UserMacros" />\r
+ <PropertyGroup>\r
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)bin\$(Configuration)\</IntDir>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)bin\$(Configuration)\</IntDir>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">$(ProjectDir)bin\$(Configuration)\</IntDir>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">$(ProjectDir)bin\$(Configuration)\</IntDir>\r
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\;..\..\dependencies\boost_1_44_0\;..\..\dependencies\SFML-1.6\include;..\..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\;..\..\dependencies\boost_1_44_0\;..\..\dependencies\SFML-1.6\include;..\..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">..\..\;..\..\dependencies\boost_1_44_0\;..\..\dependencies\SFML-1.6\include;..\..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">..\..\;..\..\dependencies\boost_1_44_0\;..\..\dependencies\SFML-1.6\include;..\..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
+ <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\dependencies\boost_1_44_0\stage\lib\;..\..\dependencies\ffmpeg 0.6\lib\;..\..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
+ <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\dependencies\boost_1_44_0\stage\lib\;..\..\dependencies\ffmpeg 0.6\lib\;..\..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
+ <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">..\..\dependencies\boost_1_44_0\stage\lib\;..\..\dependencies\ffmpeg 0.6\lib\;..\..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
+ <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">..\..\dependencies\boost_1_44_0\stage\lib\;..\..\dependencies\ffmpeg 0.6\lib\;..\..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectName)</TargetName>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectName)</TargetName>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">$(ProjectName)</TargetName>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">$(ProjectName)</TargetName>\r
+ </PropertyGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+ <PreBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PreBuildEvent>\r
+ <ClCompile>\r
+ <Optimization>Disabled</Optimization>\r
+ <AdditionalIncludeDirectories>../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <MinimalRebuild>false</MinimalRebuild>\r
+ <ExceptionHandling>Async</ExceptionHandling>\r
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\r
+ <SmallerTypeCheck>false</SmallerTypeCheck>\r
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
+ <EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader>Use</PrecompiledHeader>\r
+ <BrowseInformation>true</BrowseInformation>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>\r
+ <PreprocessorDefinitions>TBB_USE_CAPTURED_EXCEPTION=0;TBB_USE_ASSERT=1;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <TreatWarningAsError>true</TreatWarningAsError>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ <FloatingPointModel>Fast</FloatingPointModel>\r
+ <ForcedIncludeFiles>common/compiler/vs/disable_silly_warnings.h</ForcedIncludeFiles>\r
+ </ClCompile>\r
+ <PostBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PostBuildEvent>\r
+ <Lib />\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+ <PreBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PreBuildEvent>\r
+ <ClCompile>\r
+ <Optimization>MaxSpeed</Optimization>\r
+ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>\r
+ <IntrinsicFunctions>true</IntrinsicFunctions>\r
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>\r
+ <AdditionalIncludeDirectories>../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <ExceptionHandling>Async</ExceptionHandling>\r
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader>Use</PrecompiledHeader>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ <PreprocessorDefinitions>TBB_USE_CAPTURED_EXCEPTION=0;NDEBUG;_VC80_UPGRADE=0x0710;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <WholeProgramOptimization>true</WholeProgramOptimization>\r
+ <TreatWarningAsError>true</TreatWarningAsError>\r
+ <OmitFramePointers>true</OmitFramePointers>\r
+ <FloatingPointModel>Fast</FloatingPointModel>\r
+ <ForcedIncludeFiles>common/compiler/vs/disable_silly_warnings.h</ForcedIncludeFiles>\r
+ </ClCompile>\r
+ <PostBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PostBuildEvent>\r
+ <Lib>\r
+ <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>\r
+ </Lib>\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">\r
+ <PreBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PreBuildEvent>\r
+ <ClCompile>\r
+ <Optimization>MaxSpeed</Optimization>\r
+ <InlineFunctionExpansion>Disabled</InlineFunctionExpansion>\r
+ <IntrinsicFunctions>true</IntrinsicFunctions>\r
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>\r
+ <AdditionalIncludeDirectories>../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <ExceptionHandling>Async</ExceptionHandling>\r
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader>Use</PrecompiledHeader>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ <PreprocessorDefinitions>TBB_USE_CAPTURED_EXCEPTION=0;TBB_USE_THREADING_TOOLS=1;NDEBUG;_VC80_UPGRADE=0x0710;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <WholeProgramOptimization>false</WholeProgramOptimization>\r
+ <TreatWarningAsError>true</TreatWarningAsError>\r
+ <OmitFramePointers>true</OmitFramePointers>\r
+ <FloatingPointModel>Fast</FloatingPointModel>\r
+ <ForcedIncludeFiles>common/compiler/vs/disable_silly_warnings.h</ForcedIncludeFiles>\r
+ </ClCompile>\r
+ <PostBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PostBuildEvent>\r
+ <Lib />\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">\r
+ <PreBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PreBuildEvent>\r
+ <ClCompile>\r
+ <Optimization>Disabled</Optimization>\r
+ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>\r
+ <IntrinsicFunctions>true</IntrinsicFunctions>\r
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>\r
+ <AdditionalIncludeDirectories>../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <ExceptionHandling>Async</ExceptionHandling>\r
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader>Use</PrecompiledHeader>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ <PreprocessorDefinitions>TBB_USE_CAPTURED_EXCEPTION=0;TBB_USE_ASSERT=1;TBB_USE_PERFORMANCE_WARNINGS=1;_VC80_UPGRADE=0x0710;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <WholeProgramOptimization>false</WholeProgramOptimization>\r
+ <TreatWarningAsError>true</TreatWarningAsError>\r
+ <OmitFramePointers>true</OmitFramePointers>\r
+ <FloatingPointModel>Fast</FloatingPointModel>\r
+ <ForcedIncludeFiles>common/compiler/vs/disable_silly_warnings.h</ForcedIncludeFiles>\r
+ </ClCompile>\r
+ <PostBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PostBuildEvent>\r
+ <Lib />\r
+ </ItemDefinitionGroup>\r
+ <ItemGroup>\r
+ <ProjectReference Include="..\..\common\common.vcxproj">\r
+ <Project>{02308602-7fe0-4253-b96e-22134919f56a}</Project>\r
+ </ProjectReference>\r
+ <ProjectReference Include="..\..\core\core.vcxproj">\r
+ <Project>{79388c20-6499-4bf6-b8b9-d8c33d7d4ddd}</Project>\r
+ </ProjectReference>\r
+ <ProjectReference Include="..\..\mixer\mixer.vcxproj">\r
+ <Project>{477e12a4-1b28-4ff7-b46d-76606bdd1891}</Project>\r
+ </ProjectReference>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClCompile Include="consumer\oal_consumer.cpp">\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">NotUsing</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">NotUsing</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>\r
+ </ClCompile>\r
+ <ClCompile Include="oal.cpp">\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">NotUsing</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">NotUsing</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>\r
+ </ClCompile>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClInclude Include="consumer\oal_consumer.h" />\r
+ <ClInclude Include="oal.h" />\r
+ </ItemGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
+ <ImportGroup Label="ExtensionTargets">\r
+ </ImportGroup>\r
+</Project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <ItemGroup>\r
+ <Filter Include="consumer">\r
+ <UniqueIdentifier>{2de4befc-0e04-496c-be98-83b7d4a76e8a}</UniqueIdentifier>\r
+ </Filter>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClCompile Include="oal.cpp" />\r
+ <ClCompile Include="consumer\oal_consumer.cpp">\r
+ <Filter>consumer</Filter>\r
+ </ClCompile>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClInclude Include="oal.h" />\r
+ <ClInclude Include="consumer\oal_consumer.h">\r
+ <Filter>consumer</Filter>\r
+ </ClInclude>\r
+ </ItemGroup>\r
+</Project>
\ No newline at end of file
* along with CasparCG. If not, see <http://www.gnu.org/licenses/>.\r
*\r
*/\r
- \r
-#include "../../StdAfx.h"\r
+\r
+#define NOMINMAX\r
+\r
+#include <windows.h>\r
+#include <Glee.h>\r
+#include <SFML/Window.hpp>\r
\r
#include "ogl_consumer.h"\r
\r
\r
#include <boost/thread.hpp>\r
\r
-#include <Glee.h>\r
-#include <SFML/Window.hpp>\r
-\r
-#include <windows.h>\r
-\r
#include <algorithm>\r
+#include <array>\r
\r
-namespace caspar { namespace core {\r
+namespace caspar {\r
\r
struct ogl_consumer::implementation : boost::noncopyable\r
{ \r
const unsigned int screen_index_;\r
\r
const stretch stretch_;\r
- video_format_desc format_desc_;\r
+ core::video_format_desc format_desc_;\r
\r
sf::Window window_;\r
\r
CASPAR_LOG(info) << print() << L" Shutting down."; \r
}\r
\r
- void initialize(const video_format_desc& format_desc, const printer& parent_printer)\r
+ void initialize(const core::video_format_desc& format_desc, const printer& parent_printer)\r
{\r
if(!GLEE_VERSION_2_1)\r
BOOST_THROW_EXCEPTION(not_supported() << msg_info("Missing OpenGL 2.1 support."));\r
return std::make_pair(width, height);\r
}\r
\r
- void render(const safe_ptr<const read_frame>& frame)\r
+ void render(const safe_ptr<const core::read_frame>& frame)\r
{ \r
glBindTexture(GL_TEXTURE_2D, texture_);\r
glBindBuffer(GL_PIXEL_UNPACK_BUFFER, pbos_[0]);\r
auto ptr = glMapBuffer(GL_PIXEL_UNPACK_BUFFER, GL_WRITE_ONLY);\r
if(ptr)\r
{\r
- std::copy_n(frame->image_data().begin(), frame->image_data().size(), reinterpret_cast<char*>(ptr));\r
+ std::copy(frame->image_data().begin(), frame->image_data().end(), reinterpret_cast<char*>(ptr));\r
glUnmapBuffer(GL_PIXEL_UNPACK_BUFFER); // release the mapped buffer\r
}\r
\r
clock_.tick(1.0/format_desc_.fps);\r
}\r
\r
- void send(const safe_ptr<const read_frame>& frame)\r
+ void send(const safe_ptr<const core::read_frame>& frame)\r
{\r
active_.get();\r
active_ = executor_.begin_invoke([=]\r
\r
ogl_consumer::ogl_consumer(ogl_consumer&& other) : impl_(std::move(other.impl_)){}\r
ogl_consumer::ogl_consumer(unsigned int screen_index, stretch stretch, bool windowed) : impl_(new implementation(screen_index, stretch, windowed)){}\r
-void ogl_consumer::send(const safe_ptr<const read_frame>& frame){impl_->send(frame);}\r
+void ogl_consumer::send(const safe_ptr<const core::read_frame>& frame){impl_->send(frame);}\r
size_t ogl_consumer::buffer_depth() const{return impl_->buffer_depth();}\r
-void ogl_consumer::initialize(const video_format_desc& format_desc, const printer& parent_printer){impl_->initialize(format_desc, parent_printer);}\r
+void ogl_consumer::initialize(const core::video_format_desc& format_desc, const printer& parent_printer){impl_->initialize(format_desc, parent_printer);}\r
std::wstring ogl_consumer::print() const {return impl_->print();}\r
\r
-safe_ptr<frame_consumer> create_ogl_consumer(const std::vector<std::wstring>& params)\r
+safe_ptr<core::frame_consumer> create_ogl_consumer(const std::vector<std::wstring>& params)\r
{\r
if(params.size() < 1 || params[0] != L"OGL")\r
- return frame_consumer::empty();\r
+ return core::frame_consumer::empty();\r
\r
unsigned int screen_index = 0;\r
stretch stretch = stretch::fill;\r
return make_safe<ogl_consumer>(screen_index, stretch, windowed);\r
}\r
\r
-}}\r
+}
\ No newline at end of file
*/\r
#pragma once\r
\r
-#include "../../consumer/frame_consumer.h"\r
-#include "../../video_format.h"\r
+#include <core/consumer/frame_consumer.h>\r
+#include <core/video_format.h>\r
\r
-namespace caspar { namespace core {\r
-\r
-struct ogl_error : virtual caspar_exception{};\r
+#include <vector>\r
\r
+namespace caspar {\r
+ \r
enum stretch\r
{\r
none,\r
uniform_to_fill\r
};\r
\r
-class ogl_consumer : public frame_consumer\r
+class ogl_consumer : public core::frame_consumer\r
{\r
public: \r
explicit ogl_consumer(unsigned int screen_index = 0, stretch stretch = stretch::fill, bool windowed = false);\r
ogl_consumer(ogl_consumer&& other);\r
\r
- virtual void initialize(const video_format_desc& format_desc, const printer& parent_printer);\r
- virtual void send(const safe_ptr<const read_frame>&);\r
+ virtual void initialize(const core::video_format_desc& format_desc, const printer& parent_printer);\r
+ virtual void send(const safe_ptr<const core::read_frame>&);\r
virtual size_t buffer_depth() const;\r
virtual std::wstring print() const;\r
private:\r
std::shared_ptr<implementation> impl_;\r
};\r
\r
-safe_ptr<frame_consumer> create_ogl_consumer(const std::vector<std::wstring>& params);\r
+safe_ptr<core::frame_consumer> create_ogl_consumer(const std::vector<std::wstring>& params);\r
\r
-}}
\ No newline at end of file
+}
\ No newline at end of file
--- /dev/null
+#include "ogl.h"\r
+\r
+#include "consumer/ogl_consumer.h"\r
+\r
+#include <core/consumer/frame_consumer.h>\r
+\r
+namespace caspar\r
+{\r
+\r
+void init_ogl()\r
+{\r
+ core::register_consumer_factory(create_ogl_consumer);\r
+}\r
+\r
+}
\ No newline at end of file
--- /dev/null
+#pragma once\r
+\r
+namespace caspar{\r
+\r
+void init_ogl();\r
+\r
+}
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <ItemGroup Label="ProjectConfigurations">\r
+ <ProjectConfiguration Include="Profile|Win32">\r
+ <Configuration>Profile</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Debug|Win32">\r
+ <Configuration>Debug</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Develop|Win32">\r
+ <Configuration>Develop</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Release|Win32">\r
+ <Configuration>Release</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ </ItemGroup>\r
+ <PropertyGroup Label="Globals">\r
+ <ProjectGuid>{88F974F0-D09F-4788-8CF8-F563209E60C1}</ProjectGuid>\r
+ <RootNamespace>ogl</RootNamespace>\r
+ <Keyword>Win32Proj</Keyword>\r
+ <ProjectName>ogl</ProjectName>\r
+ </PropertyGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">\r
+ <ConfigurationType>StaticLibrary</ConfigurationType>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ <WholeProgramOptimization>false</WholeProgramOptimization>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'" Label="Configuration">\r
+ <ConfigurationType>StaticLibrary</ConfigurationType>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ <WholeProgramOptimization>false</WholeProgramOptimization>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'" Label="Configuration">\r
+ <ConfigurationType>StaticLibrary</ConfigurationType>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ <WholeProgramOptimization>false</WholeProgramOptimization>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">\r
+ <ConfigurationType>StaticLibrary</ConfigurationType>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ <UseIntelTBB>true</UseIntelTBB>\r
+ <InstrumentIntelTBB>false</InstrumentIntelTBB>\r
+ </PropertyGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />\r
+ <ImportGroup Label="ExtensionSettings">\r
+ </ImportGroup>\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />\r
+ </ImportGroup>\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'" Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />\r
+ </ImportGroup>\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'" Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />\r
+ </ImportGroup>\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />\r
+ </ImportGroup>\r
+ <PropertyGroup Label="UserMacros" />\r
+ <PropertyGroup>\r
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)bin\$(Configuration)\</IntDir>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)bin\$(Configuration)\</IntDir>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">$(ProjectDir)bin\$(Configuration)\</IntDir>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">$(ProjectDir)bin\$(Configuration)\</IntDir>\r
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\;..\..\dependencies\boost_1_44_0\;..\..\dependencies\GLee5_4\;..\..\dependencies\tbb30_20100406oss\include\;..\..\dependencies\SFML-1.6\include;$(IncludePath)</IncludePath>\r
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\;..\..\dependencies\boost_1_44_0\;..\..\dependencies\GLee5_4\;..\..\dependencies\tbb30_20100406oss\include\;..\..\dependencies\SFML-1.6\include;$(IncludePath)</IncludePath>\r
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">..\..\;..\..\dependencies\boost_1_44_0\;..\..\dependencies\GLee5_4\;..\..\dependencies\tbb30_20100406oss\include\;..\..\dependencies\SFML-1.6\include;$(IncludePath)</IncludePath>\r
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">..\..\;..\..\dependencies\boost_1_44_0\;..\..\dependencies\GLee5_4\;..\..\dependencies\tbb30_20100406oss\include\;..\..\dependencies\SFML-1.6\include;$(IncludePath)</IncludePath>\r
+ <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\dependencies\boost_1_44_0\stage\lib\;..\..\dependencies\ffmpeg 0.6\lib\;..\..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
+ <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\dependencies\boost_1_44_0\stage\lib\;..\..\dependencies\ffmpeg 0.6\lib\;..\..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
+ <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">..\..\dependencies\boost_1_44_0\stage\lib\;..\..\dependencies\ffmpeg 0.6\lib\;..\..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
+ <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">..\..\dependencies\boost_1_44_0\stage\lib\;..\..\dependencies\ffmpeg 0.6\lib\;..\..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectName)</TargetName>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectName)</TargetName>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">$(ProjectName)</TargetName>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">$(ProjectName)</TargetName>\r
+ </PropertyGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+ <PreBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PreBuildEvent>\r
+ <ClCompile>\r
+ <Optimization>Disabled</Optimization>\r
+ <AdditionalIncludeDirectories>../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <MinimalRebuild>false</MinimalRebuild>\r
+ <ExceptionHandling>Async</ExceptionHandling>\r
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\r
+ <SmallerTypeCheck>false</SmallerTypeCheck>\r
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
+ <EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader>Use</PrecompiledHeader>\r
+ <BrowseInformation>true</BrowseInformation>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>\r
+ <PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;TBB_USE_CAPTURED_EXCEPTION=0;TBB_USE_ASSERT=1;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <TreatWarningAsError>true</TreatWarningAsError>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ <FloatingPointModel>Fast</FloatingPointModel>\r
+ <ForcedIncludeFiles>common/compiler/vs/disable_silly_warnings.h</ForcedIncludeFiles>\r
+ </ClCompile>\r
+ <PostBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PostBuildEvent>\r
+ <Lib />\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+ <PreBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PreBuildEvent>\r
+ <ClCompile>\r
+ <Optimization>MaxSpeed</Optimization>\r
+ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>\r
+ <IntrinsicFunctions>true</IntrinsicFunctions>\r
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>\r
+ <AdditionalIncludeDirectories>../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <ExceptionHandling>Async</ExceptionHandling>\r
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader>Use</PrecompiledHeader>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ <PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;TBB_USE_CAPTURED_EXCEPTION=0;NDEBUG;_VC80_UPGRADE=0x0710;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <WholeProgramOptimization>true</WholeProgramOptimization>\r
+ <TreatWarningAsError>true</TreatWarningAsError>\r
+ <OmitFramePointers>true</OmitFramePointers>\r
+ <FloatingPointModel>Fast</FloatingPointModel>\r
+ <ForcedIncludeFiles>common/compiler/vs/disable_silly_warnings.h</ForcedIncludeFiles>\r
+ </ClCompile>\r
+ <PreLinkEvent>\r
+ <Command>\r
+ </Command>\r
+ </PreLinkEvent>\r
+ <Link>\r
+ <AdditionalDependencies>sfml-window.lib;sfml-graphics.lib;OpenGL32.lib;tbb.lib;Glee.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+ <Version>\r
+ </Version>\r
+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
+ <IgnoreSpecificDefaultLibraries>LIBC.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>\r
+ <GenerateDebugInformation>true</GenerateDebugInformation>\r
+ <GenerateMapFile>true</GenerateMapFile>\r
+ <MapExports>true</MapExports>\r
+ <SubSystem>Console</SubSystem>\r
+ <OptimizeReferences>\r
+ </OptimizeReferences>\r
+ <EnableCOMDATFolding>\r
+ </EnableCOMDATFolding>\r
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>\r
+ <FixedBaseAddress>false</FixedBaseAddress>\r
+ <DataExecutionPrevention>\r
+ </DataExecutionPrevention>\r
+ <TargetMachine>MachineX86</TargetMachine>\r
+ </Link>\r
+ <PostBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PostBuildEvent>\r
+ <Lib>\r
+ <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>\r
+ </Lib>\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">\r
+ <PreBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PreBuildEvent>\r
+ <ClCompile>\r
+ <Optimization>MaxSpeed</Optimization>\r
+ <InlineFunctionExpansion>Disabled</InlineFunctionExpansion>\r
+ <IntrinsicFunctions>true</IntrinsicFunctions>\r
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>\r
+ <AdditionalIncludeDirectories>../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <ExceptionHandling>Async</ExceptionHandling>\r
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader>Use</PrecompiledHeader>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ <PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;TBB_USE_CAPTURED_EXCEPTION=0;TBB_USE_THREADING_TOOLS=1;NDEBUG;_VC80_UPGRADE=0x0710;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <WholeProgramOptimization>false</WholeProgramOptimization>\r
+ <TreatWarningAsError>true</TreatWarningAsError>\r
+ <OmitFramePointers>true</OmitFramePointers>\r
+ <FloatingPointModel>Fast</FloatingPointModel>\r
+ <ForcedIncludeFiles>common/compiler/vs/disable_silly_warnings.h</ForcedIncludeFiles>\r
+ </ClCompile>\r
+ <PostBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PostBuildEvent>\r
+ <Lib />\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">\r
+ <PreBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PreBuildEvent>\r
+ <ClCompile>\r
+ <Optimization>Disabled</Optimization>\r
+ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>\r
+ <IntrinsicFunctions>true</IntrinsicFunctions>\r
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>\r
+ <AdditionalIncludeDirectories>../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <ExceptionHandling>Async</ExceptionHandling>\r
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader>Use</PrecompiledHeader>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ <PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;TBB_USE_CAPTURED_EXCEPTION=0;TBB_USE_ASSERT=1;TBB_USE_PERFORMANCE_WARNINGS=1;_VC80_UPGRADE=0x0710;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <WholeProgramOptimization>false</WholeProgramOptimization>\r
+ <TreatWarningAsError>true</TreatWarningAsError>\r
+ <OmitFramePointers>true</OmitFramePointers>\r
+ <FloatingPointModel>Fast</FloatingPointModel>\r
+ <ForcedIncludeFiles>common/compiler/vs/disable_silly_warnings.h</ForcedIncludeFiles>\r
+ </ClCompile>\r
+ <PostBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PostBuildEvent>\r
+ <Lib />\r
+ </ItemDefinitionGroup>\r
+ <ItemGroup>\r
+ <ProjectReference Include="..\..\common\common.vcxproj">\r
+ <Project>{02308602-7fe0-4253-b96e-22134919f56a}</Project>\r
+ </ProjectReference>\r
+ <ProjectReference Include="..\..\core\core.vcxproj">\r
+ <Project>{79388c20-6499-4bf6-b8b9-d8c33d7d4ddd}</Project>\r
+ </ProjectReference>\r
+ <ProjectReference Include="..\..\mixer\mixer.vcxproj">\r
+ <Project>{477e12a4-1b28-4ff7-b46d-76606bdd1891}</Project>\r
+ </ProjectReference>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClCompile Include="consumer\ogl_consumer.cpp">\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">NotUsing</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">NotUsing</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>\r
+ </ClCompile>\r
+ <ClCompile Include="ogl.cpp">\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">NotUsing</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">NotUsing</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>\r
+ </ClCompile>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClInclude Include="consumer\ogl_consumer.h" />\r
+ <ClInclude Include="ogl.h" />\r
+ </ItemGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
+ <ImportGroup Label="ExtensionTargets">\r
+ </ImportGroup>\r
+</Project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <ItemGroup>\r
+ <Filter Include="consumer">\r
+ <UniqueIdentifier>{013ef3ed-0241-481f-b887-a54e4749045f}</UniqueIdentifier>\r
+ </Filter>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClCompile Include="ogl.cpp" />\r
+ <ClCompile Include="consumer\ogl_consumer.cpp">\r
+ <Filter>consumer</Filter>\r
+ </ClCompile>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClInclude Include="ogl.h" />\r
+ <ClInclude Include="consumer\ogl_consumer.h">\r
+ <Filter>consumer</Filter>\r
+ </ClInclude>\r
+ </ItemGroup>\r
+</Project>
\ No newline at end of file
--- /dev/null
+/*\r
+* copyright (c) 2010 Sveriges Television AB <info@casparcg.com>\r
+*\r
+* This file is part of CasparCG.\r
+*\r
+* CasparCG is free software: you can redistribute it and/or modify\r
+* it under the terms of the GNU General Public License as published by\r
+* the Free Software Foundation, either version 3 of the License, or\r
+* (at your option) any later version.\r
+*\r
+* CasparCG is distributed in the hope that it will be useful,\r
+* but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
+* GNU General Public License for more details.\r
+\r
+* You should have received a copy of the GNU General Public License\r
+* along with CasparCG. If not, see <http://www.gnu.org/licenses/>.\r
+*\r
+*/\r
+ \r
+// stdafx.cpp : source file that includes just the standard includes\r
+// dma.pch will be the pre-compiled header\r
+// stdafx.obj will contain the pre-compiled type information\r
+\r
+#include "stdafx.h"\r
+\r
+// TODO: reference any additional headers you need in STDAFX.H\r
+// and not in this file\r
--- /dev/null
+/*\r
+* copyright (c) 2010 Sveriges Television AB <info@casparcg.com>\r
+*\r
+* This file is part of CasparCG.\r
+*\r
+* CasparCG is free software: you can redistribute it and/or modify\r
+* it under the terms of the GNU General Public License as published by\r
+* the Free Software Foundation, either version 3 of the License, or\r
+* (at your option) any later version.\r
+*\r
+* CasparCG is distributed in the hope that it will be useful,\r
+* but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
+* GNU General Public License for more details.\r
+\r
+* You should have received a copy of the GNU General Public License\r
+* along with CasparCG. If not, see <http://www.gnu.org/licenses/>.\r
+*\r
+*/\r
+ \r
+// stdafx.h : include file for standard system include files,\r
+// or project specific include files that are used frequently, but\r
+// are changed infrequently\r
+//\r
+\r
+#pragma once\r
+\r
+#include "../common/compiler/vs/disable_silly_warnings.h"\r
+\r
+#define NOMINMAX\r
+\r
+#if defined(_MSC_VER)\r
+# ifndef _SCL_SECURE_NO_WARNINGS\r
+# define _SCL_SECURE_NO_WARNINGS\r
+# endif\r
+# ifndef _CRT_SECURE_NO_WARNINGS\r
+# define _CRT_SECURE_NO_WARNINGS\r
+# endif\r
+#endif\r
+\r
+#if !defined(AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_)\r
+#define AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_\r
+\r
+#define BOOST_PARAMETER_MAX_ARITY 7\r
+\r
+#ifdef _DEBUG\r
+#include <crtdbg.h>\r
+#endif\r
+\r
+#include <memory>\r
+#include <array>\r
+#include <functional>\r
+#include <algorithm>\r
+#include <vector>\r
+#include <deque>\r
+#include <queue>\r
+#include <string>\r
+#include <math.h>\r
+\r
+#include <tbb/atomic.h>\r
+#include <tbb/concurrent_queue.h>\r
+#include <tbb/concurrent_unordered_map.h>\r
+#include <tbb/parallel_invoke.h>\r
+#include <tbb/parallel_for.h>\r
+#include <tbb/parallel_for_each.h>\r
+\r
+#include <boost/assign.hpp>\r
+#include <boost/filesystem.hpp>\r
+#include <boost/foreach.hpp>\r
+#include <boost/range/algorithm.hpp>\r
+#include <boost/signals2.hpp>\r
+\r
+#include "../common/utility/string.h"\r
+#include "../common/memory/safe_ptr.h"\r
+//#include "../common/concurrency/executor.h" // Can't include this due to MSVC lambda bug\r
+\r
+#include "../common/log/Log.h"\r
+#include "../common/exception/exceptions.h"\r
+#include "../common/exception/win32_exception.h"\r
+\r
+#include <assert.h>\r
+\r
+#endif\r
-// XcpControlHost.cpp : Implementation of XcpControlHost\r
+#include "../StdAfx.h"\r
\r
#include "XcpControlHost.h"\r
#include "XcpPropertyBag.h"\r
+#include "../StdAfx.h"\r
+\r
#include "XcpPropertyBag.h"\r
\r
#ifdef _MSC_VER\r
*\r
*/\r
\r
-#include "..\..\stdafx.h"\r
+#include "../stdafx.h"\r
\r
#if defined(_MSC_VER)\r
#pragma warning (disable : 4714) // marked as __forceinline not inlined\r
\r
#include "silverlight_producer.h"\r
\r
-#include "XcpControlHost.h"\r
+#include "../interop/XcpControlHost.h"\r
\r
#include <core/video_format.h>\r
\r
\r
#include <common/concurrency/executor.h>\r
#include <common/env.h>\r
-#include <common/gl/gl_check.h>\r
\r
#include <boost/filesystem.hpp>\r
\r
-#include <Glee.h>\r
#include <SFML/Graphics.hpp>\r
\r
-namespace caspar { namespace core {\r
+namespace caspar {\r
\r
class silverlight_renderer\r
{\r
\r
int id_;\r
\r
- std::shared_ptr<frame_factory> frame_factory_;\r
- video_format_desc format_desc_;\r
+ const std::shared_ptr<core::frame_factory> frame_factory_;\r
+ const core::video_format_desc format_desc_;\r
\r
CComObject<XcpControlHost>* host_;\r
tbb::spin_mutex mutex_;\r
- safe_ptr<draw_frame> last_frame_;\r
+ safe_ptr<core::draw_frame> last_frame_;\r
\r
sf::RenderWindow window_;\r
\r
unsigned char* bmp_data_;\r
\r
public:\r
- silverlight_renderer(const std::shared_ptr<frame_factory>& frame_factory) \r
+ silverlight_renderer(const std::shared_ptr<core::frame_factory>& frame_factory) \r
: frame_factory_(frame_factory)\r
, format_desc_(frame_factory->get_video_format_desc())\r
- , last_frame_(draw_frame::empty())\r
+ , last_frame_(core::draw_frame::empty())\r
, host_(nullptr)\r
, id_(rand())\r
, window_(sf::VideoMode(format_desc_.width, format_desc_.height, 32), boost::lexical_cast<std::string>(id_), sf::Style::None)\r
last_frame_ = frame;\r
}\r
\r
- safe_ptr<draw_frame> get_frame()\r
+ safe_ptr<core::draw_frame> get_frame()\r
{ \r
tbb::spin_mutex::scoped_lock lock(mutex_);\r
return last_frame_;\r
}\r
};\r
\r
-struct silverlight_producer : public frame_producer\r
+struct silverlight_producer : public core::frame_producer\r
{ \r
std::wstring print() const{ return L"silverlight[]"; } \r
\r
silverlight_producer()\r
{}\r
\r
- virtual void initialize(const safe_ptr<frame_factory>& frame_factory)\r
+ virtual void initialize(const safe_ptr<core::frame_factory>& frame_factory)\r
{\r
executor_.start();\r
executor_.invoke([=]\r
});\r
}\r
\r
- virtual safe_ptr<draw_frame> receive()\r
+ void set_parent_printer(const printer& parent_printer)\r
+ {\r
+\r
+ }\r
+\r
+ virtual safe_ptr<core::draw_frame> receive()\r
{\r
executor_.begin_invoke([=]\r
{\r
}\r
};\r
\r
-safe_ptr<frame_producer> create_silverlight_producer(const std::vector<std::wstring>& params)\r
+safe_ptr<core::frame_producer> create_silverlight_producer(const std::vector<std::wstring>& params)\r
{\r
//std::wstring filename = env::template_folder() + L"\\" + params[0] + L".xap";\r
//if(!boost::filesystem::exists(filename))\r
// return frame_producer::empty();\r
if(params[0] != L"SILVER")\r
- return frame_producer::empty();\r
+ return core::frame_producer::empty();\r
\r
return make_safe<silverlight_producer>();\r
}\r
\r
-}}
\ No newline at end of file
+}
\ No newline at end of file
*/\r
#pragma once\r
\r
-#include "../frame_producer.h"\r
+#include <core/producer/frame_producer.h>\r
\r
#include <string>\r
#include <vector>\r
\r
-namespace caspar { namespace core {\r
+namespace caspar {\r
\r
-safe_ptr<frame_producer> create_silverlight_producer(const std::vector<std::wstring>& params);\r
+safe_ptr<core::frame_producer> create_silverlight_producer(const std::vector<std::wstring>& params);\r
\r
-}}\r
+}\r
--- /dev/null
+#include "stdafx.h"\r
+\r
+#include "silverlight.h"\r
+\r
+#include "producer/silverlight_producer.h"\r
+\r
+#include <core/producer/frame_producer.h>\r
+\r
+namespace caspar{\r
+\r
+void init_silverlight()\r
+{\r
+ core::register_producer_factory(create_silverlight_producer);\r
+}\r
+\r
+}
\ No newline at end of file
--- /dev/null
+#pragma once\r
+\r
+namespace caspar {\r
+\r
+void init_silverlight();\r
+\r
+}
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <ItemGroup Label="ProjectConfigurations">\r
+ <ProjectConfiguration Include="Profile|Win32">\r
+ <Configuration>Profile</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Debug|Win32">\r
+ <Configuration>Debug</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Develop|Win32">\r
+ <Configuration>Develop</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Release|Win32">\r
+ <Configuration>Release</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ </ItemGroup>\r
+ <PropertyGroup Label="Globals">\r
+ <ProjectGuid>{B964D953-8882-454C-A935-DB711D697E39}</ProjectGuid>\r
+ <RootNamespace>silverlight</RootNamespace>\r
+ <Keyword>Win32Proj</Keyword>\r
+ <ProjectName>silverlight</ProjectName>\r
+ </PropertyGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">\r
+ <ConfigurationType>StaticLibrary</ConfigurationType>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ <WholeProgramOptimization>false</WholeProgramOptimization>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'" Label="Configuration">\r
+ <ConfigurationType>StaticLibrary</ConfigurationType>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ <WholeProgramOptimization>false</WholeProgramOptimization>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'" Label="Configuration">\r
+ <ConfigurationType>StaticLibrary</ConfigurationType>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ <WholeProgramOptimization>false</WholeProgramOptimization>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">\r
+ <ConfigurationType>StaticLibrary</ConfigurationType>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ <UseIntelTBB>true</UseIntelTBB>\r
+ <InstrumentIntelTBB>false</InstrumentIntelTBB>\r
+ </PropertyGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />\r
+ <ImportGroup Label="ExtensionSettings">\r
+ </ImportGroup>\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />\r
+ </ImportGroup>\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'" Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />\r
+ </ImportGroup>\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'" Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />\r
+ </ImportGroup>\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />\r
+ </ImportGroup>\r
+ <PropertyGroup Label="UserMacros" />\r
+ <PropertyGroup>\r
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)bin\$(Configuration)\</IntDir>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)bin\$(Configuration)\</IntDir>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">$(ProjectDir)bin\$(Configuration)\</IntDir>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">$(ProjectDir)bin\$(Configuration)\</IntDir>\r
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\;..\..\dependencies\boost_1_44_0\;..\..\dependencies\ffmpeg 0.6\include\;..\..\dependencies\tbb30_20100406oss\include\;..\..\dependencies\SFML-1.6\include\;$(IncludePath)</IncludePath>\r
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\;..\..\dependencies\boost_1_44_0\;..\..\dependencies\ffmpeg 0.6\include\;..\..\dependencies\tbb30_20100406oss\include\;..\..\dependencies\SFML-1.6\include\;$(IncludePath)</IncludePath>\r
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">..\..\;..\..\dependencies\boost_1_44_0\;..\..\dependencies\ffmpeg 0.6\include\;..\..\dependencies\tbb30_20100406oss\include\;..\..\dependencies\SFML-1.6\include\;$(IncludePath)</IncludePath>\r
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">..\..\;..\..\dependencies\boost_1_44_0\;..\..\dependencies\ffmpeg 0.6\include\;..\..\dependencies\tbb30_20100406oss\include\;..\..\dependencies\SFML-1.6\include\;$(IncludePath)</IncludePath>\r
+ <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\dependencies\boost_1_44_0\stage\lib\;..\..\dependencies\ffmpeg 0.6\lib\;..\..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
+ <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\dependencies\boost_1_44_0\stage\lib\;..\..\dependencies\ffmpeg 0.6\lib\;..\..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
+ <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">..\..\dependencies\boost_1_44_0\stage\lib\;..\..\dependencies\ffmpeg 0.6\lib\;..\..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
+ <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">..\..\dependencies\boost_1_44_0\stage\lib\;..\..\dependencies\ffmpeg 0.6\lib\;..\..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">$(ProjectDir)bin\$(Configuration)\</OutDir>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectName)</TargetName>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectName)</TargetName>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">$(ProjectName)</TargetName>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">$(ProjectName)</TargetName>\r
+ </PropertyGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+ <PreBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PreBuildEvent>\r
+ <ClCompile>\r
+ <Optimization>Disabled</Optimization>\r
+ <AdditionalIncludeDirectories>../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <MinimalRebuild>false</MinimalRebuild>\r
+ <ExceptionHandling>Async</ExceptionHandling>\r
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\r
+ <SmallerTypeCheck>false</SmallerTypeCheck>\r
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
+ <EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader>Use</PrecompiledHeader>\r
+ <BrowseInformation>true</BrowseInformation>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>\r
+ <PreprocessorDefinitions>TBB_USE_CAPTURED_EXCEPTION=0;TBB_USE_ASSERT=1;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <TreatWarningAsError>true</TreatWarningAsError>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ <FloatingPointModel>Fast</FloatingPointModel>\r
+ <ForcedIncludeFiles>common/compiler/vs/disable_silly_warnings.h</ForcedIncludeFiles>\r
+ </ClCompile>\r
+ <PostBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PostBuildEvent>\r
+ <Lib />\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+ <PreBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PreBuildEvent>\r
+ <ClCompile>\r
+ <Optimization>MaxSpeed</Optimization>\r
+ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>\r
+ <IntrinsicFunctions>true</IntrinsicFunctions>\r
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>\r
+ <AdditionalIncludeDirectories>../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <ExceptionHandling>Async</ExceptionHandling>\r
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader>Use</PrecompiledHeader>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ <PreprocessorDefinitions>TBB_USE_CAPTURED_EXCEPTION=0;NDEBUG;_VC80_UPGRADE=0x0710;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <WholeProgramOptimization>true</WholeProgramOptimization>\r
+ <TreatWarningAsError>true</TreatWarningAsError>\r
+ <OmitFramePointers>true</OmitFramePointers>\r
+ <FloatingPointModel>Fast</FloatingPointModel>\r
+ <ForcedIncludeFiles>common/compiler/vs/disable_silly_warnings.h</ForcedIncludeFiles>\r
+ </ClCompile>\r
+ <PostBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PostBuildEvent>\r
+ <Lib>\r
+ <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>\r
+ </Lib>\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">\r
+ <PreBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PreBuildEvent>\r
+ <ClCompile>\r
+ <Optimization>MaxSpeed</Optimization>\r
+ <InlineFunctionExpansion>Disabled</InlineFunctionExpansion>\r
+ <IntrinsicFunctions>true</IntrinsicFunctions>\r
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>\r
+ <AdditionalIncludeDirectories>../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <ExceptionHandling>Async</ExceptionHandling>\r
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader>Use</PrecompiledHeader>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ <PreprocessorDefinitions>TBB_USE_CAPTURED_EXCEPTION=0;TBB_USE_THREADING_TOOLS=1;NDEBUG;_VC80_UPGRADE=0x0710;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <WholeProgramOptimization>false</WholeProgramOptimization>\r
+ <TreatWarningAsError>true</TreatWarningAsError>\r
+ <OmitFramePointers>true</OmitFramePointers>\r
+ <FloatingPointModel>Fast</FloatingPointModel>\r
+ <ForcedIncludeFiles>common/compiler/vs/disable_silly_warnings.h</ForcedIncludeFiles>\r
+ </ClCompile>\r
+ <PostBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PostBuildEvent>\r
+ <Lib />\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">\r
+ <PreBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PreBuildEvent>\r
+ <ClCompile>\r
+ <Optimization>Disabled</Optimization>\r
+ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>\r
+ <IntrinsicFunctions>true</IntrinsicFunctions>\r
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>\r
+ <AdditionalIncludeDirectories>../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <ExceptionHandling>Async</ExceptionHandling>\r
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader>Use</PrecompiledHeader>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ <PreprocessorDefinitions>TBB_USE_CAPTURED_EXCEPTION=0;TBB_USE_ASSERT=1;TBB_USE_PERFORMANCE_WARNINGS=1;_VC80_UPGRADE=0x0710;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <WholeProgramOptimization>false</WholeProgramOptimization>\r
+ <TreatWarningAsError>true</TreatWarningAsError>\r
+ <OmitFramePointers>true</OmitFramePointers>\r
+ <FloatingPointModel>Fast</FloatingPointModel>\r
+ <ForcedIncludeFiles>common/compiler/vs/disable_silly_warnings.h</ForcedIncludeFiles>\r
+ </ClCompile>\r
+ <PostBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PostBuildEvent>\r
+ <Lib />\r
+ </ItemDefinitionGroup>\r
+ <ItemGroup>\r
+ <ProjectReference Include="..\..\common\common.vcxproj">\r
+ <Project>{02308602-7fe0-4253-b96e-22134919f56a}</Project>\r
+ </ProjectReference>\r
+ <ProjectReference Include="..\..\core\core.vcxproj">\r
+ <Project>{79388c20-6499-4bf6-b8b9-d8c33d7d4ddd}</Project>\r
+ </ProjectReference>\r
+ <ProjectReference Include="..\..\mixer\mixer.vcxproj">\r
+ <Project>{477e12a4-1b28-4ff7-b46d-76606bdd1891}</Project>\r
+ </ProjectReference>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClCompile Include="interop\XcpControlHost.cpp">\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ </ClCompile>\r
+ <ClCompile Include="interop\xcpctrl_i.c">\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">NotUsing</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">NotUsing</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>\r
+ </ClCompile>\r
+ <ClCompile Include="interop\xcpctrl_p.c">\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">NotUsing</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">NotUsing</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>\r
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">true</ExcludedFromBuild>\r
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">true</ExcludedFromBuild>\r
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="interop\XcpPropertyBag.cpp">\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ </ClCompile>\r
+ <ClCompile Include="producer\silverlight_producer.cpp">\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ </ClCompile>\r
+ <ClCompile Include="silverlight.cpp" />\r
+ <ClCompile Include="StdAfx.cpp">\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">Create</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">Create</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>\r
+ </ClCompile>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClInclude Include="interop\XcpControlHost.h" />\r
+ <ClInclude Include="interop\xcpctrl.h" />\r
+ <ClInclude Include="interop\xcpctrl_h.h" />\r
+ <ClInclude Include="interop\XcpPropertyBag.h" />\r
+ <ClInclude Include="producer\silverlight_producer.h" />\r
+ <ClInclude Include="silverlight.h" />\r
+ <ClInclude Include="StdAfx.h" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <Midl Include="interop\xcpctrl.idl">\r
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">true</ExcludedFromBuild>\r
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">true</ExcludedFromBuild>\r
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
+ </Midl>\r
+ </ItemGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
+ <ImportGroup Label="ExtensionTargets">\r
+ </ImportGroup>\r
+</Project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <ItemGroup>\r
+ <Filter Include="interop">\r
+ <UniqueIdentifier>{4f739737-1661-40dd-afc7-5cc64598f500}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="producer">\r
+ <UniqueIdentifier>{d33ae2d6-7928-46bb-940b-c7c76c601329}</UniqueIdentifier>\r
+ </Filter>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClCompile Include="producer\silverlight_producer.cpp">\r
+ <Filter>producer</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="interop\xcpctrl_i.c">\r
+ <Filter>interop</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="interop\xcpctrl_p.c">\r
+ <Filter>interop</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="interop\XcpPropertyBag.cpp">\r
+ <Filter>interop</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="interop\XcpControlHost.cpp">\r
+ <Filter>interop</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="silverlight.cpp" />\r
+ <ClCompile Include="StdAfx.cpp" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClInclude Include="producer\silverlight_producer.h">\r
+ <Filter>producer</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="interop\xcpctrl.h">\r
+ <Filter>interop</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="interop\xcpctrl_h.h">\r
+ <Filter>interop</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="interop\XcpPropertyBag.h">\r
+ <Filter>interop</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="interop\XcpControlHost.h">\r
+ <Filter>interop</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="silverlight.h" />\r
+ <ClInclude Include="StdAfx.h" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <Midl Include="interop\xcpctrl.idl">\r
+ <Filter>interop</Filter>\r
+ </Midl>\r
+ </ItemGroup>\r
+</Project>
\ No newline at end of file
#include "AMCPCommandsImpl.h"\r
#include "AMCPProtocolStrategy.h"\r
\r
-#include "../media.h"\r
-\r
#include <common/env.h>\r
\r
#include <core/producer/frame_producer.h>\r
#include <core/video_format.h>\r
-#include <core/producer/flash/flash_producer.h>\r
+#include <modules/flash/flash.h>\r
+#include <modules/flash/producer/flash_producer.h>\r
+#include <modules/flash/producer/cg_producer.h>\r
#include <core/producer/transition/transition_producer.h>\r
-#include <core/producer/flash/cg_producer.h>\r
\r
#include <mixer/image/image_transform.h>\r
#include <mixer/audio/audio_transform.h>\r
if(pFP == frame_producer::empty())\r
BOOST_THROW_EXCEPTION(file_not_found() << msg_info(_parameters.size() > 0 ? narrow(_parameters[0]) : ""));\r
\r
- pFP = safe_ptr<core::frame_producer>(transition_producer(pFP, transitionInfo));\r
+ auto pFP2 = make_safe<core::transition_producer>(pFP, transitionInfo);\r
bool autoPlay = std::find(_parameters.begin(), _parameters.end(), TEXT("AUTOPLAY")) != _parameters.end();\r
- GetChannel()->producer().load(GetLayerIndex(), pFP, autoPlay); // TODO: LOOP\r
+ GetChannel()->producer().load(GetLayerIndex(), pFP2, autoPlay); // TODO: LOOP\r
\r
CASPAR_LOG(info) << "Loaded " << _parameters[0] << TEXT(" successfully to background");\r
SetReplyString(TEXT("202 LOADBG OK\r\n"));\r
}\r
}\r
\r
- std::wstring fullFilename = core::flash::flash_producer::find_template(env::template_folder() + _parameters[2]);\r
+ std::wstring fullFilename = flash_producer::find_template(env::template_folder() + _parameters[2]);\r
if(!fullFilename.empty())\r
{\r
std::wstring extension = boost::filesystem::wpath(fullFilename).extension();\r
std::wstring filename = _parameters[2];\r
filename.append(extension);\r
\r
- core::flash::get_default_cg_producer(safe_ptr<core::channel>(GetChannel()), GetLayerIndex(core::flash::cg_producer::DEFAULT_LAYER))->add(layer, filename, bDoStart, label, (pDataString!=0) ? pDataString : TEXT(""));\r
+ get_default_cg_producer(safe_ptr<core::channel>(GetChannel()), GetLayerIndex(cg_producer::DEFAULT_LAYER))->add(layer, filename, bDoStart, label, (pDataString!=0) ? pDataString : TEXT(""));\r
SetReplyString(TEXT("202 CG OK\r\n"));\r
}\r
else\r
return false;\r
}\r
int layer = _ttoi(_parameters[1].c_str());\r
- core::flash::get_default_cg_producer(safe_ptr<core::channel>(GetChannel()), GetLayerIndex(core::flash::cg_producer::DEFAULT_LAYER))->play(layer);\r
+ get_default_cg_producer(safe_ptr<core::channel>(GetChannel()), GetLayerIndex(cg_producer::DEFAULT_LAYER))->play(layer);\r
}\r
else\r
{\r
return false;\r
}\r
int layer = _ttoi(_parameters[1].c_str());\r
- core::flash::get_default_cg_producer(safe_ptr<core::channel>(GetChannel()), GetLayerIndex(core::flash::cg_producer::DEFAULT_LAYER))->stop(layer, 0);\r
+ get_default_cg_producer(safe_ptr<core::channel>(GetChannel()), GetLayerIndex(cg_producer::DEFAULT_LAYER))->stop(layer, 0);\r
}\r
else \r
{\r
return false;\r
}\r
int layer = _ttoi(_parameters[1].c_str());\r
- core::flash::get_default_cg_producer(safe_ptr<core::channel>(GetChannel()), GetLayerIndex(core::flash::cg_producer::DEFAULT_LAYER))->next(layer);\r
+ get_default_cg_producer(safe_ptr<core::channel>(GetChannel()), GetLayerIndex(cg_producer::DEFAULT_LAYER))->next(layer);\r
}\r
else \r
{\r
return false;\r
}\r
int layer = _ttoi(_parameters[1].c_str());\r
- core::flash::get_default_cg_producer(safe_ptr<core::channel>(GetChannel()), GetLayerIndex(core::flash::cg_producer::DEFAULT_LAYER))->remove(layer);\r
+ get_default_cg_producer(safe_ptr<core::channel>(GetChannel()), GetLayerIndex(cg_producer::DEFAULT_LAYER))->remove(layer);\r
}\r
else \r
{\r
\r
bool CGCommand::DoExecuteClear() \r
{\r
- core::flash::get_default_cg_producer(safe_ptr<core::channel>(GetChannel()), GetLayerIndex(core::flash::cg_producer::DEFAULT_LAYER))->clear();\r
+ get_default_cg_producer(safe_ptr<core::channel>(GetChannel()), GetLayerIndex(cg_producer::DEFAULT_LAYER))->clear();\r
SetReplyString(TEXT("202 CG OK\r\n"));\r
return true;\r
}\r
}\r
int layer = _ttoi(_parameters[1].c_str());\r
//TODO: Implement indirect data loading from file. Same as in Add\r
- core::flash::get_default_cg_producer(safe_ptr<core::channel>(GetChannel()), GetLayerIndex(core::flash::cg_producer::DEFAULT_LAYER))->update(layer, _parameters[2]);\r
+ get_default_cg_producer(safe_ptr<core::channel>(GetChannel()), GetLayerIndex(cg_producer::DEFAULT_LAYER))->update(layer, _parameters[2]);\r
}\r
else \r
{\r
return false;\r
}\r
int layer = _ttoi(_parameters[1].c_str());\r
- core::flash::get_default_cg_producer(safe_ptr<core::channel>(GetChannel()), GetLayerIndex(core::flash::cg_producer::DEFAULT_LAYER))->invoke(layer, _parameters[2]);\r
+ get_default_cg_producer(safe_ptr<core::channel>(GetChannel()), GetLayerIndex(cg_producer::DEFAULT_LAYER))->invoke(layer, _parameters[2]);\r
}\r
else \r
{\r
bool CGCommand::DoExecuteInfo() \r
{\r
// TODO\r
- //core::flash::get_default_cg_producer(GetChannel())->Info();\r
+ //get_default_cg_producer(GetChannel())->Info();\r
SetReplyString(TEXT("600 CG FAILED\r\n"));\r
return true;\r
}\r
if(_parameters.size() > 0)\r
{\r
if(_parameters[0] == L"FLASH")\r
- replyString = TEXT("201 VERSION OK\r\n FLASH: ") + flash::get_flash_version() + TEXT("\r\n");\r
+ replyString = TEXT("201 VERSION OK\r\n FLASH: ") + get_flash_version() + TEXT("\r\n");\r
else if(_parameters[0] == L"TEMPLATEHOST")\r
- replyString = TEXT("201 VERSION OK\r\n TEMPLATEHOST: ") + flash::get_cg_version() + TEXT("\r\n");\r
+ replyString = TEXT("201 VERSION OK\r\n TEMPLATEHOST: ") + get_cg_version() + TEXT("\r\n");\r
else if(_parameters[0] != L"SERVER")\r
replyString = TEXT("403 VERSION ERROR\r\n");\r
}\r
#include "CIICommandsImpl.h"\r
#include <sstream>\r
#include <algorithm>\r
-#include <core/producer/flash/cg_producer.h>\r
+#include <modules/flash/producer/cg_producer.h>\r
\r
namespace caspar { namespace protocol { namespace cii {\r
\r
\r
//TODO: Need to be checked for validity\r
else if(state_ == 1)\r
- core::flash::get_default_cg_producer(pCIIStrategy_->GetChannel())->add(layer_, filename_, false, TEXT(""), xmlData_);\r
+ get_default_cg_producer(pCIIStrategy_->GetChannel())->add(layer_, filename_, false, TEXT(""), xmlData_);\r
}\r
\r
\r
\r
//TODO: Need to be checked for validity\r
else if(state_ == 1)\r
- core::flash::get_default_cg_producer(pCIIStrategy_->GetChannel())->stop(layer_, 0);\r
+ get_default_cg_producer(pCIIStrategy_->GetChannel())->stop(layer_, 0);\r
else if(state_ == 2)\r
- core::flash::get_default_cg_producer(pCIIStrategy_->GetChannel())->clear();\r
+ get_default_cg_producer(pCIIStrategy_->GetChannel())->clear();\r
else if(state_ == 3)\r
- core::flash::get_default_cg_producer(pCIIStrategy_->GetChannel())->play(layer_);\r
+ get_default_cg_producer(pCIIStrategy_->GetChannel())->play(layer_);\r
}\r
\r
void KeydataCommand::Setup(const std::vector<std::wstring>& parameters) {\r
#include <string>\r
#include <sstream>\r
#include <algorithm>\r
-#include "../media.h"\r
#include "CIIProtocolStrategy.h"\r
#include "CIICommandsimpl.h"\r
-#include <core/producer/flash/flash_producer.h>\r
+#include <modules/flash/producer/flash_producer.h>\r
#include <core/producer/transition/transition_producer.h>\r
#include <core/producer/frame_producer.h>\r
#include <common/env.h>\r
fullTemplateFilename += TEXT("\\");\r
}\r
fullTemplateFilename += templateName;\r
- fullTemplateFilename = core::flash::flash_producer::find_template(fullTemplateFilename);\r
+ fullTemplateFilename = flash_producer::find_template(fullTemplateFilename);\r
if(fullTemplateFilename.empty())\r
{\r
CASPAR_LOG(error) << "Failed to save instance of " << templateName << TEXT(" as ") << titleName << TEXT(", template ") << fullTemplateFilename << " not found";\r
return;\r
}\r
\r
- auto producer = core::flash::flash_producer(env::template_folder()+TEXT("CG.fth"));\r
+ auto producer = flash_producer(env::template_folder()+TEXT("CG.fth"));\r
\r
std::wstringstream flashParam;\r
flashParam << TEXT("<invoke name=\"Add\" returntype=\"xml\"><arguments><number>1</number><string>") << currentProfile_ << '/' << templateName << TEXT("</string><number>0</number><true/><string> </string><string><![CDATA[ ") << xmlData << TEXT(" ]]></string></arguments></invoke>");\r
transition.duration = 12;\r
\r
auto pFP = create_producer(boost::assign::list_of(filename));\r
- auto pTransition = safe_ptr<core::frame_producer>(transition_producer(pFP, transition));\r
+ auto pTransition = make_safe<core::transition_producer>(pFP, transition);\r
\r
try\r
{\r
\r
#include "CLKProtocolStrategy.h"\r
\r
-#include <core/producer\flash\cg_producer.h>\r
+#include <modules/flash/producer/cg_producer.h>\r
\r
#include <string>\r
#include <sstream>\r
\r
if(currentCommand_.command_ == CLKCommand::CLKReset) \r
{\r
- core::flash::get_default_cg_producer(pChannel_)->clear();\r
+ get_default_cg_producer(pChannel_)->clear();\r
bClockLoaded_ = false;\r
\r
CASPAR_LOG(info) << L"CLK: Recieved and executed reset-command";\r
{\r
if(!bClockLoaded_) \r
{\r
- core::flash::get_default_cg_producer(pChannel_)->add(0, TEXT("hawrysklocka/clock"), true, TEXT(""), currentCommand_.GetData());\r
+ get_default_cg_producer(pChannel_)->add(0, TEXT("hawrysklocka/clock"), true, TEXT(""), currentCommand_.GetData());\r
bClockLoaded_ = true;\r
}\r
else \r
- core::flash::get_default_cg_producer(pChannel_)->update(0, currentCommand_.GetData());\r
+ get_default_cg_producer(pChannel_)->update(0, currentCommand_.GetData());\r
\r
CASPAR_LOG(debug) << L"CLK: Clockdata sent: " << currentCommand_.GetData();\r
CASPAR_LOG(debug) << L"CLK: Executed valid command: " << currentCommandString_.str();\r
+++ /dev/null
-#include "StdAfx.h"\r
-\r
-#include "media.h"\r
-\r
-#include <common/exception/exceptions.h>\r
-\r
-#include <core/producer/color/color_producer.h>\r
-#include <core/producer/ffmpeg/ffmpeg_producer.h>\r
-#include <core/producer/flash/cg_producer.h>\r
-#include <core/producer/image/image_producer.h>\r
-#include <core/producer/decklink/decklink_producer.h>\r
-#include <core/producer/silverlight/silverlight_producer.h>\r
-\r
-#include <core/consumer/bluefish/bluefish_consumer.h>\r
-#include <core/consumer/decklink/decklink_consumer.h>\r
-#include <core/consumer/ogl/ogl_consumer.h>\r
-#include <core/consumer/oal/oal_consumer.h>\r
-#include <core/consumer/ffmpeg/ffmpeg_consumer.h>\r
-//#include "../producer/image/image_scroll_producer.h"\r
-\r
-#include <common/exception/exceptions.h>\r
-\r
-#include <boost/assign.hpp>\r
-#include <boost/filesystem.hpp>\r
-\r
-using namespace boost::assign;\r
-\r
-namespace caspar { namespace protocol { \r
- \r
-using namespace core;\r
-\r
-safe_ptr<core::frame_producer> create_producer(const std::vector<std::wstring>& params)\r
-{ \r
- typedef std::function<safe_ptr<core::frame_producer>(const std::vector<std::wstring>&)> factory_t;\r
-\r
- const auto factories = list_of<factory_t>\r
- (&core::flash::create_ct_producer)\r
- // (&image::create_image_scroll_producer)\r
- (&core::ffmpeg::create_ffmpeg_producer)\r
- (&core::image::create_image_producer)\r
- (&core::create_decklink_producer)\r
- (&core::create_color_producer)\r
- //(&core::create_silverlight_producer)\r
- ;\r
-\r
- if(params.empty())\r
- BOOST_THROW_EXCEPTION(invalid_argument() << arg_name_info("params") << arg_value_info(""));\r
-\r
- auto producer = frame_producer::empty();\r
- std::any_of(factories.begin(), factories.end(), [&](const factory_t& factory) -> bool\r
- {\r
- try\r
- {\r
- producer = factory(params);\r
- }\r
- catch(...)\r
- {\r
- CASPAR_LOG_CURRENT_EXCEPTION();\r
- }\r
- return producer != frame_producer::empty();\r
- });\r
-\r
- if(producer == frame_producer::empty())\r
- BOOST_THROW_EXCEPTION(file_not_found() << msg_info("No match found for supplied commands. Check syntax."));\r
-\r
- return producer;\r
-}\r
-\r
-safe_ptr<core::frame_consumer> create_consumer(const std::vector<std::wstring>& params)\r
-{ \r
- typedef std::function<safe_ptr<core::frame_consumer>(const std::vector<std::wstring>&)> factory_t;\r
-\r
- const auto factories = list_of<factory_t>\r
- (&core::create_bluefish_consumer)\r
- (&core::create_decklink_consumer)\r
- (&core::create_oal_consumer)\r
- (&core::create_ogl_consumer)\r
- (&core::create_ffmpeg_consumer);\r
-\r
- if(params.empty())\r
- BOOST_THROW_EXCEPTION(invalid_argument() << arg_name_info("params") << arg_value_info(""));\r
-\r
- auto consumer = frame_consumer::empty();\r
- std::any_of(factories.begin(), factories.end(), [&](const factory_t& factory) -> bool\r
- {\r
- try\r
- {\r
- consumer = factory(params);\r
- }\r
- catch(...)\r
- {\r
- CASPAR_LOG_CURRENT_EXCEPTION();\r
- }\r
- return consumer != frame_consumer::empty();\r
- });\r
- \r
- if(consumer == frame_consumer::empty())\r
- BOOST_THROW_EXCEPTION(file_not_found() << msg_info("No match found for supplied commands. Check syntax."));\r
-\r
- return consumer;\r
-}\r
-\r
-}}\r
+++ /dev/null
-#pragma once\r
-\r
-#include <core/producer/frame_producer.h>\r
-#include <core/consumer/frame_consumer.h>\r
-\r
-#include <string>\r
-#include <vector>\r
-\r
-namespace caspar { namespace protocol { \r
- \r
-safe_ptr<core::frame_producer> create_producer(const std::vector<std::wstring>& params);\r
-safe_ptr<core::frame_consumer> create_consumer(const std::vector<std::wstring>& params);\r
-\r
-}}\r
<?xml version="1.0" encoding="utf-8"?>\r
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
<ItemGroup Label="ProjectConfigurations">\r
- <ProjectConfiguration Include="Amplify|Win32">\r
- <Configuration>Amplify</Configuration>\r
+ <ProjectConfiguration Include="Profile|Win32">\r
+ <Configuration>Profile</Configuration>\r
<Platform>Win32</Platform>\r
</ProjectConfiguration>\r
<ProjectConfiguration Include="Debug|Win32">\r
<ProjectReference Include="..\mixer\mixer.vcxproj">\r
<Project>{477e12a4-1b28-4ff7-b46d-76606bdd1891}</Project>\r
</ProjectReference>\r
+ <ProjectReference Include="..\modules\flash\flash.vcxproj">\r
+ <Project>{816deaba-3757-4306-afe0-c27cf96c4dea}</Project>\r
+ </ProjectReference>\r
</ItemGroup>\r
<ItemGroup>\r
<ClInclude Include="amcp\AMCPCommand.h" />\r
<ClInclude Include="cii\CIIProtocolStrategy.h" />\r
<ClInclude Include="clk\CLKCommand.h" />\r
<ClInclude Include="clk\CLKProtocolStrategy.h" />\r
- <ClInclude Include="media.h" />\r
<ClInclude Include="StdAfx.h" />\r
<ClInclude Include="util\AsyncEventServer.h" />\r
<ClInclude Include="util\ClientInfo.h" />\r
<ClCompile Include="amcp\AMCPCommandQueue.cpp">\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
</ClCompile>\r
<ClCompile Include="amcp\AMCPCommandsImpl.cpp">\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
</ClCompile>\r
<ClCompile Include="amcp\AMCPProtocolStrategy.cpp">\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
</ClCompile>\r
<ClCompile Include="cii\CIICommandsImpl.cpp">\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
</ClCompile>\r
<ClCompile Include="cii\CIIProtocolStrategy.cpp">\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
</ClCompile>\r
<ClCompile Include="clk\CLKCommand.cpp">\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
</ClCompile>\r
<ClCompile Include="clk\CLKProtocolStrategy.cpp">\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
</ClCompile>\r
- <ClCompile Include="media.cpp" />\r
<ClCompile Include="StdAfx.cpp">\r
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>\r
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">Create</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">Create</PrecompiledHeader>\r
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">Create</PrecompiledHeader>\r
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>\r
</ClCompile>\r
<ClCompile Include="util\AsyncEventServer.cpp">\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
</ClCompile>\r
<ClCompile Include="util\SocketInfo.cpp">\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
</ClCompile>\r
<ClCompile Include="util\Thread.cpp">\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
</ClCompile>\r
</ItemGroup>\r
<WholeProgramOptimization>true</WholeProgramOptimization>\r
<CharacterSet>Unicode</CharacterSet>\r
</PropertyGroup>\r
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'" Label="Configuration">\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'" Label="Configuration">\r
<ConfigurationType>StaticLibrary</ConfigurationType>\r
<UseDebugLibraries>false</UseDebugLibraries>\r
<WholeProgramOptimization>true</WholeProgramOptimization>\r
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
</ImportGroup>\r
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'" Label="PropertySheets">\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'" Label="PropertySheets">\r
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
</ImportGroup>\r
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'" Label="PropertySheets">\r
</ImportGroup>\r
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
<IncludePath>../;..\dependencies/tbb30_20100406oss/include;..\dependencies\boost_1_44_0;$(IncludePath)</IncludePath>\r
- <OutDir>$(ProjectDir)$(Configuration)\</OutDir>\r
+ <OutDir>$(ProjectDir)\bin\$(Configuration)\</OutDir>\r
</PropertyGroup>\r
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
<IncludePath>../;..\dependencies/tbb30_20100406oss/include;..\dependencies\boost_1_44_0;$(IncludePath)</IncludePath>\r
- <OutDir>$(ProjectDir)$(Configuration)\</OutDir>\r
+ <OutDir>$(ProjectDir)\bin\$(Configuration)\</OutDir>\r
+ <IntDir>$(ProjectDir)\bin\$(Configuration)\</IntDir>\r
</PropertyGroup>\r
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">\r
<IncludePath>../;..\dependencies/tbb30_20100406oss/include;..\dependencies\boost_1_44_0;$(IncludePath)</IncludePath>\r
- <OutDir>$(ProjectDir)$(Configuration)\</OutDir>\r
+ <OutDir>$(ProjectDir)\bin\$(Configuration)\</OutDir>\r
</PropertyGroup>\r
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">\r
<IncludePath>../;..\dependencies/tbb30_20100406oss/include;..\dependencies\boost_1_44_0;$(IncludePath)</IncludePath>\r
- <OutDir>$(ProjectDir)$(Configuration)\</OutDir>\r
+ <OutDir>$(ProjectDir)\bin\$(Configuration)\</OutDir>\r
</PropertyGroup>\r
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
<ClCompile>\r
<SubSystem>Windows</SubSystem>\r
<GenerateDebugInformation>true</GenerateDebugInformation>\r
</Link>\r
+ <Lib />\r
</ItemDefinitionGroup>\r
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
<ClCompile>\r
<EnableCOMDATFolding>true</EnableCOMDATFolding>\r
<OptimizeReferences>true</OptimizeReferences>\r
</Link>\r
+ <Lib>\r
+ <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>\r
+ </Lib>\r
</ItemDefinitionGroup>\r
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">\r
<ClCompile>\r
<WarningLevel>Level1</WarningLevel>\r
<PrecompiledHeader>Use</PrecompiledHeader>\r
<EnableCOMDATFolding>true</EnableCOMDATFolding>\r
<OptimizeReferences>true</OptimizeReferences>\r
</Link>\r
+ <Lib />\r
</ItemDefinitionGroup>\r
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">\r
<ClCompile>\r
<EnableCOMDATFolding>true</EnableCOMDATFolding>\r
<OptimizeReferences>true</OptimizeReferences>\r
</Link>\r
+ <Lib />\r
</ItemDefinitionGroup>\r
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
<ImportGroup Label="ExtensionTargets">\r
<?xml version="1.0" encoding="utf-8"?>\r
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
<ItemGroup>\r
- <Filter Include="Source Files">\r
- <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>\r
- <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>\r
- </Filter>\r
- <Filter Include="Afx">\r
- <UniqueIdentifier>{0289b005-5045-4798-b83e-72a4c7c1e412}</UniqueIdentifier>\r
- </Filter>\r
- <Filter Include="Source Files\amcp">\r
+ <Filter Include="amcp">\r
<UniqueIdentifier>{93331f26-581b-4d15-81a6-0aae31ad3958}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Source Files\cii">\r
+ <Filter Include="cii">\r
<UniqueIdentifier>{abb11aa5-fa66-4e76-8ea6-38f01f6e7dff}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Source Files\clk">\r
+ <Filter Include="clk">\r
<UniqueIdentifier>{9ed5b10f-d494-4460-b868-e36357b3e04d}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Source Files\util">\r
+ <Filter Include="util">\r
<UniqueIdentifier>{ac6eb3ad-c1d7-4bae-a03d-b1fd752a0305}</UniqueIdentifier>\r
</Filter>\r
</ItemGroup>\r
<ItemGroup>\r
<ClInclude Include="amcp\AMCPCommand.h">\r
- <Filter>Source Files\amcp</Filter>\r
+ <Filter>amcp</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="amcp\AMCPProtocolStrategy.h">\r
+ <Filter>amcp</Filter>\r
</ClInclude>\r
<ClInclude Include="amcp\AMCPCommandQueue.h">\r
- <Filter>Source Files\amcp</Filter>\r
+ <Filter>amcp</Filter>\r
</ClInclude>\r
<ClInclude Include="amcp\AMCPCommandsImpl.h">\r
- <Filter>Source Files\amcp</Filter>\r
+ <Filter>amcp</Filter>\r
</ClInclude>\r
- <ClInclude Include="amcp\AMCPProtocolStrategy.h">\r
- <Filter>Source Files\amcp</Filter>\r
+ <ClInclude Include="util\AsyncEventServer.h">\r
+ <Filter>util</Filter>\r
</ClInclude>\r
<ClInclude Include="cii\CIICommand.h">\r
- <Filter>Source Files\cii</Filter>\r
- </ClInclude>\r
- <ClInclude Include="cii\CIICommandsImpl.h">\r
- <Filter>Source Files\cii</Filter>\r
+ <Filter>cii</Filter>\r
</ClInclude>\r
<ClInclude Include="cii\CIIProtocolStrategy.h">\r
- <Filter>Source Files\cii</Filter>\r
+ <Filter>cii</Filter>\r
</ClInclude>\r
- <ClInclude Include="clk\CLKCommand.h">\r
- <Filter>Source Files\clk</Filter>\r
+ <ClInclude Include="cii\CIICommandsImpl.h">\r
+ <Filter>cii</Filter>\r
</ClInclude>\r
<ClInclude Include="clk\CLKProtocolStrategy.h">\r
- <Filter>Source Files\clk</Filter>\r
- </ClInclude>\r
- <ClInclude Include="StdAfx.h">\r
- <Filter>Afx</Filter>\r
- </ClInclude>\r
- <ClInclude Include="media.h">\r
- <Filter>Source Files</Filter>\r
+ <Filter>clk</Filter>\r
</ClInclude>\r
- <ClInclude Include="util\AsyncEventServer.h">\r
- <Filter>Source Files\util</Filter>\r
+ <ClInclude Include="clk\CLKCommand.h">\r
+ <Filter>clk</Filter>\r
</ClInclude>\r
<ClInclude Include="util\ClientInfo.h">\r
- <Filter>Source Files\util</Filter>\r
+ <Filter>util</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="util\Thread.h">\r
+ <Filter>util</Filter>\r
</ClInclude>\r
<ClInclude Include="util\ProtocolStrategy.h">\r
- <Filter>Source Files\util</Filter>\r
+ <Filter>util</Filter>\r
</ClInclude>\r
<ClInclude Include="util\SocketInfo.h">\r
- <Filter>Source Files\util</Filter>\r
- </ClInclude>\r
- <ClInclude Include="util\Thread.h">\r
- <Filter>Source Files\util</Filter>\r
+ <Filter>util</Filter>\r
</ClInclude>\r
+ <ClInclude Include="StdAfx.h" />\r
</ItemGroup>\r
<ItemGroup>\r
<ClCompile Include="amcp\AMCPCommandQueue.cpp">\r
- <Filter>Source Files\amcp</Filter>\r
+ <Filter>amcp</Filter>\r
</ClCompile>\r
<ClCompile Include="amcp\AMCPCommandsImpl.cpp">\r
- <Filter>Source Files\amcp</Filter>\r
+ <Filter>amcp</Filter>\r
</ClCompile>\r
<ClCompile Include="amcp\AMCPProtocolStrategy.cpp">\r
- <Filter>Source Files\amcp</Filter>\r
+ <Filter>amcp</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="util\AsyncEventServer.cpp">\r
+ <Filter>util</Filter>\r
</ClCompile>\r
<ClCompile Include="cii\CIICommandsImpl.cpp">\r
- <Filter>Source Files\cii</Filter>\r
+ <Filter>cii</Filter>\r
</ClCompile>\r
<ClCompile Include="cii\CIIProtocolStrategy.cpp">\r
- <Filter>Source Files\cii</Filter>\r
+ <Filter>cii</Filter>\r
</ClCompile>\r
<ClCompile Include="clk\CLKCommand.cpp">\r
- <Filter>Source Files\clk</Filter>\r
+ <Filter>clk</Filter>\r
</ClCompile>\r
<ClCompile Include="clk\CLKProtocolStrategy.cpp">\r
- <Filter>Source Files\clk</Filter>\r
- </ClCompile>\r
- <ClCompile Include="StdAfx.cpp">\r
- <Filter>Afx</Filter>\r
- </ClCompile>\r
- <ClCompile Include="media.cpp">\r
- <Filter>Source Files</Filter>\r
- </ClCompile>\r
- <ClCompile Include="util\AsyncEventServer.cpp">\r
- <Filter>Source Files\util</Filter>\r
+ <Filter>clk</Filter>\r
</ClCompile>\r
<ClCompile Include="util\SocketInfo.cpp">\r
- <Filter>Source Files\util</Filter>\r
+ <Filter>util</Filter>\r
</ClCompile>\r
<ClCompile Include="util\Thread.cpp">\r
- <Filter>Source Files\util</Filter>\r
+ <Filter>util</Filter>\r
</ClCompile>\r
+ <ClCompile Include="StdAfx.cpp" />\r
</ItemGroup>\r
</Project>
\ No newline at end of file
#include "..\util\thread.h"\r
\r
#include "ProtocolStrategy.h"\r
-#include "SocketInfo.h"\r
\r
#include <tbb\mutex.h>\r
\r
namespace caspar {\r
namespace IO {\r
\r
+class SocketInfo;\r
+typedef std::shared_ptr<SocketInfo> SocketInfoPtr;\r
+\r
typedef std::function<void(caspar::IO::SocketInfoPtr)> ClientDisconnectEvent;\r
\r
class AsyncEventServer : public IRunnable\r
#include "bootstrapper.h"\r
\r
-#include <core/channel.h>\r
+#include <common/env.h>\r
+#include <common/exception/exceptions.h>\r
+#include <common/utility/string.h>\r
\r
-#include <core/consumer/oal/oal_consumer.h>\r
-#include <core/consumer/bluefish/bluefish_consumer.h>\r
-#include <core/consumer/decklink/decklink_consumer.h>\r
-#include <core/consumer/ogl/ogl_consumer.h>\r
-#include <core/consumer/ffmpeg/ffmpeg_consumer.h>\r
+#include <core/channel.h>\r
\r
-#include <core/producer/flash/FlashAxContainer.h>\r
+#include <modules/bluefish/bluefish.h>\r
+#include <modules/decklink/decklink.h>\r
+#include <modules/ffmpeg/ffmpeg.h>\r
+#include <modules/flash/flash.h>\r
+#include <modules/oal/oal.h>\r
+#include <modules/ogl/ogl.h>\r
+#include <modules/silverlight/silverlight.h>\r
+#include <modules/image/image.h>\r
+\r
+#include <modules/oal/consumer/oal_consumer.h>\r
+#include <modules/bluefish/consumer/bluefish_consumer.h>\r
+#include <modules/decklink/consumer/decklink_consumer.h>\r
+#include <modules/ogl/consumer/ogl_consumer.h>\r
+#include <modules/ffmpeg/consumer/ffmpeg_consumer.h>\r
\r
#include <protocol/amcp/AMCPProtocolStrategy.h>\r
#include <protocol/cii/CIIProtocolStrategy.h>\r
#include <protocol/CLK/CLKProtocolStrategy.h>\r
#include <protocol/util/AsyncEventServer.h>\r
\r
-#include <common/env.h>\r
-#include <common/exception/exceptions.h>\r
-#include <common/utility/string.h>\r
-\r
#include <boost/algorithm/string.hpp>\r
#include <boost/lexical_cast.hpp>\r
#include <boost/filesystem.hpp>\r
\r
implementation() \r
{ \r
+ init_ffmpeg();\r
+ init_bluefish();\r
+ init_decklink();\r
+ init_flash();\r
+ init_oal();\r
+ init_ogl();\r
+ init_silverlight();\r
+ init_image();\r
+\r
setup_channels(env::properties());\r
setup_controllers(env::properties());\r
- \r
- if(!flash::FlashAxContainer::CheckForFlashSupport())\r
- CASPAR_LOG(error) << "No flashplayer activex-control installed. Flash support will be disabled";\r
}\r
\r
~implementation()\r
*\r
*/\r
\r
-#include <Windows.h>\r
+#include <windows.h>\r
+#include <conio.h>\r
\r
#include <tbb/tbbmalloc_proxy.h>\r
#include <tbb/task_scheduler_observer.h>\r
#include <crtdbg.h>\r
#endif\r
\r
-#include <conio.h>\r
-\r
#include "bootstrapper.h"\r
\r
-#include <core/producer/flash/flash_producer.h>\r
-#include <core/producer/flash/cg_producer.h>\r
-#include <core/producer/image/image_producer.h>\r
-#include <core/consumer/decklink/decklink_consumer.h>\r
-#include <core/consumer/bluefish/bluefish_consumer.h>\r
+#include <modules/bluefish/bluefish.h>\r
\r
+#include <modules/decklink/decklink.h>\r
+#include <modules/flash/flash.h>\r
+#include <modules/ffmpeg/ffmpeg.h>\r
+#include <modules/image/image.h>\r
+\r
+#include <common/env.h>\r
#include <common/exception/win32_exception.h>\r
#include <common/exception/exceptions.h>\r
#include <common/log/log.h>\r
-#include <common/env.h>\r
#include <common/utility/assert.h>\r
\r
#include <mixer/gpu/ogl_device.h>\r
\r
#include <protocol/amcp/AMCPProtocolStrategy.h>\r
\r
-#include <GLee.h>\r
-\r
#include <boost/foreach.hpp>\r
\r
-#if defined(_MSC_VER)\r
-#pragma warning (disable : 4244)\r
-#endif\r
-\r
-extern "C" \r
-{\r
- #define __STDC_CONSTANT_MACROS\r
- #define __STDC_LIMIT_MACROS\r
- #include <libavformat/avformat.h>\r
- #include <libswscale/swscale.h>\r
- #include <libavcodec/avcodec.h>\r
-}\r
-\r
-#include <atlbase.h>\r
+#include <Glee.h>\r
\r
using namespace caspar;\r
using namespace caspar::core;\r
using namespace caspar::protocol;\r
\r
+#include <atlbase.h>\r
+\r
// NOTE: This is needed in order to make CComObject work since this is not a real ATL project.\r
CComModule _AtlModule;\r
extern __declspec(selectany) CAtlModule* _pAtlModule = &_AtlModule;\r
{ \r
CASPAR_LOG(info) << L"Copyright (c) 2010 Sveriges Television AB, www.casparcg.com, <info@casparcg.com>";\r
CASPAR_LOG(info) << L"Starting CasparCG Video and Graphics Playout Server " << env::version();\r
- CASPAR_LOG(info) << L"Flash " << flash::get_flash_version();\r
- CASPAR_LOG(info) << L"Flash-Template-Host " << flash::get_cg_version();\r
- CASPAR_LOG(info) << L"FreeImage " << image::get_image_version();\r
+ CASPAR_LOG(info) << L"Flash " << get_flash_version();\r
+ CASPAR_LOG(info) << L"Flash-Template-Host " << get_cg_version();\r
+ CASPAR_LOG(info) << L"FreeImage " << get_image_version();\r
\r
std::wstring decklink_devices;\r
BOOST_FOREACH(auto& device, get_decklink_device_list())\r
bluefish_devices += L"\t" + device;\r
CASPAR_LOG(info) << L"Bluefish " << get_bluefish_version() << (bluefish_devices.empty() ? L"" : L"\n\tDevices:\n" + bluefish_devices);\r
\r
- CASPAR_LOG(info) << L"FFMPEG-avcodec " << ((avcodec_version() >> 16) & 0xFF) << L"." << ((avcodec_version() >> 8) & 0xFF) << L"." << ((avcodec_version() >> 0) & 0xFF);\r
- CASPAR_LOG(info) << L"FFMPEG-swscale " << ((avformat_version() >> 16) & 0xFF) << L"." << ((avformat_version() >> 8) & 0xFF) << L"." << ((avformat_version() >> 0) & 0xFF);\r
- CASPAR_LOG(info) << L"FFMPEG-avformat " << ((swscale_version() >> 16) & 0xFF) << L"." << ((swscale_version() >> 8) & 0xFF) << L"." << ((swscale_version() >> 0) & 0xFF);\r
+ CASPAR_LOG(info) << L"FFMPEG-avcodec " << get_avcodec_version();\r
+ CASPAR_LOG(info) << L"FFMPEG-swscale " << get_avformat_version();\r
+ CASPAR_LOG(info) << L"FFMPEG-avformat " << get_swscale_version();\r
CASPAR_LOG(info) << L"OpenGL " << ogl_device::create()->invoke([]{return reinterpret_cast<const char*>(glGetString(GL_VERSION));})\r
<< L" " << ogl_device::create()->invoke([]{return reinterpret_cast<const char*>(glGetString(GL_VENDOR));});\r
\r
{\r
wchar_t p_name_str[1024];\r
wchar_t csd_ver_str[1024];\r
- wchar_t csd_build_str[1024];\r
\r
dwType = REG_SZ;\r
dwSize = sizeof(p_name_str);\r
\r
- RegQueryValueEx(hkey, TEXT("ProductName"), NULL, &dwType, (PBYTE)&p_name_str, &dwSize);\r
- RegQueryValueEx(hkey, TEXT("CSDVersion"), NULL, &dwType, (PBYTE)&csd_ver_str, &dwSize);\r
- RegQueryValueEx(hkey, TEXT("CSDBuildNumber"), NULL, &dwType, (PBYTE)&csd_build_str, &dwSize);\r
- \r
+ if(RegQueryValueEx(hkey, TEXT("ProductName"), NULL, &dwType, (PBYTE)&p_name_str, &dwSize) == ERROR_SUCCESS &&\r
+ RegQueryValueEx(hkey, TEXT("CSDVersion"), NULL, &dwType, (PBYTE)&csd_ver_str, &dwSize) == ERROR_SUCCESS) \r
+ {\r
+ CASPAR_LOG(info) << p_name_str << L" " << csd_ver_str << L"." << L"\n";\r
+ }\r
+ else\r
+ CASPAR_LOG(warning) << "Could not read OS info." << L"\n";\r
+ \r
RegCloseKey(hkey);\r
-\r
- CASPAR_LOG(info) << p_name_str << L" " << csd_ver_str << L"." << csd_build_str << L"\n";\r
}\r
}\r
\r
int main(int argc, wchar_t* argv[])\r
{ \r
- try \r
- {\r
- win32_handler_tbb_installer win32_handler_tbb_installer;\r
- win32_exception::install_handler();\r
-\r
- env::initialize("caspar.config");\r
-\r
- // Init FFMPEG\r
- av_register_all();\r
- avcodec_init();\r
-\r
- // Increase time precision\r
- timeBeginPeriod(1);\r
-\r
- // Start caspar\r
-\r
- setup_console_window();\r
-\r
#ifdef _DEBUG\r
_CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF | _CRTDBG_CHECK_ALWAYS_DF );\r
_CrtSetReportMode( _CRT_ERROR, _CRTDBG_MODE_DEBUG );\r
_CrtSetReportMode( _CRT_WARN, _CRTDBG_MODE_DEBUG );\r
_CrtSetReportMode( _CRT_ASSERT, _CRTDBG_MODE_DEBUG );\r
\r
- MessageBox(nullptr, TEXT("Now is the time to connect for remote debugging..."), TEXT("Debug"), MB_OK | MB_TOPMOST);\r
+ if(env::properties().get("configuration.debugging.remote", false))\r
+ MessageBox(nullptr, TEXT("Now is the time to connect for remote debugging..."), TEXT("Debug"), MB_OK | MB_TOPMOST);\r
#endif\r
- \r
+ \r
+ // Increase time precision\r
+ timeBeginPeriod(1);\r
+ win32_handler_tbb_installer win32_handler_tbb_installer;\r
+ win32_exception::install_handler();\r
+\r
+ try \r
+ {\r
+ env::initialize("caspar.config");\r
+ \r
+ setup_console_window(); \r
log::add_file_sink(env::log_folder());\r
\r
print_version();\r
<?xml version="1.0" encoding="utf-8"?>\r
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
<ItemGroup Label="ProjectConfigurations">\r
- <ProjectConfiguration Include="Amplify|Win32">\r
- <Configuration>Amplify</Configuration>\r
+ <ProjectConfiguration Include="Profile|Win32">\r
+ <Configuration>Profile</Configuration>\r
<Platform>Win32</Platform>\r
</ProjectConfiguration>\r
<ProjectConfiguration Include="Debug|Win32">\r
<ClCompile Include="boostrapper.cpp" />\r
<ClCompile Include="main.cpp">\r
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>\r
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">NotUsing</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">NotUsing</PrecompiledHeader>\r
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">NotUsing</PrecompiledHeader>\r
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>\r
</ClCompile>\r
<ProjectReference Include="..\mixer\mixer.vcxproj">\r
<Project>{477e12a4-1b28-4ff7-b46d-76606bdd1891}</Project>\r
</ProjectReference>\r
+ <ProjectReference Include="..\modules\bluefish\bluefish.vcxproj">\r
+ <Project>{69313d25-9f54-4fc9-9872-628a4dd79464}</Project>\r
+ </ProjectReference>\r
+ <ProjectReference Include="..\modules\decklink\decklink.vcxproj">\r
+ <Project>{d3611658-8f54-43cf-b9af-a5cf8c1102ea}</Project>\r
+ </ProjectReference>\r
+ <ProjectReference Include="..\modules\ffmpeg\ffmpeg.vcxproj">\r
+ <Project>{f6223af3-be0b-4b61-8406-98922ce521c2}</Project>\r
+ </ProjectReference>\r
+ <ProjectReference Include="..\modules\flash\flash.vcxproj">\r
+ <Project>{816deaba-3757-4306-afe0-c27cf96c4dea}</Project>\r
+ </ProjectReference>\r
+ <ProjectReference Include="..\modules\image\image.vcxproj">\r
+ <Project>{3e11ff65-a9da-4f80-87f2-a7c6379ed5e2}</Project>\r
+ </ProjectReference>\r
+ <ProjectReference Include="..\modules\oal\oal.vcxproj">\r
+ <Project>{82ed7ed6-8a15-40ec-a8af-f5e712e0da68}</Project>\r
+ </ProjectReference>\r
+ <ProjectReference Include="..\modules\ogl\ogl.vcxproj">\r
+ <Project>{88f974f0-d09f-4788-8cf8-f563209e60c1}</Project>\r
+ </ProjectReference>\r
+ <ProjectReference Include="..\modules\silverlight\silverlight.vcxproj">\r
+ <Project>{b964d953-8882-454c-a935-db711d697e39}</Project>\r
+ </ProjectReference>\r
<ProjectReference Include="..\protocol\protocol.vcxproj">\r
<Project>{2040b361-1fb6-488e-84a5-38a580da90de}</Project>\r
</ProjectReference>\r
<None Include="caspar.config">\r
<SubType>Designer</SubType>\r
</None>\r
- <None Include="My Amplifier Results\r003hs\r003hs.ampl" />\r
- <None Include="My Amplifier Results\r004hs\r004hs.ampl" />\r
- <None Include="My Amplifier Results\r006hs\r006hs.ampl" />\r
- <None Include="My Amplifier Results\r007cc\r007cc.ampl" />\r
- <None Include="My Amplifier Results\r008lw\r008lw.ampl" />\r
- <None Include="My Amplifier Results\r009hs\r009hs.ampl" />\r
- <None Include="My Inspector Results\r000ti3\r000ti3.insp" />\r
</ItemGroup>\r
<ItemGroup>\r
<ClInclude Include="bootstrapper.h" />\r
<WholeProgramOptimization>true</WholeProgramOptimization>\r
<CharacterSet>Unicode</CharacterSet>\r
</PropertyGroup>\r
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'" Label="Configuration">\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'" Label="Configuration">\r
<ConfigurationType>Application</ConfigurationType>\r
<UseDebugLibraries>false</UseDebugLibraries>\r
<WholeProgramOptimization>true</WholeProgramOptimization>\r
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
</ImportGroup>\r
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'" Label="PropertySheets">\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'" Label="PropertySheets">\r
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
</ImportGroup>\r
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'" Label="PropertySheets">\r
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\r
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\</IntDir>\r
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</IntDir>\r
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">$(Configuration)\</IntDir>\r
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">$(Configuration)\</IntDir>\r
<IntDir Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">$(Configuration)\</IntDir>\r
<IncludePath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\dependencies\BluefishSDK_V5_8_0_31\Inc\;..\dependencies\boost_1_44_0\;..\dependencies\ffmpeg 0.6\include\;..\dependencies\FreeImage\Dist\;..\dependencies\GLee5_4\;..\dependencies\SFML-1.6\include\;..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
<IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\dependencies\BluefishSDK_V5_8_0_31\Inc\;..\dependencies\boost_1_44_0\;..\dependencies\ffmpeg 0.6\include\;..\dependencies\FreeImage\Dist\;..\dependencies\GLee5_4\;..\dependencies\SFML-1.6\include\;..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
- <IncludePath Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">..\dependencies\BluefishSDK_V5_8_0_31\Inc\;..\dependencies\boost_1_44_0\;..\dependencies\ffmpeg 0.6\include\;..\dependencies\FreeImage\Dist\;..\dependencies\GLee5_4\;..\dependencies\SFML-1.6\include\;..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">..\dependencies\BluefishSDK_V5_8_0_31\Inc\;..\dependencies\boost_1_44_0\;..\dependencies\ffmpeg 0.6\include\;..\dependencies\FreeImage\Dist\;..\dependencies\GLee5_4\;..\dependencies\SFML-1.6\include\;..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
<IncludePath Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">..\dependencies\BluefishSDK_V5_8_0_31\Inc\;..\dependencies\boost_1_44_0\;..\dependencies\ffmpeg 0.6\include\;..\dependencies\FreeImage\Dist\;..\dependencies\GLee5_4\;..\dependencies\SFML-1.6\include\;..\dependencies\tbb30_20100406oss\include\;$(IncludePath)</IncludePath>\r
<LibraryPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">C:\Program\Microsoft DirectX SDK (June 2010)\Lib\x86;..\dependencies\BluefishSDK_V5_8_0_31\Lib\;..\dependencies\boost_1_44_0\stage\lib\;..\dependencies\ffmpeg 0.6\lib\;..\dependencies\FreeImage\Dist\;..\dependencies\GLee5_4\;..\dependencies\SFML-1.6\lib\;..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
<LibraryPath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">C:\Program\Microsoft DirectX SDK (June 2010)\Lib\x86;..\dependencies\BluefishSDK_V5_8_0_31\Lib\;..\dependencies\boost_1_44_0\stage\lib\;..\dependencies\ffmpeg 0.6\lib\;..\dependencies\FreeImage\Dist\;..\dependencies\GLee5_4\;..\dependencies\SFML-1.6\lib\;..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
- <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">C:\Program\Microsoft DirectX SDK (June 2010)\Lib\x86;..\dependencies\BluefishSDK_V5_8_0_31\Lib\;..\dependencies\boost_1_44_0\stage\lib\;..\dependencies\ffmpeg 0.6\lib\;..\dependencies\FreeImage\Dist\;..\dependencies\GLee5_4\;..\dependencies\SFML-1.6\lib\;..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
+ <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">C:\Program\Microsoft DirectX SDK (June 2010)\Lib\x86;..\dependencies\BluefishSDK_V5_8_0_31\Lib\;..\dependencies\boost_1_44_0\stage\lib\;..\dependencies\ffmpeg 0.6\lib\;..\dependencies\FreeImage\Dist\;..\dependencies\GLee5_4\;..\dependencies\SFML-1.6\lib\;..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
<LibraryPath Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">C:\Program\Microsoft DirectX SDK (June 2010)\Lib\x86;..\dependencies\BluefishSDK_V5_8_0_31\Lib\;..\dependencies\boost_1_44_0\stage\lib\;..\dependencies\ffmpeg 0.6\lib\;..\dependencies\FreeImage\Dist\;..\dependencies\GLee5_4\;..\dependencies\SFML-1.6\lib\;..\dependencies\tbb30_20100406oss\lib\ia32\vc10\;$(LibraryPath)</LibraryPath>\r
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)\$(Configuration)\</OutDir>\r
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)\$(Configuration)\</OutDir>\r
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">$(SolutionDir)\$(Configuration)\</OutDir>\r
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">$(SolutionDir)\$(Configuration)\</OutDir>\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
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">$(SolutionDir)\bin\$(Configuration)\</OutDir>\r
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionName)</TargetName>\r
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionName)</TargetName>\r
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">$(SolutionName)</TargetName>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">$(SolutionName)</TargetName>\r
<TargetName Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">$(SolutionName)</TargetName>\r
</PropertyGroup>\r
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
<LinkIncremental>false</LinkIncremental>\r
</PropertyGroup>\r
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">\r
<LinkIncremental>true</LinkIncremental>\r
</PropertyGroup>\r
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">\r
<ForcedIncludeFiles>common/compiler/vs/disable_silly_warnings.h</ForcedIncludeFiles>\r
</ClCompile>\r
<Link>\r
- <AdditionalDependencies>sfml-system-d.lib;sfml-audio-d.lib;sfml-window-d.lib;sfml-graphics-d.lib;sfml-system-d.lib;OpenGL32.lib;FreeImage.lib;GLee.lib;Winmm.lib;Ws2_32.lib;avformat-52.lib;avcodec-52.lib;avutil-50.lib;swscale-0.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+ <AdditionalDependencies>Bluevelvet3_d.lib;BlueHancUtils_d.lib;sfml-system-d.lib;sfml-audio-d.lib;sfml-window-d.lib;sfml-graphics-d.lib;OpenGL32.lib;FreeImage.lib;Winmm.lib;Ws2_32.lib;avformat-52.lib;avcodec-52.lib;avutil-50.lib;SWSCALE-0.lib;tbb.lib;Glee.lib</AdditionalDependencies>\r
<Version>\r
</Version>\r
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
- <IgnoreSpecificDefaultLibraries>LIBC.LIB;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>\r
+ <IgnoreSpecificDefaultLibraries>LIBC.lib</IgnoreSpecificDefaultLibraries>\r
<GenerateDebugInformation>true</GenerateDebugInformation>\r
<ProgramDatabaseFile>$(TargetDir)$(TargetName).pdb</ProgramDatabaseFile>\r
<GenerateMapFile>false</GenerateMapFile>\r
</Command>\r
</PreLinkEvent>\r
<Link>\r
- <AdditionalDependencies>sfml-system.lib;sfml-audio.lib;sfml-window.lib;sfml-graphics.lib;sfml-system.lib;OpenGL32.lib;FreeImage.lib;Winmm.lib;Ws2_32.lib;avformat-52.lib;avcodec-52.lib;avutil-50.lib;SWSCALE-0.lib;tbb.lib;Glee.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+ <AdditionalDependencies>Bluevelvet3.lib;BlueHancUtils.lib;sfml-system.lib;sfml-audio.lib;sfml-window.lib;sfml-graphics.lib;OpenGL32.lib;FreeImage.lib;Winmm.lib;Ws2_32.lib;avformat-52.lib;avcodec-52.lib;avutil-50.lib;SWSCALE-0.lib;tbb.lib;Glee.lib</AdditionalDependencies>\r
<Version>\r
</Version>\r
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
<DataExecutionPrevention>\r
</DataExecutionPrevention>\r
<TargetMachine>MachineX86</TargetMachine>\r
- <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>\r
+ <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>\r
</Link>\r
<PostBuildEvent>\r
<Command>copy $(SolutionDir)\dlls\*.dll $(OutDir)\</Command>\r
</PostBuildEvent>\r
</ItemDefinitionGroup>\r
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Amplify|Win32'">\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">\r
<PreBuildEvent>\r
<Command>\r
</Command>\r
</Command>\r
</PreLinkEvent>\r
<Link>\r
- <AdditionalDependencies>sfml-system.lib;sfml-audio.lib;sfml-window.lib;sfml-graphics.lib;sfml-system.lib;OpenGL32.lib;FreeImage.lib;Winmm.lib;Ws2_32.lib;avformat-52.lib;avcodec-52.lib;avutil-50.lib;SWSCALE-0.lib;tbb.lib;Glee.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+ <AdditionalDependencies>Bluevelvet3.lib;BlueHancUtils.lib;sfml-system.lib;sfml-audio.lib;sfml-window.lib;sfml-graphics.lib;OpenGL32.lib;FreeImage.lib;Winmm.lib;Ws2_32.lib;avformat-52.lib;avcodec-52.lib;avutil-50.lib;SWSCALE-0.lib;tbb.lib;Glee.lib</AdditionalDependencies>\r
<Version>\r
</Version>\r
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
</Command>\r
</PreLinkEvent>\r
<Link>\r
- <AdditionalDependencies>sfml-system.lib;sfml-audio.lib;sfml-window.lib;sfml-graphics.lib;OpenGL32.lib;FreeImage.lib;Winmm.lib;Ws2_32.lib;avformat-52.lib;avcodec-52.lib;avutil-50.lib;SWSCALE-0.lib;tbb.lib;Glee.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+ <AdditionalDependencies>Bluevelvet3.lib;BlueHancUtils.lib;sfml-system.lib;sfml-audio.lib;sfml-window.lib;sfml-graphics.lib;OpenGL32.lib;FreeImage.lib;Winmm.lib;Ws2_32.lib;avformat-52.lib;avcodec-52.lib;avutil-50.lib;SWSCALE-0.lib;tbb.lib;Glee.lib</AdditionalDependencies>\r
<Version>\r
</Version>\r
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
<?xml version="1.0" encoding="utf-8"?>\r
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
<ItemGroup>\r
- <ClCompile Include="main.cpp">\r
- <Filter>Source</Filter>\r
- </ClCompile>\r
- <ClCompile Include="boostrapper.cpp">\r
- <Filter>Source</Filter>\r
- </ClCompile>\r
+ <ClCompile Include="main.cpp" />\r
+ <ClCompile Include="boostrapper.cpp" />\r
</ItemGroup>\r
<ItemGroup>\r
<None Include="caspar.config" />\r
- <None Include="My Amplifier Results\r006hs\r006hs.ampl">\r
- <Filter>My Amplifier Results</Filter>\r
- </None>\r
- <None Include="My Amplifier Results\r007cc\r007cc.ampl">\r
- <Filter>My Amplifier Results</Filter>\r
- </None>\r
- <None Include="My Amplifier Results\r008lw\r008lw.ampl">\r
- <Filter>My Amplifier Results</Filter>\r
- </None>\r
- <None Include="My Inspector Results\r000ti3\r000ti3.insp">\r
- <Filter>My Inspector Results</Filter>\r
- </None>\r
- <None Include="My Amplifier Results\r009hs\r009hs.ampl">\r
- <Filter>My Amplifier Results</Filter>\r
- </None>\r
- <None Include="My Amplifier Results\r003hs\r003hs.ampl">\r
- <Filter>My Amplifier Results</Filter>\r
- </None>\r
- <None Include="My Amplifier Results\r004hs\r004hs.ampl">\r
- <Filter>My Amplifier Results</Filter>\r
- </None>\r
</ItemGroup>\r
<ItemGroup>\r
- <Filter Include="My Amplifier Results">\r
- <UniqueIdentifier>{4df636fc-0183-410c-8d76-2d0e06c29ca3}</UniqueIdentifier>\r
- </Filter>\r
- <Filter Include="My Inspector Results">\r
- <UniqueIdentifier>{54aa3e52-b5b4-4451-84e3-3b5d5ddcee0e}</UniqueIdentifier>\r
- </Filter>\r
- <Filter Include="Source">\r
- <UniqueIdentifier>{069a6bcd-e304-44a5-9f32-eac8e2f304af}</UniqueIdentifier>\r
- </Filter>\r
- </ItemGroup>\r
- <ItemGroup>\r
- <ClInclude Include="bootstrapper.h">\r
- <Filter>Source</Filter>\r
- </ClInclude>\r
+ <ClInclude Include="bootstrapper.h" />\r
</ItemGroup>\r
</Project>
\ No newline at end of file
#define CASPAR_GEN L"2"\r
#define CASPAR_MAYOR L"0"\r
-#define CASPAR_MINOR L"0"\r
+#define CASPAR_MINOR L"2"\r
#define CASPAR_REV L"$WCREV$"
\ No newline at end of file