HME

The HME (Home Media Engine) Protocol was developed by TiVo for development of applications on the TiVo without actually installing any software or otherwise exposing the environment of the TiVo.
HME basically supports the following key features:

  • Creating rectangular Views which can contain resources.
  • Hiding/Showing, resizing, locating, translating, scaling, and setting transparency of views.
  • Resources can be: colors, text with a font specification, Images, MP3 files, and Streamed Videos. It can also be a "Streamed" Application - allowing an application within an application.
    • Fonts can be one of two built-in fonts plus a size, italics, and bold options, or they can be an uploaded .ttf font.
    • Images can be via a URL or uploaded
    • MP3, Video, and Application must be streamed via a URL.
  • Receiving input events (remote control keys, idle event)
  • Receiving resource status events
  • Receiving application information events (capabilities, etc)

The last official SDK release as of 2010 is still the Java SDK 1.4 which supports HME v40.
Since then, an "experimental" Java SDK 1.4.1e was released which supports HME v45.
HME is known to go up to at least v49 as of 2010.

v43 added:

  • support for multiple resolutions (receiving capabilities, setting a choice)
  • int CMD_RECEIVER_SET_RESOLUTION = 62;
  • int EVT_RESOLUTION_INFO = 8;
  • int APP_ERROR_INVALID_TRANSITION = 6;
  • int APP_ERROR_INVALID_RESOLUTION = 7;
  • int LIMIT_IMAGE_WIDTH = 3000; - increased from 1024
  • int LIMIT_IMAGE_HEIGHT = 1700; - increased from 768
  • int LIMIT_IMAGE_NBYTES increased because it is WIDTH*HEIGHT

v45 added:

  • parameter maps for Stream Resource creation

v49 added:

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License