My understanding is that it is not possible to assign the source of the large preview and program multiview windows with the official ATEM API. The documentation for the SetWindowInput method (which is used to assign multiview window input sources) in the ATEM API says the following:
IBMDSwitcherMultiView::SetWindowInput method
The SetWindowInput method routes an input source to the specified window. Note that the inputs for windows 0 and 1 are reserved for the Preview and Program outputs, and so cannot be set using this method. Calling this method with a window index of 0 or 1 will do nothing and will return S_FALSE.
There is a chance that it is possible to assign these windows with the Skaarhoj ATEM library (which is a reverse engineering of the ATEM protocol and does not use the official ATEM API). If you look at the documentation for the Skaarhoj ATEM library (
http://skaarhoj.com/fileadmin/BMDPROTOCOL.html), under the Multi Viewer Input command, it says the following:
CMvI Multi Viewer Input
By setting video source for Window Index 0 and 1, it is possible to change what is shown as Preview and Program. This is NOT possible with the ATEM Software Control (and maybe not with the official API either) so be careful not to leave an ATEM switcher with an untypical configuration for these windows!
I've never actually used the Skaarhoj library, so I'm not sure whether or not this works with all of the ATEM switcher models, or if this still works with the latest ATEM firmware.