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
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 @ freenode.net