#include "cectypes.h"
-#define LIBCEC_VERSION_CURRENT CEC_SERVER_VERSION_1_9_0
+#define LIBCEC_VERSION_CURRENT CEC_SERVER_VERSION_1_99_0
namespace CEC
{
CEC_CLIENT_VERSION_1_8_0 = 0x1800,
CEC_CLIENT_VERSION_1_8_1 = 0x1801,
CEC_CLIENT_VERSION_1_8_2 = 0x1802,
- CEC_CLIENT_VERSION_1_9_0 = 0x1900
+ CEC_CLIENT_VERSION_1_9_0 = 0x1900,
+ CEC_CLIENT_VERSION_1_99_0 = 0x1990,
} cec_client_version;
typedef enum cec_server_version
CEC_SERVER_VERSION_1_8_0 = 0x1800,
CEC_SERVER_VERSION_1_8_1 = 0x1801,
CEC_SERVER_VERSION_1_8_2 = 0x1802,
- CEC_SERVER_VERSION_1_9_0 = 0x1900
+ CEC_SERVER_VERSION_1_9_0 = 0x1900,
+ CEC_SERVER_VERSION_1_99_0 = 0x1990,
} cec_server_version;
struct libcec_configuration
{
uint32_t clientVersion; /*!< the version of the client that is connecting */
- char strDeviceName[13]; /*!< how to name the device on the CEC bus */
- cec_device_type_list deviceTypes; /*!< the CEC device types to emulate */
+ char strDeviceName[13]; /*!< the device name to use on the CEC bus */
+ cec_device_type_list deviceTypes; /*!< the device type(s) to use on the CEC bus for libCEC */
uint8_t bAutodetectAddress; /*!< (read only) set to 1 by libCEC when the physical address was autodetected */
- uint16_t iPhysicalAddress; /*!< the physical address of the CEC adapter. only used when bAutodetectAddress = 0 or when the adapter doesn't support autodetection */
- cec_logical_address baseDevice; /*!< the logical address of the device to which the adapter is connected. only used when iPhysicalAddress = 0 and bAutodetectAddress = 0 or when the adapter doesn't support autodetection */
- uint8_t iHDMIPort; /*!< the HDMI port to which the adapter is connected. only used when iPhysicalAddress = 0 and bAutodetectAddress = 0 or when the adapter doesn't support autodetection */
+ uint16_t iPhysicalAddress; /*!< the physical address of the CEC adapter */
+ cec_logical_address baseDevice; /*!< the logical address of the device to which the adapter is connected. only used when iPhysicalAddress = 0 or when the adapter doesn't support autodetection */
+ uint8_t iHDMIPort; /*!< the HDMI port to which the adapter is connected. only used when iPhysicalAddress = 0 or when the adapter doesn't support autodetection */
uint64_t tvVendor; /*!< override the vendor ID of the TV. leave this untouched to autodetect */
- cec_logical_addresses wakeDevices; /*!< wake these CEC devices when initialising libCEC or when calling PowerOnDevices() without any parameter */
- cec_logical_addresses powerOffDevices; /*!< power off these devices when calling StandbyDevices() without any parameter */
+ cec_logical_addresses wakeDevices; /*!< list of devices to wake when initialising libCEC or when calling PowerOnDevices() without any parameter. */
+ cec_logical_addresses powerOffDevices; /*!< list of devices to power off when calling StandbyDevices() without any parameter. */
uint32_t serverVersion; /*!< the version number of the server. read-only */
{C04B0FB1-667D-4F1C-BDAE-A07CDFFAAAA0} = {C04B0FB1-667D-4F1C-BDAE-A07CDFFAAAA0}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cec-config", "cec-config.vcxproj", "{00EE7081-9EEE-485C-B7CE-699A7BCA40C1}"
- ProjectSection(ProjectDependencies) = postProject
- {C04B0FB1-667D-4F1C-BDAE-A07CDFFAAAA0} = {C04B0FB1-667D-4F1C-BDAE-A07CDFFAAAA0}
- EndProjectSection
-EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
{F01222BF-6B3D-43BD-B254-434031CB9887}.Release|Win32.Build.0 = Release|Win32
{F01222BF-6B3D-43BD-B254-434031CB9887}.Release|x64.ActiveCfg = Release|x64
{F01222BF-6B3D-43BD-B254-434031CB9887}.Release|x64.Build.0 = Release|x64
- {00EE7081-9EEE-485C-B7CE-699A7BCA40C1}.Debug|Win32.ActiveCfg = Debug|Win32
- {00EE7081-9EEE-485C-B7CE-699A7BCA40C1}.Debug|Win32.Build.0 = Debug|Win32
- {00EE7081-9EEE-485C-B7CE-699A7BCA40C1}.Debug|x64.ActiveCfg = Debug|x64
- {00EE7081-9EEE-485C-B7CE-699A7BCA40C1}.Debug|x64.Build.0 = Debug|x64
- {00EE7081-9EEE-485C-B7CE-699A7BCA40C1}.Release|Win32.ActiveCfg = Release|Win32
- {00EE7081-9EEE-485C-B7CE-699A7BCA40C1}.Release|Win32.Build.0 = Release|Win32
- {00EE7081-9EEE-485C-B7CE-699A7BCA40C1}.Release|x64.ActiveCfg = Release|x64
- {00EE7081-9EEE-485C-B7CE-699A7BCA40C1}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Config = new LibCECConfiguration();
Config.DeviceTypes.Types[0] = CecDeviceType.RecordingDevice;
Config.DeviceName = "CEC Tester";
- Config.ClientVersion = CecClientVersion.Version1_9_0;
+ Config.ClientVersion = CecClientVersion.Version1_99_0;
Config.SetCallbacks(this);
LogLevel = (int)CecLogLevel.All;
[assembly:AssemblyTrademarkAttribute("")];
[assembly:AssemblyCultureAttribute("")];
-[assembly:AssemblyVersionAttribute("1.9.0.0")];
+[assembly:AssemblyVersionAttribute("1.99.0.0")];
[assembly:ComVisible(false)];
[assembly:CLSCompliantAttribute(true)];
GivePhysicalAddress = 0x83,
/// <summary>
/// Request language code of the menu language of a device
+ /// 3 character ISO 639-2 country code. see http://http://www.loc.gov/standards/iso639-2/
/// </summary>
GetMenuLanguage = 0x91,
/// <summary>
ReportPhysicalAddress = 0x84,
/// <summary>
/// Report the language code of the menu language
+ /// 3 character ISO 639-2 country code. see http://http://www.loc.gov/standards/iso639-2/
/// </summary>
SetMenuLanguage = 0x32,
/// <summary>
/// <summary>
/// v1.9.0
/// </summary>
- Version1_9_0 = 0x1900
+ Version1_9_0 = 0x1900,
+ /// <summary>
+ /// v2.0.0-pre
+ /// </summary>
+ Version1_99_0 = 0x1990
};
/// <summary>
/// <summary>
/// v1.9.0
/// </summary>
- Version1_9_0 = 0x1900
+ Version1_9_0 = 0x1900,
+ /// <summary>
+ /// v2.0.0-pre
+ /// </summary>
+ Version1_99_0 = 0x1990
};
/// <summary>
property CecDeviceTypeList ^ DeviceTypes;
/// <summary>
- /// True to try to autodetect the physical address, false otherwise
+ /// (read only) set to true by libCEC when the physical address was autodetected
/// </summary>
property bool AutodetectAddress;
/// <summary>
- /// The physical address that libCEC uses on the CEC bus
+ /// The physical address of the CEC adapter
/// </summary>
property uint16_t PhysicalAddress;
/// <summary>
- /// The logical address of the device to which the CEC adapter is connected, only used when PhysicalAddress isn't set
+ /// The logical address of the device to which the adapter is connected. Only used when PhysicalAddress = 0 or when the adapter doesn't support autodetection
/// </summary>
property CecLogicalAddress BaseDevice;
/// <summary>
- /// The hdmi port number on the device to which the CEC adapter is connected, only used when PhysicalAddress isn't set
+ /// The HDMI port to which the adapter is connected. Only used when iPhysicalAddress = 0 or when the adapter doesn't support autodetection
/// </summary>
property uint8_t HDMIPort;
property CecServerVersion ServerVersion;
/// <summary>
- /// Override the vendor ID of the TV when set (for quirks mode)
+ /// Override the vendor ID of the TV. Leave this untouched to autodetect
/// </summary>
property CecVendorId TvVendor;
/// <summary>
/// Use the language setting of the TV in the client application. Must be implemented by the client application.
+ /// 3 character ISO 639-2 country code. see http://http://www.loc.gov/standards/iso639-2/
/// </summary>
property bool UseTVMenuLanguage;
property bool ActivateSource;
/// <summary>
- /// List of devices to send a power on command to when starting the client application
+ /// List of devices to wake when initialising libCEC or when calling PowerOnDevices() without any parameter.
/// </summary>
property CecLogicalAddresses ^WakeDevices;
/// <summary>
- /// List of devices to send a standby command to when exiting the client application
+ /// List of devices to power off when calling StandbyDevices() without any parameter.
/// </summary>
property CecLogicalAddresses ^PowerOffDevices;
/// Send standby commands when the client application activates standby mode (S3). Must be implemented by the client application.
/// </summary>
property bool PowerOffDevicesOnStandby;
+
+ /// <summary>
+ /// Shutdown this PC when the TV is switched off. only used when PowerOffOnStandby = false
+ /// </summary>
property bool ShutdownOnStandby;
/// <summary>
/// <summary>
/// The language code of the menu language that libCEC reports to other devices.
+ /// 3 character ISO 639-2 country code. see http://http://www.loc.gov/standards/iso639-2/
/// </summary>
property System::String ^ DeviceLanguage;
Config.DeviceTypes.Types[0] = CecDeviceType.RecordingDevice;
Config.DeviceName = "CEC Config";
Config.GetSettingsFromROM = true;
- Config.ClientVersion = CecClientVersion.Version1_9_0;
+ Config.ClientVersion = CecClientVersion.Version1_99_0;
Callbacks = new CecCallbackWrapper(this);
Config.SetCallbacks(Callbacks);
LoadXMLConfiguration(ref Config);
// 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("1.9.0.0")]
-[assembly: AssemblyFileVersion("1.9.0.0")]
+[assembly: AssemblyVersion("1.99.0.0")]
+[assembly: AssemblyFileVersion("1.99.0.0")]
return "1.8.2";
case CEC_CLIENT_VERSION_1_9_0:
return "1.9.0";
+ case CEC_CLIENT_VERSION_1_99_0:
+ return "2.0.0-pre";
default:
return "Unknown";
}
return "1.8.2";
case CEC_SERVER_VERSION_1_9_0:
return "1.9.0";
+ case CEC_SERVER_VERSION_1_99_0:
+ return "2.0.0-pre";
default:
return "Unknown";
}
using namespace std;
using namespace PLATFORM;
-#define CEC_CONFIG_VERSION CEC_CLIENT_VERSION_1_9_0;
+#define CEC_CONFIG_VERSION CEC_CLIENT_VERSION_1_99_0;
#include "../../include/cecloader.h"