> | # Component: PkgTakeUndo_2L ## Description This scripted TAKE/UNDO/CLEAR component is designed for use in the BBC Academy Wood Norton BNCS installation. It supports routing of Wood Norton BNCS packages when used in combination with source and destination selection grids. Component PkgTakeUndo_2L works for areas that have 2-levels of routing (eg CAR which has SDI video and audio levels). Equivalent components called PkgTakeUndo_1L (one level) and PkgTakeUndo_3L (3 levels) are also available. There are mimic displays above and below the TAKE and UNDO buttons. These show the signal elements that are routed by the currently selected package. The top to bottom order matches the level enable controls at the left side of the component. Clicking the layer element name toggles the enable (tick) or disable (cross). Any level that is disabled will not be routed by the take or undo actions. In the above screen grab we see that the destination does not use analogue audio, and the source does not use AES audio. So even though the levels are enabled, only the SDI video route change is actioned. WN Package System Each router package uses standard BNCS driver INI files for the various signal levels (SDI, audio etc) plus two BNCS driver INI files. The first of the extra drivers has the package names in databases 0 and 1, with the second driver holding a comma delimited list of crossppints for each package. The packages are arranged as 12 logical groups with 30 entries per group. These 360 entries can be dynamically edited to support the creation of temporary composite routing entities. A further set of package IDs starting at number 361 are used for fixed package entries such as Studio Outputs or Mixer inputs. This Component This component provides the TAKE, UNDO and selection CLEAR operations for use with router grids or intelligent destination selections (see components PkgDest_1L, PkgDest_2L, PkgDest_3L). It receives source and destination source package ids (eg via the connections engine) and enables the TAKE button once a valid source and destination pair are selected. The TAKE action may be quickly undone (UNDO button) unless any other package selections have been made. At panel design time the designer provides several control parameters such as statesheets that control button and mimic look. This component also needs the name of an object in object_settings.xml that lists the individual matrix level numbers and crosspoint mapping lists. The entry in object_settings.xml is of the form: <object id="rtr_area_1"> <setting id="areaname" value="CAR" /> <setting id="package_levels" value="2" /> <setting id="driver_ids" value="100,120,123,124" /> <setting id="driver_type" value="Package Names,Package Crosspoints,SDI Video,Audio" /> </object> Required operational data is extracted from the instance name and named object. When a souce or destination package id is received by the component it looks up the layer data and displays this on the mimic displays above (sources) and below (destinations) the TAKE button. When a source and destination are received that have at least one active level, the TAKE button is enabled for up to 10 seconds. The selected destination is used to extract the current routed sources, and these are shown above the UNDO button after the TAKE has been pressed. When the TAKE or Clear Selections buttons are pressed the component sends a message to its parent that can be forwarded to the source and destination selectors to clear their highlighted buttons. ## Commands
> Name | Type | Use
> --- | --- | ---
> instance | mandatory | Instance name that defines the package matrix and destination.
> matrixobject | mandatory | Name of entry in object_settings.xml that defines the router numbers and types.
> uselevels | mandatory | This is a comma delimited list of the form "1,2". This sets the mimic data displays to match the display order in matrixobject. A uselevels string of "2,1" would put the 2nd named element in matrix object on the topmost mimic. A level value set as 0 will be blanked.
> srcpkg=value | control | Index of currently selected source. A value of -1 signals source is deselected.
> destpkg=value | control | Index of currently selected destination. A value of -1 signals destination is deselected.
> srcnamesdatabase | optional | The database number that provides the name on the source mimics. The default value is database 0.
> destnamesdatabase | optional | The database number that provides the name on the destination mimics. The default value is database 1.
> takelow | mandatory | Stylesheet name that defines state A of the TAKE button flash.
> takehigh | mandatory | Stylesheet name that defines state B of the TAKE button flash.
> mimicstate_L1 | mandatory | The stylesheet name that defines the look of the level 1 source and destination mimic displays.
> mimicstate_L2 | mandatory | The stylesheet name that defines the look of the level 2 source and destination mimic displays.
> takeundobgstate | mandatory | The stylesheet name that defines the colour of the background box of the component.
> unusedleveltext | optional | Not all levels are used by all destinations. This text is shown in the mimic display of unused levels. A default display of "Unused Level" is used if the designer does not provide input.
> ## Notifications
> Name | Use
> --- | ---
> selected=-1 | Instruction to source and destination selectors to clear their selections.
## Stylesheets No pre-assigned state sheets are used by this component. ## Images Two bitmaps are used from the panels/images folder - tick.png and cross.png ## Developers Notes The target size for the script host of this component is 730 x 160 pixels.
Copyright BBC 2017