First off, far more information than what I'm posting can be found in our Control Protocol Reference Manual:
I'm not fully up to speed on Savant programming (we have a simple Savant setup in our lab but I still get lost trying to do any sort of advanced configurations) so I can't give you specifics for Savant. But, in general terms, here's what needs to be done:
Whenever the the Savant controller connects to your Kaleidescape system, it needs to inform the Strato that a masking system is in use. This is done with the SET_SCREEN_MASK command. For example:
01/1/SET_SCREEN_MASK:1:
This means that a masking system is in use and the movie zone will automatically adjust the position of onscreen elements (wedges, subtitles, menus) to ensure that they appear within the unmasked portions of the display area.
To turn off masking compensation, send:
01/1/SET_SCREEN_MASK:0:
The controller should be programmed to watch for specific screen mask events in order to move the masking system. The events to watch for are different depending on whether or not you are operating the Strato in 16:9 mode or CinemaScape mode (21:9).
If you are in 16:9 mode, the controller should be watching for SCREEN_MASK and/or SCREEN_MASK2 events (or it can request the information directly using GET_SCREEN_MASK and/or GET_SCREEN_MASK2 commands). The SCREEN_MASK event is formatted as follows:
status:SCREEN_MASK:
image_ratio:top_trim_rel:bottom_trim_rel:conservative_ratio:top_mask_abs:bottom_mask_abs:
For basic mask controller programming, you really only need to pay attention to the
image_ratio field which map to standard ratio presets:
00 - not specified/unknown (mask should stay open)
01 - 1.33 (4:3)
02 - 1.66
03 - 1.78 (16:9)
04 - 1.85
05 - 2.35
If your masking system supports fine adjustment of the mask positions then it can use the other parameters to make precise mask positioning possible.
When in CinemaScape mode the SCREEN_MASK and SCREEN_MASK2 events will be replaced by CINEMASCAPE_MASK events (and the equivalent GET_CINEMASCAPE_MASK command to request the current value). The CINEMASCAPE_MASK event is formatted as follows:
status:CINEMASCAPE_MASK:
frame_ratio:
In this case, the
frame_ratio is a zero-padded, three-digit number between 000 and 999 in hundredths of the ratio of the frame width to the frame height. Currently this parameter can have one of the following values:
000 - not specified/unknown (mask should stay open)
133 - 1.33 (4:3)
166 - 1.66
178 - 1.78 (16:9)
237 - 2.37
240 - 2.40
I hope this was useful.