2013-02-20, 11:23
My goal is to be able to use my XBMC as a music player as well. For obvious reasons I want the TV to turn off when the device is not being controlled. The libCEC setting "put devies in standby mode when activating screensaver" supports this. However the XBMC implementation disables this option when music is being played.
See this relevant code in xbmc/peripherals/devices/PeripheralCecAdapter.cpp
Why was this restriction ever put in place? To me it doesn't seem like a good idea to hard-code it like this. I understand for some users putting the TV on standby also put's their audio output on standby, but that is just some users. Not enough reason to hardcode this. I suggest this should be a setting.
For the meanwhile, does anybody got an idea how to fix this? I wouldn't know how to compile XBMC (for windows) so making my own fork isn't an option. Maybe somebody knows a good workaround?
See this relevant code in xbmc/peripherals/devices/PeripheralCecAdapter.cpp
Code:
else if (flag == GUI && !strcmp(sender, "xbmc") && !strcmp(message, "OnScreensaverActivated") && m_bIsReady)
{
// Don't put devices to standby if application is currently playing
if ((!g_application.IsPlaying() && !g_application.IsPaused()) && m_configuration.bPowerOffScreensaver == 1)
{
m_screensaverLastActivated = CDateTime::GetCurrentDateTime();
// only power off when we're the active source
if (m_cecAdapter->IsLibCECActiveSource())
StandbyDevices();
}
}
Why was this restriction ever put in place? To me it doesn't seem like a good idea to hard-code it like this. I understand for some users putting the TV on standby also put's their audio output on standby, but that is just some users. Not enough reason to hardcode this. I suggest this should be a setting.
For the meanwhile, does anybody got an idea how to fix this? I wouldn't know how to compile XBMC (for windows) so making my own fork isn't an option. Maybe somebody knows a good workaround?