Skip to main content

Kaleidescape

Kaleidescape movie servers and players (Strato, Terra, Encore, the older 1U/Premiere lineup) are controlled over Kaleidescape's IP control protocol on TCP port 10000. One Kaleidescape component — a player or server — becomes one GEM device, addressed directly by IP. There is no pairing and no password: GEM just needs to reach the component with control enabled.

This driver creates no zones. A Kaleidescape is a source: you expose it as an AV source that a user selects on a touchpanel, and route its picture/sound to rooms through your matrix or AV receiver the same way you would a cable box. What you get on screen:

  • Full on-screen control — the D-pad and Select, the menu shortcuts (Movies, Covers, Collections, the Kaleidescape Store), transport (play / pause / stop / scan / next / previous), page up/down, standby on/off, and on-screen text entry for typing into the Kaleidescape filter and search.
  • Live now-playing — as the highlight moves through the on-screen menu, GEM pulls the cover art, title, year, synopsis, and cast for the highlighted title and shows them on the source panel.
  • An optional in-GEM movie catalog — point GEM at an exported library list (XLS or CSV) and the source panel gains a browsable, searchable poster grid; tapping a poster drives the on-screen menu straight to that title.

What it does

  • Navigation: up / down / left / right / select, Back, page up / page down, the disc/DVD menu.
  • Menu shortcuts: go to the Movies list, Covers, Movie Collections, the Movie Store, Music Collections, and open the on-screen Filter.
  • Transport: play, pause, stop, scan forward / reverse, next, previous.
  • Power: leave standby (power_on), enter standby (power_off), query the power state.
  • Live now-playing pushed to the source panel — cover art (fetched through GEM's image proxy), title, year, synopsis, and cast — updated as you browse and play.
  • On-screen text entry: type a single character at a time into the Kaleidescape search/filter.
  • Optional movie catalog import (XLS/CSV) for an in-GEM searchable poster grid.
  • A dedicated Kaleidescape source view for end users (poster grid + on-screen remote + now-playing). Set the AV source's Component to kaleidescape to get it.

Prerequisites

  • A Kaleidescape server and/or player on the same LAN as GEM, reachable by IP with IP control enabled on the component.
  • A static IP or a DHCP reservation so the component's address never moves — a moved address means GEM can no longer reach it.
  • (Optional) A KaleidescapeMovies.xls or .csv library export hosted somewhere GEM can reach over HTTP, if you want the searchable movie catalog inside GEM.

Setup

Open Devices

  1. On the Kaleidescape component, enable IP control (in the Kaleidescape configuration, allow control-protocol connections).
  2. Go to System → Devices → Add Device, choose the Kaleidescape driver, and place the device in the AV subsystem (the driver suggests AV; the AV subsystem ships with every install).
  3. Set Server/Player IP to the component's LAN IP. Leave TCP Port at 10000 — the control protocol only listens on 10000, and the driver forces that port on connect. (An old configuration that listed port 80 still works; the driver auto-upgrades 80 to 10000 and reports 10000 at runtime.)
  4. Save and enable the device. There is nothing to pair or log in to — within a few seconds GEM connects.

For a system with several players, add one GEM device per player (each by its own IP).

Using the Kaleidescape as an AV source

Open AV Sources

To put the Kaleidescape on a touchpanel as a selectable source with the on-screen remote and poster grid, create an AV source for it:

  1. Add a source whose Device is this Kaleidescape device.
  2. Set the Component field to kaleidescape.
  3. Mark it Global source (not zone-specific) if every room should be able to select it.
  4. Save. When a user selects that source in a room, GEM draws the Kaleidescape panel:
    • the left side is the movie poster grid (populated only if you imported a catalog — see below), with a search box;
    • the right side is the on-screen remote — a D-pad with Select, plus Menu, Back, a keyboard button for typing, and page up/down;
    • the bottom bar carries transport (previous / next), the Store, Movies, and Covers menu shortcuts, a Details toggle for the now-playing card, and Search.
    • the now-playing card shows the cover art, title, year, synopsis, and cast for the current selection.

See AV Sources for the source editor (Device, Component, Global, routing) and AV Zones for routing the source into rooms.

The optional movie catalog

By default the source panel is the on-screen remote driving the Kaleidescape's own menus. If you also want a browsable, searchable poster grid inside GEM, import the library list:

  1. From Kaleidescape, export the movie library to a KaleidescapeMovies.xls (or .csv) file and host it where GEM can fetch it over HTTP.
  2. On one Kaleidescape device, set the optional Movie List URL attribute to that HTTP URL (for example http://10.0.0.20:8888/KaleidescapeMovies.xls).
  3. Save and reload the device. GEM downloads the list, caches it, and the poster grid fills in.

How it behaves:

  • The Movie List URL is system-wide — only the first player to set it wins. Setting it on more than one device just causes redundant downloads, so configure it on a single device.
  • An XLS export must contain a sheet named Movie Library; a CSV is read directly.
  • The list is cached on the GEM server (under the server's cache folder as kdvd_movie_list.xls/.csv) and is refreshed on connect and then at most once an hour. To force an immediate refresh, run the update_movie_list command (or reload the device).
  • Tapping a poster doesn't "play" by URL — there's no such protocol command. Instead GEM walks the on-screen menu for you (open the Movies list, open Filter, type the first few letters of the title, and select), so the title comes up on the Kaleidescape exactly as if you'd filtered to it by hand.

Without a Movie List URL the source view still works fully — navigation, transport, and now-playing — it just has no in-GEM poster grid or search.

How now-playing works

As the highlight moves in the Kaleidescape's on-screen menu, the player reports the highlighted title and GEM automatically requests its content details. Those details — cover art, title, year, synopsis, and cast — are reassembled (they arrive as many short lines over roughly a tenth of a second) and pushed live to the source panel, where the cover art is fetched through GEM's image proxy.

This now-playing information is delivered as a live update to the source view; it is not stored as a device attribute. So, unlike some media drivers, the Kaleidescape's current title can't be used directly as an attribute trigger condition — it is a display feed for the source panel.

Addressing and multiple components

  • Commands target the player directly — there is no per-zone address to set on this driver.
  • Inside the protocol each command carries a component id (the Kaleidescape CPDID); the driver uses the default 01, which is correct for a standard one-component-per-device setup.
  • If you ever need to address a non-default CPDID, send a complete raw frame with the passthrough command rather than the named commands.

Attributes

Device — required

AttributeTypeDescription
ipstringThe Kaleidescape component's LAN IP address (the Server/Player IP field).

Device — optional

AttributeTypeDefaultDescription
portint10000Control-protocol port. The driver forces 10000 on connect (and auto-upgrades 80 → 10000), so this is effectively informational.
movie_list_urlstringHTTP URL of a KaleidescapeMovies.xls/.csv export used to populate GEM's searchable movie catalog. Set it on one device only — it is cached system-wide.

This driver creates no zones, so there are no zone attributes. Kaleidescape devices have no entries in the attribute autocomplete catalog, so type these attribute names exactly as shown when referencing them.

Commands

Driver-declared commands appear on the device's Commands tab and can be used in macros, triggers, and on UI buttons.

CommandAction
up down left right selectD-pad navigation and select.
backBack / cancel.
page_up page_downPage the current list.
dvd_menuOpen the disc / title menu.
keypress (arg key)Type one character into the focused Kaleidescape field (filter / search).
CommandAction
go_movie_listJump to the Movies list.
go_movie_coversJump to the Covers view.
go_movie_collectionsJump to Movie Collections.
go_movie_storeOpen the Kaleidescape Movie Store.
go_music_collectionsJump to Music Collections.
filter_listOpen the on-screen Filter.

Transport

CommandAction
play pause stopPlayback transport.
scan_forward scan_reverseScan forward / reverse.
next previousNext / previous chapter or title.

Power

CommandAction
power_onLeave standby.
power_offEnter standby.
get_powerQuery the device power state.

Movie catalog (handled inside GEM)

CommandArgsAction
list_moviesReturn the cached movie catalog (refreshing it if empty or stale).
search_movie_listquerySearch the cached catalog for matching titles.
update_movie_listForce a re-download of the catalog from the Movie List URL.

Advanced

CommandArgsAction
passthroughcommandSend a raw control-protocol command body (for example to address a non-default CPDID).

Known limitations

  • Single device, no zones. A Kaleidescape component is one device and creates no GEM zones — route it to rooms at the AV-source / AV-zone layer, like any other source.
  • Port is always 10000. The control protocol only listens on 10000; the driver forces it on connect, so the port attribute is informational.
  • Per-command timeout is ~2 seconds, and protocol sequence numbers cycle 0–9 — avoid firing more than about ten commands at once without letting them complete (relevant only to heavy macro bursts).
  • The movie catalog is system-wide. One Movie List URL serves all Kaleidescape devices; the first device to set it wins.
  • Now-playing is a live display feed, not a stored attribute, so it can't be used as a trigger condition.
  • CPDID is fixed at 01 for the named commands; use passthrough for any other component id.

Troubleshooting

SymptomCheck
Commands time out after ~2 seconds.The player may be slow or still booting. Wait for it to finish starting up and retry. Confirm IP control is enabled and the IP hasn't moved.
The poster grid is empty / search finds nothing.A Movie List URL must be set (on one device) and reachable over HTTP. Confirm the URL loads in a browser; for an XLS, the sheet must be named Movie Library. Run update_movie_list and check the cached kdvd_movie_list.* file updated.
Tapping a poster doesn't bring up the title.The poster grid drives the on-screen Filter by typing the title's first letters; make sure the Kaleidescape is on a screen where Filter is available, and that the catalog title matches the on-device title.
No now-playing details on the source panel.Details only push while you browse or play on the Kaleidescape. Confirm IP control is enabled and the device is connected; details are not stored, so the panel is blank until a title is highlighted.
Port shows 10000 even though I entered 80.Expected — the driver upgrades the legacy port 80 to 10000 automatically.

See also

  • AV Sources — add the Kaleidescape as a selectable source and pick the kaleidescape panel.
  • AV Zones — route the source into rooms.
  • Devices — adding and configuring devices.
  • Commands — running and scripting device commands.