APS has a TCP server that waits for a client connection on a default port (31600) and can be configured from the app settings. Once a connection is instantiated between the client and APS it will continuously listen to the incoming messages from that client.
The commands should be sent as an ASCII string with $
as a termination char at
the end of it (e.g. Navigation_NextFS$).
Navigation_NextFS
: Open the next presentation using the focused app in fullscreenNavigation_PrevFS
: Open prev presentation using the focused app in fullscreenNavigation_NextNoFS
: Open the next presentation using the focused appNavigation_CurrentFS
: Set current presentation in fullscreenOpenStart_Presentation
: supported params 3OpenStart_Presentation_Slot
: supported params 3Navigation_CloseOthers
Some commands can have up to 3 params separated by ^
like OpenStart_Presentation
- Slide Number
- Fullscreen Flag: can be 0 or 1
- FilePath or Slot Number
OpenStart_Presentation^2^1^C:\1.pptx
: Will start presentationC:\1.pptx
on slide 2 in fullscreenOpenStart_Presentation_Slot^1^0^1
: Will start the presentation in slot 1 on slide 1 in a normal windowPowerpoint_Go^2
will open slide 2 of the currently opened PP presentation
Key_Left
Invokes keyboard-stroke Key LeftKey_Right
Key_Esc
Key_B
Generic
: Go to a specified slide (Generic)Powerpoint_Go
: Go to a specified slide (PowerPoint)Powerpoint_Previous
Powerpoint_Next
Acrobat_Go
: Go to a specified slide (Adobe Acrobat DC Pro)Acrobat_Previous
Acrobat_Next
Keynote_GO
Go to a specified slide (Keynote)Keynote_Previous
Keynote_Next
Freeze
DisplayTest
Blackout
ExitImages
Capture
: Take a screenshot and save it to a bank, e.g.Capture1
Display
: Display an image, e.g.Display1
states
Play_MediaPlayer
Pause_MediaPlayer
Restart_MediaPlayer
Stop_MediaPlayer
Loop_MediaPlayer
Fade_MediaPlayer
Load_MediaPlayer
: This can accept additional param as follows:
a.Load_MediaPlayer#Previous
b.Load_MediaPlayer#Next
c.Load_MediaPlayer#1
where 1 is the media slot numberMediaPlayer_Position
: in secondsMediaPlayer_Position#30
MediaPlayer_Forward
: in secondsMediaPlayer_Forward#30
MediaPlayer_Rewind
: in secondsMediaPlayer_Rewind#30
Media Player commands use different separator #
Once the client is connected to APS it will continuously receive info. This will be a JSON string that has a $
as a termination char at the very end.
Some of the feedback will be sent only with some commands like
states
,capture
,display
{
"action": "slots",
"data":{
"filenames": [ "01.pptx", "02.pptx", "03.pptx", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-"],
"exists": [true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false],
"opened": [true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false]
}
}$
filenames
: An array of configured files in thePresentations
tabexists
: An array to indicate if the file exists on the system or notopened
: An array to indicate if the file is currently opened or not
{
"action": "files",
"data":{
"curr": "02.pptx",
"prev": "01.pptx",
"next":"-",
"slide_number": "1",
"slides_count": "10",
"builds_count": "2"
}
}$
All of the above params should be sent, if one is not available, just send "-" as value.
{
"action": "states",
"data":{
"displayTest": false,
"displayBlack": false,
"displayFreeze": false,
"displayIndex": -1,
"isLoaded": [ true, true, true, false, false, false, true, false, false, false]
}
}$
displayTest
: Will be true if the color-bars screen is displayeddisplayBlack
: Will be true if the black screen is displayeddisplayFreeze
: Will be true if the screen is freezedisplayIndex
: Zero indexed to show the index of the image fromStill Images
tab that is currently displayed, will be-1
if none of them is displayedisLoaded
: An array to indicate if an image is added to each slot or not
{
"action":"MediaPlayer",
"data":{
"filenames":["video1.mp4","video2.mp4","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-"],
"Media_playing":"1",
"Media_loaded":"2",
"Media_playing_filename":"video1.mp4",
"Media_loaded_filename":"video2.mp4",
"Media_playback_state":"playing",
"Media_time_elapsed":"00:00:35",
"Media_time_left":"00:19:15",
"Media_duration":"00:19:50",
"Media_player_loop_status":"off",
"Media_player_fade_status":"on"
}
}$
filenames
: An array of configured files in theMedia Player
tabMedia_playing
: The slot number of the currently playing mediaMedia_loaded
: The slot number of the currently loaded mediaMedia_playback_state
: it can beplaying
,paused
, orNone