*.pdb
*.suo
*.user
+*.aps
*~
project/libcec.sdf
project/obj
project/Properties
-
+project/_*
project/x64
+project/LibCecSharp/x64
+project/LibCecSharp/Debug
+project/LibCecSharp/Release
+project/libcec/x64
+project/libcec/Debug
+project/libcec/Release
+project/testclient/x64
+project/testclient/Debug
+project/testclient/Release
project/RPi/toolchain
project/RPi/firmware
+libcec (2.1.3-1) unstable; urgency=low
+
+ * changed / added:
+ * ask users to send an email when receiving an unhandled vendor command
+ * toshiba: map top menu and dvd menu buttons. closes #148
+ * LibCecSharp: sync alert types
+ * LibCecSharp: added CurrentVersion to the version enum
+ * CecSharpClient: use CurrentVersion instead of a hardcoded version
+ * CecTray: power management
+ * CecTray: split up asyncform
+ * CecTray: try/catch xml exceptions when reading the xml config. bugzid:
+ 2082
+ * CecTray: use CurrentVersion instead of a hardcoded version
+ * CecTray: display a warning if we can't poll the TV
+ * CecTray: display alerts from libCEC
+ * CecTray: don't use lazy loading for the main controller, but pass the
+ instance. bugzid: 2082
+ * windows: converted to vs2012
+ * fixed:
+ * toshiba: toshiba handler wasn't initialised, and toshiba uses more than
+ one vendor id
+ * libCEC marked itself as inactive source when the stream path changed to
+ a device with a different physical address. bugzid: 2157
+ * TDA995x: report proper firmware revision (credits: @warped-rudi)
+ * TDA995x: avoid callback when already stopped (credits: @warped-rudi)
+ * windows: fix resource files and backwards compat dll names
+
+ -- Pulse-Eight Packaging <packaging@pulse-eight.com> Sat, 11 May 2013 10:06:00 +0000
+
libcec (2.1.1-1) unstable; urgency=low
* changed / added:
=== Windows ===
===============================================================================
-To compile libCEC on Windows, you'll need Visual C++ 2010 or Visual Studio 2010
-The installer needs the Windows DDK (Driver Development Kit) and Nullsoft's
-NSIS.
+To compile libCEC on Windows, you'll need Visual Studio 2012 and Visual Studio
+or Visual C++ 2008. The latter is needed to build LibCecSharp for .Net
+Framework 2.0.
-To compile LibCecSharp on Windows, you'll need Visual C++ 2008 or Visual Studio
-2008, because it is compiled against .NET 2.0.
+The adapter detection code needs the Windows DDK (Driver Development Kit).
+
+To create an installer, you'll need Nullsoft's NSIS.
To compile libCEC, follow these instructions:
-* open /project/libcec.sln with Visual C++ 2010 or Visual Studio 2010.
+* open /project/libcec.sln with Visual Studio 2012.
* build the project.
To build an installer on Windows:
* go to /project and execute create-installer.bat to create the installer.
* the installer is stored as /build/libCEC-installer.exe
-You will need both Visual Studio 2008 and Visual Studio 2010 to build the
-installer from the command line. To build with Visual C++ 2008 and 2010,
-you will need to manually build libcec with Visual C++ 2010 and then
-build LibCecSharp.sln with Visual Studio 2008. See create-installer.bat
-for the required steps.
-
===============================================================================
=== Raspberry Pi ===
===============================================================================
+libcec (2.1.3-1) unstable; urgency=low
+
+ * changed / added:
+ * ask users to send an email when receiving an unhandled vendor command
+ * toshiba: map top menu and dvd menu buttons. closes #148
+ * LibCecSharp: sync alert types
+ * LibCecSharp: added CurrentVersion to the version enum
+ * CecSharpClient: use CurrentVersion instead of a hardcoded version
+ * CecTray: power management
+ * CecTray: split up asyncform
+ * CecTray: try/catch xml exceptions when reading the xml config. bugzid:
+ 2082
+ * CecTray: use CurrentVersion instead of a hardcoded version
+ * CecTray: display a warning if we can't poll the TV
+ * CecTray: display alerts from libCEC
+ * CecTray: don't use lazy loading for the main controller, but pass the
+ instance. bugzid: 2082
+ * windows: converted to vs2012
+ * fixed:
+ * toshiba: toshiba handler wasn't initialised, and toshiba uses more than
+ one vendor id
+ * libCEC marked itself as inactive source when the stream path changed to
+ a device with a different physical address. bugzid: 2157
+ * TDA995x: report proper firmware revision (credits: @warped-rudi)
+ * TDA995x: avoid callback when already stopped (credits: @warped-rudi)
+ * windows: fix resource files and backwards compat dll names
+
+ -- Pulse-Eight Packaging <packaging@pulse-eight.com> Sat, 11 May 2013 10:06:00 +0000
+
libcec (2.1.1-1) unstable; urgency=low
* changed / added:
CEC_VENDOR_LOEWE = 0x000982,
CEC_VENDOR_ONKYO = 0x0009B0,
CEC_VENDOR_MEDION = 0x000CB8,
+ CEC_VENDOR_TOSHIBA2 = 0x000CE7,
CEC_VENDOR_AKAI = 0x0020C7,
CEC_VENDOR_AOC = 0x002467,
CEC_VENDOR_PANASONIC = 0x008045,
return *this;
}
+ bool operator ==(const struct cec_datapacket& packet) const
+ {
+ if (size != packet.size)
+ return false;
+ for (uint8_t iPtr = 0; iPtr < size; iPtr++)
+ if (packet.data[iPtr] != data[iPtr])
+ return false;
+ return true;
+ }
+
bool IsEmpty(void) const { return size == 0; } /**< @return True when this packet is empty, false otherwise. */
bool IsFull(void) const { return size == 100; } /**< @return True when this packet is false, false otherwise. */
CEC_CLIENT_VERSION_2_0_5 = 0x2005,
CEC_CLIENT_VERSION_2_1_0 = 0x2100,
CEC_CLIENT_VERSION_2_1_1 = 0x2101,
- CEC_CLIENT_VERSION_CURRENT = 0x2101
+ CEC_CLIENT_VERSION_2_1_2 = 0x2102,
+ CEC_CLIENT_VERSION_2_1_3 = 0x2103,
+ CEC_CLIENT_VERSION_CURRENT = 0x2103
} cec_client_version;
typedef enum cec_server_version
CEC_SERVER_VERSION_2_0_5 = 0x2005,
CEC_SERVER_VERSION_2_1_0 = 0x2100,
CEC_SERVER_VERSION_2_1_1 = 0x2101,
- CEC_SERVER_VERSION_CURRENT = 0x2101
+ CEC_SERVER_VERSION_2_1_2 = 0x2102,
+ CEC_SERVER_VERSION_2_1_3 = 0x2103,
+ CEC_SERVER_VERSION_CURRENT = 0x2103
} cec_server_version;
struct libcec_configuration
+++ /dev/null
-
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CecSharpTester", "..\src\CecSharpTester\CecSharpTester.csproj", "{B6A7F3A9-F47C-41E5-9754-0BFF233B1172}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LibCecSharp", "LibCecSharp.vcproj", "{E54D4581-CD59-4687-BB10-694B8192EABA}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LibCECTray", "..\src\LibCecTray\LibCECTray.csproj", "{58C106FE-C159-46D3-97E1-73AB83232670}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|x64 = Debug|x64
- Debug|x86 = Debug|x86
- Release|x64 = Release|x64
- Release|x86 = Release|x86
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {B6A7F3A9-F47C-41E5-9754-0BFF233B1172}.Debug|x64.ActiveCfg = Debug|x64
- {B6A7F3A9-F47C-41E5-9754-0BFF233B1172}.Debug|x64.Build.0 = Debug|x64
- {B6A7F3A9-F47C-41E5-9754-0BFF233B1172}.Debug|x86.ActiveCfg = Debug|x86
- {B6A7F3A9-F47C-41E5-9754-0BFF233B1172}.Debug|x86.Build.0 = Debug|x86
- {B6A7F3A9-F47C-41E5-9754-0BFF233B1172}.Release|x64.ActiveCfg = Release|x64
- {B6A7F3A9-F47C-41E5-9754-0BFF233B1172}.Release|x64.Build.0 = Release|x64
- {B6A7F3A9-F47C-41E5-9754-0BFF233B1172}.Release|x86.ActiveCfg = Release|x86
- {B6A7F3A9-F47C-41E5-9754-0BFF233B1172}.Release|x86.Build.0 = Release|x86
- {E54D4581-CD59-4687-BB10-694B8192EABA}.Debug|x64.ActiveCfg = Debug|x64
- {E54D4581-CD59-4687-BB10-694B8192EABA}.Debug|x64.Build.0 = Debug|x64
- {E54D4581-CD59-4687-BB10-694B8192EABA}.Debug|x86.ActiveCfg = Debug|Win32
- {E54D4581-CD59-4687-BB10-694B8192EABA}.Debug|x86.Build.0 = Debug|Win32
- {E54D4581-CD59-4687-BB10-694B8192EABA}.Release|x64.ActiveCfg = Release|x64
- {E54D4581-CD59-4687-BB10-694B8192EABA}.Release|x64.Build.0 = Release|x64
- {E54D4581-CD59-4687-BB10-694B8192EABA}.Release|x86.ActiveCfg = Release|Win32
- {E54D4581-CD59-4687-BB10-694B8192EABA}.Release|x86.Build.0 = Release|Win32
- {58C106FE-C159-46D3-97E1-73AB83232670}.Debug|x64.ActiveCfg = Debug|x64
- {58C106FE-C159-46D3-97E1-73AB83232670}.Debug|x64.Build.0 = Debug|x64
- {58C106FE-C159-46D3-97E1-73AB83232670}.Debug|x86.ActiveCfg = Debug|x86
- {58C106FE-C159-46D3-97E1-73AB83232670}.Debug|x86.Build.0 = Debug|x86
- {58C106FE-C159-46D3-97E1-73AB83232670}.Release|x64.ActiveCfg = Release|x64
- {58C106FE-C159-46D3-97E1-73AB83232670}.Release|x64.Build.0 = Release|x64
- {58C106FE-C159-46D3-97E1-73AB83232670}.Release|x86.ActiveCfg = Release|x86
- {58C106FE-C159-46D3-97E1-73AB83232670}.Release|x86.Build.0 = Release|x86
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9,00"
- Name="LibCecSharp"
- ProjectGUID="{E54D4581-CD59-4687-BB10-694B8192EABA}"
- RootNamespace="LibCecSharp"
- Keyword="ManagedCProj"
- AssemblyReferenceSearchPaths=""$(SolutionDir)..""
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(SolutionDir)..\build\"
- IntermediateDirectory="$(ConfigurationName)"
- ConfigurationType="2"
- CharacterSet="1"
- ManagedExtensions="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(SolutionDir)..\include;$(SolutionDir)..\src;$(SolutionDir)..\src\lib\platform\windows"
- PreprocessorDefinitions="_DEBUG;_CRT_SECURE_NO_WARNINGS"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- GenerateXMLDocumentationFiles="true"
- WarningLevel="3"
- WarnAsError="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies=""$(OutDir)libcec.lib""
- LinkIncremental="2"
- GenerateDebugInformation="true"
- AssemblyDebug="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(SolutionDir)..\build\"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="2"
- CharacterSet="1"
- ManagedExtensions="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(SolutionDir)..\include;$(SolutionDir)..\src;$(SolutionDir)..\src\lib\platform\windows"
- PreprocessorDefinitions="_DEBUG;_CRT_SECURE_NO_WARNINGS"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- GenerateXMLDocumentationFiles="true"
- WarningLevel="3"
- WarnAsError="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies=""$(OutDir)libcec.x64.lib""
- OutputFile=""$(OutDir)\$(ProjectName).x64.dll""
- LinkIncremental="2"
- GenerateDebugInformation="true"
- AssemblyDebug="1"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(SolutionDir)..\build\"
- IntermediateDirectory="$(ConfigurationName)"
- ConfigurationType="2"
- CharacterSet="1"
- ManagedExtensions="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(SolutionDir)..\include;$(SolutionDir)..\src;$(SolutionDir)..\src\lib\platform\windows"
- PreprocessorDefinitions="NDEBUG;_CRT_SECURE_NO_WARNINGS"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- GenerateXMLDocumentationFiles="true"
- WarningLevel="3"
- WarnAsError="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies=""$(OutDir)libcec.lib""
- LinkIncremental="1"
- GenerateDebugInformation="true"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(SolutionDir)..\build\"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="2"
- CharacterSet="1"
- ManagedExtensions="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(SolutionDir)..\include;$(SolutionDir)..\src;$(SolutionDir)..\src\lib\platform\windows"
- PreprocessorDefinitions="NDEBUG;_CRT_SECURE_NO_WARNINGS"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- GenerateXMLDocumentationFiles="true"
- WarningLevel="3"
- WarnAsError="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies=""$(OutDir)libcec.x64.lib""
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- <AssemblyReference
- RelativePath="System.dll"
- AssemblyName="System, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"
- MinFrameworkVersion="131072"
- />
- <AssemblyReference
- RelativePath="System.Data.dll"
- AssemblyName="System.Data, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=x86"
- MinFrameworkVersion="131072"
- />
- <AssemblyReference
- RelativePath="System.XML.dll"
- AssemblyName="System.Xml, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"
- MinFrameworkVersion="131072"
- />
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\src\LibCecSharp\AssemblyInfo.cpp"
- >
- </File>
- <File
- RelativePath="..\src\LibCecSharp\LibCecSharp.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath="..\include\cec.h"
- >
- </File>
- <File
- RelativePath="..\src\LibCecSharp\CecSharpTypes.h"
- >
- </File>
- <File
- RelativePath="..\include\cectypes.h"
- >
- </File>
- <File
- RelativePath="..\src\LibCecSharp\resource.h"
- >
- </File>
- <File
- RelativePath="..\src\lib\platform\windows\stdint.h"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{E54D4581-CD59-4687-BB10-694B8192EABA}</ProjectGuid>
+ <RootNamespace>LibCecSharp</RootNamespace>
+ <Keyword>ManagedCProj</Keyword>
+ <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <PlatformToolset>v90</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ <CLRSupport>true</CLRSupport>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <PlatformToolset>v90</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ <CLRSupport>true</CLRSupport>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <PlatformToolset>v90</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ <CLRSupport>true</CLRSupport>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <PlatformToolset>v90</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ <CLRSupport>true</CLRSupport>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>11.0.50727.1</_ProjectFileVersion>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ReferencePath>$(SolutionDir)..;$(ReferencePath)</ReferencePath>
+ <OutDir>$(SolutionDir)..\build\</OutDir>
+ <IntDir>$(Configuration)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ReferencePath>$(SolutionDir)..;$(ReferencePath)</ReferencePath>
+ <OutDir>$(SolutionDir)..\build\x64\</OutDir>
+ <IntDir>$(Platform)\$(Configuration)\</IntDir>
+ <LinkIncremental>true</LinkIncremental>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ReferencePath>$(SolutionDir)..;$(ReferencePath)</ReferencePath>
+ <OutDir>$(SolutionDir)..\build\</OutDir>
+ <IntDir>$(Configuration)\</IntDir>
+ <LinkIncremental>false</LinkIncremental>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ReferencePath>$(SolutionDir)..;$(ReferencePath)</ReferencePath>
+ <OutDir>$(SolutionDir)..\build\x64\</OutDir>
+ <IntDir>$(Platform)\$(Configuration)\</IntDir>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>$(SolutionDir)..\include;$(SolutionDir)..\src;$(SolutionDir)..\src\lib\platform\windows;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader />
+ <GenerateXMLDocumentationFiles>true</GenerateXMLDocumentationFiles>
+ <WarningLevel>Level3</WarningLevel>
+ <TreatWarningAsError>true</TreatWarningAsError>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>$(OutDir)libcec.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AssemblyDebug>true</AssemblyDebug>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>$(SolutionDir)..\include;$(SolutionDir)..\src;$(SolutionDir)..\src\lib\platform\windows;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader />
+ <GenerateXMLDocumentationFiles>true</GenerateXMLDocumentationFiles>
+ <WarningLevel>Level3</WarningLevel>
+ <TreatWarningAsError>true</TreatWarningAsError>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>$(OutDir)libcec.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AssemblyDebug>true</AssemblyDebug>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <AdditionalIncludeDirectories>$(SolutionDir)..\include;$(SolutionDir)..\src;$(SolutionDir)..\src\lib\platform\windows;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <PrecompiledHeader />
+ <GenerateXMLDocumentationFiles>true</GenerateXMLDocumentationFiles>
+ <WarningLevel>Level3</WarningLevel>
+ <TreatWarningAsError>true</TreatWarningAsError>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>$(OutDir)libcec.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <AdditionalIncludeDirectories>$(SolutionDir)..\include;$(SolutionDir)..\src;$(SolutionDir)..\src\lib\platform\windows;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <PrecompiledHeader />
+ <GenerateXMLDocumentationFiles>true</GenerateXMLDocumentationFiles>
+ <WarningLevel>Level3</WarningLevel>
+ <TreatWarningAsError>true</TreatWarningAsError>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>$(OutDir)libcec.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <Reference Include="System">
+ <CopyLocalSatelliteAssemblies>true</CopyLocalSatelliteAssemblies>
+ <ReferenceOutputAssembly>true</ReferenceOutputAssembly>
+ </Reference>
+ <Reference Include="System.Data">
+ <CopyLocalSatelliteAssemblies>true</CopyLocalSatelliteAssemblies>
+ <ReferenceOutputAssembly>true</ReferenceOutputAssembly>
+ </Reference>
+ <Reference Include="System.Xml">
+ <CopyLocalSatelliteAssemblies>true</CopyLocalSatelliteAssemblies>
+ <ReferenceOutputAssembly>true</ReferenceOutputAssembly>
+ </Reference>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\src\LibCecSharp\AssemblyInfo.cpp" />
+ <ClCompile Include="..\..\src\LibCecSharp\LibCecSharp.cpp" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="..\..\include\cec.h" />
+ <ClInclude Include="..\..\src\LibCecSharp\CecSharpTypes.h" />
+ <ClInclude Include="..\..\include\cectypes.h" />
+ <ClInclude Include="..\..\src\lib\platform\windows\stdint.h" />
+ <ClInclude Include="resource.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <ResourceCompile Include="LibCecSharp.rc" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\src\LibCecSharp\AssemblyInfo.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\src\LibCecSharp\LibCecSharp.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="..\..\include\cec.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\src\LibCecSharp\CecSharpTypes.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\include\cectypes.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\src\lib\platform\windows\stdint.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="resource.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ </ItemGroup>
+ <ItemGroup>
+ <ResourceCompile Include="LibCecSharp.rc" />
+ </ItemGroup>
+</Project>
\ No newline at end of file
!include "LogicLib.nsh"
!include "x64.nsh"
-Name "Pulse-Eight libCEC version 2.1.1"
+Name "Pulse-Eight libCEC"
OutFile "..\build\libCEC-installer.exe"
XPStyle on
SetOutPath "$INSTDIR"
File /x p8-usbcec-driver-installer.exe /x cec-tray.exe "..\build\*.exe"
SetOutPath "$INSTDIR\x64"
- File /nonfatal /x cec-tray.exe "..\build\x64\*.exe"
+ File /nonfatal "..\build\x64\*.exe"
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
SetOutPath "$INSTDIR"
CreateDirectory "$SMPROGRAMS\$StartMenuFolder"
${If} ${RunningX64}
- CreateShortCut "$SMPROGRAMS\$StartMenuFolder\CEC Test client (x64).lnk" "$INSTDIR\x64\cec-client.x64.exe" \
- "" "$INSTDIR\cec-client.x64.exe" 0 SW_SHOWNORMAL \
+ CreateShortCut "$SMPROGRAMS\$StartMenuFolder\CEC Test client (x64).lnk" "$INSTDIR\x64\cec-client.exe" \
+ "" "$INSTDIR\x64\cec-client.exe" 0 SW_SHOWNORMAL \
"" "Start the CEC Test client (x64)."
${Else}
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\CEC Test client.lnk" "$INSTDIR\cec-client.exe" \
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
- <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Resource Files">
- <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
- <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="..\..\tools.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\client.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\HTSPData.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\HTSPDemux.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thread.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\..\..\addons\library.xbmc.addon\dlfcn-win32.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\HTSPConnection.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="..\..\..\..\..\addons\library.xbmc.addon\dlfcn-win32.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thread.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\tools.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\client.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\HTSPData.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\HTSPDemux.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\HTSPConnection.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
-</Project>
\ No newline at end of file

-Microsoft Visual Studio Solution File, Format Version 11.00
-# Visual C++ Express 2010
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcec", "libcec.vcxproj", "{C04B0FB1-667D-4F1C-BDAE-A07CDFFAAAA0}"
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2012
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcec", "libcec\libcec.vcxproj", "{C04B0FB1-667D-4F1C-BDAE-A07CDFFAAAA0}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testclient", "testclient.vcxproj", "{F01222BF-6B3D-43BD-B254-434031CB9887}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testclient", "testclient\testclient.vcxproj", "{F01222BF-6B3D-43BD-B254-434031CB9887}"
ProjectSection(ProjectDependencies) = postProject
{C04B0FB1-667D-4F1C-BDAE-A07CDFFAAAA0} = {C04B0FB1-667D-4F1C-BDAE-A07CDFFAAAA0}
EndProjectSection
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LibCecSharp", "LibCecSharp\LibCecSharp.vcxproj", "{E54D4581-CD59-4687-BB10-694B8192EABA}"
+ ProjectSection(ProjectDependencies) = postProject
+ {C04B0FB1-667D-4F1C-BDAE-A07CDFFAAAA0} = {C04B0FB1-667D-4F1C-BDAE-A07CDFFAAAA0}
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{B119505D-5CD1-48E4-BED1-9C2BF26153D5}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CecSharpTester", "..\src\CecSharpTester\CecSharpTester.csproj", "{B6A7F3A9-F47C-41E5-9754-0BFF233B1172}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LibCECTray", "..\src\LibCecTray\LibCECTray.csproj", "{58C106FE-C159-46D3-97E1-73AB83232670}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
- Release|Win32 = Release|Win32
+ Debug|x86 = Debug|x86
Release|x64 = Release|x64
+ Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {C04B0FB1-667D-4F1C-BDAE-A07CDFFAAAA0}.Debug|Win32.ActiveCfg = Debug|Win32
- {C04B0FB1-667D-4F1C-BDAE-A07CDFFAAAA0}.Debug|Win32.Build.0 = Debug|Win32
{C04B0FB1-667D-4F1C-BDAE-A07CDFFAAAA0}.Debug|x64.ActiveCfg = Debug|x64
{C04B0FB1-667D-4F1C-BDAE-A07CDFFAAAA0}.Debug|x64.Build.0 = Debug|x64
- {C04B0FB1-667D-4F1C-BDAE-A07CDFFAAAA0}.Release|Win32.ActiveCfg = Release|Win32
- {C04B0FB1-667D-4F1C-BDAE-A07CDFFAAAA0}.Release|Win32.Build.0 = Release|Win32
+ {C04B0FB1-667D-4F1C-BDAE-A07CDFFAAAA0}.Debug|x86.ActiveCfg = Debug|Win32
+ {C04B0FB1-667D-4F1C-BDAE-A07CDFFAAAA0}.Debug|x86.Build.0 = Debug|Win32
{C04B0FB1-667D-4F1C-BDAE-A07CDFFAAAA0}.Release|x64.ActiveCfg = Release|x64
{C04B0FB1-667D-4F1C-BDAE-A07CDFFAAAA0}.Release|x64.Build.0 = Release|x64
- {F01222BF-6B3D-43BD-B254-434031CB9887}.Debug|Win32.ActiveCfg = Debug|Win32
- {F01222BF-6B3D-43BD-B254-434031CB9887}.Debug|Win32.Build.0 = Debug|Win32
+ {C04B0FB1-667D-4F1C-BDAE-A07CDFFAAAA0}.Release|x86.ActiveCfg = Release|Win32
+ {C04B0FB1-667D-4F1C-BDAE-A07CDFFAAAA0}.Release|x86.Build.0 = Release|Win32
{F01222BF-6B3D-43BD-B254-434031CB9887}.Debug|x64.ActiveCfg = Debug|x64
{F01222BF-6B3D-43BD-B254-434031CB9887}.Debug|x64.Build.0 = Debug|x64
- {F01222BF-6B3D-43BD-B254-434031CB9887}.Release|Win32.ActiveCfg = Release|Win32
- {F01222BF-6B3D-43BD-B254-434031CB9887}.Release|Win32.Build.0 = Release|Win32
+ {F01222BF-6B3D-43BD-B254-434031CB9887}.Debug|x86.ActiveCfg = Debug|Win32
+ {F01222BF-6B3D-43BD-B254-434031CB9887}.Debug|x86.Build.0 = Debug|Win32
{F01222BF-6B3D-43BD-B254-434031CB9887}.Release|x64.ActiveCfg = Release|x64
{F01222BF-6B3D-43BD-B254-434031CB9887}.Release|x64.Build.0 = Release|x64
+ {F01222BF-6B3D-43BD-B254-434031CB9887}.Release|x86.ActiveCfg = Release|Win32
+ {F01222BF-6B3D-43BD-B254-434031CB9887}.Release|x86.Build.0 = Release|Win32
+ {E54D4581-CD59-4687-BB10-694B8192EABA}.Debug|x64.ActiveCfg = Debug|x64
+ {E54D4581-CD59-4687-BB10-694B8192EABA}.Debug|x64.Build.0 = Debug|x64
+ {E54D4581-CD59-4687-BB10-694B8192EABA}.Debug|x86.ActiveCfg = Debug|Win32
+ {E54D4581-CD59-4687-BB10-694B8192EABA}.Debug|x86.Build.0 = Debug|Win32
+ {E54D4581-CD59-4687-BB10-694B8192EABA}.Release|x64.ActiveCfg = Release|x64
+ {E54D4581-CD59-4687-BB10-694B8192EABA}.Release|x64.Build.0 = Release|x64
+ {E54D4581-CD59-4687-BB10-694B8192EABA}.Release|x86.ActiveCfg = Release|Win32
+ {E54D4581-CD59-4687-BB10-694B8192EABA}.Release|x86.Build.0 = Release|Win32
+ {B6A7F3A9-F47C-41E5-9754-0BFF233B1172}.Debug|x64.ActiveCfg = Debug|x64
+ {B6A7F3A9-F47C-41E5-9754-0BFF233B1172}.Debug|x64.Build.0 = Debug|x64
+ {B6A7F3A9-F47C-41E5-9754-0BFF233B1172}.Debug|x86.ActiveCfg = Debug|x86
+ {B6A7F3A9-F47C-41E5-9754-0BFF233B1172}.Debug|x86.Build.0 = Debug|x86
+ {B6A7F3A9-F47C-41E5-9754-0BFF233B1172}.Release|x64.ActiveCfg = Release|x64
+ {B6A7F3A9-F47C-41E5-9754-0BFF233B1172}.Release|x64.Build.0 = Release|x64
+ {B6A7F3A9-F47C-41E5-9754-0BFF233B1172}.Release|x86.ActiveCfg = Release|x86
+ {B6A7F3A9-F47C-41E5-9754-0BFF233B1172}.Release|x86.Build.0 = Release|x86
+ {58C106FE-C159-46D3-97E1-73AB83232670}.Debug|x64.ActiveCfg = Debug|x64
+ {58C106FE-C159-46D3-97E1-73AB83232670}.Debug|x64.Build.0 = Debug|x64
+ {58C106FE-C159-46D3-97E1-73AB83232670}.Debug|x86.ActiveCfg = Debug|x86
+ {58C106FE-C159-46D3-97E1-73AB83232670}.Debug|x86.Build.0 = Debug|x86
+ {58C106FE-C159-46D3-97E1-73AB83232670}.Release|x64.ActiveCfg = Release|x64
+ {58C106FE-C159-46D3-97E1-73AB83232670}.Release|x64.Build.0 = Release|x64
+ {58C106FE-C159-46D3-97E1-73AB83232670}.Release|x86.ActiveCfg = Release|x86
+ {58C106FE-C159-46D3-97E1-73AB83232670}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
- <ClInclude Include="..\include\cec.h" />
- <ClInclude Include="..\include\cecc.h" />
- <ClInclude Include="..\include\cecloader.h" />
- <ClInclude Include="..\include\cectypes.h" />
- <ClInclude Include="..\src\lib\adapter\AdapterCommunication.h" />
- <ClInclude Include="..\src\lib\adapter\AdapterFactory.h" />
- <ClInclude Include="..\src\lib\adapter\Pulse-Eight\USBCECAdapterCommands.h" />
- <ClInclude Include="..\src\lib\adapter\Pulse-Eight\USBCECAdapterCommunication.h" />
- <ClInclude Include="..\src\lib\adapter\Pulse-Eight\USBCECAdapterDetection.h" />
- <ClInclude Include="..\src\lib\adapter\Pulse-Eight\USBCECAdapterMessage.h" />
- <ClInclude Include="..\src\lib\adapter\Pulse-Eight\USBCECAdapterMessageQueue.h" />
- <ClInclude Include="..\src\lib\CECClient.h" />
- <ClInclude Include="..\src\lib\CECInputBuffer.h" />
- <ClInclude Include="..\src\lib\CECProcessor.h" />
- <ClInclude Include="..\src\lib\CECTypeUtils.h" />
- <ClInclude Include="..\src\lib\devices\CECAudioSystem.h" />
- <ClInclude Include="..\src\lib\devices\CECBusDevice.h" />
- <ClInclude Include="..\src\lib\devices\CECDeviceMap.h" />
- <ClInclude Include="..\src\lib\devices\CECPlaybackDevice.h" />
- <ClInclude Include="..\src\lib\devices\CECRecordingDevice.h" />
- <ClInclude Include="..\src\lib\devices\CECTuner.h" />
- <ClInclude Include="..\src\lib\devices\CECTV.h" />
- <ClInclude Include="..\src\lib\implementations\ANCommandHandler.h" />
- <ClInclude Include="..\src\lib\implementations\CECCommandHandler.h" />
- <ClInclude Include="..\src\lib\implementations\PHCommandHandler.h" />
- <ClInclude Include="..\src\lib\implementations\RLCommandHandler.h" />
- <ClInclude Include="..\src\lib\implementations\SLCommandHandler.h" />
- <ClInclude Include="..\src\lib\implementations\VLCommandHandler.h" />
- <ClInclude Include="..\src\lib\LibCEC.h" />
- <ClInclude Include="..\src\lib\platform\adl\adl-edid.h" />
- <ClInclude Include="..\src\lib\platform\adl\adl_defines.h" />
- <ClInclude Include="..\src\lib\platform\adl\adl_sdk.h" />
- <ClInclude Include="..\src\lib\platform\adl\adl_structures.h" />
- <ClInclude Include="..\src\lib\platform\nvidia\nv-edid.h" />
- <ClInclude Include="..\src\lib\platform\os.h" />
- <ClInclude Include="..\src\lib\platform\sockets\serialport.h" />
- <ClInclude Include="..\src\lib\platform\sockets\socket.h" />
- <ClInclude Include="..\src\lib\platform\sockets\tcp.h" />
- <ClInclude Include="..\src\lib\platform\threads\mutex.h" />
- <ClInclude Include="..\src\lib\platform\threads\threads.h" />
- <ClInclude Include="..\src\lib\platform\util\baudrate.h" />
- <ClInclude Include="..\src\lib\platform\util\buffer.h" />
- <ClInclude Include="..\src\lib\platform\util\edid.h" />
- <ClInclude Include="..\src\lib\platform\util\StdString.h" />
- <ClInclude Include="..\src\lib\platform\util\timeutils.h" />
- <ClInclude Include="..\src\lib\platform\windows\dlfcn-win32.h" />
- <ClInclude Include="..\src\lib\platform\windows\os-socket.h" />
- <ClInclude Include="..\src\lib\platform\windows\os-threads.h" />
- <ClInclude Include="..\src\lib\platform\windows\os-types.h" />
- <ClInclude Include="..\src\lib\platform\windows\stdint.h" />
+ <ClInclude Include="..\..\include\cec.h" />
+ <ClInclude Include="..\..\include\cecc.h" />
+ <ClInclude Include="..\..\include\cecloader.h" />
+ <ClInclude Include="..\..\include\cectypes.h" />
+ <ClInclude Include="..\..\src\lib\adapter\AdapterCommunication.h" />
+ <ClInclude Include="..\..\src\lib\adapter\AdapterFactory.h" />
+ <ClInclude Include="..\..\src\lib\adapter\Pulse-Eight\USBCECAdapterCommands.h" />
+ <ClInclude Include="..\..\src\lib\adapter\Pulse-Eight\USBCECAdapterCommunication.h" />
+ <ClInclude Include="..\..\src\lib\adapter\Pulse-Eight\USBCECAdapterDetection.h" />
+ <ClInclude Include="..\..\src\lib\adapter\Pulse-Eight\USBCECAdapterMessage.h" />
+ <ClInclude Include="..\..\src\lib\adapter\Pulse-Eight\USBCECAdapterMessageQueue.h" />
+ <ClInclude Include="..\..\src\lib\CECClient.h" />
+ <ClInclude Include="..\..\src\lib\CECInputBuffer.h" />
+ <ClInclude Include="..\..\src\lib\CECProcessor.h" />
+ <ClInclude Include="..\..\src\lib\CECTypeUtils.h" />
+ <ClInclude Include="..\..\src\lib\devices\CECAudioSystem.h" />
+ <ClInclude Include="..\..\src\lib\devices\CECBusDevice.h" />
+ <ClInclude Include="..\..\src\lib\devices\CECDeviceMap.h" />
+ <ClInclude Include="..\..\src\lib\devices\CECPlaybackDevice.h" />
+ <ClInclude Include="..\..\src\lib\devices\CECRecordingDevice.h" />
+ <ClInclude Include="..\..\src\lib\devices\CECTuner.h" />
+ <ClInclude Include="..\..\src\lib\devices\CECTV.h" />
+ <ClInclude Include="..\..\src\lib\implementations\ANCommandHandler.h" />
+ <ClInclude Include="..\..\src\lib\implementations\CECCommandHandler.h" />
+ <ClInclude Include="..\..\src\lib\implementations\PHCommandHandler.h" />
+ <ClInclude Include="..\..\src\lib\implementations\RLCommandHandler.h" />
+ <ClInclude Include="..\..\src\lib\implementations\SLCommandHandler.h" />
+ <ClInclude Include="..\..\src\lib\implementations\VLCommandHandler.h" />
+ <ClInclude Include="..\..\src\lib\LibCEC.h" />
+ <ClInclude Include="..\..\src\lib\platform\adl\adl-edid.h" />
+ <ClInclude Include="..\..\src\lib\platform\adl\adl_defines.h" />
+ <ClInclude Include="..\..\src\lib\platform\adl\adl_sdk.h" />
+ <ClInclude Include="..\..\src\lib\platform\adl\adl_structures.h" />
+ <ClInclude Include="..\..\src\lib\platform\nvidia\nv-edid.h" />
+ <ClInclude Include="..\..\src\lib\platform\os.h" />
+ <ClInclude Include="..\..\src\lib\platform\sockets\serialport.h" />
+ <ClInclude Include="..\..\src\lib\platform\sockets\socket.h" />
+ <ClInclude Include="..\..\src\lib\platform\sockets\tcp.h" />
+ <ClInclude Include="..\..\src\lib\platform\threads\mutex.h" />
+ <ClInclude Include="..\..\src\lib\platform\threads\threads.h" />
+ <ClInclude Include="..\..\src\lib\platform\util\baudrate.h" />
+ <ClInclude Include="..\..\src\lib\platform\util\buffer.h" />
+ <ClInclude Include="..\..\src\lib\platform\util\edid.h" />
+ <ClInclude Include="..\..\src\lib\platform\util\StdString.h" />
+ <ClInclude Include="..\..\src\lib\platform\util\timeutils.h" />
+ <ClInclude Include="..\..\src\lib\platform\windows\dlfcn-win32.h" />
+ <ClInclude Include="..\..\src\lib\platform\windows\os-socket.h" />
+ <ClInclude Include="..\..\src\lib\platform\windows\os-threads.h" />
+ <ClInclude Include="..\..\src\lib\platform\windows\os-types.h" />
+ <ClInclude Include="..\..\src\lib\platform\windows\stdint.h" />
+ <ClInclude Include="resource.h" />
</ItemGroup>
<ItemGroup>
- <ClCompile Include="..\src\lib\adapter\AdapterFactory.cpp" />
- <ClCompile Include="..\src\lib\adapter\Pulse-Eight\USBCECAdapterCommands.cpp" />
- <ClCompile Include="..\src\lib\adapter\Pulse-Eight\USBCECAdapterCommunication.cpp" />
- <ClCompile Include="..\src\lib\adapter\Pulse-Eight\USBCECAdapterDetection.cpp" />
- <ClCompile Include="..\src\lib\adapter\Pulse-Eight\USBCECAdapterMessage.cpp" />
- <ClCompile Include="..\src\lib\adapter\Pulse-Eight\USBCECAdapterMessageQueue.cpp" />
- <ClCompile Include="..\src\lib\CECClient.cpp" />
- <ClCompile Include="..\src\lib\CECProcessor.cpp" />
- <ClCompile Include="..\src\lib\devices\CECAudioSystem.cpp" />
- <ClCompile Include="..\src\lib\devices\CECBusDevice.cpp" />
- <ClCompile Include="..\src\lib\devices\CECDeviceMap.cpp" />
- <ClCompile Include="..\src\lib\devices\CECPlaybackDevice.cpp" />
- <ClCompile Include="..\src\lib\devices\CECRecordingDevice.cpp" />
- <ClCompile Include="..\src\lib\devices\CECTuner.cpp" />
- <ClCompile Include="..\src\lib\devices\CECTV.cpp" />
- <ClCompile Include="..\src\lib\implementations\ANCommandHandler.cpp" />
- <ClCompile Include="..\src\lib\implementations\CECCommandHandler.cpp" />
- <ClCompile Include="..\src\lib\implementations\PHCommandHandler.cpp" />
- <ClCompile Include="..\src\lib\implementations\RLCommandHandler.cpp" />
- <ClCompile Include="..\src\lib\implementations\SLCommandHandler.cpp" />
- <ClCompile Include="..\src\lib\implementations\VLCommandHandler.cpp" />
- <ClCompile Include="..\src\lib\LibCEC.cpp" />
- <ClCompile Include="..\src\lib\LibCECC.cpp" />
- <ClCompile Include="..\src\lib\LibCECDll.cpp" />
- <ClCompile Include="..\src\lib\platform\adl\adl-edid.cpp" />
- <ClCompile Include="..\src\lib\platform\nvidia\nv-edid.cpp" />
- <ClCompile Include="..\src\lib\platform\windows\dlfcn-win32.cpp" />
- <ClCompile Include="..\src\lib\platform\windows\os-edid.cpp" />
- <ClCompile Include="..\src\lib\platform\windows\os-threads.cpp" />
- <ClCompile Include="..\src\lib\platform\windows\serialport.cpp" />
+ <ClCompile Include="..\..\src\lib\adapter\AdapterFactory.cpp" />
+ <ClCompile Include="..\..\src\lib\adapter\Pulse-Eight\USBCECAdapterCommands.cpp" />
+ <ClCompile Include="..\..\src\lib\adapter\Pulse-Eight\USBCECAdapterCommunication.cpp" />
+ <ClCompile Include="..\..\src\lib\adapter\Pulse-Eight\USBCECAdapterDetection.cpp" />
+ <ClCompile Include="..\..\src\lib\adapter\Pulse-Eight\USBCECAdapterMessage.cpp" />
+ <ClCompile Include="..\..\src\lib\adapter\Pulse-Eight\USBCECAdapterMessageQueue.cpp" />
+ <ClCompile Include="..\..\src\lib\CECClient.cpp" />
+ <ClCompile Include="..\..\src\lib\CECProcessor.cpp" />
+ <ClCompile Include="..\..\src\lib\devices\CECAudioSystem.cpp" />
+ <ClCompile Include="..\..\src\lib\devices\CECBusDevice.cpp" />
+ <ClCompile Include="..\..\src\lib\devices\CECDeviceMap.cpp" />
+ <ClCompile Include="..\..\src\lib\devices\CECPlaybackDevice.cpp" />
+ <ClCompile Include="..\..\src\lib\devices\CECRecordingDevice.cpp" />
+ <ClCompile Include="..\..\src\lib\devices\CECTuner.cpp" />
+ <ClCompile Include="..\..\src\lib\devices\CECTV.cpp" />
+ <ClCompile Include="..\..\src\lib\implementations\ANCommandHandler.cpp" />
+ <ClCompile Include="..\..\src\lib\implementations\CECCommandHandler.cpp" />
+ <ClCompile Include="..\..\src\lib\implementations\PHCommandHandler.cpp" />
+ <ClCompile Include="..\..\src\lib\implementations\RLCommandHandler.cpp" />
+ <ClCompile Include="..\..\src\lib\implementations\SLCommandHandler.cpp" />
+ <ClCompile Include="..\..\src\lib\implementations\VLCommandHandler.cpp" />
+ <ClCompile Include="..\..\src\lib\LibCEC.cpp" />
+ <ClCompile Include="..\..\src\lib\LibCECC.cpp" />
+ <ClCompile Include="..\..\src\lib\LibCECDll.cpp" />
+ <ClCompile Include="..\..\src\lib\platform\adl\adl-edid.cpp" />
+ <ClCompile Include="..\..\src\lib\platform\nvidia\nv-edid.cpp" />
+ <ClCompile Include="..\..\src\lib\platform\windows\dlfcn-win32.cpp" />
+ <ClCompile Include="..\..\src\lib\platform\windows\os-edid.cpp" />
+ <ClCompile Include="..\..\src\lib\platform\windows\os-threads.cpp" />
+ <ClCompile Include="..\..\src\lib\platform\windows\serialport.cpp" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="libcec.rc" />
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
<OutDir>$(SolutionDir)..\build\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <OutDir>$(SolutionDir)..\build\</OutDir>
+ <OutDir>$(SolutionDir)..\build\x64\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<TargetName>libcec</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <TargetName>$(ProjectName).x64</TargetName>
+ <TargetName>$(ProjectName)</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<IncludePath>$(SolutionDir)..\include;$(IncludePath)</IncludePath>
<LibraryPath>C:\WinDDK\7600.16385.1\lib\win7\i386;$(LibraryPath)</LibraryPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <OutDir>$(SolutionDir)..\build\</OutDir>
- <TargetName>$(ProjectName).x64</TargetName>
+ <OutDir>$(SolutionDir)..\build\x64\</OutDir>
+ <TargetName>$(ProjectName)</TargetName>
<IncludePath>$(SolutionDir)..\include;$(IncludePath)</IncludePath>
<LibraryPath>C:\WinDDK\7600.16385.1\lib\win7\amd64;$(LibraryPath)</LibraryPath>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
</Filter>
</ItemGroup>
<ItemGroup>
- <ClInclude Include="..\src\lib\CECProcessor.h" />
- <ClInclude Include="..\src\lib\LibCEC.h" />
- <ClInclude Include="..\include\cec.h">
+ <ClInclude Include="..\..\src\lib\CECProcessor.h" />
+ <ClInclude Include="..\..\src\lib\LibCEC.h" />
+ <ClInclude Include="..\..\include\cec.h">
<Filter>exports</Filter>
</ClInclude>
- <ClInclude Include="..\include\cecc.h">
+ <ClInclude Include="..\..\include\cecc.h">
<Filter>exports</Filter>
</ClInclude>
- <ClInclude Include="..\include\cecloader.h">
+ <ClInclude Include="..\..\include\cecloader.h">
<Filter>exports</Filter>
</ClInclude>
- <ClInclude Include="..\include\cectypes.h">
+ <ClInclude Include="..\..\include\cectypes.h">
<Filter>exports</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\implementations\ANCommandHandler.h">
+ <ClInclude Include="..\..\src\lib\implementations\ANCommandHandler.h">
<Filter>implementations</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\implementations\CECCommandHandler.h">
+ <ClInclude Include="..\..\src\lib\implementations\CECCommandHandler.h">
<Filter>implementations</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\implementations\SLCommandHandler.h">
+ <ClInclude Include="..\..\src\lib\implementations\SLCommandHandler.h">
<Filter>implementations</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\devices\CECBusDevice.h">
+ <ClInclude Include="..\..\src\lib\devices\CECBusDevice.h">
<Filter>devices</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\implementations\VLCommandHandler.h">
+ <ClInclude Include="..\..\src\lib\implementations\VLCommandHandler.h">
<Filter>implementations</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\devices\CECAudioSystem.h">
+ <ClInclude Include="..\..\src\lib\devices\CECAudioSystem.h">
<Filter>devices</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\devices\CECPlaybackDevice.h">
+ <ClInclude Include="..\..\src\lib\devices\CECPlaybackDevice.h">
<Filter>devices</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\devices\CECRecordingDevice.h">
+ <ClInclude Include="..\..\src\lib\devices\CECRecordingDevice.h">
<Filter>devices</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\devices\CECTuner.h">
+ <ClInclude Include="..\..\src\lib\devices\CECTuner.h">
<Filter>devices</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\devices\CECTV.h">
+ <ClInclude Include="..\..\src\lib\devices\CECTV.h">
<Filter>devices</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\platform\os.h">
+ <ClInclude Include="..\..\src\lib\platform\os.h">
<Filter>platform</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\platform\sockets\serialport.h">
+ <ClInclude Include="..\..\src\lib\platform\sockets\serialport.h">
<Filter>platform\sockets</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\platform\sockets\socket.h">
+ <ClInclude Include="..\..\src\lib\platform\sockets\socket.h">
<Filter>platform\sockets</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\platform\sockets\tcp.h">
+ <ClInclude Include="..\..\src\lib\platform\sockets\tcp.h">
<Filter>platform\sockets</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\platform\util\baudrate.h">
+ <ClInclude Include="..\..\src\lib\platform\util\baudrate.h">
<Filter>platform\util</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\platform\util\buffer.h">
+ <ClInclude Include="..\..\src\lib\platform\util\buffer.h">
<Filter>platform\util</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\platform\util\StdString.h">
+ <ClInclude Include="..\..\src\lib\platform\util\StdString.h">
<Filter>platform\util</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\platform\util\timeutils.h">
+ <ClInclude Include="..\..\src\lib\platform\util\timeutils.h">
<Filter>platform\util</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\platform\threads\mutex.h">
+ <ClInclude Include="..\..\src\lib\platform\threads\mutex.h">
<Filter>platform\threads</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\platform\threads\threads.h">
+ <ClInclude Include="..\..\src\lib\platform\threads\threads.h">
<Filter>platform\threads</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\platform\windows\os-socket.h">
+ <ClInclude Include="..\..\src\lib\platform\windows\os-socket.h">
<Filter>platform\windows</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\platform\windows\os-threads.h">
+ <ClInclude Include="..\..\src\lib\platform\windows\os-threads.h">
<Filter>platform\windows</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\platform\windows\os-types.h">
+ <ClInclude Include="..\..\src\lib\platform\windows\os-types.h">
<Filter>platform\windows</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\platform\windows\stdint.h">
+ <ClInclude Include="..\..\src\lib\platform\windows\stdint.h">
<Filter>platform\windows</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\implementations\RLCommandHandler.h">
+ <ClInclude Include="..\..\src\lib\implementations\RLCommandHandler.h">
<Filter>implementations</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\implementations\PHCommandHandler.h">
+ <ClInclude Include="..\..\src\lib\implementations\PHCommandHandler.h">
<Filter>implementations</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\CECClient.h" />
- <ClInclude Include="..\src\lib\CECInputBuffer.h" />
- <ClInclude Include="..\src\lib\devices\CECDeviceMap.h">
+ <ClInclude Include="..\..\src\lib\CECClient.h" />
+ <ClInclude Include="..\..\src\lib\CECInputBuffer.h" />
+ <ClInclude Include="..\..\src\lib\devices\CECDeviceMap.h">
<Filter>devices</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\CECTypeUtils.h" />
- <ClInclude Include="..\src\lib\platform\util\edid.h">
+ <ClInclude Include="..\..\src\lib\CECTypeUtils.h" />
+ <ClInclude Include="..\..\src\lib\platform\util\edid.h">
<Filter>platform\util</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\platform\adl\adl_defines.h">
+ <ClInclude Include="..\..\src\lib\platform\adl\adl_defines.h">
<Filter>platform\adl</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\platform\adl\adl_sdk.h">
+ <ClInclude Include="..\..\src\lib\platform\adl\adl_sdk.h">
<Filter>platform\adl</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\platform\adl\adl_structures.h">
+ <ClInclude Include="..\..\src\lib\platform\adl\adl_structures.h">
<Filter>platform\adl</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\platform\adl\adl-edid.h">
+ <ClInclude Include="..\..\src\lib\platform\adl\adl-edid.h">
<Filter>platform\adl</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\platform\windows\dlfcn-win32.h">
+ <ClInclude Include="..\..\src\lib\platform\windows\dlfcn-win32.h">
<Filter>platform\windows</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\platform\nvidia\nv-edid.h">
+ <ClInclude Include="..\..\src\lib\platform\nvidia\nv-edid.h">
<Filter>platform\nvidia</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\adapter\AdapterCommunication.h">
+ <ClInclude Include="..\..\src\lib\adapter\AdapterCommunication.h">
<Filter>adapter</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\adapter\Pulse-Eight\USBCECAdapterCommands.h">
+ <ClInclude Include="..\..\src\lib\adapter\Pulse-Eight\USBCECAdapterCommands.h">
<Filter>adapter\Pulse-Eight</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\adapter\Pulse-Eight\USBCECAdapterCommunication.h">
+ <ClInclude Include="..\..\src\lib\adapter\Pulse-Eight\USBCECAdapterCommunication.h">
<Filter>adapter\Pulse-Eight</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\adapter\Pulse-Eight\USBCECAdapterDetection.h">
+ <ClInclude Include="..\..\src\lib\adapter\Pulse-Eight\USBCECAdapterDetection.h">
<Filter>adapter\Pulse-Eight</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\adapter\Pulse-Eight\USBCECAdapterMessage.h">
+ <ClInclude Include="..\..\src\lib\adapter\Pulse-Eight\USBCECAdapterMessage.h">
<Filter>adapter\Pulse-Eight</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\adapter\Pulse-Eight\USBCECAdapterMessageQueue.h">
+ <ClInclude Include="..\..\src\lib\adapter\Pulse-Eight\USBCECAdapterMessageQueue.h">
<Filter>adapter\Pulse-Eight</Filter>
</ClInclude>
- <ClInclude Include="..\src\lib\adapter\AdapterFactory.h">
+ <ClInclude Include="..\..\src\lib\adapter\AdapterFactory.h">
<Filter>adapter</Filter>
</ClInclude>
+ <ClInclude Include="resource.h" />
</ItemGroup>
<ItemGroup>
- <ClCompile Include="..\src\lib\CECProcessor.cpp" />
- <ClCompile Include="..\src\lib\LibCEC.cpp" />
- <ClCompile Include="..\src\lib\LibCECC.cpp" />
- <ClCompile Include="..\src\lib\LibCECDll.cpp" />
- <ClCompile Include="..\src\lib\implementations\ANCommandHandler.cpp">
+ <ClCompile Include="..\..\src\lib\CECProcessor.cpp" />
+ <ClCompile Include="..\..\src\lib\LibCEC.cpp" />
+ <ClCompile Include="..\..\src\lib\LibCECC.cpp" />
+ <ClCompile Include="..\..\src\lib\LibCECDll.cpp" />
+ <ClCompile Include="..\..\src\lib\implementations\ANCommandHandler.cpp">
<Filter>implementations</Filter>
</ClCompile>
- <ClCompile Include="..\src\lib\implementations\CECCommandHandler.cpp">
+ <ClCompile Include="..\..\src\lib\implementations\CECCommandHandler.cpp">
<Filter>implementations</Filter>
</ClCompile>
- <ClCompile Include="..\src\lib\implementations\SLCommandHandler.cpp">
+ <ClCompile Include="..\..\src\lib\implementations\SLCommandHandler.cpp">
<Filter>implementations</Filter>
</ClCompile>
- <ClCompile Include="..\src\lib\devices\CECBusDevice.cpp">
+ <ClCompile Include="..\..\src\lib\devices\CECBusDevice.cpp">
<Filter>devices</Filter>
</ClCompile>
- <ClCompile Include="..\src\lib\implementations\VLCommandHandler.cpp">
+ <ClCompile Include="..\..\src\lib\implementations\VLCommandHandler.cpp">
<Filter>implementations</Filter>
</ClCompile>
- <ClCompile Include="..\src\lib\devices\CECAudioSystem.cpp">
+ <ClCompile Include="..\..\src\lib\devices\CECAudioSystem.cpp">
<Filter>devices</Filter>
</ClCompile>
- <ClCompile Include="..\src\lib\devices\CECPlaybackDevice.cpp">
+ <ClCompile Include="..\..\src\lib\devices\CECPlaybackDevice.cpp">
<Filter>devices</Filter>
</ClCompile>
- <ClCompile Include="..\src\lib\devices\CECRecordingDevice.cpp">
+ <ClCompile Include="..\..\src\lib\devices\CECRecordingDevice.cpp">
<Filter>devices</Filter>
</ClCompile>
- <ClCompile Include="..\src\lib\devices\CECTuner.cpp">
+ <ClCompile Include="..\..\src\lib\devices\CECTuner.cpp">
<Filter>devices</Filter>
</ClCompile>
- <ClCompile Include="..\src\lib\devices\CECTV.cpp">
+ <ClCompile Include="..\..\src\lib\devices\CECTV.cpp">
<Filter>devices</Filter>
</ClCompile>
- <ClCompile Include="..\src\lib\platform\windows\os-threads.cpp">
+ <ClCompile Include="..\..\src\lib\platform\windows\os-threads.cpp">
<Filter>platform\windows</Filter>
</ClCompile>
- <ClCompile Include="..\src\lib\platform\windows\serialport.cpp">
+ <ClCompile Include="..\..\src\lib\platform\windows\serialport.cpp">
<Filter>platform\windows</Filter>
</ClCompile>
- <ClCompile Include="..\src\lib\implementations\RLCommandHandler.cpp">
+ <ClCompile Include="..\..\src\lib\implementations\RLCommandHandler.cpp">
<Filter>implementations</Filter>
</ClCompile>
- <ClCompile Include="..\src\lib\implementations\PHCommandHandler.cpp">
+ <ClCompile Include="..\..\src\lib\implementations\PHCommandHandler.cpp">
<Filter>implementations</Filter>
</ClCompile>
- <ClCompile Include="..\src\lib\CECClient.cpp" />
- <ClCompile Include="..\src\lib\devices\CECDeviceMap.cpp">
+ <ClCompile Include="..\..\src\lib\CECClient.cpp" />
+ <ClCompile Include="..\..\src\lib\devices\CECDeviceMap.cpp">
<Filter>devices</Filter>
</ClCompile>
- <ClCompile Include="..\src\lib\platform\windows\os-edid.cpp">
+ <ClCompile Include="..\..\src\lib\platform\windows\os-edid.cpp">
<Filter>platform\windows</Filter>
</ClCompile>
- <ClCompile Include="..\src\lib\platform\adl\adl-edid.cpp">
+ <ClCompile Include="..\..\src\lib\platform\adl\adl-edid.cpp">
<Filter>platform\adl</Filter>
</ClCompile>
- <ClCompile Include="..\src\lib\platform\windows\dlfcn-win32.cpp">
+ <ClCompile Include="..\..\src\lib\platform\windows\dlfcn-win32.cpp">
<Filter>platform\windows</Filter>
</ClCompile>
- <ClCompile Include="..\src\lib\platform\nvidia\nv-edid.cpp">
+ <ClCompile Include="..\..\src\lib\platform\nvidia\nv-edid.cpp">
<Filter>platform\nvidia</Filter>
</ClCompile>
- <ClCompile Include="..\src\lib\adapter\Pulse-Eight\USBCECAdapterCommands.cpp">
+ <ClCompile Include="..\..\src\lib\adapter\Pulse-Eight\USBCECAdapterCommands.cpp">
<Filter>adapter\Pulse-Eight</Filter>
</ClCompile>
- <ClCompile Include="..\src\lib\adapter\Pulse-Eight\USBCECAdapterCommunication.cpp">
+ <ClCompile Include="..\..\src\lib\adapter\Pulse-Eight\USBCECAdapterCommunication.cpp">
<Filter>adapter\Pulse-Eight</Filter>
</ClCompile>
- <ClCompile Include="..\src\lib\adapter\Pulse-Eight\USBCECAdapterDetection.cpp">
+ <ClCompile Include="..\..\src\lib\adapter\Pulse-Eight\USBCECAdapterDetection.cpp">
<Filter>adapter\Pulse-Eight</Filter>
</ClCompile>
- <ClCompile Include="..\src\lib\adapter\Pulse-Eight\USBCECAdapterMessage.cpp">
+ <ClCompile Include="..\..\src\lib\adapter\Pulse-Eight\USBCECAdapterMessage.cpp">
<Filter>adapter\Pulse-Eight</Filter>
</ClCompile>
- <ClCompile Include="..\src\lib\adapter\Pulse-Eight\USBCECAdapterMessageQueue.cpp">
+ <ClCompile Include="..\..\src\lib\adapter\Pulse-Eight\USBCECAdapterMessageQueue.cpp">
<Filter>adapter\Pulse-Eight</Filter>
</ClCompile>
- <ClCompile Include="..\src\lib\adapter\AdapterFactory.cpp">
+ <ClCompile Include="..\..\src\lib\adapter\AdapterFactory.cpp">
<Filter>adapter</Filter>
</ClCompile>
</ItemGroup>
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
<TargetName>cec-client</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <OutDir>$(SolutionDir)..\build\</OutDir>
- <TargetName>cec-client.x64</TargetName>
+ <OutDir>$(SolutionDir)..\build\x64\</OutDir>
+ <TargetName>cec-client</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(SolutionDir)..\build\</OutDir>
<TargetName>cec-client</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <OutDir>$(SolutionDir)..\build\</OutDir>
- <TargetName>cec-client.x64</TargetName>
+ <OutDir>$(SolutionDir)..\build\x64\</OutDir>
+ <TargetName>cec-client</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<TreatWarningAsError>true</TreatWarningAsError>
<DisableSpecificWarnings>
</DisableSpecificWarnings>
- <AdditionalIncludeDirectories>$(SolutiontDir)..\include;$(SolutionDir)..\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>$(SolutiontDir)..\..\include;$(SolutionDir)..\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<TreatWarningAsError>true</TreatWarningAsError>
<DisableSpecificWarnings>
</DisableSpecificWarnings>
- <AdditionalIncludeDirectories>$(SolutiontDir)..\include;$(SolutionDir)..\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>$(SolutiontDir)..\..\include;$(SolutionDir)..\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
- <ClInclude Include="..\include\cec.h" />
- <ClInclude Include="..\include\cecloader.h" />
+ <ClInclude Include="..\..\include\cec.h" />
+ <ClInclude Include="..\..\include\cecloader.h" />
+ <ClInclude Include="resource.h" />
</ItemGroup>
<ItemGroup>
- <ClCompile Include="..\src\lib\platform\windows\os-threads.cpp" />
- <ClCompile Include="..\src\testclient\main.cpp" />
+ <ClCompile Include="..\..\src\lib\platform\windows\os-threads.cpp" />
+ <ClCompile Include="..\..\src\testclient\main.cpp" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="testclient.rc" />
</Filter>
</ItemGroup>
<ItemGroup>
- <ClInclude Include="..\include\cec.h">
+ <ClInclude Include="..\..\include\cec.h">
<Filter>exports</Filter>
</ClInclude>
- <ClInclude Include="..\include\cecloader.h">
+ <ClInclude Include="..\..\include\cecloader.h">
<Filter>exports</Filter>
</ClInclude>
+ <ClInclude Include="resource.h" />
</ItemGroup>
<ItemGroup>
- <ClCompile Include="..\src\testclient\main.cpp" />
- <ClCompile Include="..\src\lib\platform\windows\os-threads.cpp">
+ <ClCompile Include="..\..\src\testclient\main.cpp" />
+ <ClCompile Include="..\..\src\lib\platform\windows\os-threads.cpp">
<Filter>platform</Filter>
</ClCompile>
</ItemGroup>
Config = new LibCECConfiguration();
Config.DeviceTypes.Types[0] = CecDeviceType.RecordingDevice;
Config.DeviceName = "CEC Tester";
- Config.ClientVersion = CecClientVersion.Version2_1_0;
+ Config.ClientVersion = CecClientVersion.CurrentVersion;
Config.SetCallbacks(this);
LogLevel = (int)CecLogLevel.All;
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<AssemblyName>CecSharpTester</AssemblyName>
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
+ <FileUpgradeFlags>
+ </FileUpgradeFlags>
+ <UpgradeBackupLocation>
+ </UpgradeBackupLocation>
+ <OldToolsVersion>3.5</OldToolsVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
<DebugSymbols>true</DebugSymbols>
- <OutputPath>..\..\build\</OutputPath>
+ <OutputPath>..\..\build\x64\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
- <OutputPath>..\..\build\</OutputPath>
+ <OutputPath>..\..\build\x64\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
+ <Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="CecSharpClient.cs" />
</ItemGroup>
<ItemGroup>
- <ProjectReference Include="..\..\project\LibCecSharp.vcproj">
+ <ProjectReference Include="..\..\project\LibCecSharp\LibCecSharp.vcxproj">
<Project>{E54D4581-CD59-4687-BB10-694B8192EABA}</Project>
<Name>LibCecSharp</Name>
</ProjectReference>
</ItemGroup>
- <ItemGroup>
- <Folder Include="Properties\" />
- </ItemGroup>
+ <ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
[assembly: AssemblyTitle("CecSharpClient")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("Pulse-Eight Ltd.")]
+[assembly: AssemblyCompany("Pulse-Eight Limited")]
[assembly: AssemblyProduct("CecSharpClient")]
-[assembly: AssemblyCopyright("Copyright (c) Pulse-Eight Ltd. 2011-2013")]
+[assembly: AssemblyCopyright("Copyright (c) Pulse-Eight Limited 2011-2013")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("2.1.1.0")]
-[assembly: AssemblyFileVersion("2.1.1.0")]
+[assembly: AssemblyVersion("2.1.3.0")]
+[assembly: AssemblyFileVersion("2.1.3.0")]
[assembly:AssemblyTitleAttribute("LibCecSharp")];
[assembly:AssemblyDescriptionAttribute("")];
[assembly:AssemblyConfigurationAttribute("")];
-[assembly:AssemblyCompanyAttribute("Pulse-Eight Ltd.")];
+[assembly:AssemblyCompanyAttribute("Pulse-Eight Limited")];
[assembly:AssemblyProductAttribute("LibCecSharp")];
-[assembly:AssemblyCopyrightAttribute("Copyright (c) Pulse-Eight Ltd. 2011-2013")];
+[assembly:AssemblyCopyrightAttribute("Copyright (c) Pulse-Eight Limited 2011-2013")];
[assembly:AssemblyTrademarkAttribute("")];
[assembly:AssemblyCultureAttribute("")];
-[assembly:AssemblyVersionAttribute("2.1.1.0")];
+[assembly:AssemblyVersionAttribute("2.1.3.0")];
[assembly:ComVisible(false)];
[assembly:CLSCompliantAttribute(true)];
/// The device needs servicing. This is set when the firmware can be upgraded, or when a problem with the firmware is detected.
/// The latest firmware flash tool can be downloaded from http://packages.pulse-eight.net/
/// </summary>
- ServiceDevice = 1
+ ServiceDevice = 0,
+ /// <summary>
+ /// The connection to the adapter was lost, probably because the device got unplugged.
+ /// </summary>
+ ConnectionLost,
+ /// <summary>
+ /// No permission from the OS to access the adapter.
+ /// </summary>
+ PermissionError,
+ /// <summary>
+ /// The device is being used by another program.
+ /// </summary>
+ PortBusy,
+ /// <summary>
+ /// The physical address that is assigned to the adapter is already being used.
+ /// </summary>
+ PhysicalAddressError,
+ /// <summary>
+ /// The TV does not respond to polls.
+ /// </summary>
+ TVPollFailed
};
/// <summary>
/// <summary>
/// v2.1.1
/// </summary>
- Version2_1_1 = 0x2101
+ Version2_1_1 = 0x2101,
+ /// <summary>
+ /// v2.1.2
+ /// </summary>
+ Version2_1_2 = 0x2102,
+ /// <summary>
+ /// v2.1.3
+ /// </summary>
+ Version2_1_3 = 0x2103,
+ /// <summary>
+ /// The current version
+ /// </summary>
+ CurrentVersion = 0x2103
};
/// <summary>
/// <summary>
/// v2.1.1
/// </summary>
- Version2_1_1 = 0x2101
+ Version2_1_1 = 0x2101,
+ /// <summary>
+ /// v2.1.2
+ /// </summary>
+ Version2_1_2 = 0x2102,
+ /// <summary>
+ /// v2.1.3
+ /// </summary>
+ Version2_1_3 = 0x2103,
+ /// <summary>
+ /// The current version
+ /// </summary>
+ CurrentVersion = 0x2103
};
/// <summary>
PhysicalAddress = CEC_DEFAULT_PHYSICAL_ADDRESS;
BaseDevice = (CecLogicalAddress)CEC_DEFAULT_BASE_DEVICE;
HDMIPort = CEC_DEFAULT_HDMI_PORT;
- ClientVersion = CecClientVersion::Version2_1_1;
- ServerVersion = CecServerVersion::Version2_1_1;
+ ClientVersion = CecClientVersion::CurrentVersion;
+ ServerVersion = CecServerVersion::CurrentVersion;
TvVendor = CecVendorId::Unknown;
GetSettingsFromROM = false;
+++ /dev/null
-//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by app.rc
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
<DebugSymbols>true</DebugSymbols>
- <OutputPath>..\..\build\</OutputPath>
+ <OutputPath>..\..\build\x64\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
- <OutputPath>..\..\build\</OutputPath>
+ <OutputPath>..\..\build\x64\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
<ApplicationIcon>..\..\project\favicon.ico</ApplicationIcon>
+ <FileUpgradeFlags>
+ </FileUpgradeFlags>
+ <UpgradeBackupLocation>
+ </UpgradeBackupLocation>
+ <OldToolsVersion>3.5</OldToolsVersion>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Compile Include="ui\About.Designer.cs">
<DependentUpon>About.cs</DependentUpon>
</Compile>
+ <Compile Include="ui\AsyncControls.cs" />
<Compile Include="ui\AsyncForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="controller\applications\KeyInput.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="ui\IAsyncControls.cs" />
<EmbeddedResource Include="controller\applications\ApplicationControllerUI.resx">
<DependentUpon>ApplicationControllerUI.cs</DependentUpon>
<SubType>Designer</SubType>
<Content Include="project\favicon.ico" />
</ItemGroup>
<ItemGroup>
- <ProjectReference Include="..\..\project\LibCecSharp.vcproj">
+ <ProjectReference Include="..\..\project\LibCecSharp\LibCecSharp.vcxproj">
<Project>{E54D4581-CD59-4687-BB10-694B8192EABA}</Project>
<Name>LibCecSharp</Name>
</ProjectReference>
private static CECTray _instance;
public static CECTray Instance
{
- get { return _instance ?? (_instance = new CECTray()); }
+ get
+ {
+ if (_instance == null)
+ {
+ _instance = new CECTray();
+ _instance.Initialise();
+ }
+ return _instance;
+ }
}
[STAThread]
[assembly: AssemblyTitle("CECTray")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("Pulse-Eight Ltd.")]
+[assembly: AssemblyCompany("Pulse-Eight Limited")]
[assembly: AssemblyProduct("libCEC Tray")]
-[assembly: AssemblyCopyright("Copyright (c) Pulse-Eight Ltd. 2011-2013")]
+[assembly: AssemblyCopyright("Copyright (c) Pulse-Eight Limited 2011-2013")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("2.1.1.0")]
-[assembly: AssemblyFileVersion("2.1.1.0")]
+[assembly: AssemblyVersion("2.1.3.0")]
+[assembly: AssemblyFileVersion("2.1.3.0")]
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
-// Runtime Version:2.0.50727.5466
+// Runtime Version:4.0.30319.17929
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
}
}
+ /// <summary>
+ /// Looks up a localized string similar to The connection to the adapter was lost, probably because the device got unplugged..
+ /// </summary>
+ internal static string alert_connection_lost {
+ get {
+ return ResourceManager.GetString("alert_connection_lost", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to No permission from the OS to access the adapter. Please check your permissions..
+ /// </summary>
+ internal static string alert_permission_error {
+ get {
+ return ResourceManager.GetString("alert_permission_error", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to The physical address that is assigned to the adapter is already being used. Please check your settings..
+ /// </summary>
+ internal static string alert_physical_address_error {
+ get {
+ return ResourceManager.GetString("alert_physical_address_error", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to The device is being used by another program..
+ /// </summary>
+ internal static string alert_port_busy {
+ get {
+ return ResourceManager.GetString("alert_port_busy", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to The device needs servicing. Please download and run the latest firmware upgrade from http://packages.pulse-eight.net/.
+ /// </summary>
+ internal static string alert_service_device {
+ get {
+ return ResourceManager.GetString("alert_service_device", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to The TV does not respond to CEC polls. This is caused by one of the following:
+ ///a) the TV does not support CEC;
+ ///b) CEC has been disabled in the TV's settings;
+ ///c) the HDMI cable between the TV and adapter is faulty.
+ ///
+ ///CEC will not work (properly) if the TV does not support CEC, or has CEC disabled in it's settings..
+ /// </summary>
+ internal static string alert_tv_poll_failed {
+ get {
+ return ResourceManager.GetString("alert_tv_poll_failed", resourceCulture);
+ }
+ }
+
/// <summary>
/// Looks up a localized string similar to Send 'inactive source' when shutting down the application.
/// </summary>
}
}
+ /// <summary>
+ /// Looks up a localized string similar to Warning from libCEC.
+ /// </summary>
+ internal static string cec_alert {
+ get {
+ return ResourceManager.GetString("cec_alert", resourceCulture);
+ }
+ }
+
/// <summary>
/// Looks up a localized string similar to cec-log.txt.
/// </summary>
<data name="app_pause_playback_on_deactivate" xml:space="preserve">
<value>Pause playback when switching to another source</value>
</data>
+ <data name="alert_connection_lost" xml:space="preserve">
+ <value>The connection to the adapter was lost, probably because the device got unplugged.</value>
+ </data>
+ <data name="alert_permission_error" xml:space="preserve">
+ <value>No permission from the OS to access the adapter. Please check your permissions.</value>
+ </data>
+ <data name="alert_physical_address_error" xml:space="preserve">
+ <value>The physical address that is assigned to the adapter is already being used. Please check your settings.</value>
+ </data>
+ <data name="alert_port_busy" xml:space="preserve">
+ <value>The device is being used by another program.</value>
+ </data>
+ <data name="alert_service_device" xml:space="preserve">
+ <value>The device needs servicing. Please download and run the latest firmware upgrade from http://packages.pulse-eight.net/</value>
+ </data>
+ <data name="alert_tv_poll_failed" xml:space="preserve">
+ <value>The TV does not respond to CEC polls. This is caused by one of the following:
+a) the TV does not support CEC;
+b) CEC has been disabled in the TV's settings;
+c) the HDMI cable between the TV and adapter is faulty.
+
+CEC will not work (properly) if the TV does not support CEC, or has CEC disabled in it's settings.</value>
+ </data>
+ <data name="cec_alert" xml:space="preserve">
+ <value>Warning from libCEC</value>
+ </data>
</root>
\ No newline at end of file
return 1;
}
+ public override int ReceiveAlert(CecAlert alert, CecParameter data)
+ {
+ switch (alert)
+ {
+ case CecAlert.ServiceDevice:
+ MessageBox.Show(Resources.alert_service_device, Resources.cec_alert, MessageBoxButtons.OK, MessageBoxIcon.Warning);
+ break;
+ case CecAlert.ConnectionLost:
+ MessageBox.Show(Resources.alert_connection_lost, Resources.cec_alert, MessageBoxButtons.OK, MessageBoxIcon.Warning);
+ break;
+ case CecAlert.PermissionError:
+ MessageBox.Show(Resources.alert_permission_error, Resources.cec_alert, MessageBoxButtons.OK, MessageBoxIcon.Warning);
+ break;
+ case CecAlert.PortBusy:
+ MessageBox.Show(Resources.alert_port_busy, Resources.cec_alert, MessageBoxButtons.OK, MessageBoxIcon.Warning);
+ break;
+ case CecAlert.PhysicalAddressError:
+ MessageBox.Show(Resources.alert_physical_address_error, Resources.cec_alert, MessageBoxButtons.OK, MessageBoxIcon.Warning);
+ break;
+ case CecAlert.TVPollFailed:
+ MessageBox.Show(Resources.alert_tv_poll_failed, Resources.cec_alert, MessageBoxButtons.OK, MessageBoxIcon.Warning);
+ break;
+ }
+ return 1;
+ }
+
public override int ConfigurationChanged(LibCECConfiguration config)
{
Settings.PhysicalAddress.Value = Config.PhysicalAddress;
{
if (_config == null)
{
- _config = new LibCECConfiguration { DeviceName = "CEC Tray", ClientVersion = CecClientVersion.Version2_1_0 };
+ _config = new LibCECConfiguration { DeviceName = "CEC Tray", ClientVersion = CecClientVersion.CurrentVersion };
_config.DeviceTypes.Types[0] = CecDeviceType.RecordingDevice;
_config.SetCallbacks(this);
SendEvent(UpdateEventType.StatusText, Resources.action_polling_active_devices);
SendEvent(UpdateEventType.PollDevices);
+ if (!_lib.IsActiveDevice(CecLogicalAddress.Tv))
+ {
+ MessageBox.Show(Resources.alert_tv_poll_failed, Resources.cec_alert, MessageBoxButtons.OK, MessageBoxIcon.Warning);
+ }
+
SendEvent(UpdateEventType.ProgressBar, 100);
SendEvent(UpdateEventType.StatusText, Resources.ready);
}
/// </summary>
class ApplicationController
{
- public ApplicationController(CECSettings settings, string uiName, string processName, string filename, string workingDirectory)
+ public ApplicationController(CECController controller, string uiName, string processName, string filename, string workingDirectory)
{
- Settings = settings;
+ Controller = controller;
UiName = uiName;
ProcessName = processName;
ApplicationFilename = filename;
IsInternal = false;
}
- public static ApplicationController FromString(CECSettings settings, string serialisedConfig)
+ public static ApplicationController FromString(CECController controller, CECSettings settings, string serialisedConfig)
{
var splitString = serialisedConfig.Split(';');
if (splitString.Length != 4)
throw new InvalidDataException("incorrect number of parameters");
- return new ApplicationController(settings, splitString[0], splitString[1], splitString[2], splitString[3]);
+ return new ApplicationController(controller, splitString[0], splitString[1], splitString[2], splitString[3]);
}
public string AsString()
get { return _buttonConfig ?? (_buttonConfig = new CecButtonConfig(this)); }
}
- public CECSettings Settings;
+ public CECSettings Settings
+ {
+ get { return Controller.Settings; }
+ }
protected DataGridView CecButtonGridView;
public virtual ApplicationAction DefaultValue(CecKeypress key)
private bool _applicationRunning;
+ protected readonly CECController Controller;
+
#endregion
}
}
{
if (item.Length > 0)
{
- var app = ApplicationController.FromString(_controller.Settings, item);
+ var app = ApplicationController.FromString(_controller, _controller.Settings, item);
if (app != null)
_controllers.Add(app.ProcessName, app);
}
get
{
var defaultValues = new Dictionary<string, ApplicationController>();
- WMCController wmcController = new WMCController(_controller.Settings);
+ WMCController wmcController = new WMCController(_controller);
defaultValues.Add(wmcController.ProcessName, wmcController);
- XBMCController xbmcController = new XBMCController(_controller.Settings);
+ XBMCController xbmcController = new XBMCController(_controller);
defaultValues.Add(xbmcController.ProcessName, xbmcController);
return defaultValues;
public static void Initialise(CECController controller)
{
_controller = controller;
- _instance = new Applications();
+ if (_instance == null)
+ _instance = new Applications();
controller.Settings["global_applications"] = _instance;
controller.Settings.Load(_instance);
}
else if (_cecController != null)
{
- ApplicationController newController = new ApplicationController(_settings, tbUiName.Text, tbProcessName.Text, tbFilename.Text, tbWorkingDir.Text);
+ ApplicationController newController = new ApplicationController(_cecController, tbUiName.Text, tbProcessName.Text, tbFilename.Text, tbWorkingDir.Text);
if (_cecController.RegisterApplication(newController))
newController.Settings.Persist();
}
Dispose();
}
- private ApplicationController _controller;
- private CECController _cecController;
- private CECSettings _settings;
+ private readonly ApplicationController _controller;
+ private readonly CECController _cecController;
+ private readonly CECSettings _settings;
}
}
{
internal class WMCController : ApplicationController
{
- public WMCController(CECSettings settings) :
- base(settings,
+ public WMCController(CECController controller) :
+ base(controller,
Resources.application_windows_media_center,
"ehshell",
"ehshell.exe",
{
internal class XBMCController : ApplicationController
{
- public XBMCController(CECSettings settings) :
- base(settings,
+ public XBMCController(CECController controller) :
+ base(controller,
Resources.application_xbmc,
"XBMC",
"XBMC.exe",
if (File.Exists(filename))
{
XmlTextReader reader = new XmlTextReader(filename);
- while (reader.Read())
+ while (true)
{
+ try
+ {
+ if (!reader.Read())
+ break;
+ } catch (XmlException) {}
gotConfig = true;
switch (reader.NodeType)
{
--- /dev/null
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Windows.Forms;
+using CecSharp;
+using LibCECTray.controller.applications;
+
+namespace LibCECTray.ui
+{
+ /// <summary>
+ /// Utility methods to change GUI content from another thread
+ /// </summary>
+ class AsyncControls
+ {
+ /// <summary>
+ /// Enable or disable a control
+ /// </summary>
+ /// <param name="container">The control that contains the control to change</param>
+ /// <param name="control">The control to change</param>
+ /// <param name="val">True to enable, false to disable</param>
+ public static void SetControlEnabled(Control container, Control control, bool val)
+ {
+ if (container == null || control == null) return;
+ if (container.InvokeRequired)
+ {
+ SetControlEnabledCallback d = SetControlEnabled;
+ try
+ {
+ container.Invoke(d, new object[] { container, control, val });
+ }
+ catch { }
+ }
+ else
+ {
+ control.Enabled = val;
+ }
+ }
+ private delegate void SetControlEnabledCallback(Control container, Control control, bool val);
+
+ /// <summary>
+ /// Change the text label of a control
+ /// </summary>
+ /// <param name="container">The control that contains the control to change</param>
+ /// <param name="control">The control to change</param>
+ /// <param name="val">The new text</param>
+ public static void SetControlText(Control container, Control control, string val)
+ {
+ if (container == null || control == null) return;
+ if (container.InvokeRequired)
+ {
+ SetControlTextCallback d = SetControlText;
+ try
+ {
+ container.Invoke(d, new object[] { container, control, val });
+ }
+ catch { }
+ }
+ else
+ {
+ control.Text = val;
+ }
+ }
+ private delegate void SetControlTextCallback(Control container, Control control, string val);
+
+ /// <summary>
+ /// Change the checked status of a checkbox
+ /// </summary>
+ /// <param name="container">The control that contains the control to change</param>
+ /// <param name="control">The control to change</param>
+ /// <param name="val">True to change to checked, false to change to unchecked</param>
+ public static void SetCheckboxChecked(Control container, CheckBox control, bool val)
+ {
+ if (container.InvokeRequired)
+ {
+ SetCheckboxCheckedCallback d = SetCheckboxChecked;
+ try
+ {
+ container.Invoke(d, new object[] { container, control, val });
+ }
+ catch { }
+ }
+ else
+ {
+ control.Checked = val;
+ }
+ }
+ private delegate void SetCheckboxCheckedCallback(Control container, CheckBox control, bool val);
+
+ /// <summary>
+ /// Change the checked status of an item in a CheckedListBox
+ /// </summary>
+ /// <param name="container">The control that contains the control to change</param>
+ /// <param name="control">The control to change</param>
+ /// <param name="index">The index of the checkbox in the list to change</param>
+ /// <param name="val">True to change to checked, false to change to unchecked</param>
+ public static void SetCheckboxItemChecked(Control container, CheckedListBox control, int index, bool val)
+ {
+ if (container.InvokeRequired)
+ {
+ SetCheckboxItemCheckedCallback d = SetCheckboxItemChecked;
+ try
+ {
+ container.Invoke(d, new object[] { container, control, index, val });
+ }
+ catch (Exception) { }
+ }
+ else
+ {
+ control.SetItemChecked(index, val);
+ }
+ }
+ private delegate void SetCheckboxItemCheckedCallback(Control container, CheckedListBox control, int index, bool val);
+
+ /// <summary>
+ /// Changes the toolstrip menu text
+ /// </summary>
+ /// <param name="container">The control that contains the control to change</param>
+ /// <param name="item">The toolstrip menu item to change</param>
+ /// <param name="val">The new value</param>
+ public static void SetToolStripMenuText(Control container, ToolStripMenuItem item, string val)
+ {
+ if (container.InvokeRequired)
+ {
+ SetToolStripMenuTextCallback d = SetToolStripMenuText;
+ try
+ {
+ container.Invoke(d, new object[] { container, item, val });
+ }
+ catch (Exception) { }
+ }
+ else
+ {
+ item.Text = val;
+ }
+ }
+ private delegate void SetToolStripMenuTextCallback(Control container, ToolStripMenuItem item, string val);
+
+ /// <summary>
+ /// Changes the progress value of a progress bar
+ /// </summary>
+ /// <param name="container">The control that contains the control to change</param>
+ /// <param name="control">The control to change</param>
+ /// <param name="val">The new percentage</param>
+ public static void SetProgressValue(Control container, ProgressBar control, int val)
+ {
+ if (container.InvokeRequired)
+ {
+ SetProgressValueCallback d = SetProgressValue;
+ try
+ {
+ container.Invoke(d, new object[] { container, control, val });
+ }
+ catch (Exception) { }
+ }
+ else
+ {
+ control.Value = val;
+ }
+ }
+ private delegate void SetProgressValueCallback(Control container, ProgressBar control, int val);
+
+ /// <summary>
+ /// Replaces the items of a combobox
+ /// </summary>
+ /// <param name="container">The control that contains the control to change</param>
+ /// <param name="control">The control to change</param>
+ /// <param name="selectedIndex">The new selection index</param>
+ /// <param name="val">The new content</param>
+ public static void SetComboBoxItems(Control container, ComboBox control, int selectedIndex, object[] val)
+ {
+ if (container.InvokeRequired)
+ {
+ SetComboBoxItemsCallback d = SetComboBoxItems;
+ try
+ {
+ container.Invoke(d, new object[] { container, control, selectedIndex, val });
+ }
+ catch (Exception) { }
+ }
+ else
+ {
+ control.Items.Clear();
+ control.Items.AddRange(val);
+ if (control.Items.Count > 0)
+ control.SelectedIndex = selectedIndex;
+ }
+ }
+ private delegate void SetComboBoxItemsCallback(Control container, ComboBox control, int selectedIndex, object[] val);
+
+ /// <summary>
+ /// Make a control visible or invisible
+ /// </summary>
+ /// <param name="container">The control that contains the control to change</param>
+ /// <param name="control">The control to change</param>
+ /// <param name="val">True to make it visible, false to make it invisible</param>
+ public static void SetControlVisible(Control container, Control control, bool val)
+ {
+ if (container.InvokeRequired)
+ {
+ SetControlVisibleCallback d = SetControlVisible;
+ try
+ {
+ container.Invoke(d, new object[] { container, control, val });
+ }
+ catch (Exception) { }
+ }
+ else
+ {
+ control.Visible = val;
+ }
+ }
+ private delegate void SetControlVisibleCallback(Control container, Control control, bool val);
+
+ /// <summary>
+ /// Display a new dialog
+ /// </summary>
+ /// <param name="container">The control that contains the control to change</param>
+ /// <param name="control">The control to display</param>
+ /// <param name="modal">True to make it a modal dialog</param>
+ public static void DisplayDialog(Control container, Form control, bool modal)
+ {
+ if (container.InvokeRequired)
+ {
+ DisplayDialogCallback d = DisplayDialog;
+ try
+ {
+ container.Invoke(d, new object[] { container, control, modal });
+ }
+ catch (Exception) { }
+ }
+ else
+ {
+ if (modal)
+ control.ShowDialog(container);
+ else
+ control.Show(container);
+ }
+ }
+ private delegate void DisplayDialogCallback(Control container, Form control, bool modal);
+
+ /// <summary>
+ /// Hides a control
+ /// </summary>
+ /// <param name="container">The control to hide</param>
+ /// <param name="val">True to hide, false to show</param>
+ public static void SafeHide(Control container, bool val)
+ {
+ if (container.InvokeRequired)
+ {
+ SafeHideCallback d = SafeHide;
+ try
+ {
+ container.Invoke(d, new object[] { container, val });
+ }
+ catch (Exception) { }
+ }
+ else
+ {
+ if (val)
+ container.Hide();
+ else
+ container.Show();
+ }
+ }
+ private delegate void SafeHideCallback(Control container, bool val);
+
+ /// <summary>
+ /// Change the selected index
+ /// </summary>
+ /// <param name="container">The control that contains the control to change</param>
+ /// <param name="control">The control to change</param>
+ /// <param name="index">The new selected index</param>
+ public static void SetSelectedIndex(Control container, ComboBox control, int index)
+ {
+ if (container.InvokeRequired)
+ {
+ SetSelectedIndexCallback d = SetSelectedIndex;
+ try
+ {
+ container.Invoke(d, new object[] { container, control, index });
+ }
+ catch (Exception) { }
+ }
+ else
+ {
+ control.SelectedIndex = index;
+ }
+ }
+ private delegate void SetSelectedIndexCallback(Control container, ComboBox control, int index);
+
+ /// <summary>
+ /// Get the name of the selected tab in a TabControl
+ /// </summary>
+ /// <param name="container">The tab container</param>
+ /// <param name="tabPages">The tab pages</param>
+ /// <returns>The name of the selected tab</returns>
+ public static string GetSelectedTabName(TabControl container, TabControl.TabPageCollection tabPages)
+ {
+ if (container.InvokeRequired)
+ {
+ GetSelectedTabNameCallback d = GetSelectedTabName;
+ try
+ {
+ return container.Invoke(d, new object[] { container, tabPages }) as string;
+ }
+ catch (Exception) { }
+ }
+ else
+ {
+ return tabPages[container.SelectedIndex].Name;
+ }
+ return string.Empty;
+ }
+ private delegate string GetSelectedTabNameCallback(TabControl container, TabControl.TabPageCollection tabPages);
+
+ /// <summary>
+ /// Selects the row with the given CecKeypress for a datagrid
+ /// </summary>
+ /// <param name="container">The datagrid container</param>
+ /// <param name="dgView">The datagrid</param>
+ /// <param name="key">The key to selected</param>
+ public static void SelectKeypressRow(Control container, DataGridView dgView, CecKeypress key)
+ {
+ if (dgView.InvokeRequired)
+ {
+ SelectKeypressRowCallback d = SelectKeypressRow;
+ try
+ {
+ container.Invoke(d, new object[] { container, dgView, key });
+ }
+ catch (Exception) { }
+ }
+ else
+ {
+ var rowIndex = -1;
+ foreach (DataGridViewRow row in dgView.Rows)
+ {
+ CecButtonConfigItem item = row.DataBoundItem as CecButtonConfigItem;
+ if (item != null && item.Key.Keycode == key.Keycode)
+ {
+ rowIndex = row.Index;
+ row.Selected = true;
+ item.Enabled = true;
+ }
+ else
+ {
+ row.Selected = false;
+ }
+ }
+ if (rowIndex > -1)
+ dgView.FirstDisplayedScrollingRowIndex = rowIndex;
+ }
+ }
+ private delegate void SelectKeypressRowCallback(Control container, DataGridView dgView, CecKeypress key);
+ }
+
+}
namespace LibCECTray.ui
{
- interface IAsyncControls
- {
- void SetControlEnabled(Control control, bool val);
- void SetControlText(Control control, string val);
- void SetToolStripMenuText(ToolStripMenuItem item, string val);
- void SetCheckboxChecked(CheckBox control, bool val);
- void SetCheckboxItemChecked(CheckedListBox control, int index, bool val);
- void SetProgressValue(ProgressBar control, int val);
- void SetComboBoxItems(ComboBox control, int selectedIndex, object[] val);
- void SetControlVisible(Control control, bool val);
- void DisplayDialog(Form control, bool modal);
- void SafeHide(bool val);
- void SetSelectedIndex(ComboBox control, int index);
- string GetSelectedTabName(TabControl container, TabControl.TabPageCollection tabPages);
- void SelectKeypressRow(Control container, DataGridView dgView, CecKeypress key);
- }
-
- /// <summary>
- /// Utility methods to change GUI content from another thread
- /// </summary>
- class AsyncControls
- {
- /// <summary>
- /// Enable or disable a control
- /// </summary>
- /// <param name="container">The control that contains the control to change</param>
- /// <param name="control">The control to change</param>
- /// <param name="val">True to enable, false to disable</param>
- public static void SetControlEnabled(Control container, Control control, bool val)
- {
- if (container == null || control == null) return;
- if (container.InvokeRequired)
- {
- SetControlEnabledCallback d = SetControlEnabled;
- try
- {
- container.Invoke(d, new object[] { container, control, val });
- }
- catch { }
- }
- else
- {
- control.Enabled = val;
- }
- }
- private delegate void SetControlEnabledCallback(Control container, Control control, bool val);
-
- /// <summary>
- /// Change the text label of a control
- /// </summary>
- /// <param name="container">The control that contains the control to change</param>
- /// <param name="control">The control to change</param>
- /// <param name="val">The new text</param>
- public static void SetControlText(Control container, Control control, string val)
- {
- if (container == null || control == null) return;
- if (container.InvokeRequired)
- {
- SetControlTextCallback d = SetControlText;
- try
- {
- container.Invoke(d, new object[] { container, control, val });
- }
- catch { }
- }
- else
- {
- control.Text = val;
- }
- }
- private delegate void SetControlTextCallback(Control container, Control control, string val);
-
- /// <summary>
- /// Change the checked status of a checkbox
- /// </summary>
- /// <param name="container">The control that contains the control to change</param>
- /// <param name="control">The control to change</param>
- /// <param name="val">True to change to checked, false to change to unchecked</param>
- public static void SetCheckboxChecked(Control container, CheckBox control, bool val)
- {
- if (container.InvokeRequired)
- {
- SetCheckboxCheckedCallback d = SetCheckboxChecked;
- try
- {
- container.Invoke(d, new object[] { container, control, val });
- }
- catch { }
- }
- else
- {
- control.Checked = val;
- }
- }
- private delegate void SetCheckboxCheckedCallback(Control container, CheckBox control, bool val);
-
- /// <summary>
- /// Change the checked status of an item in a CheckedListBox
- /// </summary>
- /// <param name="container">The control that contains the control to change</param>
- /// <param name="control">The control to change</param>
- /// <param name="index">The index of the checkbox in the list to change</param>
- /// <param name="val">True to change to checked, false to change to unchecked</param>
- public static void SetCheckboxItemChecked(Control container, CheckedListBox control, int index, bool val)
- {
- if (container.InvokeRequired)
- {
- SetCheckboxItemCheckedCallback d = SetCheckboxItemChecked;
- try
- {
- container.Invoke(d, new object[] { container, control, index, val });
- }
- catch (Exception) { }
- }
- else
- {
- control.SetItemChecked(index, val);
- }
- }
- private delegate void SetCheckboxItemCheckedCallback(Control container, CheckedListBox control, int index, bool val);
-
- /// <summary>
- /// Changes the toolstrip menu text
- /// </summary>
- /// <param name="container">The control that contains the control to change</param>
- /// <param name="item">The toolstrip menu item to change</param>
- /// <param name="val">The new value</param>
- public static void SetToolStripMenuText(Control container, ToolStripMenuItem item, string val)
- {
- if (container.InvokeRequired)
- {
- SetToolStripMenuTextCallback d = SetToolStripMenuText;
- try
- {
- container.Invoke(d, new object[] { container, item, val });
- }
- catch (Exception) { }
- }
- else
- {
- item.Text = val;
- }
- }
- private delegate void SetToolStripMenuTextCallback(Control container, ToolStripMenuItem item, string val);
-
- /// <summary>
- /// Changes the progress value of a progress bar
- /// </summary>
- /// <param name="container">The control that contains the control to change</param>
- /// <param name="control">The control to change</param>
- /// <param name="val">The new percentage</param>
- public static void SetProgressValue(Control container, ProgressBar control, int val)
- {
- if (container.InvokeRequired)
- {
- SetProgressValueCallback d = SetProgressValue;
- try
- {
- container.Invoke(d, new object[] { container, control, val });
- }
- catch (Exception) { }
- }
- else
- {
- control.Value = val;
- }
- }
- private delegate void SetProgressValueCallback(Control container, ProgressBar control, int val);
-
- /// <summary>
- /// Replaces the items of a combobox
- /// </summary>
- /// <param name="container">The control that contains the control to change</param>
- /// <param name="control">The control to change</param>
- /// <param name="selectedIndex">The new selection index</param>
- /// <param name="val">The new content</param>
- public static void SetComboBoxItems(Control container, ComboBox control, int selectedIndex, object[] val)
- {
- if (container.InvokeRequired)
- {
- SetComboBoxItemsCallback d = SetComboBoxItems;
- try
- {
- container.Invoke(d, new object[] { container, control, selectedIndex, val });
- }
- catch (Exception) { }
- }
- else
- {
- control.Items.Clear();
- control.Items.AddRange(val);
- if (control.Items.Count > 0)
- control.SelectedIndex = selectedIndex;
- }
- }
- private delegate void SetComboBoxItemsCallback(Control container, ComboBox control, int selectedIndex, object[] val);
-
- /// <summary>
- /// Make a control visible or invisible
- /// </summary>
- /// <param name="container">The control that contains the control to change</param>
- /// <param name="control">The control to change</param>
- /// <param name="val">True to make it visible, false to make it invisible</param>
- public static void SetControlVisible(Control container, Control control, bool val)
- {
- if (container.InvokeRequired)
- {
- SetControlVisibleCallback d = SetControlVisible;
- try
- {
- container.Invoke(d, new object[] { container, control, val });
- }
- catch (Exception) { }
- }
- else
- {
- control.Visible = val;
- }
- }
- private delegate void SetControlVisibleCallback(Control container, Control control, bool val);
-
- /// <summary>
- /// Display a new dialog
- /// </summary>
- /// <param name="container">The control that contains the control to change</param>
- /// <param name="control">The control to display</param>
- /// <param name="modal">True to make it a modal dialog</param>
- public static void DisplayDialog(Control container, Form control, bool modal)
- {
- if (container.InvokeRequired)
- {
- DisplayDialogCallback d = DisplayDialog;
- try
- {
- container.Invoke(d, new object[] { container, control, modal });
- }
- catch (Exception) { }
- }
- else
- {
- if (modal)
- control.ShowDialog(container);
- else
- control.Show(container);
- }
- }
- private delegate void DisplayDialogCallback(Control container, Form control, bool modal);
-
- /// <summary>
- /// Hides a control
- /// </summary>
- /// <param name="container">The control to hide</param>
- /// <param name="val">True to hide, false to show</param>
- public static void SafeHide(Control container, bool val)
- {
- if (container.InvokeRequired)
- {
- SafeHideCallback d = SafeHide;
- try
- {
- container.Invoke(d, new object[] { container, val });
- }
- catch (Exception) { }
- }
- else
- {
- if (val)
- container.Hide();
- else
- container.Show();
- }
- }
- private delegate void SafeHideCallback(Control container, bool val);
-
- /// <summary>
- /// Change the selected index
- /// </summary>
- /// <param name="container">The control that contains the control to change</param>
- /// <param name="control">The control to change</param>
- /// <param name="index">The new selected index</param>
- public static void SetSelectedIndex(Control container, ComboBox control, int index)
- {
- if (container.InvokeRequired)
- {
- SetSelectedIndexCallback d = SetSelectedIndex;
- try
- {
- container.Invoke(d, new object[] { container, control, index });
- }
- catch (Exception) { }
- }
- else
- {
- control.SelectedIndex = index;
- }
- }
- private delegate void SetSelectedIndexCallback(Control container, ComboBox control, int index);
-
- /// <summary>
- /// Get the name of the selected tab in a TabControl
- /// </summary>
- /// <param name="container">The tab container</param>
- /// <param name="tabPages">The tab pages</param>
- /// <returns>The name of the selected tab</returns>
- public static string GetSelectedTabName(TabControl container, TabControl.TabPageCollection tabPages)
- {
- if (container.InvokeRequired)
- {
- GetSelectedTabNameCallback d = GetSelectedTabName;
- try
- {
- return container.Invoke(d, new object[] { container, tabPages }) as string;
- }
- catch (Exception) { }
- }
- else
- {
- return tabPages[container.SelectedIndex].Name;
- }
- return string.Empty;
- }
- private delegate string GetSelectedTabNameCallback(TabControl container, TabControl.TabPageCollection tabPages);
-
- /// <summary>
- /// Selects the row with the given CecKeypress for a datagrid
- /// </summary>
- /// <param name="container">The datagrid container</param>
- /// <param name="dgView">The datagrid</param>
- /// <param name="key">The key to selected</param>
- public static void SelectKeypressRow(Control container, DataGridView dgView, CecKeypress key)
- {
- if (dgView.InvokeRequired)
- {
- SelectKeypressRowCallback d = SelectKeypressRow;
- try
- {
- container.Invoke(d, new object[] { container, dgView, key });
- }
- catch (Exception) { }
- }
- else
- {
- var rowIndex = -1;
- foreach (DataGridViewRow row in dgView.Rows)
- {
- CecButtonConfigItem item = row.DataBoundItem as CecButtonConfigItem;
- if (item != null && item.Key.Keycode == key.Keycode)
- {
- rowIndex = row.Index;
- row.Selected = true;
- item.Enabled = true;
- }
- else
- {
- row.Selected = false;
- }
- }
- if (rowIndex > -1)
- dgView.FirstDisplayedScrollingRowIndex = rowIndex;
- }
- }
- private delegate void SelectKeypressRowCallback(Control container, DataGridView dgView, CecKeypress key);
- }
-
/// <summary>
/// Form that implements IAsyncControls
/// </summary>
/// </summary>
private void InitializeComponent()
{
- this.components = new System.ComponentModel.Container();
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(CECTray));
- this.pProgress = new System.Windows.Forms.ProgressBar();
- this.lStatus = new System.Windows.Forms.Label();
- this.helpPortNumber = new System.Windows.Forms.ToolTip(this.components);
- this.cbPortNumber = new System.Windows.Forms.ComboBox();
- this.helpConnectedHDMIDevice = new System.Windows.Forms.ToolTip(this.components);
- this.cbConnectedDevice = new System.Windows.Forms.ComboBox();
- this.helpPhysicalAddress = new System.Windows.Forms.ToolTip(this.components);
- this.tbPhysicalAddress = new System.Windows.Forms.TextBox();
- this.helpDeviceType = new System.Windows.Forms.ToolTip(this.components);
- this.cbDeviceType = new System.Windows.Forms.ComboBox();
- this.cbVendorId = new System.Windows.Forms.ComboBox();
- this.trayIcon = new System.Windows.Forms.NotifyIcon(this.components);
- this.trayIconMenu = new System.Windows.Forms.ContextMenuStrip(this.components);
- this.tsAdvanced = new System.Windows.Forms.ToolStripMenuItem();
- this.tsMenuShowHide = new System.Windows.Forms.ToolStripMenuItem();
- this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
- this.tsMenuClose = new System.Windows.Forms.ToolStripMenuItem();
- this.LogOutput = new System.Windows.Forms.TabPage();
- this.bSaveLog = new System.Windows.Forms.Button();
- this.bClearLog = new System.Windows.Forms.Button();
- this.cbLogDebug = new System.Windows.Forms.CheckBox();
- this.cbLogTraffic = new System.Windows.Forms.CheckBox();
- this.cbLogNotice = new System.Windows.Forms.CheckBox();
- this.cbLogWarning = new System.Windows.Forms.CheckBox();
- this.cbLogError = new System.Windows.Forms.CheckBox();
- this.tbLog = new System.Windows.Forms.TextBox();
- this.tbTestCommands = new System.Windows.Forms.TabPage();
- this.bRescanDevices = new System.Windows.Forms.Button();
- this.bMute = new System.Windows.Forms.Button();
- this.bVolDown = new System.Windows.Forms.Button();
- this.bVolUp = new System.Windows.Forms.Button();
- this.bActivateSource = new System.Windows.Forms.Button();
- this.bScan = new System.Windows.Forms.Button();
- this.bStandby = new System.Windows.Forms.Button();
- this.bSendImageViewOn = new System.Windows.Forms.Button();
- this.lDestination = new System.Windows.Forms.Label();
- this.cbCommandDestination = new System.Windows.Forms.ComboBox();
- this.Configuration = new System.Windows.Forms.TabPage();
- this.cbOverrideAddress = new System.Windows.Forms.CheckBox();
- this.bReloadConfig = new System.Windows.Forms.Button();
- this.cbVendorOverride = new System.Windows.Forms.CheckBox();
- this.lPowerOff = new System.Windows.Forms.Label();
- this.cbPowerOffDevices = new System.Windows.Forms.CheckedListBox();
- this.lWakeDevices = new System.Windows.Forms.Label();
- this.cbWakeDevices = new System.Windows.Forms.CheckedListBox();
- this.cbActivateSource = new System.Windows.Forms.CheckBox();
- this.lPlayerConfig = new System.Windows.Forms.Label();
- this.lAdapterConfig = new System.Windows.Forms.Label();
- this.bClose = new System.Windows.Forms.Button();
- this.bSaveConfig = new System.Windows.Forms.Button();
- this.lDeviceType = new System.Windows.Forms.Label();
- this.lConnectedDevice = new System.Windows.Forms.Label();
- this.lPortNumber = new System.Windows.Forms.Label();
- this.tabPanel = new System.Windows.Forms.TabControl();
- this.menuStrip1 = new System.Windows.Forms.MenuStrip();
- this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.hideToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.advancedModeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.closeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.applicationsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.addNewApplicationToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.cbStartMinimised = new System.Windows.Forms.CheckBox();
- this.trayIconMenu.SuspendLayout();
- this.LogOutput.SuspendLayout();
- this.tbTestCommands.SuspendLayout();
- this.Configuration.SuspendLayout();
- this.tabPanel.SuspendLayout();
- this.menuStrip1.SuspendLayout();
- this.SuspendLayout();
- //
- // pProgress
- //
- this.pProgress.Location = new System.Drawing.Point(314, 407);
- this.pProgress.Name = "pProgress";
- this.pProgress.Size = new System.Drawing.Size(298, 23);
- this.pProgress.TabIndex = 1;
- //
- // lStatus
- //
- this.lStatus.AutoSize = true;
- this.lStatus.Location = new System.Drawing.Point(12, 416);
- this.lStatus.Name = "lStatus";
- this.lStatus.Size = new System.Drawing.Size(61, 13);
- this.lStatus.TabIndex = 2;
- this.lStatus.Text = "Initialising...";
- //
- // cbPortNumber
- //
- this.cbPortNumber.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Append;
- this.cbPortNumber.Enabled = false;
- this.cbPortNumber.FormattingEnabled = true;
- this.cbPortNumber.Location = new System.Drawing.Point(174, 40);
- this.cbPortNumber.Name = "cbPortNumber";
- this.cbPortNumber.Size = new System.Drawing.Size(133, 21);
- this.cbPortNumber.TabIndex = 11;
- this.cbPortNumber.Text = "global_hdmi_port";
- this.helpPortNumber.SetToolTip(this.cbPortNumber, "The HDMI port number, to which you connected your USB-CEC adapter.");
- //
- // cbConnectedDevice
- //
- this.cbConnectedDevice.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Append;
- this.cbConnectedDevice.Enabled = false;
- this.cbConnectedDevice.FormattingEnabled = true;
- this.cbConnectedDevice.Location = new System.Drawing.Point(174, 67);
- this.cbConnectedDevice.Name = "cbConnectedDevice";
- this.cbConnectedDevice.Size = new System.Drawing.Size(133, 21);
- this.cbConnectedDevice.TabIndex = 5;
- this.cbConnectedDevice.Text = "global_connected_to_hdmi_device";
- this.helpConnectedHDMIDevice.SetToolTip(this.cbConnectedDevice, "The HDMI device to which the USB-CEC adapter is connected");
- //
- // tbPhysicalAddress
- //
- this.tbPhysicalAddress.Enabled = false;
- this.tbPhysicalAddress.Location = new System.Drawing.Point(174, 95);
- this.tbPhysicalAddress.MaxLength = 4;
- this.tbPhysicalAddress.Name = "tbPhysicalAddress";
- this.tbPhysicalAddress.Size = new System.Drawing.Size(38, 20);
- this.tbPhysicalAddress.TabIndex = 6;
- this.tbPhysicalAddress.Text = "global_override_physical_address";
- this.helpPhysicalAddress.SetToolTip(this.tbPhysicalAddress, "The physical address of the adapter. Leave this untouched if you want to autodete" +
- "ct this value.");
- //
- // cbDeviceType
- //
- this.cbDeviceType.Enabled = false;
- this.cbDeviceType.FormattingEnabled = true;
- this.cbDeviceType.Location = new System.Drawing.Point(174, 123);
- this.cbDeviceType.Name = "cbDeviceType";
- this.cbDeviceType.Size = new System.Drawing.Size(133, 21);
- this.cbDeviceType.TabIndex = 14;
- this.cbDeviceType.Text = "global_device_type";
- this.helpDeviceType.SetToolTip(this.cbDeviceType, "Set this to \'Player\' when your TV is having problems with \'Recorder\'");
- //
- // cbVendorId
- //
- this.cbVendorId.Enabled = false;
- this.cbVendorId.FormattingEnabled = true;
- this.cbVendorId.Location = new System.Drawing.Point(174, 153);
- this.cbVendorId.Name = "cbVendorId";
- this.cbVendorId.Size = new System.Drawing.Size(133, 21);
- this.cbVendorId.TabIndex = 28;
- this.cbVendorId.Text = "global_override_tv_vendor";
- this.helpDeviceType.SetToolTip(this.cbVendorId, "Only set this value when autodetection isn\'t working");
- //
- // trayIcon
- //
- this.trayIcon.ContextMenuStrip = this.trayIconMenu;
- this.trayIcon.Icon = ((System.Drawing.Icon)(resources.GetObject("trayIcon.Icon")));
- this.trayIcon.Text = "Pulse-Eight USB-CEC Adapter";
- this.trayIcon.Visible = true;
- this.trayIcon.Click += new System.EventHandler(this.TrayIconClick);
- //
- // trayIconMenu
- //
- this.trayIconMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.components = new System.ComponentModel.Container();
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(CECTray));
+ this.pProgress = new System.Windows.Forms.ProgressBar();
+ this.lStatus = new System.Windows.Forms.Label();
+ this.helpPortNumber = new System.Windows.Forms.ToolTip(this.components);
+ this.cbPortNumber = new System.Windows.Forms.ComboBox();
+ this.helpConnectedHDMIDevice = new System.Windows.Forms.ToolTip(this.components);
+ this.cbConnectedDevice = new System.Windows.Forms.ComboBox();
+ this.helpPhysicalAddress = new System.Windows.Forms.ToolTip(this.components);
+ this.tbPhysicalAddress = new System.Windows.Forms.TextBox();
+ this.helpDeviceType = new System.Windows.Forms.ToolTip(this.components);
+ this.cbDeviceType = new System.Windows.Forms.ComboBox();
+ this.cbVendorId = new System.Windows.Forms.ComboBox();
+ this.trayIcon = new System.Windows.Forms.NotifyIcon(this.components);
+ this.trayIconMenu = new System.Windows.Forms.ContextMenuStrip(this.components);
+ this.tsAdvanced = new System.Windows.Forms.ToolStripMenuItem();
+ this.tsMenuShowHide = new System.Windows.Forms.ToolStripMenuItem();
+ this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
+ this.tsMenuClose = new System.Windows.Forms.ToolStripMenuItem();
+ this.LogOutput = new System.Windows.Forms.TabPage();
+ this.bSaveLog = new System.Windows.Forms.Button();
+ this.bClearLog = new System.Windows.Forms.Button();
+ this.cbLogDebug = new System.Windows.Forms.CheckBox();
+ this.cbLogTraffic = new System.Windows.Forms.CheckBox();
+ this.cbLogNotice = new System.Windows.Forms.CheckBox();
+ this.cbLogWarning = new System.Windows.Forms.CheckBox();
+ this.cbLogError = new System.Windows.Forms.CheckBox();
+ this.tbLog = new System.Windows.Forms.TextBox();
+ this.tbTestCommands = new System.Windows.Forms.TabPage();
+ this.bRescanDevices = new System.Windows.Forms.Button();
+ this.bMute = new System.Windows.Forms.Button();
+ this.bVolDown = new System.Windows.Forms.Button();
+ this.bVolUp = new System.Windows.Forms.Button();
+ this.bActivateSource = new System.Windows.Forms.Button();
+ this.bScan = new System.Windows.Forms.Button();
+ this.bStandby = new System.Windows.Forms.Button();
+ this.bSendImageViewOn = new System.Windows.Forms.Button();
+ this.lDestination = new System.Windows.Forms.Label();
+ this.cbCommandDestination = new System.Windows.Forms.ComboBox();
+ this.Configuration = new System.Windows.Forms.TabPage();
+ this.cbStartMinimised = new System.Windows.Forms.CheckBox();
+ this.cbOverrideAddress = new System.Windows.Forms.CheckBox();
+ this.bReloadConfig = new System.Windows.Forms.Button();
+ this.cbVendorOverride = new System.Windows.Forms.CheckBox();
+ this.lPowerOff = new System.Windows.Forms.Label();
+ this.cbPowerOffDevices = new System.Windows.Forms.CheckedListBox();
+ this.lWakeDevices = new System.Windows.Forms.Label();
+ this.cbWakeDevices = new System.Windows.Forms.CheckedListBox();
+ this.cbActivateSource = new System.Windows.Forms.CheckBox();
+ this.lPlayerConfig = new System.Windows.Forms.Label();
+ this.lAdapterConfig = new System.Windows.Forms.Label();
+ this.bClose = new System.Windows.Forms.Button();
+ this.bSaveConfig = new System.Windows.Forms.Button();
+ this.lDeviceType = new System.Windows.Forms.Label();
+ this.lConnectedDevice = new System.Windows.Forms.Label();
+ this.lPortNumber = new System.Windows.Forms.Label();
+ this.tabPanel = new System.Windows.Forms.TabControl();
+ this.menuStrip1 = new System.Windows.Forms.MenuStrip();
+ this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.hideToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.advancedModeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.closeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.applicationsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.addNewApplicationToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.trayIconMenu.SuspendLayout();
+ this.LogOutput.SuspendLayout();
+ this.tbTestCommands.SuspendLayout();
+ this.Configuration.SuspendLayout();
+ this.tabPanel.SuspendLayout();
+ this.menuStrip1.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // pProgress
+ //
+ this.pProgress.Location = new System.Drawing.Point(314, 407);
+ this.pProgress.Name = "pProgress";
+ this.pProgress.Size = new System.Drawing.Size(298, 23);
+ this.pProgress.TabIndex = 1;
+ //
+ // lStatus
+ //
+ this.lStatus.AutoSize = true;
+ this.lStatus.Location = new System.Drawing.Point(12, 416);
+ this.lStatus.Name = "lStatus";
+ this.lStatus.Size = new System.Drawing.Size(61, 13);
+ this.lStatus.TabIndex = 2;
+ this.lStatus.Text = "Initialising...";
+ //
+ // cbPortNumber
+ //
+ this.cbPortNumber.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Append;
+ this.cbPortNumber.Enabled = false;
+ this.cbPortNumber.FormattingEnabled = true;
+ this.cbPortNumber.Location = new System.Drawing.Point(174, 40);
+ this.cbPortNumber.Name = "cbPortNumber";
+ this.cbPortNumber.Size = new System.Drawing.Size(133, 21);
+ this.cbPortNumber.TabIndex = 11;
+ this.cbPortNumber.Text = "global_hdmi_port";
+ this.helpPortNumber.SetToolTip(this.cbPortNumber, "The HDMI port number, to which you connected your USB-CEC adapter.");
+ //
+ // cbConnectedDevice
+ //
+ this.cbConnectedDevice.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Append;
+ this.cbConnectedDevice.Enabled = false;
+ this.cbConnectedDevice.FormattingEnabled = true;
+ this.cbConnectedDevice.Location = new System.Drawing.Point(174, 67);
+ this.cbConnectedDevice.Name = "cbConnectedDevice";
+ this.cbConnectedDevice.Size = new System.Drawing.Size(133, 21);
+ this.cbConnectedDevice.TabIndex = 5;
+ this.cbConnectedDevice.Text = "global_connected_to_hdmi_device";
+ this.helpConnectedHDMIDevice.SetToolTip(this.cbConnectedDevice, "The HDMI device to which the USB-CEC adapter is connected");
+ //
+ // tbPhysicalAddress
+ //
+ this.tbPhysicalAddress.Enabled = false;
+ this.tbPhysicalAddress.Location = new System.Drawing.Point(174, 95);
+ this.tbPhysicalAddress.MaxLength = 4;
+ this.tbPhysicalAddress.Name = "tbPhysicalAddress";
+ this.tbPhysicalAddress.Size = new System.Drawing.Size(38, 20);
+ this.tbPhysicalAddress.TabIndex = 6;
+ this.tbPhysicalAddress.Text = "global_override_physical_address";
+ this.helpPhysicalAddress.SetToolTip(this.tbPhysicalAddress, "The physical address of the adapter. Leave this untouched if you want to autodete" +
+ "ct this value.");
+ //
+ // cbDeviceType
+ //
+ this.cbDeviceType.Enabled = false;
+ this.cbDeviceType.FormattingEnabled = true;
+ this.cbDeviceType.Location = new System.Drawing.Point(174, 123);
+ this.cbDeviceType.Name = "cbDeviceType";
+ this.cbDeviceType.Size = new System.Drawing.Size(133, 21);
+ this.cbDeviceType.TabIndex = 14;
+ this.cbDeviceType.Text = "global_device_type";
+ this.helpDeviceType.SetToolTip(this.cbDeviceType, "Set this to \'Player\' when your TV is having problems with \'Recorder\'");
+ //
+ // cbVendorId
+ //
+ this.cbVendorId.Enabled = false;
+ this.cbVendorId.FormattingEnabled = true;
+ this.cbVendorId.Location = new System.Drawing.Point(174, 153);
+ this.cbVendorId.Name = "cbVendorId";
+ this.cbVendorId.Size = new System.Drawing.Size(133, 21);
+ this.cbVendorId.TabIndex = 28;
+ this.cbVendorId.Text = "global_override_tv_vendor";
+ this.helpDeviceType.SetToolTip(this.cbVendorId, "Only set this value when autodetection isn\'t working");
+ //
+ // trayIcon
+ //
+ this.trayIcon.ContextMenuStrip = this.trayIconMenu;
+ this.trayIcon.Icon = ((System.Drawing.Icon)(resources.GetObject("trayIcon.Icon")));
+ this.trayIcon.Text = "Pulse-Eight USB-CEC Adapter";
+ this.trayIcon.Visible = true;
+ this.trayIcon.Click += new System.EventHandler(this.TrayIconClick);
+ //
+ // trayIconMenu
+ //
+ this.trayIconMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.tsAdvanced,
this.tsMenuShowHide,
this.toolStripSeparator1,
this.tsMenuClose});
- this.trayIconMenu.Name = "trayIconMenu";
- this.trayIconMenu.Size = new System.Drawing.Size(162, 76);
- //
- // tsAdvanced
- //
- this.tsAdvanced.Name = "tsAdvanced";
- this.tsAdvanced.Size = new System.Drawing.Size(161, 22);
- this.tsAdvanced.Text = "Advanced mode";
- this.tsAdvanced.Click += new System.EventHandler(this.TsAdvancedClick);
- //
- // tsMenuShowHide
- //
- this.tsMenuShowHide.Name = "tsMenuShowHide";
- this.tsMenuShowHide.Size = new System.Drawing.Size(161, 22);
- this.tsMenuShowHide.Text = "Hide";
- this.tsMenuShowHide.Click += new System.EventHandler(this.TsMenuShowHideClick);
- //
- // toolStripSeparator1
- //
- this.toolStripSeparator1.Name = "toolStripSeparator1";
- this.toolStripSeparator1.Size = new System.Drawing.Size(158, 6);
- //
- // tsMenuClose
- //
- this.tsMenuClose.Name = "tsMenuClose";
- this.tsMenuClose.Size = new System.Drawing.Size(161, 22);
- this.tsMenuClose.Text = "Exit";
- this.tsMenuClose.Click += new System.EventHandler(this.TsMenuCloseClick);
- //
- // LogOutput
- //
- this.LogOutput.Controls.Add(this.bSaveLog);
- this.LogOutput.Controls.Add(this.bClearLog);
- this.LogOutput.Controls.Add(this.cbLogDebug);
- this.LogOutput.Controls.Add(this.cbLogTraffic);
- this.LogOutput.Controls.Add(this.cbLogNotice);
- this.LogOutput.Controls.Add(this.cbLogWarning);
- this.LogOutput.Controls.Add(this.cbLogError);
- this.LogOutput.Controls.Add(this.tbLog);
- this.LogOutput.Location = new System.Drawing.Point(4, 22);
- this.LogOutput.Name = "LogOutput";
- this.LogOutput.Padding = new System.Windows.Forms.Padding(3);
- this.LogOutput.Size = new System.Drawing.Size(592, 344);
- this.LogOutput.TabIndex = 1;
- this.LogOutput.Text = "Log Output";
- this.LogOutput.UseVisualStyleBackColor = true;
- //
- // bSaveLog
- //
- this.bSaveLog.Location = new System.Drawing.Point(429, 318);
- this.bSaveLog.Name = "bSaveLog";
- this.bSaveLog.Size = new System.Drawing.Size(75, 23);
- this.bSaveLog.TabIndex = 7;
- this.bSaveLog.Text = "Persist";
- this.bSaveLog.UseVisualStyleBackColor = true;
- this.bSaveLog.Click += new System.EventHandler(this.BSaveLogClick);
- //
- // bClearLog
- //
- this.bClearLog.Location = new System.Drawing.Point(510, 318);
- this.bClearLog.Name = "bClearLog";
- this.bClearLog.Size = new System.Drawing.Size(75, 23);
- this.bClearLog.TabIndex = 6;
- this.bClearLog.Text = "Clear";
- this.bClearLog.UseVisualStyleBackColor = true;
- this.bClearLog.Click += new System.EventHandler(this.BClearLogClick);
- //
- // cbLogDebug
- //
- this.cbLogDebug.AutoSize = true;
- this.cbLogDebug.Checked = true;
- this.cbLogDebug.CheckState = System.Windows.Forms.CheckState.Checked;
- this.cbLogDebug.Location = new System.Drawing.Point(268, 324);
- this.cbLogDebug.Name = "cbLogDebug";
- this.cbLogDebug.Size = new System.Drawing.Size(58, 17);
- this.cbLogDebug.TabIndex = 5;
- this.cbLogDebug.Text = "Debug";
- this.cbLogDebug.UseVisualStyleBackColor = true;
- //
- // cbLogTraffic
- //
- this.cbLogTraffic.AutoSize = true;
- this.cbLogTraffic.Checked = true;
- this.cbLogTraffic.CheckState = System.Windows.Forms.CheckState.Checked;
- this.cbLogTraffic.Location = new System.Drawing.Point(206, 324);
- this.cbLogTraffic.Name = "cbLogTraffic";
- this.cbLogTraffic.Size = new System.Drawing.Size(56, 17);
- this.cbLogTraffic.TabIndex = 4;
- this.cbLogTraffic.Text = "Traffic";
- this.cbLogTraffic.UseVisualStyleBackColor = true;
- //
- // cbLogNotice
- //
- this.cbLogNotice.AutoSize = true;
- this.cbLogNotice.Checked = true;
- this.cbLogNotice.CheckState = System.Windows.Forms.CheckState.Checked;
- this.cbLogNotice.Location = new System.Drawing.Point(137, 324);
- this.cbLogNotice.Name = "cbLogNotice";
- this.cbLogNotice.Size = new System.Drawing.Size(62, 17);
- this.cbLogNotice.TabIndex = 3;
- this.cbLogNotice.Text = "Notices";
- this.cbLogNotice.UseVisualStyleBackColor = true;
- //
- // cbLogWarning
- //
- this.cbLogWarning.AutoSize = true;
- this.cbLogWarning.Checked = true;
- this.cbLogWarning.CheckState = System.Windows.Forms.CheckState.Checked;
- this.cbLogWarning.Location = new System.Drawing.Point(65, 324);
- this.cbLogWarning.Name = "cbLogWarning";
- this.cbLogWarning.Size = new System.Drawing.Size(66, 17);
- this.cbLogWarning.TabIndex = 2;
- this.cbLogWarning.Text = "Warning";
- this.cbLogWarning.UseVisualStyleBackColor = true;
- //
- // cbLogError
- //
- this.cbLogError.AutoSize = true;
- this.cbLogError.Checked = true;
- this.cbLogError.CheckState = System.Windows.Forms.CheckState.Checked;
- this.cbLogError.Location = new System.Drawing.Point(6, 324);
- this.cbLogError.Name = "cbLogError";
- this.cbLogError.Size = new System.Drawing.Size(53, 17);
- this.cbLogError.TabIndex = 1;
- this.cbLogError.Text = "Errors";
- this.cbLogError.UseVisualStyleBackColor = true;
- //
- // tbLog
- //
- this.tbLog.Location = new System.Drawing.Point(6, 0);
- this.tbLog.Multiline = true;
- this.tbLog.Name = "tbLog";
- this.tbLog.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
- this.tbLog.Size = new System.Drawing.Size(580, 312);
- this.tbLog.TabIndex = 0;
- //
- // tbTestCommands
- //
- this.tbTestCommands.Controls.Add(this.bRescanDevices);
- this.tbTestCommands.Controls.Add(this.bMute);
- this.tbTestCommands.Controls.Add(this.bVolDown);
- this.tbTestCommands.Controls.Add(this.bVolUp);
- this.tbTestCommands.Controls.Add(this.bActivateSource);
- this.tbTestCommands.Controls.Add(this.bScan);
- this.tbTestCommands.Controls.Add(this.bStandby);
- this.tbTestCommands.Controls.Add(this.bSendImageViewOn);
- this.tbTestCommands.Controls.Add(this.lDestination);
- this.tbTestCommands.Controls.Add(this.cbCommandDestination);
- this.tbTestCommands.Location = new System.Drawing.Point(4, 22);
- this.tbTestCommands.Name = "tbTestCommands";
- this.tbTestCommands.Padding = new System.Windows.Forms.Padding(3);
- this.tbTestCommands.Size = new System.Drawing.Size(592, 344);
- this.tbTestCommands.TabIndex = 3;
- this.tbTestCommands.Text = "CEC tester";
- this.tbTestCommands.UseVisualStyleBackColor = true;
- //
- // bRescanDevices
- //
- this.bRescanDevices.Enabled = false;
- this.bRescanDevices.Location = new System.Drawing.Point(424, 65);
- this.bRescanDevices.Name = "bRescanDevices";
- this.bRescanDevices.Size = new System.Drawing.Size(150, 23);
- this.bRescanDevices.TabIndex = 9;
- this.bRescanDevices.Text = "Re-scan devices";
- this.bRescanDevices.UseVisualStyleBackColor = true;
- this.bRescanDevices.Click += new System.EventHandler(this.BRescanDevicesClick);
- //
- // bMute
- //
- this.bMute.Enabled = false;
- this.bMute.Location = new System.Drawing.Point(164, 65);
- this.bMute.Name = "bMute";
- this.bMute.Size = new System.Drawing.Size(150, 23);
- this.bMute.TabIndex = 8;
- this.bMute.Text = "Mute";
- this.bMute.UseVisualStyleBackColor = true;
- this.bMute.Click += new System.EventHandler(this.BMuteClick);
- //
- // bVolDown
- //
- this.bVolDown.Enabled = false;
- this.bVolDown.Location = new System.Drawing.Point(164, 36);
- this.bVolDown.Name = "bVolDown";
- this.bVolDown.Size = new System.Drawing.Size(150, 23);
- this.bVolDown.TabIndex = 7;
- this.bVolDown.Text = "Volume down";
- this.bVolDown.UseVisualStyleBackColor = true;
- this.bVolDown.Click += new System.EventHandler(this.BVolDownClick);
- //
- // bVolUp
- //
- this.bVolUp.Enabled = false;
- this.bVolUp.Location = new System.Drawing.Point(164, 7);
- this.bVolUp.Name = "bVolUp";
- this.bVolUp.Size = new System.Drawing.Size(150, 23);
- this.bVolUp.TabIndex = 6;
- this.bVolUp.Text = "Volume up";
- this.bVolUp.UseVisualStyleBackColor = true;
- this.bVolUp.Click += new System.EventHandler(this.BVolUpClick);
- //
- // bActivateSource
- //
- this.bActivateSource.Enabled = false;
- this.bActivateSource.Location = new System.Drawing.Point(8, 65);
- this.bActivateSource.Name = "bActivateSource";
- this.bActivateSource.Size = new System.Drawing.Size(150, 23);
- this.bActivateSource.TabIndex = 5;
- this.bActivateSource.Text = "Make device active";
- this.bActivateSource.UseVisualStyleBackColor = true;
- this.bActivateSource.Click += new System.EventHandler(this.BActivateSourceClick);
- //
- // bScan
- //
- this.bScan.Enabled = false;
- this.bScan.Location = new System.Drawing.Point(8, 94);
- this.bScan.Name = "bScan";
- this.bScan.Size = new System.Drawing.Size(150, 23);
- this.bScan.TabIndex = 4;
- this.bScan.Text = "Device information";
- this.bScan.UseVisualStyleBackColor = true;
- this.bScan.Click += new System.EventHandler(this.BScanClick);
- //
- // bStandby
- //
- this.bStandby.Enabled = false;
- this.bStandby.Location = new System.Drawing.Point(8, 36);
- this.bStandby.Name = "bStandby";
- this.bStandby.Size = new System.Drawing.Size(150, 23);
- this.bStandby.TabIndex = 3;
- this.bStandby.Text = "Put device in standby";
- this.bStandby.UseVisualStyleBackColor = true;
- this.bStandby.Click += new System.EventHandler(this.BStandbyClick);
- //
- // bSendImageViewOn
- //
- this.bSendImageViewOn.Enabled = false;
- this.bSendImageViewOn.Location = new System.Drawing.Point(8, 7);
- this.bSendImageViewOn.Name = "bSendImageViewOn";
- this.bSendImageViewOn.Size = new System.Drawing.Size(150, 23);
- this.bSendImageViewOn.TabIndex = 2;
- this.bSendImageViewOn.Text = "Power on device";
- this.bSendImageViewOn.UseVisualStyleBackColor = true;
- this.bSendImageViewOn.Click += new System.EventHandler(this.BSendImageViewOnClick);
- //
- // lDestination
- //
- this.lDestination.AutoSize = true;
- this.lDestination.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.lDestination.Location = new System.Drawing.Point(420, 3);
- this.lDestination.Name = "lDestination";
- this.lDestination.Size = new System.Drawing.Size(138, 24);
- this.lDestination.TabIndex = 1;
- this.lDestination.Text = "Target device";
- //
- // cbCommandDestination
- //
- this.cbCommandDestination.FormattingEnabled = true;
- this.cbCommandDestination.Items.AddRange(new object[] {
+ this.trayIconMenu.Name = "trayIconMenu";
+ this.trayIconMenu.Size = new System.Drawing.Size(152, 76);
+ //
+ // tsAdvanced
+ //
+ this.tsAdvanced.Name = "tsAdvanced";
+ this.tsAdvanced.Size = new System.Drawing.Size(151, 22);
+ this.tsAdvanced.Text = "Advanced mode";
+ this.tsAdvanced.Click += new System.EventHandler(this.TsAdvancedClick);
+ //
+ // tsMenuShowHide
+ //
+ this.tsMenuShowHide.Name = "tsMenuShowHide";
+ this.tsMenuShowHide.Size = new System.Drawing.Size(151, 22);
+ this.tsMenuShowHide.Text = "Hide";
+ this.tsMenuShowHide.Click += new System.EventHandler(this.TsMenuShowHideClick);
+ //
+ // toolStripSeparator1
+ //
+ this.toolStripSeparator1.Name = "toolStripSeparator1";
+ this.toolStripSeparator1.Size = new System.Drawing.Size(148, 6);
+ //
+ // tsMenuClose
+ //
+ this.tsMenuClose.Name = "tsMenuClose";
+ this.tsMenuClose.Size = new System.Drawing.Size(151, 22);
+ this.tsMenuClose.Text = "Exit";
+ this.tsMenuClose.Click += new System.EventHandler(this.TsMenuCloseClick);
+ //
+ // LogOutput
+ //
+ this.LogOutput.Controls.Add(this.bSaveLog);
+ this.LogOutput.Controls.Add(this.bClearLog);
+ this.LogOutput.Controls.Add(this.cbLogDebug);
+ this.LogOutput.Controls.Add(this.cbLogTraffic);
+ this.LogOutput.Controls.Add(this.cbLogNotice);
+ this.LogOutput.Controls.Add(this.cbLogWarning);
+ this.LogOutput.Controls.Add(this.cbLogError);
+ this.LogOutput.Controls.Add(this.tbLog);
+ this.LogOutput.Location = new System.Drawing.Point(4, 22);
+ this.LogOutput.Name = "LogOutput";
+ this.LogOutput.Padding = new System.Windows.Forms.Padding(3);
+ this.LogOutput.Size = new System.Drawing.Size(592, 344);
+ this.LogOutput.TabIndex = 1;
+ this.LogOutput.Text = "Log Output";
+ this.LogOutput.UseVisualStyleBackColor = true;
+ //
+ // bSaveLog
+ //
+ this.bSaveLog.Location = new System.Drawing.Point(429, 318);
+ this.bSaveLog.Name = "bSaveLog";
+ this.bSaveLog.Size = new System.Drawing.Size(75, 23);
+ this.bSaveLog.TabIndex = 7;
+ this.bSaveLog.Text = "Save";
+ this.bSaveLog.UseVisualStyleBackColor = true;
+ this.bSaveLog.Click += new System.EventHandler(this.BSaveLogClick);
+ //
+ // bClearLog
+ //
+ this.bClearLog.Location = new System.Drawing.Point(510, 318);
+ this.bClearLog.Name = "bClearLog";
+ this.bClearLog.Size = new System.Drawing.Size(75, 23);
+ this.bClearLog.TabIndex = 6;
+ this.bClearLog.Text = "Clear";
+ this.bClearLog.UseVisualStyleBackColor = true;
+ this.bClearLog.Click += new System.EventHandler(this.BClearLogClick);
+ //
+ // cbLogDebug
+ //
+ this.cbLogDebug.AutoSize = true;
+ this.cbLogDebug.Checked = true;
+ this.cbLogDebug.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.cbLogDebug.Location = new System.Drawing.Point(268, 324);
+ this.cbLogDebug.Name = "cbLogDebug";
+ this.cbLogDebug.Size = new System.Drawing.Size(58, 17);
+ this.cbLogDebug.TabIndex = 5;
+ this.cbLogDebug.Text = "Debug";
+ this.cbLogDebug.UseVisualStyleBackColor = true;
+ //
+ // cbLogTraffic
+ //
+ this.cbLogTraffic.AutoSize = true;
+ this.cbLogTraffic.Checked = true;
+ this.cbLogTraffic.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.cbLogTraffic.Location = new System.Drawing.Point(206, 324);
+ this.cbLogTraffic.Name = "cbLogTraffic";
+ this.cbLogTraffic.Size = new System.Drawing.Size(56, 17);
+ this.cbLogTraffic.TabIndex = 4;
+ this.cbLogTraffic.Text = "Traffic";
+ this.cbLogTraffic.UseVisualStyleBackColor = true;
+ //
+ // cbLogNotice
+ //
+ this.cbLogNotice.AutoSize = true;
+ this.cbLogNotice.Checked = true;
+ this.cbLogNotice.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.cbLogNotice.Location = new System.Drawing.Point(137, 324);
+ this.cbLogNotice.Name = "cbLogNotice";
+ this.cbLogNotice.Size = new System.Drawing.Size(62, 17);
+ this.cbLogNotice.TabIndex = 3;
+ this.cbLogNotice.Text = "Notices";
+ this.cbLogNotice.UseVisualStyleBackColor = true;
+ //
+ // cbLogWarning
+ //
+ this.cbLogWarning.AutoSize = true;
+ this.cbLogWarning.Checked = true;
+ this.cbLogWarning.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.cbLogWarning.Location = new System.Drawing.Point(65, 324);
+ this.cbLogWarning.Name = "cbLogWarning";
+ this.cbLogWarning.Size = new System.Drawing.Size(66, 17);
+ this.cbLogWarning.TabIndex = 2;
+ this.cbLogWarning.Text = "Warning";
+ this.cbLogWarning.UseVisualStyleBackColor = true;
+ //
+ // cbLogError
+ //
+ this.cbLogError.AutoSize = true;
+ this.cbLogError.Checked = true;
+ this.cbLogError.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.cbLogError.Location = new System.Drawing.Point(6, 324);
+ this.cbLogError.Name = "cbLogError";
+ this.cbLogError.Size = new System.Drawing.Size(53, 17);
+ this.cbLogError.TabIndex = 1;
+ this.cbLogError.Text = "Errors";
+ this.cbLogError.UseVisualStyleBackColor = true;
+ //
+ // tbLog
+ //
+ this.tbLog.Location = new System.Drawing.Point(6, 0);
+ this.tbLog.Multiline = true;
+ this.tbLog.Name = "tbLog";
+ this.tbLog.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
+ this.tbLog.Size = new System.Drawing.Size(580, 312);
+ this.tbLog.TabIndex = 0;
+ //
+ // tbTestCommands
+ //
+ this.tbTestCommands.Controls.Add(this.bRescanDevices);
+ this.tbTestCommands.Controls.Add(this.bMute);
+ this.tbTestCommands.Controls.Add(this.bVolDown);
+ this.tbTestCommands.Controls.Add(this.bVolUp);
+ this.tbTestCommands.Controls.Add(this.bActivateSource);
+ this.tbTestCommands.Controls.Add(this.bScan);
+ this.tbTestCommands.Controls.Add(this.bStandby);
+ this.tbTestCommands.Controls.Add(this.bSendImageViewOn);
+ this.tbTestCommands.Controls.Add(this.lDestination);
+ this.tbTestCommands.Controls.Add(this.cbCommandDestination);
+ this.tbTestCommands.Location = new System.Drawing.Point(4, 22);
+ this.tbTestCommands.Name = "tbTestCommands";
+ this.tbTestCommands.Padding = new System.Windows.Forms.Padding(3);
+ this.tbTestCommands.Size = new System.Drawing.Size(592, 344);
+ this.tbTestCommands.TabIndex = 3;
+ this.tbTestCommands.Text = "CEC tester";
+ this.tbTestCommands.UseVisualStyleBackColor = true;
+ //
+ // bRescanDevices
+ //
+ this.bRescanDevices.Enabled = false;
+ this.bRescanDevices.Location = new System.Drawing.Point(424, 65);
+ this.bRescanDevices.Name = "bRescanDevices";
+ this.bRescanDevices.Size = new System.Drawing.Size(150, 23);
+ this.bRescanDevices.TabIndex = 9;
+ this.bRescanDevices.Text = "Re-scan devices";
+ this.bRescanDevices.UseVisualStyleBackColor = true;
+ this.bRescanDevices.Click += new System.EventHandler(this.BRescanDevicesClick);
+ //
+ // bMute
+ //
+ this.bMute.Enabled = false;
+ this.bMute.Location = new System.Drawing.Point(164, 65);
+ this.bMute.Name = "bMute";
+ this.bMute.Size = new System.Drawing.Size(150, 23);
+ this.bMute.TabIndex = 8;
+ this.bMute.Text = "Mute";
+ this.bMute.UseVisualStyleBackColor = true;
+ this.bMute.Click += new System.EventHandler(this.BMuteClick);
+ //
+ // bVolDown
+ //
+ this.bVolDown.Enabled = false;
+ this.bVolDown.Location = new System.Drawing.Point(164, 36);
+ this.bVolDown.Name = "bVolDown";
+ this.bVolDown.Size = new System.Drawing.Size(150, 23);
+ this.bVolDown.TabIndex = 7;
+ this.bVolDown.Text = "Volume down";
+ this.bVolDown.UseVisualStyleBackColor = true;
+ this.bVolDown.Click += new System.EventHandler(this.BVolDownClick);
+ //
+ // bVolUp
+ //
+ this.bVolUp.Enabled = false;
+ this.bVolUp.Location = new System.Drawing.Point(164, 7);
+ this.bVolUp.Name = "bVolUp";
+ this.bVolUp.Size = new System.Drawing.Size(150, 23);
+ this.bVolUp.TabIndex = 6;
+ this.bVolUp.Text = "Volume up";
+ this.bVolUp.UseVisualStyleBackColor = true;
+ this.bVolUp.Click += new System.EventHandler(this.BVolUpClick);
+ //
+ // bActivateSource
+ //
+ this.bActivateSource.Enabled = false;
+ this.bActivateSource.Location = new System.Drawing.Point(8, 65);
+ this.bActivateSource.Name = "bActivateSource";
+ this.bActivateSource.Size = new System.Drawing.Size(150, 23);
+ this.bActivateSource.TabIndex = 5;
+ this.bActivateSource.Text = "Make device active";
+ this.bActivateSource.UseVisualStyleBackColor = true;
+ this.bActivateSource.Click += new System.EventHandler(this.BActivateSourceClick);
+ //
+ // bScan
+ //
+ this.bScan.Enabled = false;
+ this.bScan.Location = new System.Drawing.Point(8, 94);
+ this.bScan.Name = "bScan";
+ this.bScan.Size = new System.Drawing.Size(150, 23);
+ this.bScan.TabIndex = 4;
+ this.bScan.Text = "Device information";
+ this.bScan.UseVisualStyleBackColor = true;
+ this.bScan.Click += new System.EventHandler(this.BScanClick);
+ //
+ // bStandby
+ //
+ this.bStandby.Enabled = false;
+ this.bStandby.Location = new System.Drawing.Point(8, 36);
+ this.bStandby.Name = "bStandby";
+ this.bStandby.Size = new System.Drawing.Size(150, 23);
+ this.bStandby.TabIndex = 3;
+ this.bStandby.Text = "Put device in standby";
+ this.bStandby.UseVisualStyleBackColor = true;
+ this.bStandby.Click += new System.EventHandler(this.BStandbyClick);
+ //
+ // bSendImageViewOn
+ //
+ this.bSendImageViewOn.Enabled = false;
+ this.bSendImageViewOn.Location = new System.Drawing.Point(8, 7);
+ this.bSendImageViewOn.Name = "bSendImageViewOn";
+ this.bSendImageViewOn.Size = new System.Drawing.Size(150, 23);
+ this.bSendImageViewOn.TabIndex = 2;
+ this.bSendImageViewOn.Text = "Power on device";
+ this.bSendImageViewOn.UseVisualStyleBackColor = true;
+ this.bSendImageViewOn.Click += new System.EventHandler(this.BSendImageViewOnClick);
+ //
+ // lDestination
+ //
+ this.lDestination.AutoSize = true;
+ this.lDestination.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.lDestination.Location = new System.Drawing.Point(420, 3);
+ this.lDestination.Name = "lDestination";
+ this.lDestination.Size = new System.Drawing.Size(138, 24);
+ this.lDestination.TabIndex = 1;
+ this.lDestination.Text = "Target device";
+ //
+ // cbCommandDestination
+ //
+ this.cbCommandDestination.FormattingEnabled = true;
+ this.cbCommandDestination.Items.AddRange(new object[] {
"0: TV",
"F: Broadcast"});
- this.cbCommandDestination.Location = new System.Drawing.Point(437, 30);
- this.cbCommandDestination.Name = "cbCommandDestination";
- this.cbCommandDestination.Size = new System.Drawing.Size(121, 21);
- this.cbCommandDestination.TabIndex = 0;
- this.cbCommandDestination.Text = "0: TV";
- this.cbCommandDestination.SelectedIndexChanged += new System.EventHandler(this.CbCommandDestinationSelectedIndexChanged);
- //
- // Configuration
- //
- this.Configuration.Controls.Add(this.cbStartMinimised);
- this.Configuration.Controls.Add(this.cbOverrideAddress);
- this.Configuration.Controls.Add(this.bReloadConfig);
- this.Configuration.Controls.Add(this.cbVendorOverride);
- this.Configuration.Controls.Add(this.cbVendorId);
- this.Configuration.Controls.Add(this.lPowerOff);
- this.Configuration.Controls.Add(this.cbPowerOffDevices);
- this.Configuration.Controls.Add(this.lWakeDevices);
- this.Configuration.Controls.Add(this.cbWakeDevices);
- this.Configuration.Controls.Add(this.cbActivateSource);
- this.Configuration.Controls.Add(this.lPlayerConfig);
- this.Configuration.Controls.Add(this.lAdapterConfig);
- this.Configuration.Controls.Add(this.cbDeviceType);
- this.Configuration.Controls.Add(this.bClose);
- this.Configuration.Controls.Add(this.bSaveConfig);
- this.Configuration.Controls.Add(this.cbPortNumber);
- this.Configuration.Controls.Add(this.tbPhysicalAddress);
- this.Configuration.Controls.Add(this.cbConnectedDevice);
- this.Configuration.Controls.Add(this.lDeviceType);
- this.Configuration.Controls.Add(this.lConnectedDevice);
- this.Configuration.Controls.Add(this.lPortNumber);
- this.Configuration.Location = new System.Drawing.Point(4, 22);
- this.Configuration.Name = "Configuration";
- this.Configuration.Padding = new System.Windows.Forms.Padding(3);
- this.Configuration.Size = new System.Drawing.Size(592, 344);
- this.Configuration.TabIndex = 0;
- this.Configuration.Text = "Configuration";
- this.Configuration.UseVisualStyleBackColor = true;
- //
- // cbOverrideAddress
- //
- this.cbOverrideAddress.AutoSize = true;
- this.cbOverrideAddress.Enabled = false;
- this.cbOverrideAddress.Location = new System.Drawing.Point(10, 97);
- this.cbOverrideAddress.Name = "cbOverrideAddress";
- this.cbOverrideAddress.Size = new System.Drawing.Size(151, 17);
- this.cbOverrideAddress.TabIndex = 31;
- this.cbOverrideAddress.Text = "override_physical_address";
- this.cbOverrideAddress.UseVisualStyleBackColor = true;
- //
- // bReloadConfig
- //
- this.bReloadConfig.Enabled = false;
- this.bReloadConfig.Location = new System.Drawing.Point(357, 315);
- this.bReloadConfig.Name = "bReloadConfig";
- this.bReloadConfig.Size = new System.Drawing.Size(125, 23);
- this.bReloadConfig.TabIndex = 30;
- this.bReloadConfig.Text = "Reset configuration";
- this.bReloadConfig.UseVisualStyleBackColor = true;
- this.bReloadConfig.Click += new System.EventHandler(this.BReloadConfigClick);
- //
- // cbVendorOverride
- //
- this.cbVendorOverride.AutoSize = true;
- this.cbVendorOverride.Enabled = false;
- this.cbVendorOverride.Location = new System.Drawing.Point(10, 156);
- this.cbVendorOverride.Name = "cbVendorOverride";
- this.cbVendorOverride.Size = new System.Drawing.Size(118, 17);
- this.cbVendorOverride.TabIndex = 29;
- this.cbVendorOverride.Text = "override_tv_vendor";
- this.cbVendorOverride.UseVisualStyleBackColor = true;
- //
- // lPowerOff
- //
- this.lPowerOff.AutoSize = true;
- this.lPowerOff.Location = new System.Drawing.Point(448, 35);
- this.lPowerOff.Name = "lPowerOff";
- this.lPowerOff.Size = new System.Drawing.Size(87, 13);
- this.lPowerOff.TabIndex = 26;
- this.lPowerOff.Text = "standby_devices";
- //
- // cbPowerOffDevices
- //
- this.cbPowerOffDevices.Enabled = false;
- this.cbPowerOffDevices.FormattingEnabled = true;
- this.cbPowerOffDevices.Items.AddRange(new object[] {
+ this.cbCommandDestination.Location = new System.Drawing.Point(437, 30);
+ this.cbCommandDestination.Name = "cbCommandDestination";
+ this.cbCommandDestination.Size = new System.Drawing.Size(121, 21);
+ this.cbCommandDestination.TabIndex = 0;
+ this.cbCommandDestination.Text = "0: TV";
+ this.cbCommandDestination.SelectedIndexChanged += new System.EventHandler(this.CbCommandDestinationSelectedIndexChanged);
+ //
+ // Configuration
+ //
+ this.Configuration.Controls.Add(this.cbStartMinimised);
+ this.Configuration.Controls.Add(this.cbOverrideAddress);
+ this.Configuration.Controls.Add(this.bReloadConfig);
+ this.Configuration.Controls.Add(this.cbVendorOverride);
+ this.Configuration.Controls.Add(this.cbVendorId);
+ this.Configuration.Controls.Add(this.lPowerOff);
+ this.Configuration.Controls.Add(this.cbPowerOffDevices);
+ this.Configuration.Controls.Add(this.lWakeDevices);
+ this.Configuration.Controls.Add(this.cbWakeDevices);
+ this.Configuration.Controls.Add(this.cbActivateSource);
+ this.Configuration.Controls.Add(this.lPlayerConfig);
+ this.Configuration.Controls.Add(this.lAdapterConfig);
+ this.Configuration.Controls.Add(this.cbDeviceType);
+ this.Configuration.Controls.Add(this.bClose);
+ this.Configuration.Controls.Add(this.bSaveConfig);
+ this.Configuration.Controls.Add(this.cbPortNumber);
+ this.Configuration.Controls.Add(this.tbPhysicalAddress);
+ this.Configuration.Controls.Add(this.cbConnectedDevice);
+ this.Configuration.Controls.Add(this.lDeviceType);
+ this.Configuration.Controls.Add(this.lConnectedDevice);
+ this.Configuration.Controls.Add(this.lPortNumber);
+ this.Configuration.Location = new System.Drawing.Point(4, 22);
+ this.Configuration.Name = "Configuration";
+ this.Configuration.Padding = new System.Windows.Forms.Padding(3);
+ this.Configuration.Size = new System.Drawing.Size(592, 344);
+ this.Configuration.TabIndex = 0;
+ this.Configuration.Text = "Configuration";
+ this.Configuration.UseVisualStyleBackColor = true;
+ //
+ // cbStartMinimised
+ //
+ this.cbStartMinimised.AutoSize = true;
+ this.cbStartMinimised.Enabled = false;
+ this.cbStartMinimised.Location = new System.Drawing.Point(9, 232);
+ this.cbStartMinimised.Name = "cbStartMinimised";
+ this.cbStartMinimised.Size = new System.Drawing.Size(118, 17);
+ this.cbStartMinimised.TabIndex = 32;
+ this.cbStartMinimised.Text = "global_start_hidden";
+ this.cbStartMinimised.UseVisualStyleBackColor = true;
+ //
+ // cbOverrideAddress
+ //
+ this.cbOverrideAddress.AutoSize = true;
+ this.cbOverrideAddress.Enabled = false;
+ this.cbOverrideAddress.Location = new System.Drawing.Point(10, 97);
+ this.cbOverrideAddress.Name = "cbOverrideAddress";
+ this.cbOverrideAddress.Size = new System.Drawing.Size(151, 17);
+ this.cbOverrideAddress.TabIndex = 31;
+ this.cbOverrideAddress.Text = "override_physical_address";
+ this.cbOverrideAddress.UseVisualStyleBackColor = true;
+ //
+ // bReloadConfig
+ //
+ this.bReloadConfig.Enabled = false;
+ this.bReloadConfig.Location = new System.Drawing.Point(357, 315);
+ this.bReloadConfig.Name = "bReloadConfig";
+ this.bReloadConfig.Size = new System.Drawing.Size(125, 23);
+ this.bReloadConfig.TabIndex = 30;
+ this.bReloadConfig.Text = "Reset configuration";
+ this.bReloadConfig.UseVisualStyleBackColor = true;
+ this.bReloadConfig.Click += new System.EventHandler(this.BReloadConfigClick);
+ //
+ // cbVendorOverride
+ //
+ this.cbVendorOverride.AutoSize = true;
+ this.cbVendorOverride.Enabled = false;
+ this.cbVendorOverride.Location = new System.Drawing.Point(10, 156);
+ this.cbVendorOverride.Name = "cbVendorOverride";
+ this.cbVendorOverride.Size = new System.Drawing.Size(118, 17);
+ this.cbVendorOverride.TabIndex = 29;
+ this.cbVendorOverride.Text = "override_tv_vendor";
+ this.cbVendorOverride.UseVisualStyleBackColor = true;
+ //
+ // lPowerOff
+ //
+ this.lPowerOff.AutoSize = true;
+ this.lPowerOff.Location = new System.Drawing.Point(448, 35);
+ this.lPowerOff.Name = "lPowerOff";
+ this.lPowerOff.Size = new System.Drawing.Size(87, 13);
+ this.lPowerOff.TabIndex = 26;
+ this.lPowerOff.Text = "standby_devices";
+ //
+ // cbPowerOffDevices
+ //
+ this.cbPowerOffDevices.Enabled = false;
+ this.cbPowerOffDevices.FormattingEnabled = true;
+ this.cbPowerOffDevices.Items.AddRange(new object[] {
"global_standby_devices"});
- this.cbPowerOffDevices.Location = new System.Drawing.Point(450, 52);
- this.cbPowerOffDevices.Name = "cbPowerOffDevices";
- this.cbPowerOffDevices.Size = new System.Drawing.Size(118, 94);
- this.cbPowerOffDevices.TabIndex = 25;
- //
- // lWakeDevices
- //
- this.lWakeDevices.AutoSize = true;
- this.lWakeDevices.Location = new System.Drawing.Point(328, 35);
- this.lWakeDevices.Name = "lWakeDevices";
- this.lWakeDevices.Size = new System.Drawing.Size(76, 13);
- this.lWakeDevices.TabIndex = 24;
- this.lWakeDevices.Text = "wake_devices";
- //
- // cbWakeDevices
- //
- this.cbWakeDevices.Enabled = false;
- this.cbWakeDevices.FormattingEnabled = true;
- this.cbWakeDevices.Items.AddRange(new object[] {
+ this.cbPowerOffDevices.Location = new System.Drawing.Point(450, 52);
+ this.cbPowerOffDevices.Name = "cbPowerOffDevices";
+ this.cbPowerOffDevices.Size = new System.Drawing.Size(118, 94);
+ this.cbPowerOffDevices.TabIndex = 25;
+ //
+ // lWakeDevices
+ //
+ this.lWakeDevices.AutoSize = true;
+ this.lWakeDevices.Location = new System.Drawing.Point(328, 35);
+ this.lWakeDevices.Name = "lWakeDevices";
+ this.lWakeDevices.Size = new System.Drawing.Size(76, 13);
+ this.lWakeDevices.TabIndex = 24;
+ this.lWakeDevices.Text = "wake_devices";
+ //
+ // cbWakeDevices
+ //
+ this.cbWakeDevices.Enabled = false;
+ this.cbWakeDevices.FormattingEnabled = true;
+ this.cbWakeDevices.Items.AddRange(new object[] {
"global_wake_devices"});
- this.cbWakeDevices.Location = new System.Drawing.Point(320, 52);
- this.cbWakeDevices.Name = "cbWakeDevices";
- this.cbWakeDevices.Size = new System.Drawing.Size(118, 94);
- this.cbWakeDevices.TabIndex = 23;
- //
- // cbActivateSource
- //
- this.cbActivateSource.AutoSize = true;
- this.cbActivateSource.Enabled = false;
- this.cbActivateSource.Location = new System.Drawing.Point(9, 209);
- this.cbActivateSource.Name = "cbActivateSource";
- this.cbActivateSource.Size = new System.Drawing.Size(136, 17);
- this.cbActivateSource.TabIndex = 19;
- this.cbActivateSource.Text = "global_activate_source";
- this.cbActivateSource.UseVisualStyleBackColor = true;
- //
- // lPlayerConfig
- //
- this.lPlayerConfig.AutoSize = true;
- this.lPlayerConfig.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.lPlayerConfig.Location = new System.Drawing.Point(6, 182);
- this.lPlayerConfig.Name = "lPlayerConfig";
- this.lPlayerConfig.Size = new System.Drawing.Size(198, 24);
- this.lPlayerConfig.TabIndex = 16;
- this.lPlayerConfig.Text = "Player Configuration";
- //
- // lAdapterConfig
- //
- this.lAdapterConfig.AutoSize = true;
- this.lAdapterConfig.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.lAdapterConfig.Location = new System.Drawing.Point(6, 3);
- this.lAdapterConfig.Name = "lAdapterConfig";
- this.lAdapterConfig.Size = new System.Drawing.Size(213, 24);
- this.lAdapterConfig.TabIndex = 15;
- this.lAdapterConfig.Text = "Adapter Configuration";
- //
- // bClose
- //
- this.bClose.Enabled = false;
- this.bClose.Location = new System.Drawing.Point(95, 315);
- this.bClose.Name = "bClose";
- this.bClose.Size = new System.Drawing.Size(125, 23);
- this.bClose.TabIndex = 13;
- this.bClose.Text = "Close";
- this.bClose.UseVisualStyleBackColor = true;
- this.bClose.Click += new System.EventHandler(this.BCancelClick);
- //
- // bSaveConfig
- //
- this.bSaveConfig.Enabled = false;
- this.bSaveConfig.Location = new System.Drawing.Point(226, 315);
- this.bSaveConfig.Name = "bSaveConfig";
- this.bSaveConfig.Size = new System.Drawing.Size(125, 23);
- this.bSaveConfig.TabIndex = 12;
- this.bSaveConfig.Text = "Persist configuration";
- this.bSaveConfig.UseVisualStyleBackColor = true;
- this.bSaveConfig.Click += new System.EventHandler(this.BSaveClick);
- //
- // lDeviceType
- //
- this.lDeviceType.AutoSize = true;
- this.lDeviceType.Location = new System.Drawing.Point(6, 126);
- this.lDeviceType.Name = "lDeviceType";
- this.lDeviceType.Size = new System.Drawing.Size(65, 13);
- this.lDeviceType.TabIndex = 3;
- this.lDeviceType.Text = "device_type";
- //
- // lConnectedDevice
- //
- this.lConnectedDevice.AutoSize = true;
- this.lConnectedDevice.Location = new System.Drawing.Point(6, 70);
- this.lConnectedDevice.Name = "lConnectedDevice";
- this.lConnectedDevice.Size = new System.Drawing.Size(139, 13);
- this.lConnectedDevice.TabIndex = 1;
- this.lConnectedDevice.Text = "connected_to_hdmi_device";
- //
- // lPortNumber
- //
- this.lPortNumber.AutoSize = true;
- this.lPortNumber.Location = new System.Drawing.Point(6, 43);
- this.lPortNumber.Name = "lPortNumber";
- this.lPortNumber.Size = new System.Drawing.Size(53, 13);
- this.lPortNumber.TabIndex = 0;
- this.lPortNumber.Text = "hdmi_port";
- //
- // tabPanel
- //
- this.tabPanel.Controls.Add(this.Configuration);
- this.tabPanel.Controls.Add(this.tbTestCommands);
- this.tabPanel.Controls.Add(this.LogOutput);
- this.tabPanel.Location = new System.Drawing.Point(12, 27);
- this.tabPanel.Name = "tabPanel";
- this.tabPanel.SelectedIndex = 0;
- this.tabPanel.Size = new System.Drawing.Size(600, 370);
- this.tabPanel.TabIndex = 0;
- this.tabPanel.SelectedIndexChanged += new System.EventHandler(this.TabControl1SelectedIndexChanged);
- //
- // menuStrip1
- //
- this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.cbWakeDevices.Location = new System.Drawing.Point(320, 52);
+ this.cbWakeDevices.Name = "cbWakeDevices";
+ this.cbWakeDevices.Size = new System.Drawing.Size(118, 94);
+ this.cbWakeDevices.TabIndex = 23;
+ //
+ // cbActivateSource
+ //
+ this.cbActivateSource.AutoSize = true;
+ this.cbActivateSource.Enabled = false;
+ this.cbActivateSource.Location = new System.Drawing.Point(9, 209);
+ this.cbActivateSource.Name = "cbActivateSource";
+ this.cbActivateSource.Size = new System.Drawing.Size(136, 17);
+ this.cbActivateSource.TabIndex = 19;
+ this.cbActivateSource.Text = "global_activate_source";
+ this.cbActivateSource.UseVisualStyleBackColor = true;
+ //
+ // lPlayerConfig
+ //
+ this.lPlayerConfig.AutoSize = true;
+ this.lPlayerConfig.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.lPlayerConfig.Location = new System.Drawing.Point(6, 182);
+ this.lPlayerConfig.Name = "lPlayerConfig";
+ this.lPlayerConfig.Size = new System.Drawing.Size(198, 24);
+ this.lPlayerConfig.TabIndex = 16;
+ this.lPlayerConfig.Text = "Player Configuration";
+ //
+ // lAdapterConfig
+ //
+ this.lAdapterConfig.AutoSize = true;
+ this.lAdapterConfig.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.lAdapterConfig.Location = new System.Drawing.Point(6, 3);
+ this.lAdapterConfig.Name = "lAdapterConfig";
+ this.lAdapterConfig.Size = new System.Drawing.Size(213, 24);
+ this.lAdapterConfig.TabIndex = 15;
+ this.lAdapterConfig.Text = "Adapter Configuration";
+ //
+ // bClose
+ //
+ this.bClose.Enabled = false;
+ this.bClose.Location = new System.Drawing.Point(95, 315);
+ this.bClose.Name = "bClose";
+ this.bClose.Size = new System.Drawing.Size(125, 23);
+ this.bClose.TabIndex = 13;
+ this.bClose.Text = "Close";
+ this.bClose.UseVisualStyleBackColor = true;
+ this.bClose.Click += new System.EventHandler(this.BCancelClick);
+ //
+ // bSaveConfig
+ //
+ this.bSaveConfig.Enabled = false;
+ this.bSaveConfig.Location = new System.Drawing.Point(226, 315);
+ this.bSaveConfig.Name = "bSaveConfig";
+ this.bSaveConfig.Size = new System.Drawing.Size(125, 23);
+ this.bSaveConfig.TabIndex = 12;
+ this.bSaveConfig.Text = "Persist configuration";
+ this.bSaveConfig.UseVisualStyleBackColor = true;
+ this.bSaveConfig.Click += new System.EventHandler(this.BSaveClick);
+ //
+ // lDeviceType
+ //
+ this.lDeviceType.AutoSize = true;
+ this.lDeviceType.Location = new System.Drawing.Point(6, 126);
+ this.lDeviceType.Name = "lDeviceType";
+ this.lDeviceType.Size = new System.Drawing.Size(65, 13);
+ this.lDeviceType.TabIndex = 3;
+ this.lDeviceType.Text = "device_type";
+ //
+ // lConnectedDevice
+ //
+ this.lConnectedDevice.AutoSize = true;
+ this.lConnectedDevice.Location = new System.Drawing.Point(6, 70);
+ this.lConnectedDevice.Name = "lConnectedDevice";
+ this.lConnectedDevice.Size = new System.Drawing.Size(139, 13);
+ this.lConnectedDevice.TabIndex = 1;
+ this.lConnectedDevice.Text = "connected_to_hdmi_device";
+ //
+ // lPortNumber
+ //
+ this.lPortNumber.AutoSize = true;
+ this.lPortNumber.Location = new System.Drawing.Point(6, 43);
+ this.lPortNumber.Name = "lPortNumber";
+ this.lPortNumber.Size = new System.Drawing.Size(53, 13);
+ this.lPortNumber.TabIndex = 0;
+ this.lPortNumber.Text = "hdmi_port";
+ //
+ // tabPanel
+ //
+ this.tabPanel.Controls.Add(this.Configuration);
+ this.tabPanel.Controls.Add(this.tbTestCommands);
+ this.tabPanel.Controls.Add(this.LogOutput);
+ this.tabPanel.Location = new System.Drawing.Point(12, 27);
+ this.tabPanel.Name = "tabPanel";
+ this.tabPanel.SelectedIndex = 0;
+ this.tabPanel.Size = new System.Drawing.Size(600, 370);
+ this.tabPanel.TabIndex = 0;
+ this.tabPanel.SelectedIndexChanged += new System.EventHandler(this.TabControl1SelectedIndexChanged);
+ //
+ // menuStrip1
+ //
+ this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.fileToolStripMenuItem,
this.applicationsToolStripMenuItem,
this.helpToolStripMenuItem});
- this.menuStrip1.Location = new System.Drawing.Point(0, 0);
- this.menuStrip1.Name = "menuStrip1";
- this.menuStrip1.Size = new System.Drawing.Size(624, 24);
- this.menuStrip1.TabIndex = 3;
- this.menuStrip1.Text = "menuStrip1";
- //
- // fileToolStripMenuItem
- //
- this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.menuStrip1.Location = new System.Drawing.Point(0, 0);
+ this.menuStrip1.Name = "menuStrip1";
+ this.menuStrip1.Size = new System.Drawing.Size(624, 24);
+ this.menuStrip1.TabIndex = 3;
+ this.menuStrip1.Text = "menuStrip1";
+ //
+ // fileToolStripMenuItem
+ //
+ this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.hideToolStripMenuItem,
this.advancedModeToolStripMenuItem,
this.closeToolStripMenuItem});
- this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
- this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20);
- this.fileToolStripMenuItem.Text = "File";
- //
- // hideToolStripMenuItem
- //
- this.hideToolStripMenuItem.Name = "hideToolStripMenuItem";
- this.hideToolStripMenuItem.Size = new System.Drawing.Size(161, 22);
- this.hideToolStripMenuItem.Text = "Hide";
- this.hideToolStripMenuItem.Click += new System.EventHandler(this.HideToolStripMenuItemClick);
- //
- // advancedModeToolStripMenuItem
- //
- this.advancedModeToolStripMenuItem.Name = "advancedModeToolStripMenuItem";
- this.advancedModeToolStripMenuItem.Size = new System.Drawing.Size(161, 22);
- this.advancedModeToolStripMenuItem.Text = "Advanced mode";
- this.advancedModeToolStripMenuItem.Click += new System.EventHandler(this.AdvancedModeToolStripMenuItemClick);
- //
- // closeToolStripMenuItem
- //
- this.closeToolStripMenuItem.Name = "closeToolStripMenuItem";
- this.closeToolStripMenuItem.Size = new System.Drawing.Size(161, 22);
- this.closeToolStripMenuItem.Text = "Close";
- this.closeToolStripMenuItem.Click += new System.EventHandler(this.CloseToolStripMenuItemClick);
- //
- // applicationsToolStripMenuItem
- //
- this.applicationsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
+ this.fileToolStripMenuItem.Size = new System.Drawing.Size(35, 20);
+ this.fileToolStripMenuItem.Text = "File";
+ //
+ // hideToolStripMenuItem
+ //
+ this.hideToolStripMenuItem.Name = "hideToolStripMenuItem";
+ this.hideToolStripMenuItem.Size = new System.Drawing.Size(151, 22);
+ this.hideToolStripMenuItem.Text = "Hide";
+ this.hideToolStripMenuItem.Click += new System.EventHandler(this.HideToolStripMenuItemClick);
+ //
+ // advancedModeToolStripMenuItem
+ //
+ this.advancedModeToolStripMenuItem.Name = "advancedModeToolStripMenuItem";
+ this.advancedModeToolStripMenuItem.Size = new System.Drawing.Size(151, 22);
+ this.advancedModeToolStripMenuItem.Text = "Advanced mode";
+ this.advancedModeToolStripMenuItem.Click += new System.EventHandler(this.AdvancedModeToolStripMenuItemClick);
+ //
+ // closeToolStripMenuItem
+ //
+ this.closeToolStripMenuItem.Name = "closeToolStripMenuItem";
+ this.closeToolStripMenuItem.Size = new System.Drawing.Size(151, 22);
+ this.closeToolStripMenuItem.Text = "Close";
+ this.closeToolStripMenuItem.Click += new System.EventHandler(this.CloseToolStripMenuItemClick);
+ //
+ // applicationsToolStripMenuItem
+ //
+ this.applicationsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.addNewApplicationToolStripMenuItem});
- this.applicationsToolStripMenuItem.Enabled = false;
- this.applicationsToolStripMenuItem.Name = "applicationsToolStripMenuItem";
- this.applicationsToolStripMenuItem.Size = new System.Drawing.Size(85, 20);
- this.applicationsToolStripMenuItem.Text = "Applications";
- //
- // addNewApplicationToolStripMenuItem
- //
- this.addNewApplicationToolStripMenuItem.Enabled = false;
- this.addNewApplicationToolStripMenuItem.Name = "addNewApplicationToolStripMenuItem";
- this.addNewApplicationToolStripMenuItem.Size = new System.Drawing.Size(183, 22);
- this.addNewApplicationToolStripMenuItem.Text = "Add new application";
- this.addNewApplicationToolStripMenuItem.Click += new System.EventHandler(this.AddNewApplicationToolStripMenuItemClick);
- //
- // helpToolStripMenuItem
- //
- this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.applicationsToolStripMenuItem.Enabled = false;
+ this.applicationsToolStripMenuItem.Name = "applicationsToolStripMenuItem";
+ this.applicationsToolStripMenuItem.Size = new System.Drawing.Size(76, 20);
+ this.applicationsToolStripMenuItem.Text = "Applications";
+ //
+ // addNewApplicationToolStripMenuItem
+ //
+ this.addNewApplicationToolStripMenuItem.Enabled = false;
+ this.addNewApplicationToolStripMenuItem.Name = "addNewApplicationToolStripMenuItem";
+ this.addNewApplicationToolStripMenuItem.Size = new System.Drawing.Size(170, 22);
+ this.addNewApplicationToolStripMenuItem.Text = "Add new application";
+ this.addNewApplicationToolStripMenuItem.Click += new System.EventHandler(this.AddNewApplicationToolStripMenuItemClick);
+ //
+ // helpToolStripMenuItem
+ //
+ this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.aboutToolStripMenuItem});
- this.helpToolStripMenuItem.Name = "helpToolStripMenuItem";
- this.helpToolStripMenuItem.Size = new System.Drawing.Size(44, 20);
- this.helpToolStripMenuItem.Text = "Help";
- //
- // aboutToolStripMenuItem
- //
- this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem";
- this.aboutToolStripMenuItem.Size = new System.Drawing.Size(107, 22);
- this.aboutToolStripMenuItem.Text = "About";
- this.aboutToolStripMenuItem.Click += new System.EventHandler(this.AboutToolStripMenuItemClick);
- //
- // cbStartMinimised
- //
- this.cbStartMinimised.AutoSize = true;
- this.cbStartMinimised.Enabled = false;
- this.cbStartMinimised.Location = new System.Drawing.Point(9, 232);
- this.cbStartMinimised.Name = "cbStartMinimised";
- this.cbStartMinimised.Size = new System.Drawing.Size(118, 17);
- this.cbStartMinimised.TabIndex = 32;
- this.cbStartMinimised.Text = "global_start_hidden";
- this.cbStartMinimised.UseVisualStyleBackColor = true;
- //
- // CECTray
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(624, 442);
- this.Controls.Add(this.menuStrip1);
- this.Controls.Add(this.lStatus);
- this.Controls.Add(this.pProgress);
- this.Controls.Add(this.tabPanel);
- this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
- this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
- this.MainMenuStrip = this.menuStrip1;
- this.MaximizeBox = false;
- this.Name = "CECTray";
- this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
- this.Load += new System.EventHandler(this.CECTrayLoad);
- this.Resize += new System.EventHandler(this.CECTrayResize);
- this.trayIconMenu.ResumeLayout(false);
- this.LogOutput.ResumeLayout(false);
- this.LogOutput.PerformLayout();
- this.tbTestCommands.ResumeLayout(false);
- this.tbTestCommands.PerformLayout();
- this.Configuration.ResumeLayout(false);
- this.Configuration.PerformLayout();
- this.tabPanel.ResumeLayout(false);
- this.menuStrip1.ResumeLayout(false);
- this.menuStrip1.PerformLayout();
- this.ResumeLayout(false);
- this.PerformLayout();
+ this.helpToolStripMenuItem.Name = "helpToolStripMenuItem";
+ this.helpToolStripMenuItem.Size = new System.Drawing.Size(40, 20);
+ this.helpToolStripMenuItem.Text = "Help";
+ //
+ // aboutToolStripMenuItem
+ //
+ this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem";
+ this.aboutToolStripMenuItem.Size = new System.Drawing.Size(103, 22);
+ this.aboutToolStripMenuItem.Text = "About";
+ this.aboutToolStripMenuItem.Click += new System.EventHandler(this.AboutToolStripMenuItemClick);
+ //
+ // CECTray
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(624, 442);
+ this.Controls.Add(this.menuStrip1);
+ this.Controls.Add(this.lStatus);
+ this.Controls.Add(this.pProgress);
+ this.Controls.Add(this.tabPanel);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.MainMenuStrip = this.menuStrip1;
+ this.MaximizeBox = false;
+ this.Name = "CECTray";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+ this.Resize += new System.EventHandler(this.CECTrayResize);
+ this.trayIconMenu.ResumeLayout(false);
+ this.LogOutput.ResumeLayout(false);
+ this.LogOutput.PerformLayout();
+ this.tbTestCommands.ResumeLayout(false);
+ this.tbTestCommands.PerformLayout();
+ this.Configuration.ResumeLayout(false);
+ this.Configuration.PerformLayout();
+ this.tabPanel.ResumeLayout(false);
+ this.menuStrip1.ResumeLayout(false);
+ this.menuStrip1.PerformLayout();
+ this.ResumeLayout(false);
+ this.PerformLayout();
}
using LibCECTray.controller;
using LibCECTray.controller.applications;
using LibCECTray.settings;
+using Microsoft.Win32;
+using System.Security.Permissions;
namespace LibCECTray.ui
{
else
OnShow();
};
+ SystemEvents.PowerModeChanged += new PowerModeChangedEventHandler(OnPowerModeChanged);
+ SystemEvents.SessionEnding += new SessionEndingEventHandler(OnSessionEnding);
+ }
+
+ public void OnSessionEnding(object sender, SessionEndingEventArgs e)
+ {
+ Controller.Close();
+ }
+
+ public void OnPowerModeChanged(Object sender, PowerModeChangedEventArgs e)
+ {
+ switch (e.Mode)
+ {
+ case PowerModes.Resume:
+ Controller.Initialise();
+ break;
+ case PowerModes.Suspend:
+ Controller.Close();
+ break;
+ case PowerModes.StatusChange:
+ break;
+ }
}
public override sealed string Text
set { base.Text = value; }
}
- private void CECTrayLoad(object sender, EventArgs e)
+ public void Initialise()
{
Controller.Initialise();
}
private CECController _controller;
public CECController Controller
{
- get { return _controller ?? (_controller = new CECController(this)); }
+ get
+ {
+ return _controller ?? (_controller = new CECController(this));
+ }
}
public Control.ControlCollection TabControls
{
--- /dev/null
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Windows.Forms;
+using CecSharp;
+
+namespace LibCECTray.ui
+{
+ interface IAsyncControls
+ {
+ void SetControlEnabled(Control control, bool val);
+ void SetControlText(Control control, string val);
+ void SetToolStripMenuText(ToolStripMenuItem item, string val);
+ void SetCheckboxChecked(CheckBox control, bool val);
+ void SetCheckboxItemChecked(CheckedListBox control, int index, bool val);
+ void SetProgressValue(ProgressBar control, int val);
+ void SetComboBoxItems(ComboBox control, int selectedIndex, object[] val);
+ void SetControlVisible(Control control, bool val);
+ void DisplayDialog(Form control, bool modal);
+ void SafeHide(bool val);
+ void SetSelectedIndex(ComboBox control, int index);
+ string GetSelectedTabName(TabControl container, TabControl.TabPageCollection tabPages);
+ void SelectKeypressRow(Control container, DataGridView dgView, CecKeypress key);
+ }
+}
void CCECProcessor::ProcessCommand(const cec_command &command)
{
// log the command
- CStdString dataStr;
- dataStr.Format(">> %1x%1x", command.initiator, command.destination);
- if (command.opcode_set == 1)
- dataStr.AppendFormat(":%02x", command.opcode);
- for (uint8_t iPtr = 0; iPtr < command.parameters.size; iPtr++)
- dataStr.AppendFormat(":%02x", (unsigned int)command.parameters[iPtr]);
- m_libcec->AddLog(CEC_LOG_TRAFFIC, dataStr.c_str());
+ m_libcec->AddLog(CEC_LOG_TRAFFIC, ToString(command).c_str());
// find the initiator
CCECBusDevice *device = m_busDevices->At(command.initiator);
// replace a previous client
CLockObject lock(m_mutex);
m_clients.erase((*it)->GetLogicalAddress());
- m_clients.insert(make_pair<cec_logical_address, CCECClient *>((*it)->GetLogicalAddress(), client));
+ m_clients.insert(make_pair((*it)->GetLogicalAddress(), client));
}
// set the new ackmask
* http://www.pulse-eight.net/
*/
+#include "lib/platform/util/StdString.h"
+
namespace CEC
{
class CCECTypeUtils
case CEC_VENDOR_SONY:
return "Sony";
case CEC_VENDOR_TOSHIBA:
+ case CEC_VENDOR_TOSHIBA2:
return "Toshiba";
case CEC_VENDOR_AKAI:
return "Akai";
return "2.1.0";
case CEC_CLIENT_VERSION_2_1_1:
return "2.1.1";
+ case CEC_CLIENT_VERSION_2_1_2:
+ return "2.1.2";
+ case CEC_CLIENT_VERSION_2_1_3:
+ return "2.1.3";
default:
return "Unknown";
}
return "2.1.0";
case CEC_SERVER_VERSION_2_1_1:
return "2.1.1";
+ case CEC_SERVER_VERSION_2_1_2:
+ return "2.1.2";
+ case CEC_SERVER_VERSION_2_1_3:
+ return "2.1.3";
default:
return "Unknown";
}
}
return true;
}
+
+ static CStdString ToString(const cec_command& command)
+ {
+ CStdString dataStr;
+ dataStr.Format(">> %1x%1x", command.initiator, command.destination);
+ if (command.opcode_set == 1)
+ dataStr.AppendFormat(":%02x", command.opcode);
+ for (uint8_t iPtr = 0; iPtr < command.parameters.size; iPtr++)
+ dataStr.AppendFormat(":%02x", (unsigned int)command.parameters[iPtr]);
+ return dataStr;
+ }
};
}
m_dev->Ioctl(CEC_IOCTL_GET_SW_VERSION, &vers);
- return (vers.majorVersionNr * 100) + vers.minorVersionNr;
+ return vers.majorVersionNr;
}
if (frame.service == CEC_RX_PKT)
{
cec_command cmd;
-
+
cec_command::Format(
cmd, initiator, destination,
( frame.size > 3 ) ? cec_opcode(frame.data[0]) : CEC_OPCODE_NONE);
-
+
for( uint8_t i = 1; i < frame.size-3; i++ )
- cmd.parameters.PushBack(frame.data[i]);
-
- m_callback->OnCommandReceived(cmd);
+ cmd.parameters.PushBack(frame.data[i]);
+
+ if (!IsStopped())
+ m_callback->OnCommandReceived(cmd);
}
else if (frame.service == CEC_ACK_PKT)
{
#include "lib/implementations/SLCommandHandler.h"
#include "lib/implementations/VLCommandHandler.h"
#include "lib/implementations/PHCommandHandler.h"
+#include "lib/implementations/RLCommandHandler.h"
#include "lib/LibCEC.h"
#include "lib/CECTypeUtils.h"
#include "lib/platform/util/timeutils.h"
case CEC_VENDOR_PHILIPS:
m_handler = new CPHCommandHandler(this, iTransmitTimeout, iTransmitWait, iTransmitRetries, iActiveSourcePending);
break;
+ case CEC_VENDOR_TOSHIBA:
+ case CEC_VENDOR_TOSHIBA2:
+ m_handler = new CRLCommandHandler(this, iTransmitTimeout, iTransmitWait, iTransmitRetries, iActiveSourcePending);
+ break;
default:
m_handler = new CCECCommandHandler(this, iTransmitTimeout, iTransmitWait, iTransmitRetries, iActiveSourcePending);
break;
device->MarkAsActiveSource();
return COMMAND_HANDLED;
}
- else
- {
- cec_logical_address previousSource = m_processor->GetActiveSource(false);
- CCECBusDevice* device = m_processor->GetDevice(previousSource);
- if (device && device->GetCurrentPhysicalAddress() != iStreamAddress)
- device->MarkAsInactiveSource();
- }
}
return CEC_ABORT_REASON_INVALID_OPERAND;
{
LIB_CEC->AddLog(CEC_LOG_DEBUG, "sending abort with opcode %02x and reason '%s' to %s", command.opcode, ToString(reason), ToString(command.initiator));
m_processor->TransmitAbort(command.destination, command.initiator, command.opcode, reason);
+
+ if (reason == CEC_ABORT_REASON_INVALID_OPERAND)
+ RequestEmailFromCustomer(command);
}
}
CLockObject lock(m_mutex);
m_iActiveSourcePending = GetTimeMs() + iDelay;
}
+
+void CCECCommandHandler::RequestEmailFromCustomer(const cec_command& command)
+{
+ bool bInserted(false);
+ map<cec_opcode, vector<cec_command> >::iterator it = m_logsRequested.find(command.opcode);
+ if (it != m_logsRequested.end())
+ {
+ for (vector<cec_command>::const_iterator it2 = it->second.begin(); it2 != it->second.end(); it2++)
+ {
+ // we already logged this one
+ if ((*it2).parameters == command.parameters)
+ return;
+ }
+
+ it->second.push_back(command);
+ bInserted = true;
+ }
+
+ if (!bInserted)
+ {
+ vector<cec_command> commands;
+ commands.push_back(command);
+ m_logsRequested.insert(make_pair(command.opcode, commands));
+ }
+
+ LIB_CEC->AddLog(CEC_LOG_NOTICE, "Unmapped code detected. Please send an email to support@pulse-eight.com with the following details, and if you pressed a key, tell us which one you pressed, and we'll add support for this it.\nCEC command: %s\nVendor ID: %s (%06x)", ToString(command).c_str(), ToString(m_vendorId), m_vendorId);
+}
+
#include <vector>
#include <string>
+#include <map>
#include "lib/platform/threads/mutex.h"
namespace CEC
virtual int HandleVendorRemoteButtonDown(const cec_command& command);
virtual int HandleVendorRemoteButtonUp(const cec_command & UNUSED(command)) { return COMMAND_HANDLED; }
virtual void UnhandledCommand(const cec_command &command, const cec_abort_reason reason);
+ virtual void RequestEmailFromCustomer(const cec_command& command);
virtual void VendorPreActivateSourceHook(void) {};
int64_t m_iActiveSourcePending;
PLATFORM::CMutex m_mutex;
int64_t m_iPowerStatusRequested;
+ std::map<cec_opcode, std::vector<cec_command> > m_logsRequested;
};
};
#include "lib/devices/CECBusDevice.h"
#include "lib/CECProcessor.h"
#include "lib/LibCEC.h"
+#include "lib/CECClient.h"
using namespace CEC;
using namespace PLATFORM;
+#define RL_KEY_TOP_MENU 0x10
+#define RL_KEY_DVD_MENU 0x11
+
CRLCommandHandler::CRLCommandHandler(CCECBusDevice *busDevice,
int32_t iTransmitTimeout /* = CEC_DEFAULT_TRANSMIT_TIMEOUT */,
int32_t iTransmitWait /* = CEC_DEFAULT_TRANSMIT_WAIT */,
return true;
}
+
+int CRLCommandHandler::HandleDeviceVendorCommandWithId(const cec_command &command)
+{
+ if (!m_processor->IsHandledByLibCEC(command.destination))
+ return CEC_ABORT_REASON_INVALID_OPERAND;
+
+ if (command.parameters.size < 4)
+ return CEC_ABORT_REASON_INVALID_OPERAND;
+
+ // check whether the vendor id matches
+ if (command.parameters[0] != 0x00 ||
+ command.parameters[1] != 0x00 ||
+ command.parameters[2] != 0x39)
+ return CEC_ABORT_REASON_INVALID_OPERAND;
+
+ bool bHandled(false);
+ CCECClient* client = m_processor->GetClient(command.destination);
+ if (client)
+ {
+ switch (command.parameters[3])
+ {
+ // user control pressed
+ case CEC_OPCODE_USER_CONTROL_PRESSED:
+ if (command.parameters.size == 5)
+ {
+ bHandled = true;
+ switch (command.parameters[4])
+ {
+ // top menu -> root menu
+ case RL_KEY_TOP_MENU:
+ client->SetCurrentButton(CEC_USER_CONTROL_CODE_ROOT_MENU);
+ break;
+ // dvd menu -> contents menu
+ case RL_KEY_DVD_MENU:
+ client->SetCurrentButton(CEC_USER_CONTROL_CODE_CONTENTS_MENU);
+ break;
+ default:
+ bHandled = false;
+ break;
+ }
+ }
+ break;
+ // user control released
+ case CEC_OPCODE_USER_CONTROL_RELEASE:
+ client->AddKey();
+ bHandled = true;
+ break;
+ default:
+ break;
+ }
+ }
+
+ return bHandled ?
+ COMMAND_HANDLED :
+ CCECCommandHandler::HandleDeviceVendorCommandWithId(command);
+}
virtual ~CRLCommandHandler(void) {};
bool InitHandler(void);
+ int HandleDeviceVendorCommandWithId(const cec_command &command);
};
};
#if !defined(__APPLE__) && !defined(__FreeBSD__) && defined(HAVE_LOCKDEV)
return dev_unlock(strDeviceName, 0) == 0;
#else
- void *tmp = (void*)strDeviceName; // silence unused warning
- tmp = NULL;
+ (void)strDeviceName; // silence unused warning
return true;
#endif
}
set NSIS="%ProgramFiles(x86)%\NSIS\makensis.exe"
) ELSE GOTO NONSIS
-rem Check for VC10
-IF "%VS100COMNTOOLS%"=="" (
- set COMPILER10="%ProgramFiles%\Microsoft Visual Studio 10.0\Common7\IDE\VCExpress.exe"
-) ELSE IF EXIST "%VS100COMNTOOLS%\..\IDE\VCExpress.exe" (
- set COMPILER10="%VS100COMNTOOLS%\..\IDE\VCExpress.exe"
-) ELSE IF EXIST "%VS100COMNTOOLS%\..\IDE\devenv.exe" (
- set COMPILER10="%VS100COMNTOOLS%\..\IDE\devenv.exe"
-) ELSE GOTO NOSDK10
+rem Check for VC11
+IF "%VS110COMNTOOLS%"=="" (
+ set COMPILER11="%ProgramFiles%\Microsoft Visual Studio 11.0\Common7\IDE\VCExpress.exe"
+) ELSE IF EXIST "%VS110COMNTOOLS%\..\IDE\VCExpress.exe" (
+ set COMPILER11="%VS110COMNTOOLS%\..\IDE\VCExpress.exe"
+) ELSE IF EXIST "%VS110COMNTOOLS%\..\IDE\devenv.exe" (
+ set COMPILER11="%VS110COMNTOOLS%\..\IDE\devenv.exe"
+) ELSE GOTO NOSDK11
del /s /f /q ..\build
mkdir ..\build
rem Compile libCEC and cec-client x64
echo. Cleaning libCEC (x64)
-%COMPILER10% libcec.sln /clean "Release|x64"
+%COMPILER11% libcec.sln /clean "Release|x64"
echo. Compiling libCEC (x64)
-%COMPILER10% libcec.sln /build "Release|x64" /project libcec
-echo. Compiling cec-client (x64)
-%COMPILER10% libcec.sln /build "Release|x64" /project testclient
+%COMPILER11% libcec.sln /build "Release|x64"
:libcecx86
rem Compile libCEC and cec-client Win32
echo. Cleaning libCEC (x86)
-%COMPILER10% libcec.sln /clean "Release|Win32"
+%COMPILER11% libcec.sln /clean "Release|x86"
echo. Compiling libCEC (x86)
-%COMPILER10% libcec.sln /build "Release|Win32" /project libcec
-echo. Compiling cec-client (x86)
-%COMPILER10% libcec.sln /build "Release|Win32" /project testclient
+%COMPILER11% libcec.sln /build "Release|x86"
-rem Check for VC9
-IF "%VS90COMNTOOLS%"=="" (
- set COMPILER9="%ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE\VCExpress.exe"
-) ELSE IF EXIST "%VS90COMNTOOLS%\..\IDE\devenv.exe" (
- set COMPILER9="%VS90COMNTOOLS%\..\IDE\devenv.exe"
-) ELSE GOTO NOSDK9
-
-rem Skip to libCEC/x86 when we're running on win32
-if "%PROCESSOR_ARCHITECTURE%"=="x86" if "%PROCESSOR_ARCHITEW6432%"=="" goto libcecsharpx86
-
-rem Compile LibCecSharp (x64)
-echo. Cleaning LibCecSharp (x64)
-%COMPILER9% LibCecSharp.Net2.sln /clean "Release|x64"
-echo. Compiling LibCecSharp (x64)
-%COMPILER9% LibCecSharp.sln /build "Release|x64" /project LibCecSharp
-%COMPILER9% LibCecSharp.sln /build "Release|x64" /project CecSharpTester
-%COMPILER9% LibCecSharp.sln /build "Release|x64" /project LibCecTray
-
-copy ..\build\LibCecSharp.dll ..\build\x64\LibCecSharp.dll
-copy ..\build\CecSharpTester.exe ..\build\x64\CecSharpTester.exe
-copy ..\build\cec-tray.exe ..\build\x64\cec-tray.exe
-
-:libcecsharpx86
-rem Compile LibCecSharp (x86)
-echo. Cleaning LibCecSharp (x86)
-%COMPILER9% LibCecSharp.sln /clean "Release|x86"
-echo. Compiling LibCecSharp (x86)
-%COMPILER9% LibCecSharp.sln /build "Release|x86" /project LibCecSharp
-%COMPILER9% LibCecSharp.sln /build "Release|x86" /project CecSharpTester
-%COMPILER9% LibCecSharp.sln /build "Release|x86" /project LibCecTray
-
-:NOSDK9
rem Clean things up before creating the installer
del /q /f ..\build\LibCecSharp.pdb
del /q /f ..\build\CecSharpTester.pdb
del /q /f ..\build\cec-tray.pdb
del /q /f ..\build\cec-tray.vshost.exe.manifest
del /q /f ..\build\cec-.vshost.exe
-copy ..\build\cec-client.x64.exe ..\build\x64\cec-client.x64.exe
-del /q /f ..\build\cec-client.x64.exe
-copy ..\build\libcec.x64.dll ..\build\x64\libcec.x64.dll
-del /q /f ..\build\libcec.x64.dll
-copy ..\build\libcec.x64.lib ..\build\x64\libcec.x64.lib
-del /q /f ..\build\libcec.x64.lib
+del /q /f ..\build\x64\LibCecSharp.pdb
+del /q /f ..\build\x64\CecSharpTester.pdb
+del /q /f ..\build\x64\cec-tray.pdb
+del /q /f ..\build\x64\cec-tray.vshost.exe.manifest
+del /q /f ..\build\x64\cec-.vshost.exe
rem Check for sign-binary.cmd, only present on the Pulse-Eight production build system
rem Calls signtool.exe and signs the DLLs with Pulse-Eight's code signing key
CALL ..\support\private\sign-binary.cmd ..\build\libcec.dll
CALL ..\support\private\sign-binary.cmd ..\build\LibCecSharp.dll
CALL ..\support\private\sign-binary.cmd ..\build\cec-tray.exe
-CALL ..\support\private\sign-binary.cmd ..\build\x64\cec-client.x64.exe
+CALL ..\support\private\sign-binary.cmd ..\build\x64\cec-client.exe
CALL ..\support\private\sign-binary.cmd ..\build\x64\CecSharpTester.exe
-CALL ..\support\private\sign-binary.cmd ..\build\x64\libcec.x64.dll
+CALL ..\support\private\sign-binary.cmd ..\build\x64\libcec.dll
CALL ..\support\private\sign-binary.cmd ..\build\x64\LibCecSharp.dll
CALL ..\support\private\sign-binary.cmd ..\build\x64\cec-tray.exe
:CREATEINSTALLER
echo. Creating the installer
+cd ..\build\x64
+copy libcec.dll libcec.x64.dll
+copy cec-client.exe cec-client.x64.exe
+cd ..\..\project
%NSIS% /V1 /X"SetCompressor /FINAL lzma" "libCEC.nsi"
IF NOT EXIST "..\build\libCEC-installer.exe" GOTO :ERRORCREATINGINSTALLER
set EXITCODE=0
GOTO EXIT
-:NOSDK10
-echo. Both Visual Studio 2010 and Visual C++ Express 2010 were not found on your system.
+:NOSDK11
+echo. Visual Studio 2012 was not found on your system.
GOTO EXIT
:NOSIS
del /q /f ..\build\*.lib
del /q /f ..\build\*.exp
del /q /f ..\build\*.xml
+del /q /f ..\build\*.metagen
del /s /f /q ..\build\x64
rmdir ..\build\x64
cd ..\support