General > Feature requests & roadmap

Turn off MD based on idle time

<< < (2/2)

Orbiter is a DCE device, just like everything else in LinuxMCE.

The Orbiter class (as defined in Orbiter.cpp/.h), is a decendent of Command_Impl, and if you look, you'll actually see a list of commands that are implemented. This is where the bulk of a DCE device's logic is. Orbiter's complexity comes from its abstraction, so that it can be ported to other graphics toolkits and rendering/windowing systems.

If you want to see how to make a DCE device, look at Developing a DCE device, and try to do it...You'll see how a simple DCE device works, and eventually be able to pick apart how Orbiter works.

If you have more specific questions, we will try to answer them.



I've been looking through the orbiter code again, and i found where the screensaver and displayoff commands are started.
now to find how the timer works, how it gets the data from the admin webpage, etc.



--- Quote from: Dap-P on October 16, 2013, 09:59:05 pm ---@posde
Big what if...
What if the core would know if the md is off? i think it already knows. and when play a video, check if md is off, if so, send power on command. when the md is booted, the md sends a "Ready for commands" message. and the core send the command to play media

--- End quote ---

The dcerouter has NO intelligence. And it is good that way. The router only does one thing: It sends stuff around, it does not track state per se (even though the database does store such information). So, to have "Play TV" work like you would want to it to work, would mean a, imho, big rewrite of the router and/or another plugin, that would take care of the queue. Doable? Of course. I doubt, any of the existing devs would invest the needed amount of time into it atm. We have soooo many other things that do not work like they should, that everybody has their plate full. And the original architecture assumed always on MDs. If you keep it that way, or manually turn off/on the devices, you will have a much better experience. If you want to create a plugin that would be able to queue specific messages, feel free to dive into router, plugin development, and read all the dev pages we have in the wiki. If you have specific questions, feel free to come by the #linuxmce-devel channel @


[0] Message Index

[*] Previous page

Go to full version