Launchpad External Control Protocol Packet Structure STX CMD PARAM ETX Parameters are delimited by "*" Definitions: STX = 0x5B ETX = 0x5D = 0x2A Commands: GET_OutputSurfaces = 0x41 "A" Reply to GET-> list of string. Format "[Index]Description" Example: "[0]Ribbon CRLF [1]Main" GET_ImageAndVideosList = 0x42 "B" Reply to GET -> list of string. Format "FileName" Example: "Coke.jpg" GET_BugList = 0x43 "C" Reply to GET -> list of string. Format "FileName" Example: "Scoreboard.tmp" GET_Audiolist = 0x44 "D" Reply to GET -> list of string. Format "FileName" Example: "MyMusic.mp3" GET_AudioPlaylist = 0x45 "E" Reply to GET -> list of string. Format "FileName" Example: "MyMusicPlaylist.plA" GET_BugPlaylist = 0x46 "F" Reply to GET -> list of string. Format "FileName" Example: "MyBugPlaylist.plB" GET_VideoImagePlaylist = 0x47 "G" Reply to GET -> list of string. Format "FileName" Example: "MyVideoPlaylist.plV" [Future] GET_RunningItems = 0x48 "H" Reply to GET -> list of string. Format "[Index]Description" Example: "[0]Background.jpg CRLF [1]ScoreBug CRLF [2]LowerThird.mov" [Future] GET_MediaThumbnail = 0x49 "I" Reply to GET -> Serialized Bitmap as byte array GET_CurrentVideoSource = 0x50 "P" Reply to GET -> List of input states "E" - Enabled "D" - Disabled "S" - Selected Example: "SEEE" Ch1 Selected, CH2-4 have valid inputs but not selected Example: "SEED" Ch1 Selected, CH2-3 have valid inputs but not selected, CH4 has no input PLAY_Clip = 0x30 "0" Parameters(FileNameOutputSurfaceIndexLayerTransitionLoopAutoClose) FileName = String OutputSurfaceIndex = int Layer = "BG"(Background) or "FG"(Foreground) Transition = "CUT", "FADE", etc Loop = "T" or "F" AutoClose = "T" or "F" AutoPlay = "T" or "F" ResizeMethod = "S" (Stretch),"Z" (AutoZoom),"C" (ZoomAndCrop) *New Option Example: "[10Coke.mov30BGFTTT]" [Play Coke.mov on Background once and close when end is reached, auto Start] PLAY_PRELOADED_CLIP = 0x39 "9" Parameters(OutputSurfaceIndexLayer) OutputSurfaceIndex = int Layer = "BG"(Background) or "FG"(Foreground) HACK : If you send ASCII "255" in text for OuputSurfaceIndex, the receiving function will tell ALL ucPlayCntrl objects to PlayNextClip() PLAY_Bug = 0x31 "1" Parameters(FileNameOutputSurfaceIndexTransitionLayer) FileName = String OutputSurfaceIndex = int Transition = "CUT", "FADE", etc Layer = "BG"(Background) or "FG"(Foreground) PLAY_Audio = 0x32 "2" Parameters(FileNameFadeLoop)(Tab Separated) FileName = String Transition = "CUT", "FADE", etc Loop = "T" or "F" PLAY_VideoPlaylist = 0x33 "3" Parameters(FileNameOutputSurfaceIndexLayerTransitionLoopResize) FileName = String OutputSurfaceIndex = int Layer = "BG"(Background) or "FG"(Foreground) Transition = "CUT", "FADE", etc Loop = "T" or "F" ResizeMethod = "S" (Stretch),"Z" (AutoZoom),"C" (ZoomAndCrop) *New Option PLAY_BugPlaylist = 0x34 "4" Parameters(FileNameFadeLoopAutoCloseLayer) FileName = String OutputSurfaceIndex = int Transition = "CUT", "FADE", etc Loop = "T" or "F" Layer = "BG"(Background) or "FG"(Foreground) PLAY_AudioPlaylist = 0x35 "5" Parameters(FileNameFadeLoopAutoClose)(Tab Separated) FileName = String Loop = "T" or "F" PLAY_PlayListSync_MasterPlayListMSG = 0x40 "@" Parameters(CalledByLayerPlayThisItem) CalledBy = int [tip: src ID 255 is a message from another LaunchPad) Layer = "BG"(Background) or "FG"(Foreground) or "BGBUG"(Background Bug) or "FGBUG"(Foreground Bug) PlayThisItem = int (The item number of the playlist) STOP_Video = 0x36 "6" Parameters(OutputSurfaceIndexLayer) OutputSurfaceIndex = int/string Layer = "BG"(Background) or "FG"(Foreground) STOP_Bug = 0x37 "7" Parameters(OutputSurfaceIndexLayer) OutputSurfaceIndex = int/string STOP_Audio = 0x38 "8" Parameters(NONE) SET_Variable = 0x50 "P" Parameters(VariableNumberVariable String ValueVariableDescription) APPLY_BrightnessPreset = 0x51 "Q" Parameters(ModeIndex) DayMode = "1" NightMode = "2" BlackOut = "3" // NOTE: This applies to any surface configured with custom brightness values within LaunchPad SET_XML_SelectedPlayer = 0x52 "R" Parameters(team,playername) Team : "H" or "G" Name : "First Last" SET_HOTKEY = 0x53 "S" Parameters (Character) SET_TOGGLELIVEINPUT = 0x54 "T" Parameters (OutputSurfaceIndex) OutputSurfaceIndex = int/string example : [T0] Toggle live on output #1 SET_SwitcherInput = 0x55 "U" Parameters(Channel,Transition) Channel = "1","2","3","4" Transitions: Cut[1],Fade[2],wipeUp[3],WipeRight[4],WipeDown[5],WipeLeft[6] Example:[U1*2] = Select Input#1 with Fade Transition