I have a raspberry pi with openelect(xbmc) installed.
i just soldered up an IR receiver to the GPIO ports and learned a remote to control it. (or use a pre defined remote like a MCE/apple tv)
it has cec control so you can also use the tv remote via HDMI connection (tried this but a bit slow for my liking)
also being xbmc you can use the crestron module using json commands.
does this help?