# Autorot Automatic Panel
## Studio C Transmission - Automatic Record onto HyperDeck Mini
### Purpose
Studio C is used for a wide range of training exercises. The exercises are recorded for later analysis, and/or to be passed to delegates. As part of the Studio refurbishment into 1080i25 HD a Blackmagic Design Hyperdeck Mini was fitted to make the recordings. This device has two SD card slots for recording media. The device also has a wide-range of data-rate reduction codecs supporting record data volume control. The active codec is set via the built-in menu, or via a telnet session to the device IP address using port 9993. It is expected that the H264 codec at lowest bit-rate will be the most commonly used codec giving maximum capacity on the media card. It is normal to record 4 linear audio tracks with tracks 1 and 2 recording studio stereo output, track 3 recoding the mono output and track 4 records production talkback.
The HyperDeck can be set to use a very high-quality codec such as ProRes HQ when specialist events occur and material is required for subsequent editing. There is also a very high quality H264 option (around 60 Mbits/s). Files can be collected from the HyperDeck media using an FTP client.
The automatic panel monitors the rehearse/transmit status of the studio area that is available in an infodriver slot. A recording is started when the studio goes into transmit state, and stops when the studio leaves transmit state.
The recorded files use a combination of a user defined stem name plus the date and time at which the recording started. An example is
```
StC_RoT_2021-05-15T14-53-16
```
This name convention makes it releatively easy to find the files from a selected date as they easily sort in date and time order.
## Status Display
The automatic shows a status panel to help users trace and repair any operational issues. The screen grab below shows the automatic panel mimic screen.

The Rehearse/Transmit control screen can show the state of the HyperDeck device as this is available in an infodriver used by the BNCS HyperDeck driver. The automatic also outputs information via two infodriver slots - one carries a numeric status indication where 0 means "OK", all other values indicate an error condition. A text description of the error is passed via a second infodriver slot.This allows status information to be included on the transmission control screen.
## Log File
The automatic saves data into a log file to assist any investigations of system performance. There is a single log file, rather than an hourly or daily log. Each log entry includes the date and time at which the report was created. The log file is stored in the Autorot folder within the %CC_ROOT%/%CC_SYSTEM%/Logs folder.
Users need to purge the file from time-to-time, controlling the storage volume used.
## Commands
None
## Instances
This automatic requires a composite instance name that identifies several instance elements. The instance name is passed to the panel via the instance tag in the autohost.xml entry. An example definition is:
```XML
```
The composite entry in instances.xml defines 4 individual instance names as shown in the following example
```XML
```
#### __Element 1 - "Hyperdeck"__
The instance name for the HyperDeck Mini recorder assigned to Autorot operations. This automatic uses this to find the BNCS driver ID and Infodriver slot offset for the controlled device.
#### __Element 2 - "RehTxStat"__
This element identifies the infodriver ID and slot index that signals the studio rehearse and transmit status. Three values are used:
- "0" indicating that neither rehearse nor transmit state is activated. This mode disables the studio communications system.
- "1" indicating rehearse mode (blue lights condition) is active.
- "2" indicating transmission mode (red lights condition) is active.
The automatic starts a recording when a rehearse to transmission state occurs, and stops any active recording when a transmission to either of the other states (Rehearse or None) is detected.
#### __Element 3 - "ErrorStat"__
This element identifies an infodriver ID and slot index used to signal an error condition in the automatic requiring possible user intervention. A value of "0" indicates no errors.
#### __Element 4 - "ErrorMsg"__
This element identifies the infodriver ID and slot index used to signal a text description associated with the error condition.
#### __Hyperdeck Instance Definition__
The Hyperdeck instance has a field that provides the ip address of the Hyperdeck to be controlled by the BNCS Hyperdeck Driver, as well as the BNCS driver ID for the infordriver and the offset used for this Hyperdeck instance.
```XML
```
The decoded infodriver ID and the slot offset for all four elements are displayed on the Autorot mimic panel. If there are errors finding any element an error report is placed in the log file and a red alarm condition block shows at the left side of the mimic.
## Object Setting
The stem element of the record file name is read from objects.xml using object id __autorot_stem__ and item name __stemName__.
```xml
```
If the object entry is missing the file name stem defaults to "StC_RoT_".
## Notifications
None
## Stylesheets
__WN_Studio_OFF__ White text on a black background.
__alarm_ok__ - White text on dark green background.
__alarm_alarm__ - White text on a mid-red backgound
## Error Status Values
|Code|C++ #define string|Meaning|
|:---|:---|:---|
|0|AUTOROT_ERROR_OK|Normal responses, system normal|
|1|AUTOROT_ERROR_BADCOMM|HyperDeck driver reports comms issue with HyperDeck unit|
|2|AUTOROT_ERROR_NOVIDEO|No video input detected when attempt to record|
|3|AUTOROT_ERROR_NOMEDIA|No media cards detected, unable to record|
|4|AUTOROT_ERROR_UNKNOWN|Unable to start recording - unknown reason|
|5|AUTOROT_ERROR_NOTRANSPORT|Transport state chage commands not being actioned|
|6|AUTOROT_ERROR_INFOLOCAL|Infodriver is operating in local mode. Assume Hyperdeck driver not running|
|7| AUTOROT_ERROR_SHORTREC|A WARNING that there is less than 750 seconds record time when start record|