Esempio n. 1
0
        public List <string> GetActiveDevices()
        {
            _lib.RescanActiveDevices();

            List <string> devices = new List <string>();

            CecLogicalAddresses addresses = _lib.GetActiveDevices();

            for (int i = 0; i < addresses.Addresses.Length; i++)
            {
                CecLogicalAddress address = (CecLogicalAddress)i;
                if (!addresses.IsSet(address))
                {
                    continue;
                }

                string device = String.Empty;

                device += _lib.ToString(_lib.GetDeviceVendorId(address)) + ',';
                device += _lib.GetDeviceOSDName(address) + ',';
                device += _lib.ToString(_lib.GetDevicePowerStatus(address)) + ',';
                device += _lib.IsActiveDevice(address).ToString() + ',';
                device += _lib.GetDevicePhysicalAddress(address).ToString();

                devices.Add(device);
            }

            return(devices);
        }
Esempio n. 2
0
   public DeviceInformation(CECController controller, CecLogicalAddress address, ref LibCecSharp lib,
 bool devicePresent, CecVendorId vendor, bool isActiveSource, ushort physicalAddress,
 CecVersion version, CecPowerStatus power, string osdName, string menuLanguage)
   {
       _controller = controller;
         _lib = lib;
         Address = address;
         InitializeComponent();
         lDevice.Text = lib.ToString(address);
         lLogicalAddress.Text = String.Format("{0,1:X}", (int)address);
         Update(devicePresent, vendor, isActiveSource, physicalAddress, version, power, osdName, menuLanguage);
   }
Esempio n. 3
0
 public DeviceInformation(CECController controller, CecLogicalAddress address, ref LibCecSharp lib,
                          bool devicePresent, CecVendorId vendor, bool isActiveSource, ushort physicalAddress,
                          CecVersion version, CecPowerStatus power, string osdName, string menuLanguage)
 {
     _controller = controller;
     _lib        = lib;
     Address     = address;
     InitializeComponent();
     lDevice.Text         = lib.ToString(address);
     lLogicalAddress.Text = String.Format("{0,1:X}", (int)address);
     Update(devicePresent, vendor, isActiveSource, physicalAddress, version, power, osdName, menuLanguage);
 }
Esempio n. 4
0
        public void Scan()
        {
            StringBuilder output = new StringBuilder();

            output.AppendLine("CEC bus information");
            output.AppendLine("===================");
            CecLogicalAddresses addresses = Lib.GetActiveDevices();

            for (int iPtr = 0; iPtr < addresses.Addresses.Length; iPtr++)
            {
                CecLogicalAddress address = (CecLogicalAddress)iPtr;
                if (!addresses.IsSet(address))
                {
                    continue;
                }

                CecVendorId    iVendorId        = Lib.GetDeviceVendorId(address);
                bool           bActive          = Lib.IsActiveDevice(address);
                ushort         iPhysicalAddress = Lib.GetDevicePhysicalAddress(address);
                string         strAddr          = Lib.PhysicalAddressToString(iPhysicalAddress);
                CecVersion     iCecVersion      = Lib.GetDeviceCecVersion(address);
                CecPowerStatus power            = Lib.GetDevicePowerStatus(address);
                string         osdName          = Lib.GetDeviceOSDName(address);
                string         lang             = Lib.GetDeviceMenuLanguage(address);

                output.AppendLine("device #" + iPtr + ": " + Lib.ToString(address));
                output.AppendLine("address:       " + strAddr);
                output.AppendLine("active source: " + (bActive ? "yes" : "no"));
                output.AppendLine("vendor:        " + Lib.ToString(iVendorId));
                output.AppendLine("osd string:    " + osdName);
                output.AppendLine("CEC version:   " + Lib.ToString(iCecVersion));
                output.AppendLine("power status:  " + Lib.ToString(power));
                if (!string.IsNullOrEmpty(lang))
                {
                    output.AppendLine("language:      " + lang);
                }
                output.AppendLine("");
            }
            Debug.WriteLine(output.ToString());
        }
Esempio n. 5
0
        public CecSharpClient()
        {
            Config = new LibCECConfiguration();
            Config.DeviceTypes.Types[0] = CecDeviceType.RecordingDevice;
            Config.DeviceName           = "CEC Tester";
            Config.ClientVersion        = CecClientVersion.Version1_5_0;
            Config.SetCallbacks(this);
            LogLevel = (int)CecLogLevel.All;

            Lib = new LibCecSharp(Config);

            Console.WriteLine("CEC Parser created - libcec version " + Lib.ToString(Config.ServerVersion));
        }
Esempio n. 6
0
        public CecSharpClient()
        {
            Config = new LibCECConfiguration();
              Config.DeviceTypes.Types[0] = CecDeviceType.RecordingDevice;
              Config.DeviceName = "CEC Tester";
              Config.ClientVersion = CecClientVersion.Version1_5_0;
              Config.SetCallbacks(this);
              LogLevel = (int)CecLogLevel.All;

              Lib = new LibCecSharp(Config);

              Console.WriteLine("CEC Parser created - libcec version " + Lib.ToString(Config.ServerVersion));
        }
Esempio n. 7
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="newVal"></param>
 /// <returns></returns>
 public override int ReceiveMenuStateChange(CecMenuState newVal)
 {
     Trace.WriteLine("CEC menu state changed to: " + iLib.ToString(newVal));
     return(1);
 }