It is arbitrary to target and configure what Studio Monitor is doing (as long as you have not set a password, there are security implications, will add info for an authenticate the session when time permits) - this should give a starting point for all parameters:
Accessing the source list and current configuration:
curl http://[target studio monitorIP]/v1/configuration
- returns the current config of Studio Monitor and shows all parameters E.G.:
{"version":1,"NDI_source":"DESKTOP-UQM4V86 (Intel(R) HD Graphics 520 1)","NDI_overlay":"","PTZ_controller":"","audio_ou tput":"SONY TV *00 (Intel(R) Display Audio)","window":{"display_device":"","always_on_t op":false,"hide_border":false,"showcmd":1,"min_pos n_x":-1,"min_posn_y":-1,"max_posn_x":-1,"max_posn_y":-1,"normal_posn_left":413,"normal_posn_right":1853, "normal_posn_top":127,"normal_posn_bottom":873},"d ecorations":{"checkerboard":false,"picture_in_pict ure":true,"hw_accel":false,"tally":true,"low_bandw idth":false,"mute_audio":false,"audio_gain":-20,"vu_meter":true,"vu_meter_scale":false,"center_ cross":ffairlyalse,"safe_areas":false,"show_4_3":false," best_fit":true,"square_aspect":false,"hide_ptz_con trols":false,"show_alpha":false,"run_on_startup":f alse,"web_server":true,"show_web_url":true,"menu_p osn_x":56.0,"menu_posn_y":8.0}
curl http://[target studio monitorIP]/v1/sources
returns available NDI sources from this studio monitors perspective:
{"ndi_sources":["DESKTOP-UQM4V86 (Intel(R) HD Graphics 520 1)","DESKTOP-UQM4V86 (Microsoft Camera Front)","UAL.LOCAL (NDI Signal Generator)","UAL.LOCAL (Scan Converter)"],"audio_devices":["SONY TV *00 (Intel(R) Display Audio)"],"display_devices":["Full Screen"],"controllers":[],"studio_monitors":{""}
Main Window NDI source setting, Change a Source from something to 'None':
curl -H "Content-Type: application/json" -X POST -d '{"version":1,"NDI_source":""}' http://[target studio monitorIP]/v1/configuration
Change Source from something / none to a new source from the available listed at /v1/sources:
curl -H "Content-Type: application/json" -X POST -d '{"version":1,"NDI_source":"DESKTOP-UQM4V86 (Intel(R) HD Graphics 520 1)"}' http://[target studio monitorIP]/v1/configuration
Add a new picture in picture source from the available listed at /v1/sources:
curl -H "Content-Type: application/json" -X POST -d '{"version":1,"NDI_overlay":"DESKTOP-UQM4V86 (Intel(R) HD Graphics 520 1)"}' http://[target studio monitorIP]/v1/configuration
Remove picture in picture:
curl -H "Content-Type: application/json" -X POST -d '{"version":1,"NDI_overlay":""}' http://[target studio monitorIP]/v1/configuration
Temporarily toggle PIP on / off (take over whole screen, or return to PIP corner)
curl -H "Content-Type: application/json" -X POST -d '{"version":1,"decorations":{"picture_in_picture": true}}' http://[target studio monitorIP]/v1/configuration
curl -H "Content-Type: application/json" -X POST -d '{"version":1,"decorations":{"picture_in_picture": false}}' http://[target studio monitorIP]/v1/configuration
(any Studio Monitor 3.5.x / 3.7.x setting can be targeted):
Switch on / off Hardware Acceleration:
curl -H "Content-Type: application/json" -X POST -d '{"version":1,"decorations":{"hw_accel":true}}' http://[target studio monitorIP]/v1/configuration
curl -H "Content-Type: application/json" -X POST -d '{"version":1,"decorations":{"hw_accel":false}}' http://[target studio monitorIP]/v1/configuration
Switch on / off Tally:
curl -H "Content-Type: application/json" -X POST -d '{"version":1,"decorations":{"tally":true}}' http://[target studio monitorIP]/v1/configuration
curl -H "Content-Type: application/json" -X POST -d '{"version":1,"decorations":{"tally":false}}' http://[target studio monitorIP]/v1/configuration
Hide / show window border:
curl -H "Content-Type: application/json" -X POST -d '{"version":1,"window":{"hide_border":true}}' http://[target studio monitorIP]/v1/configuration
curl -H "Content-Type: application/json" -X POST -d '{"version":1,"window":{"hide_border":false}}' http://[target studio monitorIP]/v1/configuration
The first window uses port 80 - the second 81 etc.