2 * Copyright (c) 2010-2024 Contributors to the openHAB project
4 * See the NOTICE file(s) distributed with this work for additional
7 * This program and the accompanying materials are made available under the
8 * terms of the Eclipse Public License 2.0 which is available at
9 * http://www.eclipse.org/legal/epl-2.0
11 * SPDX-License-Identifier: EPL-2.0
13 package org.openhab.binding.kaleidescape.internal;
15 import java.util.Arrays;
16 import java.util.HashSet;
19 import org.eclipse.jdt.annotation.NonNullByDefault;
20 import org.openhab.core.thing.ThingTypeUID;
23 * The {@link KaleidescapeBindingConstants} class defines common constants, which are
24 * used across the whole binding.
26 * @author Michael Lobstein - Initial contribution
29 public class KaleidescapeBindingConstants {
30 public static final String BINDING_ID = "kaleidescape";
32 // List of all Thing Type UIDs
33 public static final ThingTypeUID THING_TYPE_PLAYER = new ThingTypeUID(BINDING_ID, "player");
34 public static final ThingTypeUID THING_TYPE_CINEMA_ONE = new ThingTypeUID(BINDING_ID, "cinemaone");
35 public static final ThingTypeUID THING_TYPE_ALTO = new ThingTypeUID(BINDING_ID, "alto");
36 public static final ThingTypeUID THING_TYPE_STRATO = new ThingTypeUID(BINDING_ID, "strato");
38 public static final int DEFAULT_API_PORT = 10000;
39 public static final int DISCOVERY_THREAD_POOL_SIZE = 15;
40 public static final boolean DISCOVERY_DEFAULT_AUTO_DISCOVER = false;
41 public static final int DISCOVERY_DEFAULT_TIMEOUT_RATE_MS = 500;
42 public static final int DISCOVERY_DEFAULT_IP_TIMEOUT_RATE_MS = 750;
44 // List of all Channels
45 public static final String POWER = "ui#power";
46 public static final String VOLUME = "ui#volume";
47 public static final String MUTE = "ui#mute";
48 public static final String CONTROL = "ui#control";
49 public static final String TITLE_NAME = "ui#title_name";
50 public static final String PLAY_MODE = "ui#play_mode";
51 public static final String PLAY_SPEED = "ui#play_speed";
52 public static final String TITLE_NUM = "ui#title_num";
53 public static final String TITLE_LENGTH = "ui#title_length";
54 public static final String TITLE_LOC = "ui#title_loc";
55 public static final String CHAPTER_NUM = "ui#chapter_num";
56 public static final String CHAPTER_LENGTH = "ui#chapter_length";
57 public static final String CHAPTER_LOC = "ui#chapter_loc";
58 public static final String MOVIE_MEDIA_TYPE = "ui#movie_media_type";
59 public static final String MOVIE_LOCATION = "ui#movie_location";
60 public static final String ASPECT_RATIO = "ui#aspect_ratio";
61 public static final String VIDEO_MODE = "ui#video_mode";
62 public static final String VIDEO_MODE_COMPOSITE = "ui#video_mode_composite";
63 public static final String VIDEO_MODE_COMPONENT = "ui#video_mode_component";
64 public static final String VIDEO_MODE_HDMI = "ui#video_mode_hdmi";
65 public static final String VIDEO_COLOR = "ui#video_color";
66 public static final String VIDEO_COLOR_EOTF = "ui#video_color_eotf";
67 public static final String CONTENT_COLOR = "ui#content_color";
68 public static final String CONTENT_COLOR_EOTF = "ui#content_color_eotf";
69 public static final String SCALE_MODE = "ui#scale_mode";
70 public static final String SCREEN_MASK = "ui#screen_mask";
71 public static final String SCREEN_MASK2 = "ui#screen_mask2";
72 public static final String CINEMASCAPE_MASK = "ui#cinemascape_mask";
73 public static final String CINEMASCAPE_MODE = "ui#cinemascape_mode";
74 public static final String UI_STATE = "ui#ui_state";
75 public static final String CHILD_MODE_STATE = "ui#child_mode_state";
76 public static final String SYSTEM_READINESS_STATE = "ui#readiness_state";
77 public static final String HIGHLIGHTED_SELECTION = "ui#highlighted_selection";
78 public static final String USER_DEFINED_EVENT = "ui#user_defined_event";
79 public static final String USER_INPUT = "ui#user_input";
80 public static final String USER_INPUT_PROMPT = "ui#user_input_prompt";
81 public static final String CHANNEL_TYPE_SENDCMD = "ui#sendcmd";
83 public static final String MUSIC = "music#";
84 public static final String MUSIC_CONTROL = "music#control";
85 public static final String MUSIC_REPEAT = "music#repeat";
86 public static final String MUSIC_RANDOM = "music#random";
87 public static final String MUSIC_TRACK = "music#track";
88 public static final String MUSIC_ARTIST = "music#artist";
89 public static final String MUSIC_ALBUM = "music#album";
90 public static final String MUSIC_PLAY_MODE = "music#play_mode";
91 public static final String MUSIC_PLAY_SPEED = "music#play_speed";
92 public static final String MUSIC_TRACK_LENGTH = "music#track_length";
93 public static final String MUSIC_TRACK_POSITION = "music#track_position";
94 public static final String MUSIC_TRACK_PROGRESS = "music#track_progress";
95 public static final String MUSIC_TRACK_HANDLE = "music#track_handle";
96 public static final String MUSIC_ALBUM_HANDLE = "music#album_handle";
97 public static final String MUSIC_NOWPLAY_HANDLE = "music#nowplay_handle";
99 public static final String DETAIL = "detail#";
101 // metadata details - the values are keyed to what is sent by the component
102 // prefaced with 'detail_' when updating the channel
103 public static final String CONTENT_HANDLE = "content_handle";
104 public static final String ALBUM_CONTENT_HANDLE = "album_content_handle";
105 public static final String MOVIE = "movie";
106 public static final String ALBUM = "album";
107 public static final String DETAIL_TYPE = "type";
108 public static final String DETAIL_TITLE = "title"; // movie
109 public static final String DETAIL_ALBUM_TITLE = "album_title"; // album
110 public static final String DETAIL_COVER_ART = "cover_art"; // both
111 public static final String DETAIL_COVER_URL = "cover_url"; // both
112 public static final String DETAIL_HIRES_COVER_URL = "hires_cover_url"; // both
113 public static final String DETAIL_RATING = "rating"; // movie
114 public static final String DETAIL_YEAR = "year"; // both
115 public static final String DETAIL_RUNNING_TIME = "running_time"; // both
116 public static final String DETAIL_ACTORS = "actors"; // movie
117 public static final String DETAIL_ARTIST = "artist"; // album
118 public static final String DETAIL_DIRECTORS = "directors"; // movie
119 public static final String DETAIL_GENRES = "genres"; // both
120 public static final String DETAIL_RATING_REASON = "rating_reason"; // movie
121 public static final String DETAIL_SYNOPSIS = "synopsis"; // movie
122 public static final String DETAIL_REVIEW = "review"; // album
123 public static final String DETAIL_COLOR_DESCRIPTION = "color_description"; // movie
124 public static final String DETAIL_COUNTRY = "country"; // movie
125 public static final String DETAIL_ASPECT_RATIO = "aspect_ratio"; // movie
126 public static final String DETAIL_DISC_LOCATION = "disc_location"; // both
128 // make a list of all allowed metatdata channels,
129 // used to filter out what we don't want from the component
130 public static final Set<String> METADATA_CHANNELS = new HashSet<>(Arrays.asList(DETAIL_TITLE, DETAIL_ALBUM_TITLE,
131 DETAIL_COVER_URL, DETAIL_HIRES_COVER_URL, DETAIL_RATING, DETAIL_YEAR, DETAIL_RUNNING_TIME, DETAIL_ACTORS,
132 DETAIL_ARTIST, DETAIL_DIRECTORS, DETAIL_GENRES, DETAIL_RATING_REASON, DETAIL_SYNOPSIS, DETAIL_REVIEW,
133 DETAIL_COLOR_DESCRIPTION, DETAIL_COUNTRY, DETAIL_ASPECT_RATIO, DETAIL_DISC_LOCATION));
135 public static final String STANDBY_MSG = "Device is in standby";
136 public static final String PROPERTY_COMPONENT_TYPE = "Component Type";
137 public static final String PROPERTY_FRIENDLY_NAME = "Friendly Name";
138 public static final String PROPERTY_SERIAL_NUMBER = "Serial Number";
139 public static final String PROPERTY_CONTROL_PROTOCOL_ID = "Control Protocol ID";
140 public static final String PROPERTY_SYSTEM_VERSION = "System Version";
141 public static final String PROPERTY_PROTOCOL_VERSION = "Protocol Version";
143 public static final String GET_DEVICE_TYPE_NAME = "GET_DEVICE_TYPE_NAME";
144 public static final String GET_FRIENDLY_NAME = "GET_FRIENDLY_NAME";
145 public static final String GET_DEVICE_INFO = "GET_DEVICE_INFO";
146 public static final String GET_SYSTEM_VERSION = "GET_SYSTEM_VERSION";
147 public static final String GET_DEVICE_POWER_STATE = "GET_DEVICE_POWER_STATE";
148 public static final String GET_CINEMASCAPE_MASK = "GET_CINEMASCAPE_MASK";
149 public static final String GET_CINEMASCAPE_MODE = "GET_CINEMASCAPE_MODE";
150 public static final String GET_SCALE_MODE = "GET_SCALE_MODE";
151 public static final String GET_SCREEN_MASK = "GET_SCREEN_MASK";
152 public static final String GET_SCREEN_MASK2 = "GET_SCREEN_MASK2";
153 public static final String GET_VIDEO_MODE = "GET_VIDEO_MODE";
154 public static final String GET_UI_STATE = "GET_UI_STATE";
155 public static final String GET_HIGHLIGHTED_SELECTION = "GET_HIGHLIGHTED_SELECTION";
156 public static final String GET_CHILD_MODE_STATE = "GET_CHILD_MODE_STATE";
157 public static final String GET_MOVIE_LOCATION = "GET_MOVIE_LOCATION";
158 public static final String GET_MOVIE_MEDIA_TYPE = "GET_MOVIE_MEDIA_TYPE";
159 public static final String GET_PLAYING_TITLE_NAME = "GET_PLAYING_TITLE_NAME";
160 public static final String GET_PLAY_STATUS = "GET_PLAY_STATUS";
161 public static final String GET_MUSIC_NOW_PLAYING_STATUS = "GET_MUSIC_NOW_PLAYING_STATUS";
162 public static final String GET_MUSIC_PLAY_STATUS = "GET_MUSIC_PLAY_STATUS";
163 public static final String GET_MUSIC_TITLE = "GET_MUSIC_TITLE";
164 public static final String GET_SYSTEM_READINESS_STATE = "GET_SYSTEM_READINESS_STATE";
165 public static final String GET_VIDEO_COLOR = "GET_VIDEO_COLOR";
166 public static final String GET_CONTENT_COLOR = "GET_CONTENT_COLOR";
167 public static final String SET_STATUS_CUE_PERIOD_1 = "SET_STATUS_CUE_PERIOD:1";
168 public static final String GET_TIME = "GET_TIME";
169 public static final String GET_CONTENT_DETAILS = "GET_CONTENT_DETAILS:";
171 public static final String LEAVE_STANDBY = "LEAVE_STANDBY";
172 public static final String ENTER_STANDBY = "ENTER_STANDBY";
174 public static final String PLAY = "PLAY";
175 public static final String PAUSE = "PAUSE";
176 public static final String NEXT = "NEXT";
177 public static final String PREVIOUS = "PREVIOUS";
178 public static final String SCAN_FORWARD = "SCAN_FORWARD";
179 public static final String SCAN_REVERSE = "SCAN_REVERSE";
181 public static final String MUSIC_REPEAT_ON = "MUSIC_REPEAT_ON";
182 public static final String MUSIC_REPEAT_OFF = "MUSIC_REPEAT_OFF";
183 public static final String MUSIC_RANDOM_ON = "MUSIC_RANDOM_ON";
184 public static final String MUSIC_RANDOM_OFF = "MUSIC_RANDOM_OFF";
186 public static final String SEND_TO_SYSLOG = "SEND_TO_SYSLOG:INFORMATION:";
187 public static final String SEND_EVENT_VOLUME_CAPABILITIES_15 = "SEND_EVENT:VOLUME_CAPABILITIES=15";
188 public static final String SEND_EVENT_VOLUME_LEVEL_EQ = "SEND_EVENT:VOLUME_LEVEL=";
189 public static final String SEND_EVENT_MUTE = "SEND_EVENT:MUTE_";
190 public static final String MUTE_ON = "ON_FB";
191 public static final String MUTE_OFF = "OFF_FB";
193 public static final String ONE = "1";
194 public static final String ZERO = "0";
195 public static final String EMPTY = "";