Cinegy CSV Input File Format
Reading time ~5 minutes
Item Format
The full syntax of every input playlist is:
//#channel_name
//start,duration,flags,id,name,description,comments,in,out,StartDate,SegmentStart,SegmentStop,SubtitleID
Where:
-
Channel name – the name of the channel;
-
Start – item start time; optional for "follow" items;
-
Duration – item duration;
-
Flags – item flags;
-
ID – item Traffic ID (used to locate media);
-
Name – item name; for Dummy and Live items custom names can be specified;
-
Description – optional; item description;
-
Comments – optional; item comments;
-
IN – optional; item In point;
-
OUT – optional; item Out point;
-
Start Date – optional; item start date (in dd/mm/yyyy format);
-
SegmentStart and SegmentStop – reserved for future use;
-
SubtitleID – optional; subtitle ID value.
Note
|
Please note that it’s necessary to define a name of the channel at the beginning of the CSV playlist. The syntax is #channel_name . Otherwise Cinegy Traffic Gateway will return an error on CSV processing and fail to convert the playlist into Cinegy XML playlist format. A corresponding warning message will be written into the log file asking the customer to update the configuration.
|
Note
|
Optional fields may be skipped (no value assigned). |
For example:
12;30;00;00,00;01;00;00,C,ITEM001,First item,First item description,First item comments,,,31/12/2015
,00;01;00;00,,ITEM002,Second,,Item with IN point,00;00;10;00
,00;01;00;00,,ITEM003,Third,,Item with OUT point,,00;00;50;00
,00;15;00;00,,ITEM003,Next item,Secondary Event Sample
N,"This is just a comment line you can insert into the playlist. Please note, that you can insert comma in the value when ""double quote"" it"
,00;15;00;00,D,Dummy item
Also trailing empty values can be skipped. For example:
,00;01;00;00,,ITEM002,Short Item
The empty lines and lines with comments are supported in CSV allowing creating better human-readable files. The line starting with //
will be identified as comments and will be skipped when processing the CSV file.
The complex values can contain commas and quotes. For example:
N,"This is just a comment line you can insert into the playlist. Please note, that you can insert comma in the value when ""double quote"" it"
Note
|
Please note, that value with comma inside should be put into quotes. |
The quote symbol "
inside value should be specified as "" and the entire value should be "quoted".
Item Flags
Item flags can be any reasonable combination of the following values:
-
C – clocked (fixed start) item;
-
J – join-in-progress item;
-
M – item with manual end;
-
S – item with loop start;
-
E – item with loop end;
-
L – live item (media timeline is ignored);
-
D – dummy item (media timeline is ignored).
The loop in playlist includes all items between Loop Start and Loop End item inclusively. In case new Program, new Block or join-in-progress item is detected, the loop is terminated automatically.
Program
The program format is the following:
//program,name,description
Where:
-
P – identifies that the line defines program item;
-
Name – program name;
-
Description – optional; program description.
For example:
P,Explicit Program,Sample Program Description
Note
|
Please note, that in case no programs are defined in CSV, the 'Default' program will be automatically created. |
Block
The block format is the following:
//block,name,type,AvailId,skipped
Where the block line format is the following:
-
B – identifies that the line defines block item;
-
Name – block name;
-
Type – optional; 'A' identifies block as 'Automatic Opt-Out';
-
AvailId – optional; avail-id attribute for the block;
-
Skipped – optional; 'S' identifies the block as 'Skipped'.
For example:
B,Auto OptOut Block,A,ID001,S
Note
|
Please note, that in case no blocks are defined in CSV, the 'Default' block will be automatically created. |
Notes and Comments
The format is the following:
//note,text
Where the note line format is the following:
-
N – identifies that the line defines Note item;
-
Text – defines the comment text.
For example:
N,"This is just a comment line you can insert into the playlist. Please note, that you can insert comma in the value when ""double quote"" it"
Generic Secondary Events
The format is the following:
//type,offset,offsetFrom,name,description,device,command,option1,option2,option3
Where the event line format is the following:
-
S – identifies that the line defines generic secondary event;
-
Offset – event offset, can be negative;
-
OffsetFrom – defines the origin point for offset. Can be 'E' for EndOfEvent, empty or 'B' for BeginningOfEvent;
-
Name – event name;
-
Description – event description;
-
Device – device name;
-
Command – command;
-
Option1..3 – options for command.
Note
|
Please note, that secondary event should not be the first item in the list. All secondary events are associated to the previous item (clip, live, dummy). |
For example:
S,00;00;15;00,E,Secondary,,VIKINX,crosspoint,001,015
Predefined Cinegy CG Layer
The explicit support for CG layer events is added. The format is the following:
//type,offset,offsetFrom,name,description,id,variables xml
Where the CG line format is the following:
-
CG_* – identifies that the line defines CG event (either Cinegy Type or Cinegy Titler template). The * defines the layer to be applied (0..8 or LOGO);
-
Offset – event offset, can be a negative value;
-
OffsetFrom – defines the origin point for offset. Can be 'E' for EndOfEvent, empty or 'B' for BeginningOfEvent;
-
Name – event name;
-
Description – event description;
-
ID – defines Cinegy Titler or Cinegy Type template file name;
NotePlease note that Cinegy Type engine is now considered in legacy support. -
Variables – optional; variables XML definition. When empty/not set the defaults from Cinegy Titler template file will be extracted.
For example:
CG_1,00;00;15;00,,Demo CG,,CG_FILENAME
CG_1,-00;00;15;00,E,Hide CG,,*HIDE*
СG_1,00;00;30;00,B,EXIT_SCENE_LOOP СG_1,This command EXIT_SCENE_LOOP СG_1,*EXIT_SCENE_LOOP*
Note
|
Please note, that the corresponding Cinegy Titler or Cinegy Type template file with the name that equals to ID should exist in the CG repository folder, otherwise the playlist processing will be finished with errors. |