Thank you for your patience - While many of the features Pearl has available can be easily and conveniently be accessed via API using third-party controllers, some of the “drag and drop” type elements of the Pearl WebUI are much more complicated. After speaking with our engineers, changing crop settings is certainly much easier using the Pearl WebUI.
This is because crop settings (position) are specified in pixels (px) and/or percentages (%) of a particular layout item (video source), for a particular layout, in a particular channel. New crop settings are specified inside the “layout save” command.
Parse of API payload
{"video":[{"type":"source","position":{"left":"0%","right":"0%","top":"0%","bottom":"0%","keep_aspect_ratio":true},"settings":**{"source":"AutoA"},"crop":{"left":"469px","top":"0px","width":"540px","height":"720px","fixedAspectRatio":"3x4"}}],**"audio":[{"type":"source","settings":{"source":"D2P490182.analog-a"}}],"background":"#000000"}
When a crop is changed, the absolute value of the position of the crop is changed for the layout item. As there is currently no way to increment horizontal or vertical crop position without sending a new command with new absolute values, for example, changing horizontal or vertical position by 5px in each new command, using an external controller would likely be a bit clunky and over complicated, requiring a new key for each incremental change.
What I will do is make a feature request for something that might make it easier to change these settings via third-party control. Another option might be scripting the command to increment via specific values after each command +/-. However, I am not aware of anything that is pre-built at the moment by the community.
Please let me know if you have any questions or if you want the full API command to experiment with. I’d be happy to help!