iTX Schedule Import Protocol v1.10
iTX Schedule Import Protocol v1.10
th
27 January 2015 GRASS VALLEY CONFIDENTIAL AND PROPRIETARY INFORMATION Page 1 of 39
© 2003–15 GRASS VALLEY All rights reserved
GRASS VALLEY CONFIDENTIAL AND PROPRIETARY INFORMATION
CHANGE HISTORY
Version Date Revised By Reason for Change
th
1.0 13 Oct 2011 Philip Cooper Initial version
th
1.4 13 Aug 2013 Rich Haworth DVE events can now be specified as XG events or non-XG events (#19665)
th
1.5 29 Jan 2014 Rich Haworth Voice over events (TXAudioEvents) now contain AudioGroups (#19067)
th
1.6 30 Apr 2014 John Yang ALCRequired Boolean flag on XmlMediaEvent (ITX4-69)
st Updated list of Summary elements, and added the new EPG properties used
1.7 1 May 2014 Rich Haworth
by Schedule Data Mining (ITX4-98)
20 August 2015 iTXML Schedule Import Protocol – Document Revision 1.9 Page 2 of 39
GRASS VALLEY CONFIDENTIAL AND PROPRIETARY INFORMATION
TABLE OF CONTENTS
1. INTRODUCTION ................................................................................................................................................ 5
1.1. SCOPE ................................................................................................................................................................5
1.2. ABBREVIATIONS ....................................................................................................................................................5
1.3. OVERVIEW ..........................................................................................................................................................5
1.4. DEVELOPMENT SUPPORT.........................................................................................................................................5
1.5. ENCODING ..........................................................................................................................................................6
1.6. TIMEZONE ...........................................................................................................................................................6
2. BASIC REQUIREMENTS AND HANDLING .......................................................................................................... 7
2.1. SCHEDULE FILES ....................................................................................................................................................7
2.2. GENERAL STRUCTURE OF A SCHEDULE ......................................................................................................................8
2.2.1 Scheduled Events ...........................................................................................................................................8
2.2.2 Parent to Child Relationships .........................................................................................................................8
2.2.3 Simple Ids .....................................................................................................................................................9
2.2.4 Instance Id...................................................................................................................................................10
3. BASIC SCHEDULING ........................................................................................................................................ 11
3.1. SCHEDULING START TIMES ....................................................................................................................................12
3.1.1 Non-Overlay / Primary Items ......................................................................................................................12
3.1.2 Overlay / Secondary Items .........................................................................................................................14
3.2. SUMMARY ELEMENTS ...........................................................................................................................................15
3.2.1 Name ..........................................................................................................................................................15
3.2.2 Title.............................................................................................................................................................15
3.2.3 Start ...........................................................................................................................................................15
3.2.4 SecondaryOffset .........................................................................................................................................15
3.2.5 FixedEndNextStart ......................................................................................................................................15
3.2.6 Duration ......................................................................................................................................................16
3.2.7 EventType ....................................................................................................................................................16
3.2.8 TimeMode ...................................................................................................................................................16
3.2.9 Manual .......................................................................................................................................................17
3.2.10 UserData ................................................................................................................................................17
3.2.11 Notes ......................................................................................................................................................17
3.2.12 ContentType............................................................................................................................................17
3.2.13 OutputSubChannel ..................................................................................................................................17
3.2.14 AutoDuration ..........................................................................................................................................17
3.2.15 EPGName ...............................................................................................................................................17
3.2.16 EPGPart ..................................................................................................................................................17
3.2.17 EPGStart.................................................................................................................................................17
4. DETAILED SCHEDULING .................................................................................................................................. 18
4.1. DETAILS ELEMENT ................................................................................................................................................18
4.1.1 Polymorphism ..............................................................................................................................................18
4.1.2 Simple Event Types ......................................................................................................................................19
4.1.3 Shared Types ..............................................................................................................................................19
4.2. SCHEDULING IN/OUT POINTS ..............................................................................................................................20
4.3. SCHEDULING TRANSITIONS ...................................................................................................................................20
4.4. EVENT TYPES ......................................................................................................................................................22
4.4.1 Video Clips .................................................................................................................................................22
4.4.2 Live Events...................................................................................................................................................22
4.4.3 CG Events ...................................................................................................................................................22
4.4.4 Logo Events .................................................................................................................................................23
20 August 2015 iTXML Schedule Import Protocol – Document Revision 1.9 Page 3 of 39
GRASS VALLEY CONFIDENTIAL AND PROPRIETARY INFORMATION
20 August 2015 iTXML Schedule Import Protocol – Document Revision 1.9 Page 4 of 39
GRASS VALLEY CONFIDENTIAL AND PROPRIETARY INFORMATION
1. INTRODUCTION
1.1. SCOPE
This document describes how to create XML schedules for the Grass Valley iTX Automation System. An
understanding of XML and associated tools is assumed.
1.2. ABBREVIATIONS
XML - eXtensible Mark-up Language
XSD - XML Schema Definition
ITXML - XML Schedule Format for iTX
UTF - Universal character set Transformation Format (e.g. UTF-8)
SDK - Software Development Kit
1.3. OVERVIEW
iTX supports a number of other manufacturer protocols but where possible encourages the use of the standard
protocol detailed in this document. The Protocol in this document covers the creation of schedules. This document
also contains details of As Run logging which whilst not strictly an ‘Import’ protocol is often part of the interface with
an external traffic system.
iTX also supports a number of legacy protocols. These protocols have evolved out of those used by previous systems
such as Columbus and Colossus but whilst many fields appear the same some may have minor differences due to the
different architecture and scheduling logic of iTX. For information about these legacy protocols, see the document
‘iTX Legacy Import Protocol’.
A single protocol is detailed in this document which is an XML based format. This format was introduced in iTX 2.1
and is the standard schedule format used internally by the iTX system, as well as for schedule import. Schedules may
be created externally using the iTX API and also by using text files with either an ‘itxml’ or ‘xml’ file extension.
Files should always contain well-formed XML. Grass Valley also publishes a schema for the XML format which helps
development of software to generate correctly formatted schedules, and also allows for XML schedules to be
validated. XML that is not well formed or not able to be validated by the schema will not be successfully imported
into iTX.
Files are placed directly into the iTX inbox and will be processed by the iTX Media Watcher. Once files have been
successfully processed by Media Watcher they will be deleted and cannot be retrieved. Files that cannot be correctly
understood by the Media Watcher, e.g. due to protocol syntax errors, will be moved to the configured ‘Rejected’
folder.
Grass Valley reserves the right to alter this protocol at any time without notice.
Code may also be generated from the schema that can be directly included within a software project. For instance
Altova XML Spy will generate code from the schema in a variety of languages, or the command line ‘xsd’ tool that
ships with the Microsoft .NET SDK will generate code in C#. Code generated by any of these tools significantly
reduces development time and should guarantee the correctness of the XML created.
20 August 2015 iTXML Schedule Import Protocol – Document Revision 1.9 Page 5 of 39
GRASS VALLEY CONFIDENTIAL AND PROPRIETARY INFORMATION
Since ITXML is the standard format for schedules used in iTX, examples of ITXML can easily be generated by building
a schedule in an offline iTX channel and using the ‘Export to Disk’ function on the iTX Desktop’s Schedule
Management Control to export the schedule to file.
1.5. ENCODING
All ITXML shall be encoded as UTF-8.
1.6. TIMEZONE
Start times for all events in the schedule shall be in the ‘system’ time for the iTX installation. That is, the time zone
before the local time zone or daylight savings offset has been applied.
20 August 2015 iTXML Schedule Import Protocol – Document Revision 1.9 Page 6 of 39
GRASS VALLEY CONFIDENTIAL AND PROPRIETARY INFORMATION
As a simple guideline, the iTX database is able to process approximately 1000 scheduled events per second.
Therefore a schedule containing 5000 items will take in the region of five seconds to import or export. This should be
considered along with limitations such as connection and application timeouts when deciding how many items to
place in a single schedule.
The name of the schedule is set as an attribute in the Schedule document element. Only if this attribute is not
provided will the name of the file containing the schedule be used to set the schedule name. The file extension may
be either ‘.xml’ or ‘.itxml’. Schedules will always be exported by default with the ‘.itxml’ file extension.
Schedules must be placed into a subfolder of the iTX inbox with a name matching that of a channel which has the
‘Schedule Import’ add-in licensed.
Folders should be created whilst Media Watcher is offline to ensure they are correctly set as permanent folders.
Folders created whilst Media Watcher is active will be deleted once any files contained within them have been
processed.
Upon import the Delivery Manager or Media Watcher applications will delete the original schedule file and the
schedule will be stored in the iTX database. The schedule will appear as an Asset in the iTX system and be searchable
from within PinPoint.
Within the iTX database, the schedule will be ‘shredded’ and an individual record created for each scheduled event.
When the schedule is requested, the schedule is reconstituted into a single block of XML. Although it is possible to
place the scheduled events in any order in the schedule file that is imported (if using the unique schedule event id
feature), when the schedule is exported, a parent event will always be immediately followed by its child events.
Once imported into iTX, schedules can be loaded into any iTX channel.
20 August 2015 iTXML Schedule Import Protocol – Document Revision 1.9 Page 7 of 39
GRASS VALLEY CONFIDENTIAL AND PROPRIETARY INFORMATION
20 August 2015 iTXML Schedule Import Protocol – Document Revision 1.9 Page 8 of 39
GRASS VALLEY CONFIDENTIAL AND PROPRIETARY INFORMATION
Schedule import can cope with events placed out of order in the schedule, i.e. child events placed before parent
events, but any schedule exported from the system will be in the order shown above. As such it is recommended that
ITXML is always generated with child events immediately following their parent.
Upon schedule import, id and parentId attributes will be generated for the events in the schedule. The simpleId
attribute will be retained (as long as the schedule is not modified within iTX) and will be included with schedules that
are exported from iTX.
The schedule import routine will determine which events are primary and which are secondary by the Time Mode of
the event (this is described in detail in later sections). Secondary events are determined to have any of the following
time-modes; otherwise the event is regarded as being a primary event:
• Start Plus
• Start Minus
• End Plus
• End Minus
There is one other caveat to using simple ids. Child events must always immediately follow their parent event as
there is no way that the out of order feature available for GUID ids can be used. If child events do not immediately
follow their parent (or another child of that parent), there is the possibility of the child attaching to an incorrect
parent.
A final alternative is that no id attributes (id, parentId or simpleId) are attached to the Summary element. Again,
schedule import will create GUID ids for these events, but it is much more difficult for external applications to
identify events in an exported schedule.
20 August 2015 iTXML Schedule Import Protocol – Document Revision 1.9 Page 9 of 39
GRASS VALLEY CONFIDENTIAL AND PROPRIETARY INFORMATION
2.2.4 Instance Id
If an exported schedule is examined you may notice an instanceId attribute on the Summary element. This is used by
iTX to distinguish between events when a schedule is put into the same playlist multiple times. It is not a
requirement that a Traffic System application should ever need to include this element in a schedule.
20 August 2015 iTXML Schedule Import Protocol – Document Revision 1.9 Page 10 of 39
GRASS VALLEY CONFIDENTIAL AND PROPRIETARY INFORMATION
3. BASIC SCHEDULING
Basic scheduling in ITXML is accomplished using only the Summary element of a ScheduledEvent, for example:
This schedule will put the two clips on air back-to-back, with a time mode of ‘Follow’ (or ‘Auto’). In fact, even this
example contains superfluous information. If there was no requirement for a title and it is ok to use the default
duration of the Asset, then the following schedule could be used:
So as can be seen, only the Name and EventType elements are really required to put events on air with all the default
options.
20 August 2015 iTXML Schedule Import Protocol – Document Revision 1.9 Page 11 of 39
GRASS VALLEY CONFIDENTIAL AND PROPRIETARY INFORMATION
The ability to hold the schedule awaiting a manual input from the user (or external trigger) is an additional flag.
Having this as a separate flag allows for items to be scheduled at a fixed time but also require manual triggering.
20 August 2015 iTXML Schedule Import Protocol – Document Revision 1.9 Page 12 of 39
GRASS VALLEY CONFIDENTIAL AND PROPRIETARY INFORMATION
In the above example the first item in the schedule is set to play at a fixed point. The second and third items are set
to ‘Follow’ time mode but with the addition of the manual flag the third item will not play until it has been triggered.
The last item in the schedule is marked as a fixed end item, its in-point will be automatically adjusted (up to its full
duration) and played so that the clip finished at the specified time – this is useful, for example, for clips that count
down to the top of the hour.
20 August 2015 iTXML Schedule Import Protocol – Document Revision 1.9 Page 13 of 39
GRASS VALLEY CONFIDENTIAL AND PROPRIETARY INFORMATION
Note that ‘End Minus’ is a special case where the start time is automatically adjusted based on the duration of the
item so that it finishes at the specified offset.
It is acceptable to schedule overlay items using ‘Follow’ time mode in which case the secondary item will begin at the
same time as its parent primary item. Care should be taken when using this mode though as the behaviour may not
be what is desired if there are multiple overlay items. Multiple overlay items using ‘Follow’ time mode will play one
after the other, if they are both required to play at the very beginning of the parent primary they should be
scheduled as Start Plus with zero SecondaryOffset.
Clip Clip
VO, Auto VO, Start+ 00:00:00:00
CG, Auto CG, Start+ 00:00:00:00
Clip Clip
VO VO
CG CG
20 August 2015 iTXML Schedule Import Protocol – Document Revision 1.9 Page 14 of 39
GRASS VALLEY CONFIDENTIAL AND PROPRIETARY INFORMATION
3.2.1 Name
Name of the Asset if the Event Type is asset based, otherwise simply the name of the event. Asset based events will
use this value to find, check the status of, and cache media in the system prior to play-out. This element is required.
3.2.2 Title
This element simply provides text to give more detail about an event. This text is not processed by iTX, it’s only
purpose is to supply more information to the operator. This element is optional.
3.2.3 Start
There are two options for defining when an event can start: Start, or StartDate and StartTimecode. If the Start
element is used, the format of the date and time follows the standard XML dateTime format, for example:
However if timecodes are to be used to specify the start time, then the separate StartDate and StartTimecode
elements may be used, as follows:
Note that the StartTimecode element also requires that the frame rate of the timecode is specified using the
timecodeFormat attribute. This attribute is a FrameRate type, see Appendix A.
3.2.4 SecondaryOffset
Intended for secondary events only, the SecondaryOffset element defines the offset from the start or end of the
parent event that the secondary event will start from. This SecondaryOffset is a TimeSpan type, see Appendix A. This
element is optional.
3.2.5 FixedEndNextStart
This element supplies the end time for an event where the Fixed End time mode is specified. As with the Start time,
there are two choices: FixedEndNextStart, or FixedEndNextStartDate and FixedEndNextStartTimecode. Please see
section 3.1.3 for how these two choices work, they are not repeated here since the only difference is the element
names. All of these elements are optional.
20 August 2015 iTXML Schedule Import Protocol – Document Revision 1.9 Page 15 of 39
GRASS VALLEY CONFIDENTIAL AND PROPRIETARY INFORMATION
3.2.6 Duration
The Duration element specifies the duration of the event. If the event type is asset based then this will override the
default duration of the asset. The Duration is a TimeSpan type, see Appendix A. This event is optional, if omitted
either the default duration of the asset will be used or the default duration of the event type.
3.2.7 EventType
The EventType element is an enumeration that specifies what type of event will be created when the iTX automation
system loads the schedule. The element is always required, and may have any of the following values:
• TXMediaEvent - Video clip
• TXAudioEvent - Voice over
• TXGraphicEvent - A full screen graphic
• TXLogoEvent - iTX generated logo
• TXSegmentEvent - Inserts or loads a pre-built sequence
• TXMusicEvent - Music clip
• TXCaptionEvent - iTX generated caption
• TXLiveEvent - Routes a live source
• TXSubtitleEvent - iTX generated subtitle
• TXExternalCaptionEvent - Externally generated caption
• TXGPIEvent - GPI output control
• TXVChipEvent - VCHIP control
• TXDataEvent - Conditional Access
• TXClockEvent - Countdown clock
• TXVANCEvent - VANC control
• TXCommentEvent - Playlist comment
• TXSlideShowEvent - Displays a sequence of slides
• TXSplitBreakEvent - Multi-region split
• TXExternalSubtitleEvent - Externally generated subtitle
• TXClarityEvent - External Clarity generated caption
• TXVertigoXGEvent - External Vertigo generated caption
• TXVizRTEvent - External Viz generated caption
• TXScheduleEvent - Loads a pre-built schedule
• TXStudioEvent - Studio
• NewsStory - MOS protocol news story
• RouterEvent - Router switch
• TXAfterEffectsEvent - After effects
• TXMasterControlEvent - Master Control
• TXGenericSecondaryEvent - Used by schedule import
3.2.8 TimeMode
This element defines the time mode of the event. This element is optional, and if omitted then the Follow time mode
will be used. The element is an enumeration and may have one of the following values:
• Manual - Manual trigger start
• Follow - Follow on (known as Auto within iTX)
• Fixed - Fixed start time
• StartMinus - Secondary event, see 3.1
• StartPlus - Secondary event, see 3.1
• EndMinus - Secondary event, see 3.1
• EndPlus - Secondary event, see 3.1
• FixedEnd - Fixed end time
20 August 2015 iTXML Schedule Import Protocol – Document Revision 1.9 Page 16 of 39
GRASS VALLEY CONFIDENTIAL AND PROPRIETARY INFORMATION
3.2.9 Manual
This element is simply a Boolean (true / false) value that specifies whether an event should require a manual trigger
in addition to another time mode. This element is optional and the default value is false.
3.2.10 UserData
This element provides a text field into which the Traffic System may insert data that will appear in the As Run log. For
large amounts of data (guideline is anything greater than 128 characters), the Extended element of the
ScheduledEvent should be used. This element is optional.
3.2.11 Notes
This element provides a text field to store notes about the event. The Notes may be added as a column to the iTX
grid for the operator to see. This element is optional.
3.2.12 ContentType
This element provides a text field to store the content type of the event. The Notes may be added as a column to the
iTX grid for the operator to see. This element is optional.
3.2.13 OutputSubChannel
This element controls which output channel this items is going to. This element is optional.
3.2.14 AutoDuration
This element forces the item to track the duration of its parent if it has one. This element is optional.
3.2.15 EPGName
This element is used as the display name in schedule data mining. This element is optional.
3.2.16 EPGPart
This element is used in schedule data mining to tell if a multi-part live or Master Control is the same program. This
element is optional.
3.2.17 EPGStart
This element is used in schedule data mining to tell what the original intended time for an event is. This element is
optional.
20 August 2015 iTXML Schedule Import Protocol – Document Revision 1.9 Page 17 of 39
GRASS VALLEY CONFIDENTIAL AND PROPRIETARY INFORMATION
4. DETAILED SCHEDULING
4.1. DETAILS ELEMENT
For scheduling details of events beyond the functionality provided by the Summary element, the Details element
needs to be used. The content of the Details element varies between event types, and relies on the polymorphism
features available in XML to match schema definitions to event types.
4.1.1 Polymorphism
Here is a sample of a ScheduledEvent containing a Details element with all of the required attributes:
These attributes allow the content of the Details element to be mapped on to a type found in the schema. In this
example the type is ‘XmlMediaEvent’. The general convention (with some exceptions) is that the type defined in the
Details element uses the ‘Xml’ prefix, which corresponds to the EventType element (section 3.2.7) which uses the
‘TX’ prefix, as follows:
20 August 2015 iTXML Schedule Import Protocol – Document Revision 1.9 Page 18 of 39
GRASS VALLEY CONFIDENTIAL AND PROPRIETARY INFORMATION
Summary\EventType Details\@p2:type
TXMediaEvent XmlMediaEvent
TXAudioEvent XmlAudioEvent
TXGraphicEvent XmlGraphicEvent
TXLogoEvent XmlLogoEvent
TXSegmentEvent XmlSegmentEvent
TXMusicEvent XmlMusicEvent
TXCaptionEvent XmlCaptionEvent
TXLiveEvent XmlLiveEvent
TXSubtitleEvent XmlSubtitleEvent
TXExternalCaptionEvent XmlExternalCaptionEvent
TXExternalLogoEvent XmlExternalLogoEvent
TXGPIEvent XmlGPIEvent
TXVChipEvent XmlVCHIPEvent
TXDataEvent XmlDataEvent
TXClockEvent XmlClockEvent
TXVANCEvent XmlVancEvent
TXCommentEvent XmlCommentEvent
TXSlideShowEvent XmlSlideShowEvent
TXSplitBreakEvent XmlSplitBreakEvent
TXExternalSubtitleEvent XmlExternalSubtitleEvent
TXClarityEvent XmlClarityEvent
TXVertigoXGEvent XmlVertigoXGEvent
TXVizRTEvent XmlVizRTEvent
TXScheduleEvent XmlScheduleEvent
TXStudioEvent XmlStudioEvent
NewsStory XmlNewsStoryEvent
RouterEvent XmlRouterEvent
TXAfterEffectsEvent XmlAfterEffectsEvent
TXMasterControlEvent XmlMasterControlEvent
TXGenericSecondaryEvent XMLGenericSecondaryEvent
20 August 2015 iTXML Schedule Import Protocol – Document Revision 1.9 Page 19 of 39
GRASS VALLEY CONFIDENTIAL AND PROPRIETARY INFORMATION
The ‘MediaDetailsType’ (see Appendix A) is used to specify in and out points. All event types that support scheduling
of in and out points will include an element of this type with their Details section.
In this example, a video clip, the Media element is of type MediaDetailsType and is used to set the in and out points:
Note that in order to prevent the points from being overridden upon successful asset load, the value of the
HoldPoints element should be set to true (default is false).
By default the transmission mode will be loaded from the Video Clip asset or default to ‘Cut’. If it is defined in the
OSC item record it is important to add the line ‘hold_fx’ in order for the parameters to be used.
Cut
Mix
CutCut
CutFade
FadeCut
20 August 2015 iTXML Schedule Import Protocol – Document Revision 1.9 Page 20 of 39
GRASS VALLEY CONFIDENTIAL AND PROPRIETARY INFORMATION
FadeFade
The effect type and duration are part of the ‘EffectDetailsType’ (see Appendix A). In this example a 30 second Still
(TXGraphicEvent) is used to demonstrate a cut through black (CutCut) transition:
20 August 2015 iTXML Schedule Import Protocol – Document Revision 1.9 Page 21 of 39
GRASS VALLEY CONFIDENTIAL AND PROPRIETARY INFORMATION
The GPI, Input and Source elements (in the schema) are all configured using the Live Event Plugin configuration panel
on the Desktop. See iTX System Administration Guide.
4.4.3 CG Events
Note that the simplest way to schedule CG events is by using Generic Secondary events (see section 4.4.14 for full
details).
20 August 2015 iTXML Schedule Import Protocol – Document Revision 1.9 Page 22 of 39
GRASS VALLEY CONFIDENTIAL AND PROPRIETARY INFORMATION
The LogoDetails may be loaded from the event name (Summary\Name) if the logo is saved as an asset in the system.
20 August 2015 iTXML Schedule Import Protocol – Document Revision 1.9 Page 23 of 39
GRASS VALLEY CONFIDENTIAL AND PROPRIETARY INFORMATION
The above example populates field 3 on the recalled page with the title of the next primary event in the schedule.
This is a simple way to auto-populate page fields with dynamic information from the currently playing schedule.
Currently the field ‘MacroParameter’ is a numeric value which contains a 0 based offset of the primary item required.
The Macro entry is actually using reflection on the retrieved schedule item, so any valid property of that item can be
returned and used to populate text fields. Examples of useful item properties include:
Title
20 August 2015 iTXML Schedule Import Protocol – Document Revision 1.9 Page 24 of 39
GRASS VALLEY CONFIDENTIAL AND PROPRIETARY INFORMATION
Name
Notes
LocalStartTimeStr
LocalEndTimeStr
See VertigoXG Events for information on the content of the Options element.
20 August 2015 iTXML Schedule Import Protocol – Document Revision 1.9 Page 25 of 39
GRASS VALLEY CONFIDENTIAL AND PROPRIETARY INFORMATION
The inclusion of schedule items in an ITXML is commonly used for two purposes:
• Nested Schedules: Different sections of the day’s schedule may come from different parties and so separate
schedules may be produced for separate programming blocks or commercial breaks. A master schedule will
hold all the items and each sub-schedule will appear as a daughter of the previous one. Nested schedules
can themselves contain nested schedules but it is important to realise that the top most schedule and all its
daughter items will stay loaded until all items have been played out or have been skipped.
• Auto-loading the next schedule: If the very last item record in an ITXML is a schedule item the schedule will
be appended separate from the rest of the schedule. i.e. it will not be a daughter of the main schedule but
will appear separate (not nested).
All schedule items will take their time mode behaviour from the properties of the first item in the schedule when it is
loaded and expanded. If the schedule asset referred to by the schedule item doesn’t exist, or doesn’t include any
duration information, it will appear with zero duration in the schedule in a live channel until the point that it is
subsequently loaded and expanded and the duration will be updated.
20 August 2015 iTXML Schedule Import Protocol – Document Revision 1.9 Page 26 of 39
GRASS VALLEY CONFIDENTIAL AND PROPRIETARY INFORMATION
Generic Secondary events do not require the TX-Play item type to be specified at the point of scheduling. These
items are resolved by TX-Play at run time when the schedule is loaded.
The example itxml in section 6.7 shows a Generic Secondary event where the Device is set to CHANNELLOGO. The
Data element contains data based on the type GenericLogoDataType (i.e. the Mode, MediaOverride and Layer are
specified). The name of the event specified in the Summary data is Logo:0. When this event is loaded by TXPlay the
channel config for the channel on which it is being loaded will be checked. If Logo:0 has been defined in the Colossus
config then the corresponding Logo data will be loaded. If Logo:0 has been configured as an external logo then a
TXExternalLogoEvent will be added to the schedule in place of the Generic Secondary event. If Logo:0 has been
configured as a normal logo then a TXLogoEvent will be added to the schedule in place of the Generic Secondary
event. The Mode, MediaOverride and Layer for the event will be set accordingly.
Note that it is also possible when using the Device type of CHANNELLOGO to create an asset in the system called
Logo:0 (for example). In this situation TXPlay will first check the channel config to see if Logo:0 is configured. If it is
then this data will be used to create the event but if it is not then the asset Logo:0 will be scheduled.
20 August 2015 iTXML Schedule Import Protocol – Document Revision 1.9 Page 27 of 39
GRASS VALLEY CONFIDENTIAL AND PROPRIETARY INFORMATION
20 August 2015 iTXML Schedule Import Protocol – Document Revision 1.9 Page 28 of 39
GRASS VALLEY CONFIDENTIAL AND PROPRIETARY INFORMATION
5. APPENDIX A: TYPES
5.1. TIMESPAN
The TimeSpan type provides information about the difference between two times. This will most commonly be used
to specify the duration of events. The TimeSpan separates the number of days in the time span (default is zero days)
from the specification of time, because the XML time type does not allow for times greater than 24 hours. Also with
timecodes we run into ambiguity with regards to wrap around midnight so this is best avoided.
Using ScheduledEvent Duration as an example, here are the options for specifying a time span:
1) Using a timecode:
In both examples, the number of days is zero so the Days element can safely be omitted. If the event was longer than
24 hours then the Days element would need to be included to define the number of whole days, and the Time or
Timecode elements included to define the remainder.
5.2. FRAMERATE
The FrameRate type is an enumeration representing all of the frame rates supported by iTX and requires that one of
the following values is used:
• FPS24
• FPS25
• FPS30
• FPS50
• FPS60
• FPS24DF
• FPS30DF
• FPS60DF
The ‘DF’ suffix clearly implies that the frame rate is of the Drop Frame type.
20 August 2015 iTXML Schedule Import Protocol – Document Revision 1.9 Page 29 of 39
GRASS VALLEY CONFIDENTIAL AND PROPRIETARY INFORMATION
5.3. EFFECTSTYPE
EffectsType encompasses audio, video and picture in picture effects.
5.4. EFFECTDETAILSTYPE
Used by several event types, the EffectDetailsType contains all of the information supported by iTX for scheduling
audio and visual effects.
20 August 2015 iTXML Schedule Import Protocol – Document Revision 1.9 Page 30 of 39
GRASS VALLEY CONFIDENTIAL AND PROPRIETARY INFORMATION
5.5. AUDIODETAILSTYPE
The AudioDetailsType contains information about audio.
5.6. PIPDETAILSTYPE
The PIPDetails type contains information about picture in picture effects.
5.7. MEDIADETAILSTYPE
MediaDetailsType contains information about media to be played.
20 August 2015 iTXML Schedule Import Protocol – Document Revision 1.9 Page 31 of 39
GRASS VALLEY CONFIDENTIAL AND PROPRIETARY INFORMATION
20 August 2015 iTXML Schedule Import Protocol – Document Revision 1.9 Page 32 of 39
GRASS VALLEY CONFIDENTIAL AND PROPRIETARY INFORMATION
6. APPENDIX B: EXAMPLES
6.1. CLIP WITH TRANSITION
A typical media event with a transition and non-default points would be as follows:
20 August 2015 iTXML Schedule Import Protocol – Document Revision 1.9 Page 33 of 39
GRASS VALLEY CONFIDENTIAL AND PROPRIETARY INFORMATION
6.3. CG
CG events can be described totally by the schedule; however this is a complex undertaking so typically a pre-
configured CG is recalled by name, as follows:
20 August 2015 iTXML Schedule Import Protocol – Document Revision 1.9 Page 34 of 39
GRASS VALLEY CONFIDENTIAL AND PROPRIETARY INFORMATION
20 August 2015 iTXML Schedule Import Protocol – Document Revision 1.9 Page 35 of 39
GRASS VALLEY CONFIDENTIAL AND PROPRIETARY INFORMATION
6.4. LOGO
Here is an example of a primary event with a secondary logo that has a non-default position (optional).
20 August 2015 iTXML Schedule Import Protocol – Document Revision 1.9 Page 36 of 39
GRASS VALLEY CONFIDENTIAL AND PROPRIETARY INFORMATION
6.5. SEQUENCE
Creating a sequence involves adding a TXSegmentEvent as a primary event to the schedule and adding the content of
the segment, e.g. video clips, as children of that event:
20 August 2015 iTXML Schedule Import Protocol – Document Revision 1.9 Page 37 of 39
GRASS VALLEY CONFIDENTIAL AND PROPRIETARY INFORMATION
20 August 2015 iTXML Schedule Import Protocol – Document Revision 1.9 Page 38 of 39
GRASS VALLEY CONFIDENTIAL AND PROPRIETARY INFORMATION
20 August 2015 iTXML Schedule Import Protocol – Document Revision 1.9 Page 39 of 39