- output.Append("<setting id=\"standby_devices\" value=\"");
- StringBuilder strSleepDevices = new StringBuilder();
- foreach (CecLogicalAddress addr in Settings.PowerOffDevices.Value.Addresses)
- if (addr != CecLogicalAddress.Unknown)
- strSleepDevices.Append(" " + (int)addr);
- output.Append(strSleepDevices.ToString().Trim());
- output.AppendLine("\" />");
+ if (HasAdvancedDeviceIdSet(Settings.PowerOffDevices.Value))
+ {
+ output.Append("<setting id=\"standby_devices_advanced\" value=\"");
+ StringBuilder strSleepDevices = new StringBuilder();
+ foreach (CecLogicalAddress addr in Settings.PowerOffDevices.Value.Addresses)
+ if (addr != CecLogicalAddress.Unknown)
+ strSleepDevices.Append(" " + (int) addr);
+ output.Append(strSleepDevices.ToString().Trim());
+ output.AppendLine("\" />");
+ }
+
+ if (Settings.PowerOffDevices.Value.IsSet(CecLogicalAddress.Tv) &&
+ Settings.PowerOffDevices.Value.IsSet(CecLogicalAddress.AudioSystem))
+ output.Append("<setting id=\"standby_devices\" value=\"36039\">");
+ else if (Settings.PowerOffDevices.Value.IsSet(CecLogicalAddress.Tv))
+ output.Append("<setting id=\"standby_devices\" value=\"36037\">");
+ else if (Settings.PowerOffDevices.Value.IsSet(CecLogicalAddress.AudioSystem))
+ output.Append("<setting id=\"standby_devices\" value=\"36038\">");
+ else
+ output.Append("<setting id=\"standby_devices\" value=\"231\">");