Summary
The Kaleidescape M300 Player is a Premiere-line movie player controlled via TCP/IP on port 10000 or RS-232 serial. This spec covers the Kaleidescape System control protocol (July 2024 revision, protocol version 18) as it applies to the M300, including connection setup, navigation/playback commands, zone management, music controls, masking, video mode queries, and networking. M300 supports LEAVE_STANDBY over both RS-232 and TCP/IP without disconnecting the TCP session, and supports event registration via CPDID 01.
Transport
protocols:
- tcp
- serial
addressing:
port: 10000
serial:
baud_rate: 19200
data_bits: 8
parity: none
stop_bits: 1
flow_control: rts_cts # UNRESOLVED: source says "None (default) or RTS/CTS" - rts_cts listed as optional
auth:
type: none # inferred: no auth procedure in source
Traits
- powerable # inferred from ENTER_STANDBY/LEAVE_STANDBY examples
- routable # inferred from command routing via CPDID and serial number device identifiers
- queryable # inferred from GET_* status/state query commands
- levelable # inferred from DEFAULT_LEVEL/SAFE_LEVEL parental control level commands
Actions
# Power & standby
- id: get_device_power_state
label: Get Device Power State
kind: query
command: "GET_DEVICE_POWER_STATE:"
params: []
- id: leave_standby
label: Leave Standby
kind: action
command: "LEAVE_STANDBY:"
params: []
- id: enter_standby
label: Enter Standby
kind: action
command: "ENTER_STANDBY:"
params: []
# Idle mode (Strato/Cinema One gen2 only - included for completeness)
- id: get_system_readiness_state
label: Get System Readiness State
kind: query
command: "GET_SYSTEM_READINESS_STATE:"
params: []
- id: leave_idle_mode
label: Leave Idle Mode
kind: action
command: "LEAVE_IDLE_MODE:"
params: []
# Verification / discovery
- id: get_system_version
label: Get System Version
kind: query
command: "GET_SYSTEM_VERSION:"
params: []
- id: get_num_zones
label: Get Num Zones
kind: query
command: "GET_NUM_ZONES:"
params: []
- id: get_device_type_name
label: Get Device Type Name
kind: query
command: "GET_DEVICE_TYPE_NAME:"
params: []
- id: get_time
label: Get Time
kind: query
command: "GET_TIME:"
params: []
- id: get_available_devices
label: Get Available Devices
kind: query
command: "GET_AVAILABLE_DEVICES:"
params: []
- id: get_available_devices_by_serial_number
label: Get Available Devices By Serial Number
kind: query
command: "GET_AVAILABLE_DEVICES_BY_SERIAL_NUMBER:"
params: []
# Protocol
- id: get_protocol
label: Get Protocol
kind: query
command: "GET_PROTOCOL:"
params: []
- id: set_protocol_settings
label: Set Protocol Settings
kind: action
command: "SET_PROTOCOL_SETTINGS:{delimiter_type}:{character_set}:"
params:
- name: delimiter_type
type: string
description: PRINTABLE_DELIMITERS or BINARY_DELIMITERS
- name: character_set
type: string
description: LATIN-1
- id: set_supported_protocol
label: Set Supported Protocol
kind: action
command: "SET_SUPPORTED_PROTOCOL:{version}:"
params:
- name: version
type: integer
description: Protocol version (e.g. 18)
- id: get_active_protocol
label: Get Active Protocol
kind: query
command: "GET_ACTIVE_PROTOCOL:"
params: []
# Event registration
- id: enable_events
label: Enable Events
kind: action
command: "ENABLE_EVENTS:{target_device_id}:"
params:
- name: target_device_id
type: string
description: CPDID (e.g. 09) or serial number (e.g. #144B) or zone (e.g. 35.01)
- id: disable_events
label: Disable Events
kind: action
command: "DISABLE_EVENTS:{target_device_id}:"
params:
- name: target_device_id
type: string
description: CPDID or serial number
- id: get_device_info
label: Get Device Info
kind: query
command: "GET_DEVICE_INFO:"
params: []
- id: send_to_syslog
label: Send To Syslog
kind: action
command: "SEND_TO_SYSLOG:INFORMATION:{message}:"
params:
- name: message
type: string
description: Free-form string logged by the Kaleidescape System
# Friendly name
- id: get_friendly_name
label: Get Friendly Name
kind: query
command: "GET_FRIENDLY_NAME:"
params: []
- id: set_friendly_name
label: Set Friendly Name
kind: action
command: "SET_FRIENDLY_NAME:{name}:"
params:
- name: name
type: string
- id: get_friendly_system_name
label: Get Friendly System Name
kind: query
command: "GET_FRIENDLY_SYSTEM_NAME:"
params: []
# Arrow / page nav (each direction has PRESS, RELEASE, and combined)
- id: up
label: Up
kind: action
command: "UP:"
params: []
- id: up_press
label: Up Press
kind: action
command: "UP_PRESS:"
params: []
- id: up_release
label: Up Release
kind: action
command: "UP_RELEASE:"
params: []
- id: down
label: Down
kind: action
command: "DOWN:"
params: []
- id: down_press
label: Down Press
kind: action
command: "DOWN_PRESS:"
params: []
- id: down_release
label: Down Release
kind: action
command: "DOWN_RELEASE:"
params: []
- id: left
label: Left
kind: action
command: "LEFT:"
params: []
- id: left_press
label: Left Press
kind: action
command: "LEFT_PRESS:"
params: []
- id: left_release
label: Left Release
kind: action
command: "LEFT_RELEASE:"
params: []
- id: right
label: Right
kind: action
command: "RIGHT:"
params: []
- id: right_press
label: Right Press
kind: action
command: "RIGHT_PRESS:"
params: []
- id: right_release
label: Right Release
kind: action
command: "RIGHT_RELEASE:"
params: []
- id: child_up
label: Child Up
kind: action
command: "CHILD_UP:"
params: []
- id: child_up_press
label: Child Up Press
kind: action
command: "CHILD_UP_PRESS:"
params: []
- id: child_up_release
label: Child Up Release
kind: action
command: "CHILD_UP_RELEASE:"
params: []
- id: child_down
label: Child Down
kind: action
command: "CHILD_DOWN:"
params: []
- id: child_down_press
label: Child Down Press
kind: action
command: "CHILD_DOWN_PRESS:"
params: []
- id: child_down_release
label: Child Down Release
kind: action
command: "CHILD_DOWN_RELEASE:"
params: []
- id: child_left
label: Child Left
kind: action
command: "CHILD_LEFT:"
params: []
- id: child_left_press
label: Child Left Press
kind: action
command: "CHILD_LEFT_PRESS:"
params: []
- id: child_left_release
label: Child Left Release
kind: action
command: "CHILD_LEFT_RELEASE:"
params: []
- id: child_right
label: Child Right
kind: action
command: "CHILD_RIGHT:"
params: []
- id: child_right_press
label: Child Right Press
kind: action
command: "CHILD_RIGHT_PRESS:"
params: []
- id: child_right_release
label: Child Right Release
kind: action
command: "CHILD_RIGHT_RELEASE:"
params: []
- id: page_up
label: Page Up
kind: action
command: "PAGE_UP:"
params: []
- id: page_up_press
label: Page Up Press
kind: action
command: "PAGE_UP_PRESS:"
params: []
- id: page_up_release
label: Page Up Release
kind: action
command: "PAGE_UP_RELEASE:"
params: []
- id: page_down
label: Page Down
kind: action
command: "PAGE_DOWN:"
params: []
- id: page_down_press
label: Page Down Press
kind: action
command: "PAGE_DOWN_PRESS:"
params: []
- id: page_down_release
label: Page Down Release
kind: action
command: "PAGE_DOWN_RELEASE:"
params: []
# Selection / position
- id: select
label: Select
kind: action
command: "SELECT:"
params: []
- id: back
label: Back
kind: action
command: "BACK:"
params: []
- id: position_select
label: Position Select
kind: action
command: "POSITION_SELECT:{x_loc}:{y_loc}:"
params:
- name: x_loc
type: integer
- name: y_loc
type: integer
- id: child_select
label: Child Select
kind: action
command: "CHILD_SELECT:"
params: []
# Menu
- id: kaleidescape_menu_on
label: Kaleidescape Menu On
kind: action
command: "KALEIDESCAPE_MENU_ON:"
params: []
- id: kaleidescape_menu_off
label: Kaleidescape Menu Off
kind: action
command: "KALEIDESCAPE_MENU_OFF:"
params: []
- id: kaleidescape_menu_toggle
label: Kaleidescape Menu Toggle
kind: action
command: "KALEIDESCAPE_MENU_TOGGLE:"
params: []
- id: disc_or_kaleidescape_menu
label: Disc or Kaleidescape Menu
kind: action
command: "DISC_OR_KALEIDESCAPE_MENU:"
params: []
# View navigation
- id: go_movies
label: Go Movies
kind: action
command: "GO_MOVIES:"
params: []
- id: go_movie_list
label: Go Movie List
kind: action
command: "GO_MOVIE_LIST:"
params: []
- id: go_movie_covers
label: Go Movie Covers
kind: action
command: "GO_MOVIE_COVERS:"
params: []
- id: go_movie_collections
label: Go Movie Collections
kind: action
command: "GO_MOVIE_COLLECTIONS:"
params: []
- id: go_movie_collection
label: Go Movie Collection
kind: action
command: "GO_MOVIE_COLLECTION:{collection_name}:"
params:
- name: collection_name
type: string
- id: go_music
label: Go Music
kind: action
command: "GO_MUSIC:"
params: []
- id: go_music_list
label: Go Music List
kind: action
command: "GO_MUSIC_LIST:"
params: []
- id: go_music_covers
label: Go Music Covers
kind: action
command: "GO_MUSIC_COVERS:"
params: []
- id: go_music_collections
label: Go Music Collections
kind: action
command: "GO_MUSIC_COLLECTIONS:"
params: []
- id: go_music_collection
label: Go Music Collection
kind: action
command: "GO_MUSIC_COLLECTION:{collection_name}:"
params:
- name: collection_name
type: string
- id: go_now_playing
label: Go Now Playing
kind: action
command: "GO_NOW_PLAYING:"
params: []
- id: go_movie_store
label: Go Movie Store
kind: action
command: "GO_MOVIE_STORE:"
params: []
- id: go_system_status
label: Go System Status
kind: action
command: "GO_SYSTEM_STATUS:"
params: []
- id: go_parental_control
label: Go Parental Control
kind: action
command: "GO_PARENTAL_CONTROL:"
params: []
- id: go_vault_summary
label: Go Vault Summary
kind: action
command: "GO_VAULT_SUMMARY:"
params: []
- id: go_search
label: Go Search
kind: action
command: "GO_SEARCH:"
params: []
- id: disc_in_tray_toggle
label: Disc In Tray Toggle
kind: action
command: "DISC_IN_TRAY_TOGGLE:"
params: []
# UI state / user input
- id: get_ui_state
label: Get UI State
kind: query
command: "GET_UI_STATE:"
params: []
- id: get_user_input
label: Get User Input
kind: query
command: "GET_USER_INPUT:"
params: []
- id: get_user_input_prompt
label: Get User Input Prompt
kind: query
command: "GET_USER_INPUT_PROMPT:"
params: []
- id: set_user_input_entry
label: Set User Input Entry
kind: action
command: "SET_USER_INPUT_ENTRY:{string}:"
params:
- name: string
type: string
- id: keyboard_character
label: Keyboard Character
kind: action
command: "KEYBOARD_CHARACTER:{character}:"
params:
- name: character
type: string
description: Single character; colon must be escaped as \:
- id: keyboard_literal
label: Keyboard Literal
kind: action
command: "KEYBOARD_LITERAL:{character}:"
params:
- name: character
type: string
description: ASCII character >=32; colon/slash must be escaped
- id: backspace
label: Backspace
kind: action
command: "BACKSPACE:"
params: []
- id: filter_list
label: Filter List
kind: action
command: "FILTER_LIST:"
params: []
- id: shuffle_cover_art
label: Shuffle Cover Art
kind: action
command: "SHUFFLE_COVER_ART:"
params: []
- id: child_shuffle_cover_art
label: Child Shuffle Cover Art
kind: action
command: "CHILD_SHUFFLE_COVER_ART:"
params: []
- id: alphabetize_cover_art
label: Alphabetize Cover Art
kind: action
command: "ALPHABETIZE_COVER_ART:"
params: []
- id: default_level
label: Default Level (Parental)
kind: action
command: "DEFAULT_LEVEL:"
params: []
- id: safe_level
label: Safe Level (Parental)
kind: action
command: "SAFE_LEVEL:"
params: []
# Content details
- id: details
label: Details
kind: action
command: "DETAILS:"
params: []
- id: get_content_details
label: Get Content Details
kind: query
command: "GET_CONTENT_DETAILS:{handle}:{passcode}:"
params:
- name: handle
type: string
- name: passcode
type: string
- id: get_highlighted_selection
label: Get Highlighted Selection
kind: query
command: "GET_HIGHLIGHTED_SELECTION:"
params: []
# Screen saver
- id: go_screen_saver
label: Go Screen Saver
kind: action
command: "GO_SCREEN_SAVER:"
params: []
- id: stop_screen_saver
label: Stop Screen Saver
kind: action
command: "STOP_SCREEN_SAVER:"
params: []
# Playback transport
- id: play
label: Play
kind: action
command: "PLAY:"
params: []
- id: pause
label: Pause
kind: action
command: "PAUSE:"
params: []
- id: pause_on
label: Pause On
kind: action
command: "PAUSE_ON:"
params: []
- id: pause_off
label: Pause Off
kind: action
command: "PAUSE_OFF:"
params: []
- id: play_or_pause
label: Play or Pause
kind: action
command: "PLAY_OR_PAUSE:"
params: []
- id: stop
label: Stop
kind: action
command: "STOP:"
params: []
- id: stop_or_cancel
label: Stop or Cancel
kind: action
command: "STOP_OR_CANCEL:"
params: []
- id: next
label: Next
kind: action
command: "NEXT:"
params: []
- id: previous
label: Previous
kind: action
command: "PREVIOUS:"
params: []
- id: scan_forward
label: Scan Forward
kind: action
command: "SCAN_FORWARD:"
params: []
- id: scan_reverse
label: Scan Reverse
kind: action
command: "SCAN_REVERSE:"
params: []
- id: replay
label: Replay
kind: action
command: "REPLAY:"
params: []
- id: child_play
label: Child Play
kind: action
command: "CHILD_PLAY:"
params: []
- id: child_pause
label: Child Pause
kind: action
command: "CHILD_PAUSE:"
params: []
- id: child_pause_on
label: Child Pause On
kind: action
command: "CHILD_PAUSE_ON:"
params: []
- id: child_pause_off
label: Child Pause Off
kind: action
command: "CHILD_PAUSE_OFF:"
params: []
- id: child_stop
label: Child Stop
kind: action
command: "CHILD_STOP:"
params: []
- id: set_status_cue_period
label: Set Status Cue Period
kind: action
command: "SET_STATUS_CUE_PERIOD:{period}:"
params:
- name: period
type: integer
description: 0=off, 1=every second
- id: get_play_status
label: Get Play Status
kind: query
command: "GET_PLAY_STATUS:"
params: []
- id: get_playing_title_name
label: Get Playing Title Name
kind: query
command: "GET_PLAYING_TITLE_NAME:"
params: []
# Music zone
- id: get_music_now_playing_status
label: Get Music Now Playing Status
kind: query
command: "GET_MUSIC_NOW_PLAYING_STATUS:"
params: []
- id: get_music_play_status
label: Get Music Play Status
kind: query
command: "GET_MUSIC_PLAY_STATUS:"
params: []
- id: get_music_title
label: Get Music Title
kind: query
command: "GET_MUSIC_TITLE:"
params: []
- id: music_random_on
label: Music Random On
kind: action
command: "MUSIC_RANDOM_ON:"
params: []
- id: music_random_off
label: Music Random Off
kind: action
command: "MUSIC_RANDOM_OFF:"
params: []
- id: music_random_toggle
label: Music Random Toggle
kind: action
command: "MUSIC_RANDOM_TOGGLE:"
params: []
- id: music_repeat_on
label: Music Repeat On
kind: action
command: "MUSIC_REPEAT_ON:"
params: []
- id: music_repeat_off
label: Music Repeat Off
kind: action
command: "MUSIC_REPEAT_OFF:"
params: []
- id: music_repeat_toggle
label: Music Repeat Toggle
kind: action
command: "MUSIC_REPEAT_TOGGLE:"
params: []
- id: get_controlled_zone
label: Get Controlled Zone
kind: query
command: "GET_CONTROLLED_ZONE:"
params: []
- id: set_controlled_zone
label: Set Controlled Zone
kind: action
command: "SET_CONTROLLED_ZONE:#{sn}.{zn}:"
params:
- name: sn
type: string
description: Component serial number (hex)
- name: zn
type: string
description: Music zone 01-04
- id: browse
label: Browse (music)
kind: query
command: "BROWSE:{browse_handle}:{passcode}:{lines}:{flags}:"
params:
- name: browse_handle
type: string
- name: passcode
type: string
- name: lines
type: string
description: e.g. 1-10
- name: flags
type: string
description: e.g. filter="searchstring" or suggest
- id: perform_action
label: Perform Action
kind: action
command: "PERFORM_ACTION:{handle}:{passcode}:{action}:"
params:
- name: handle
type: string
- name: passcode
type: string
- name: action
type: string
- id: play_first_in_music_collection
label: Play First In Music Collection
kind: action
command: "PLAY_FIRST_IN_MUSIC_COLLECTION:{collection}:"
params:
- name: collection
type: string
- id: play_next_in_music_collection
label: Play Next In Music Collection
kind: action
command: "PLAY_NEXT_IN_MUSIC_COLLECTION:{collection}:"
params:
- name: collection
type: string
- id: play_previous_in_music_collection
label: Play Previous In Music Collection
kind: action
command: "PLAY_PREVIOUS_IN_MUSIC_COLLECTION:{collection}:"
params:
- name: collection
type: string
- id: assign_playing_music_to_preset
label: Assign Playing Music To Preset
kind: action
command: "ASSIGN_PLAYING_MUSIC_TO_PRESET:{tag}:"
params:
- name: tag
type: string
- id: play_music_preset
label: Play Music Preset
kind: action
command: "PLAY_MUSIC_PRESET:{tag}:"
params:
- name: tag
type: string
- id: get_music_preset_information
label: Get Music Preset Information
kind: query
command: "GET_MUSIC_PRESET_INFORMATION:{tag}:"
params:
- name: tag
type: string
- id: get_playing_music_information
label: Get Playing Music Information
kind: query
command: "GET_PLAYING_MUSIC_INFORMATION:"
params: []
# Disc / BD controls
- id: disc_menu
label: Disc Menu
kind: action
command: "DISC_MENU:"
params: []
- id: disc_top_menu
label: Disc Top Menu
kind: action
command: "DISC_TOP_MENU:"
params: []
- id: disc_resume
label: Disc Resume
kind: action
command: "DISC_RESUME:"
params: []
- id: start_chapter_entry
label: Start Chapter Entry
kind: action
command: "START_CHAPTER_ENTRY:"
params: []
- id: start_disc_title_entry
label: Start Disc Title Entry
kind: action
command: "START_DISC_TITLE_ENTRY:"
params: []
- id: show_navigation_overlay
label: Show Navigation Overlay
kind: action
command: "SHOW_NAVIGATION_OVERLAY:"
params: []
- id: status_and_settings
label: Status And Settings
kind: action
command: "STATUS_AND_SETTINGS:"
params: []
- id: intermission_on
label: Intermission On
kind: action
command: "INTERMISSION_ON:"
params: []
- id: intermission_off
label: Intermission Off
kind: action
command: "INTERMISSION_OFF:"
params: []
- id: intermission_toggle
label: Intermission Toggle
kind: action
command: "INTERMISSION_TOGGLE:"
params: []
- id: set_favorite_scene_start
label: Set Favorite Scene Start
kind: action
command: "SET_FAVORITE_SCENE_START:"
params: []
- id: set_favorite_scene_end
label: Set Favorite Scene End
kind: action
command: "SET_FAVORITE_SCENE_END:"
params: []
- id: start_send_number_to_disc_entry
label: Start Send Number To Disc Entry
kind: action
command: "START_SEND_NUMBER_TO_DISC_ENTRY:"
params: []
- id: angle_next
label: Angle Next
kind: action
command: "ANGLE_NEXT:"
params: []
- id: angle_previous
label: Angle Previous
kind: action
command: "ANGLE_PREVIOUS:"
params: []
- id: audio_next
label: Audio Next
kind: action
command: "AUDIO_NEXT:"
params: []
- id: subtitles_next
label: Subtitles Next
kind: action
command: "SUBTITLES_NEXT:"
params: []
- id: get_camera_angle
label: Get Camera Angle
kind: query
command: "GET_CAMERA_ANGLE:"
params: []
- id: red
label: Red (BD color button)
kind: action
command: "RED:"
params: []
- id: red_press
label: Red Press
kind: action
command: "RED_PRESS:"
params: []
- id: red_release
label: Red Release
kind: action
command: "RED_RELEASE:"
params: []
- id: green
label: Green (BD color button)
kind: action
command: "GREEN:"
params: []
- id: green_press
label: Green Press
kind: action
command: "GREEN_PRESS:"
params: []
- id: green_release
label: Green Release
kind: action
command: "GREEN_RELEASE:"
params: []
- id: blue
label: Blue (BD color button)
kind: action
command: "BLUE:"
params: []
- id: blue_press
label: Blue Press
kind: action
command: "BLUE_PRESS:"
params: []
- id: blue_release
label: Blue Release
kind: action
command: "BLUE_RELEASE:"
params: []
- id: yellow
label: Yellow (BD color button)
kind: action
command: "YELLOW:"
params: []
- id: yellow_press
label: Yellow Press
kind: action
command: "YELLOW_PRESS:"
params: []
- id: yellow_release
label: Yellow Release
kind: action
command: "YELLOW_RELEASE:"
params: []
- id: get_movie_media_type
label: Get Movie Media Type
kind: query
command: "GET_MOVIE_MEDIA_TYPE:"
params: []
- id: bluray_special_stop
label: Blu-ray Special Stop
kind: action
command: "BLURAY_SPECIAL_STOP:"
params: []
- id: bluray_popup_menu_toggle
label: Blu-ray Popup Menu Toggle
kind: action
command: "BLURAY_POPUP_MENU_TOGGLE:"
params: []
# Paging / skipping (PRESS/RELEASE variants enumerated)
- id: page_down_or_next
label: Page Down or Next
kind: action
command: "PAGE_DOWN_OR_NEXT:"
params: []
- id: page_down_or_next_press
label: Page Down or Next Press
kind: action
command: "PAGE_DOWN_OR_NEXT_PRESS:"
params: []
- id: page_down_or_next_release
label: Page Down or Next Release
kind: action
command: "PAGE_DOWN_OR_NEXT_RELEASE:"
params: []
- id: page_down_or_previous
label: Page Down or Previous
kind: action
command: "PAGE_DOWN_OR_PREVIOUS:"
params: []
- id: page_down_or_previous_press
label: Page Down or Previous Press
kind: action
command: "PAGE_DOWN_OR_PREVIOUS_PRESS:"
params: []
- id: page_down_or_previous_release
label: Page Down or Previous Release
kind: action
command: "PAGE_DOWN_OR_PREVIOUS_RELEASE:"
params: []
- id: page_up_or_next
label: Page Up or Next
kind: action
command: "PAGE_UP_OR_NEXT:"
params: []
- id: page_up_or_next_press
label: Page Up or Next Press
kind: action
command: "PAGE_UP_OR_NEXT_PRESS:"
params: []
- id: page_up_or_next_release
label: Page Up or Next Release
kind: action
command: "PAGE_UP_OR_NEXT_RELEASE:"
params: []
- id: page_up_or_previous
label: Page Up or Previous
kind: action
command: "PAGE_UP_OR_PREVIOUS:"
params: []
- id: page_up_or_previous_press
label: Page Up or Previous Press
kind: action
command: "PAGE_UP_OR_PREVIOUS_PRESS:"
params: []
- id: page_up_or_previous_release
label: Page Up or Previous Release
kind: action
command: "PAGE_UP_OR_PREVIOUS_RELEASE:"
params: []
# Masking / video mode
- id: get_movie_location
label: Get Movie Location
kind: query
command: "GET_MOVIE_LOCATION:"
params: []
- id: go_calibrate_masking
label: Go Calibrate Masking
kind: action
command: "GO_CALIBRATE_MASKING:"
params: []
- id: go_calibrate_masking_overscan
label: Go Calibrate Masking Overscan
kind: action
command: "GO_CALIBRATE_MASKING_OVERSCAN:"
params: []
- id: get_cinemascape_mask
label: Get CinemaScape Mask
kind: query
command: "GET_CINEMASCAPE_MASK:"
params: []
- id: get_screen_mask
label: Get Screen Mask
kind: query
command: "GET_SCREEN_MASK:"
params: []
- id: get_screen_mask2
label: Get Screen Mask 2
kind: query
command: "GET_SCREEN_MASK2:"
params: []
- id: set_screen_mask
label: Set Screen Mask
kind: action
command: "SET_SCREEN_MASK:{flag}:"
params:
- name: flag
type: integer
description: 0=no masking compensation, 1=compensate for masking
- id: get_video_mode
label: Get Video Mode
kind: query
command: "GET_VIDEO_MODE:"
params: []
- id: get_video_color
label: Get Video Color
kind: query
command: "GET_VIDEO_COLOR:"
params: []
- id: get_content_color
label: Get Content Color
kind: query
command: "GET_CONTENT_COLOR:"
params: []
- id: get_cinemascape_mode
label: Get CinemaScape Mode
kind: query
command: "GET_CINEMASCAPE_MODE:"
params: []
- id: set_cinemascape_mode
label: Set CinemaScape Mode
kind: action
command: "SET_CINEMASCAPE_MODE:{mode}:"
params:
- name: mode
type: integer
description: 0=off, 1=2.35 Anamorphic, 2=2.35 Letterbox, 3=Native 2.35 Display
- id: get_scale_mode
label: Get Scale Mode
kind: query
command: "GET_SCALE_MODE:"
params: []
- id: play_script
label: Play Script
kind: action
command: "PLAY_SCRIPT:{script_name}:"
params:
- name: script_name
type: string
- id: send_event
label: Send Event
kind: action
command: "SEND_EVENT:{message}:"
params:
- name: message
type: string
# Child mode
- id: get_child_mode_state
label: Get Child Mode State
kind: query
command: "GET_CHILD_MODE_STATE:"
params: []
- id: enter_child_mode
label: Enter Child Mode
kind: action
command: "ENTER_CHILD_MODE:"
params: []
- id: leave_child_mode
label: Leave Child Mode
kind: action
command: "LEAVE_CHILD_MODE:"
params: []
# Networking
- id: get_network_settings
label: Get Network Settings
kind: query
command: "GET_NETWORK_SETTINGS:"
params: []
- id: set_network_settings
label: Set Network Settings
kind: action
command: "SET_NETWORK_SETTINGS:{static}:{ip_address}:{subnet}:{gateway}:{dns1}:{dns2}:"
params:
- name: static
type: integer
description: 0=DHCP, 1=static
- name: ip_address
type: string
- name: subnet
type: string
- name: gateway
type: string
- name: dns1
type: string
- name: dns2
type: string
- id: get_system_capabilities
label: Get System Capabilities
kind: query
command: "GET_SYSTEM_CAPABILITIES:"
params: []
- id: get_zone_capabilities
label: Get Zone Capabilities
kind: query
command: "GET_ZONE_CAPABILITIES:"
params: []
Feedbacks
- id: device_power_state
type: enum
values:
- standby
- on
- id: zone_state
type: enum
values:
- disabled
- available
- id: system_readiness_state
type: enum
values:
- ready
- becoming_ready
- idle
- id: ui_state
type: object
description: screen / popup / dialog / saver codes; see GET_UI_STATE table
- id: available_devices
type: string
description: Colon-delimited list of CPDIDs
- id: available_devices_by_serial_number
type: string
description: Colon-delimited list of zero-padded 12-hex serial numbers
- id: device_type_name
type: enum
values:
- Server
- Cinema One
- Strato
- Strato V
- Alto
- Terra Movie Server
- Player
- Music Player
- Disc Vault
- id: num_zones
type: object
description: num_movie_zones (00 or 01) and num_music_zones
- id: system_version
type: object
description: control_protocol_version (e.g. 18) and kOS_version string
- id: protocol
type: integer
description: Active protocol version (zero-padded two-digit)
- id: active_protocol
type: integer
description: Session protocol version
- id: device_info
type: object
description: device_type, serial_num (16 hex), cpdid, ip_address
- id: friendly_name
type: string
- id: friendly_system_name
type: string
- id: highlighted_selection
type: string
description: Handle for currently highlighted item
- id: user_input
type: object
description: type (00/01/02), prompt, entry
- id: user_input_prompt
type: object
description: type, icon, prompt, displayed, char_limit, valid
- id: content_details_overview
type: object
description: num_lines, handle, table
- id: content_details
type: object
description: line, name, value
- id: play_status
type: object
description: mode (0/1/2/4/6), speed, title_num, title_length, title_loc, chap_num, chap_len, chap_loc
- id: title_name
type: string
- id: music_now_playing_status
type: object
description: total, location, repeat (0/1), random (0/1), generation, now_playing_handle
- id: music_play_status
type: object
description: mode, speed, length, position (+/-), progress
- id: music_title
type: object
description: track, artist, album, track_handle, album_handle, now_playing_handle
- id: playing_music_information
type: object
description: handle, label
- id: music_preset_information
type: object
description: tag, handle, label
- id: browse_results_overview
type: object
description: browse_handle, title, response_lines, total_lines, first_line_index, playing_line_index
- id: browse_result
type: object
description: relative_line, line text, default_action fields, action1..action4 fields
- id: action_performed
type: string
- id: controlled_zone
type: string
description: #{sn}.{zn}
- id: movie_media_type
type: enum
values:
- none
- dvd
- video_stream
- bluray
- id: movie_location
type: enum
values:
- interface_or_unknown
- main_content
- intermission
- end_credits
- disc_menu
- id: cinema_angle
type: object
description: cur_angle (1-9), num_angles (1-9), in_angle_block (0/1)
- id: cinemascape_mask
type: integer
description: frame_ratio *100 (e.g. 133, 166, 178, 237, 240)
- id: screen_mask
type: object
description: image_ratio (00-05), top_trim_rel, bottom_trim_rel, conservative_ratio, top_mask_abs, bottom_mask_abs
- id: screen_mask2
type: object
description: top_mask_abs, bottom_mask_abs, top_calibrated, bottom_calibrated
- id: video_mode
type: object
description: composite, component, HDMI two-digit codes (table of 00-57)
- id: video_color
type: object
description: EOTF, color_space, color_depth, color_sampling
- id: content_color
type: object
description: EOTF, color_space, color_depth, color_sampling
- id: cinemascape_mode
type: enum
values:
- off
- "2_35_anamorphic"
- "2_35_letterbox"
- native_2_35_display
- id: scale_mode
type: enum
values:
- no_scaling
- anamorphic
- reserved
- zoom
- id: child_mode_state
type: enum
values:
- inactive
- active
- id: network_settings
type: object
description: static (0/1), ip_address, subnet_mask, gateway, dns1, dns2
- id: system_capabilities
type: object
description: movies (Y/N), music (Y/N), product_line (Y/N)
- id: zone_capabilities
type: object
description: osd/movies/music/store/search flags, library_type, osd_generation (00-03)
- id: time
type: object
description: yyyy, mm, dd, hh, mm, ss, timezone (3-letter)
- id: player_restart
type: event
description: Sent when component finishes powering up; no status code
- id: user_defined_event
type: string
description: Custom event message (from SEND_EVENT, scripts, child UI, volume buttons)
- id: status_code
type: object
description: Three-digit zero-padded status code; 000=success, others=errors (Appendix A)
Variables
# UNRESOLVED: section intentionally omitted - the Kaleidescape protocol is command/response based;
# persistent settable parameters are configured via dedicated SET_* commands already enumerated as actions.
Events
- id: player_restart
description: PLAYER_RESTART - emitted when component finishes powering up and is ready for input
- id: device_power_state
description: DEVICE_POWER_STATE - emitted on power state change
- id: available_devices
description: AVAILABLE_DEVICES - emitted when component list changes
- id: ui_state
description: UI_STATE - emitted on screen/popup/dialog/saver change
- id: highlighted_selection
description: HIGHLIGHTED_SELECTION - emitted on highlight change
- id: user_input
description: USER_INPUT - emitted on prompt/entry change
- id: play_status
description: PLAY_STATUS - periodic during playback when status cue period >0
- id: music_play_status
description: MUSIC_PLAY_STATUS - periodic during music playback
- id: music_now_playing_status
description: MUSIC_NOW_PLAYING_STATUS - emitted on music list state change
- id: music_title
description: MUSIC_TITLE - emitted on track change
- id: playing_music_information
description: PLAYING_MUSIC_INFORMATION - emitted on now-playing change
- id: music_preset_information
description: MUSIC_PRESET_INFORMATION - emitted on preset assignment
- id: video_mode
description: VIDEO_MODE - emitted on output mode change
- id: video_color
description: VIDEO_COLOR - emitted on output color change
- id: content_color
description: CONTENT_COLOR - emitted on content color change
- id: cinemascape_mask
description: CINEMASCAPE_MASK - emitted on mask change
- id: screen_mask
description: SCREEN_MASK - emitted on mask change
- id: movie_location
description: MOVIE_LOCATION - emitted on playback location change
- id: movie_media_type
description: MOVIE_MEDIA_TYPE - emitted on media type change
- id: child_mode_state
description: CHILD_MODE_STATE - emitted on child UI activation
- id: title_name
description: TITLE_NAME - emitted on title change
- id: user_defined_event
description: USER_DEFINED_EVENT - custom event from SEND_EVENT, scripts, child UI, volume keys
- id: status_cue_period
description: STATUS_CUE_PERIOD - response confirming cue period
Macros
# UNRESOLVED: section intentionally omitted - Kaleidescape control protocol defines no built-in
# multi-step macro commands. The PLAY_SCRIPT action triggers a user-defined script on the player,
# but the script contents are configured separately on-device and not described in this source.
Safety
confirmation_required_for:
- bluray_special_stop # source: "CAUTION: USING THIS COMMAND CAN TRAP THE USER... controller must provide another mechanism to return to the Kaleidescape menu"
interlocks: []
# UNRESOLVED: source contains only the BLURAY_SPECIAL_STOP caution; no other interlock procedures
# or power-on sequencing requirements are documented.
Notes
- TCP/IP control uses port 10000 (verified in source). Up to 20 simultaneous connections per component.
- M300 supports
LEAVE_STANDBYover both RS-232 and TCP/IP without disconnecting TCP (M-Class behavior). - M300 has an RS-232 DTE port; data rates up to 57,600 baud for players; default 19200/8/N/1, no flow control.
- Most Premiere Players disconnect TCP when entering/leaving standby; 1080p/Mini/Movie Player 2/Music Player also drop TCP on
LEAVE_STANDBYover TCP. Wait 15s before reconnecting. - Each message uses
device_id/seq/message_body[/checksum]format; checksum is modulo-100 sum of preceding characters and optional in commands. - Binary delimiter mode (
SET_PROTOCOL_SETTINGS:BINARY_DELIMITERS:LATIN-1:) replaces/with SOH (0x01),:with STX (0x02),\r\nwith EOT (0x04); not supported over RS-232. - Command routing via CPDID (01-99) or serial-number prefix (
#144B) lets a single connection reach other components. - Music-zone commands use the
01.02/seq/...device-ID syntax; only music-related commands valid for music zones. - Status code 028 ("Incompatible video configuration") returned for
GET_CINEMASCAPE_MASKoutside CinemaScape mode.
Provenance
source_domains:
- kaleidescape.com
- support.kaleidescape.com
source_urls:
- https://www.kaleidescape.com/wp-content/uploads/kaleidescape-system-control-protocol-reference-manual.pdf
- https://support.kaleidescape.com/support/article/Control-Protocol-Reference-Manual
- https://www.kaleidescape.com/support/article/Kaleidescape-Control-Commands
- https://www.kaleidescape.com/wp-content/uploads/2019/07/Kaleidescape-Programming-Manual-for-Crestron.pdf
retrieved_at: 2026-05-21T19:58:25.112Z
last_checked_at: 2026-07-22T01:02:03.562Z
Verification Summary
verdict: verified
checked_at: 2026-07-22T01:02:03.562Z
matched_actions: 202
action_count: 202
confidence: medium
summary: "All 202 spec actions are literal wire-token matches with correct shapes/params against the source command reference, and transport values (port 10000, 19200/8/N/1) are verbatim-supported. (6 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- GET_PROTOCOL_VERSION
- "M300-specific firmware compatibility not stated; source applies to entire Premiere/Strato line."
- "source says \"None (default) or RTS/CTS\" - rts_cts listed as optional"
- "section intentionally omitted - the Kaleidescape protocol is command/response based;"
- "section intentionally omitted - Kaleidescape control protocol defines no built-in"
- "source contains only the BLURAY_SPECIAL_STOP caution; no other interlock procedures"
- "M300-specific firmware compatibility not stated (source covers the full Premiere/Strato line at kOS 10.18 / 8.13). Voltage, current, and power specifications not stated. M300-specific RS-232 baud rate not stated — used the Premiere-player default of 19200."
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0