Config.DeviceTypes.Types[0] = CecDeviceType.RecordingDevice;
Config.DeviceName = "CEC Config";
Config.GetSettingsFromROM = true;
- Config.ClientVersion = CecClientVersion.Version1_5_0;
+ Config.ClientVersion = CecClientVersion.Version1_5_1;
Callbacks = new CecCallbackWrapper(this);
Config.SetCallbacks(Callbacks);
LoadXMLConfiguration(ref Config);
case "port":
//TODO
break;
+ // 1.5.1 settings
+ case "send_inactive_source":
+ config.SendInactiveSource = value.Equals("1") || value.ToLower().Equals("true") || value.ToLower().Equals("yes");
+ break;
default:
break;
}
private void SetControlsEnabled(bool val)
{
- SetControlEnabled(cbPortNumber, val && !Config.AutodetectAddress && Config.PhysicalAddress != 0);
- SetControlEnabled(cbConnectedDevice, cbConnectedDevice.Items.Count > 1 && !Config.AutodetectAddress && val);
+ SetControlEnabled(cbPortNumber, val && !cbOverrideAddress.Checked);
+ SetControlEnabled(cbConnectedDevice, cbConnectedDevice.Items.Count > 1 && !cbOverrideAddress.Checked && val);
SetControlEnabled(cbOverrideAddress, val);
SetControlEnabled(tbPhysicalAddress, val && !Config.AutodetectAddress && cbOverrideAddress.Checked);
SetControlEnabled(cbDeviceType, val);
SetControlEnabled(cbPowerOffDevices, val);
SetControlEnabled(cbVendorOverride, val);
SetControlEnabled(cbVendorId, val && cbVendorOverride.Checked);
+ SetControlEnabled(cbSendInactiveSource, val);
SetControlEnabled(bClose, val);
SetControlEnabled(bSaveConfig, val);
SetControlEnabled(bReloadConfig, val);
private void cbOverrideAddress_CheckedChanged(object sender, EventArgs e)
{
SetControlEnabled(tbPhysicalAddress, ((CheckBox)sender).Checked);
+ SetControlEnabled(cbPortNumber, !((CheckBox)sender).Checked);
+ SetControlEnabled(cbConnectedDevice, !((CheckBox)sender).Checked && cbConnectedDevice.Items.Count > 1);
}
private void tbPhysicalAddress_TextChanged(object sender, EventArgs e)
Config.ActivateSource = cbActivateSource.Checked;
Config.PowerOffScreensaver = cbPowerOffScreensaver.Checked;
Config.PowerOffOnStandby = cbPowerOffOnStandby.Checked;
+ Config.SendInactiveSource = cbSendInactiveSource.Checked;
Config.WakeDevices = WakeDevices;
Config.PowerOffDevices = PowerOffDevices;
output.Append(strSleepDevices.ToString().Trim());
output.AppendLine("\" />");
+ // only supported by 1.5.1+ clients
+ output.AppendLine("<!-- the following lines are only supported by v1.5.1+ clients -->");
+ output.AppendLine("<setting id=\"send_inactive_source\" value=\"" + (Config.SendInactiveSource ? 1 : 0) + "\" />");
+
output.AppendLine("</settings>");
writer.Write(output.ToString());
writer.Close();
SetCheckboxChecked(cbActivateSource, Config.ActivateSource);
SetCheckboxChecked(cbPowerOffScreensaver, Config.PowerOffScreensaver);
SetCheckboxChecked(cbPowerOffOnStandby, Config.PowerOffOnStandby);
+ SetCheckboxChecked(cbSendInactiveSource, Config.SendInactiveSource);
UpdateSelectedDevice();
for (int iPtr = 0; iPtr < 15; iPtr++)