All pastes #922132 Raw Edit

Someone

public text v1 · immutable
#922132 ·published 2008-02-28 16:37 UTC
rendered paste body
LinuxMCE provides a whole-house media solution by combining some of the most popular media software on Linux with the user friendly Kubuntu Linux distribution. These programs are networked into a coherent whole using the DCE IPC protocol. This allows for the smarts that dim the lights when you watch a movie, and later pause the movie when someone important calls, to be scripted by simply listening for and sending the appropriate events in an application neutral manner. And since the DCE protocol is routed throughout the local network this allows an application to follow you from room to room with minimal modifications to the underlying application.

The 10' (3 meter) User Interface is just another application on the DCE bus which knows what is going on in the system by listening for events and it can control other applications by sending events. It uses the Xorg Composite extension to render itself on top of the underlying applications so that it is always available. It can, of course, be used with a simple IR remote or keyboard, but really shines when used with a gyroscopic pointing remote. Through this 10' UI application you can access the media applications, home automation applications, security applications, as well as applications that do not have a DCE event translator.

Unlike most IPC protocol implementations on Linux, many applications of the in the stack do not speak the protocol natively. For instance, MythTV uses a DCE event translator which communicates with MythTV using the MythTV Network Control Protocol. The translator listens for DCE events and translates them into MythTV Network Control Protocol commands. Similarly it can send DCE events on MythTV state transitions. Applications without any adapter, such as the Firefox web browser, can be used as well. With these applications the 10' UI can only start and stop the application, but it can not change, or know about, the internal state of the application itself.

Finally, we are also attempting to make configuring all the programs we employ as simple as possible as configuration is a weakness of many of these applications. This includes steps such as auto-detection and configuration of hardware, as well as creating graphical user interfaces for configuration steps that are traditionally handled on the command line. For example when you put an HDHomeRun on the local network LinuxMCE will detect it and walk you through a few simple configuration steps which tell MythTV how to handle the capture card. Steps such as defining IR codes or defining simple serial port communications protocols (for TV's, amplifiers, home-automation, etc.) can be done via a built in web interface and a DCE aware generic serial driver. The configuration created by the user is saved in a local mysql database and can be committed to a central server in order to share the resulting configuration.