Netia side

<< Click to Display Table of Contents >>

Navigation:  Third party products > MusicMaster integration with RadioAssist > Reconciliation >

Netia side

After the broadcast, there may be differences between the programming and the reality of the broadcast. Steps have been skipped, others have been moved or erased.

 

In order for future programming to be more accurate in terms of respecting the programming rules, it is necessary for MusicMaster to be notified of the actual broadcast.

 

This is the object of reconciliation.

 

The list of steps played in Netia streaming software is stored in the database. Just extract these data daily, format them, and provide them to MusicMaster as an XML file.

 

Federall Service does this with the parameters specified in the group Exports config/ option "Use Standard Export" / Part "AsRun".

 

MM STD Exports

 

Here, every day at 10h10, we generate an XML export of the previous day.

 

We are only interested in music through a filter TYPE_ITEM = 1 and TYPE1_ITEM = 2

 

It is possible to apply an XSL stylesheet to format the data.

 

The XML files are saved in the folder:

\\RAD-SV-MED-02\MusicMaster\AsRun, and the file is named as YYYY-MM-DD.xml.

 

Ex: 2017-09-15.xml

$ASRUN_YEAR-$ASRUN_MONTH-$ASRUN_DAY define the shape of the date.

 

MusicMaster needs a file by channel. A small script allows to separate the AsRun in 2 files ended by the name of the channel.

 

Thus the files will have for name after transformation:

YYYY-MM-JJ_Antenne.xml

Ex: 2017-09-15_RNT.xml, 2017-09-19_92.5 FM.xml, etc.

 

ExploWindows01

 

The start.cmd script must be started when the machine starts and it runs in a loop.

 

Start.cmd

@echo off

set root=%~dp0

set root=%root:~0,-1%

 

:BCL

forfiles /P "%root%\.." /M 20??-??-??.txt /C "cmd /c call scripts\SplitXML.cmd @file"

ping 127.0.0.1 -n 60 > nul

goto :BCL

pause

 

SplitxML.cmd

set SRC=%1
set root=%~dp0
echo %0

for %%F in (%SRC%) do set FI=%%~dpnF

"%root%msxsl.exe" "%SRC:~1,-1%" "%root%Netia_2_Client_RNT.xsl" -o "%FI%_1.xml"

"%root%msxsl.exe" "%SRC:~1,-1%" "%root%Netia_2_Client_925FM.xsl" -o "%FI%_2.xml"

if not exist done md done

move "%SRC:~1,-1%" done

 

Netia_2_Client_925FM.xsl

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">

<xsl:output method="xml" encoding="UTF-8" indent="yes"/>

 

 <xsl:template match="/DbEntity">

 <DbEntity>

         <xsl:for-each select="//DbTuple">

         <xsl:if test="CHANNEL_NAME = '92.5 FM'">

                 <xsl:copy-of select="."/>

         </xsl:if>

         </xsl:for-each>

 </DbEntity>

 </xsl:template>

</xsl:stylesheet>

 

Netia_2_Client_RNT.xsl

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">

<xsl:output method="xml" encoding="UTF-8" indent="yes"/>

 

 

 <xsl:template match="/DbEntity">

 <DbEntity>

         <xsl:for-each select="//DbTuple">

         <xsl:if test="CHANNEL_NAME = 'RNT'">

                 <xsl:copy-of select="."/>

         </xsl:if>

         </xsl:for-each>

 </DbEntity>

 </xsl:template>

 

</xsl:stylesheet>

 

Example of a reconciliation file :

 

<?xml version="1.0" standalone="yes"?>

 

<DbEntity>

<DbTuple table="T_AIR_RUN">

 <AIR_DURATION datatype="string"><![CDATA[00:03:38]]></AIR_DURATION>

 <BROADCAST_TIME datatype="timestamp">2017-06-20 19:02:59</BROADCAST_TIME>

 <CHANNEL_NAME datatype="string"><![CDATA[RNT]]></CHANNEL_NAME>

 <EMISSION_NAME datatype="string"><![CDATA[Soirée]]></EMISSION_NAME>

 <END_TIME datatype="timestamp">2017-06-20 19:06:37</END_TIME>

 <EXT_RUN_ID datatype="string"><![CDATA[]]></EXT_RUN_ID>

 <FILE datatype="string"><![CDATA[c0d1fd84-2f44-4113-9942-a7f463271107.BWF]]></FILE>

 <GUID_AIR datatype="guid">93d66c13-5fab-44a7-93bc-c27326b605eb</GUID_AIR>

 <GUID_CHANNEL datatype="guid">f78be1d2-31af-4c04-844e-847e8ad92070</GUID_CHANNEL>

 <GUID_EMISSION datatype="guid">b634be86-310f-47a5-955b-8af2f6c20301</GUID_EMISSION>

 <GUID_ITEM datatype="guid">c0d1fd84-2f44-4113-9942-a7f463271107</GUID_ITEM>

 <GUID_LOG datatype="guid">83f4340c-e4ba-4563-ae8e-2bcd3c28fbc7</GUID_LOG>

 <GUID_RUN datatype="guid">168e7e85-6fdd-4482-a235-3a38f50bcabe</GUID_RUN>

 <ITEM_DURATION datatype="double">217344</ITEM_DURATION>

 <LOGSHEET_NAME datatype="string"><![CDATA[Soirée]]></LOGSHEET_NAME>

 <NUM_CD datatype="string"><![CDATA[]]></NUM_CD>

 <NUM_SELECTOR datatype="string"><![CDATA[1]]></NUM_SELECTOR>

 <ON_AIR datatype="long">0</ON_AIR>

 <PATH datatype="string"><![CDATA[c:\LOCAL SOUNDS\]]></PATH>

 <SCREEN_NAME datatype="string"><![CDATA[ecran19]]></SCREEN_NAME>

 <START_TIME datatype="timestamp">2017-06-20 19:02:59</START_TIME>

 <STATE_AIR datatype="long">3</STATE_AIR>

 <STATION datatype="string"><![CDATA[RAD-WS-AUTO-01]]></STATION>

 <STRING_1 datatype="string"><![CDATA[test cd11 2-2]]></STRING_1>

 <STRING_10 datatype="string"><![CDATA[]]></STRING_10>

 <STRING_11 datatype="string"><![CDATA[]]></STRING_11>

 <STRING_12 datatype="string"><![CDATA[]]></STRING_12>

 <STRING_13 datatype="string"><![CDATA[]]></STRING_13>

 <STRING_14 datatype="string"><![CDATA[]]></STRING_14>

 <STRING_15 datatype="string"><![CDATA[]]></STRING_15>

 <STRING_16 datatype="string"><![CDATA[]]></STRING_16>

 <STRING_17 datatype="string"><![CDATA[]]></STRING_17>

 <STRING_18 datatype="string"><![CDATA[]]></STRING_18>

 <STRING_19 datatype="string"><![CDATA[]]></STRING_19>

 <STRING_2 datatype="string"><![CDATA[Track  1]]></STRING_2>

 <STRING_20 datatype="string"><![CDATA[]]></STRING_20>

 <STRING_3 datatype="string"><![CDATA[]]></STRING_3>

 <STRING_4 datatype="string"><![CDATA[]]></STRING_4>

 <STRING_5 datatype="string"><![CDATA[]]></STRING_5>

 <STRING_6 datatype="string"><![CDATA[]]></STRING_6>

 <STRING_7 datatype="string"><![CDATA[]]></STRING_7>

 <STRING_8 datatype="string"><![CDATA[]]></STRING_8>

 <STRING_9 datatype="string"><![CDATA[]]></STRING_9>

 <STRING_DDO_1 datatype="string"><![CDATA[test cd11 2-2 (Track  1)]]></STRING_DDO_1>

 <STRING_DDO_2 datatype="string"><![CDATA[test cd11 2-2 (Track  1)]]></STRING_DDO_2>

 <TRACK datatype="long">0</TRACK>

 <TYPE_AIR datatype="long">4</TYPE_AIR>

 <TYPE_ITEM datatype="long">1</TYPE_ITEM>

 <TYPE1_ITEM datatype="long">2</TYPE1_ITEM>

 <USER_AIR datatype="string"><![CDATA[ADMINISTRATOR]]></USER_AIR>

 <VALUE_1 datatype="long">0</VALUE_1>

 <VALUE_10 datatype="long">0</VALUE_10>

 <VALUE_2 datatype="long">0</VALUE_2>

 <VALUE_3 datatype="long">0</VALUE_3>

 <VALUE_4 datatype="long">0</VALUE_4>

 <VALUE_5 datatype="long">0</VALUE_5>

 <VALUE_6 datatype="long">0</VALUE_6>

 <VALUE_7 datatype="long">0</VALUE_7>

 <VALUE_8 datatype="long">0</VALUE_8>

 <VALUE_9 datatype="long">0</VALUE_9>

</DbTuple>

<DbTuple table="T_AIR_RUN">

 <AIR_DURATION datatype="string"><![CDATA[00:01:07]]></AIR_DURATION>

 <BROADCAST_TIME datatype="timestamp">2017-06-20 16:58:54</BROADCAST_TIME>

 <CHANNEL_NAME datatype="string"><![CDATA[RNT]]></CHANNEL_NAME>

 <EMISSION_NAME datatype="string"><![CDATA[Soirée]]></EMISSION_NAME>

 <END_TIME datatype="timestamp">2017-06-20 19:06:13</END_TIME>

 <EXT_RUN_ID datatype="string"><![CDATA[]]></EXT_RUN_ID>

 <FILE datatype="string"><![CDATA[25abc6cf-b154-41cd-bc06-1b6e519669d3.BWF]]></FILE>

 <GUID_AIR datatype="guid">e0b61fd5-a143-41cb-9a42-f0aa35f97118</GUID_AIR>

 <GUID_CHANNEL datatype="guid">f78be1d2-31af-4c04-844e-847e8ad92070</GUID_CHANNEL>

 <GUID_EMISSION datatype="guid">b634be86-310f-47a5-955b-8af2f6c20301</GUID_EMISSION>

 <GUID_ITEM datatype="guid">25abc6cf-b154-41cd-bc06-1b6e519669d3</GUID_ITEM>

 <GUID_LOG datatype="guid">83f4340c-e4ba-4563-ae8e-2bcd3c28fbc7</GUID_LOG>

 <GUID_RUN datatype="guid">b234cedc-376d-4576-8902-f963ec9ee1e2</GUID_RUN>

 <ITEM_DURATION datatype="double">217344</ITEM_DURATION>

 <LOGSHEET_NAME datatype="string"><![CDATA[Soirée]]></LOGSHEET_NAME>

 <NUM_CD datatype="string"><![CDATA[]]></NUM_CD>

 <NUM_SELECTOR datatype="string"><![CDATA[1]]></NUM_SELECTOR>

 <ON_AIR datatype="long">0</ON_AIR>

 <PATH datatype="string"><![CDATA[c:\LOCAL SOUNDS\]]></PATH>

 <SCREEN_NAME datatype="string"><![CDATA[ecran17]]></SCREEN_NAME>

 <START_TIME datatype="timestamp">2017-06-20 19:05:06</START_TIME>

 <STATE_AIR datatype="long">3</STATE_AIR>

 <STATION datatype="string"><![CDATA[RAD-WS-DDO-21]]></STATION>

 <STRING_1 datatype="string"><![CDATA[test cd11 2]]></STRING_1>

 <STRING_10 datatype="string"><![CDATA[]]></STRING_10>

 <STRING_11 datatype="string"><![CDATA[]]></STRING_11>

 <STRING_12 datatype="string"><![CDATA[]]></STRING_12>

 <STRING_13 datatype="string"><![CDATA[]]></STRING_13>

 <STRING_14 datatype="string"><![CDATA[]]></STRING_14>

 <STRING_15 datatype="string"><![CDATA[]]></STRING_15>

 <STRING_16 datatype="string"><![CDATA[]]></STRING_16>

 <STRING_17 datatype="string"><![CDATA[]]></STRING_17>

 <STRING_18 datatype="string"><![CDATA[]]></STRING_18>

 <STRING_19 datatype="string"><![CDATA[]]></STRING_19>

 <STRING_2 datatype="string"><![CDATA[Track  1]]></STRING_2>

 <STRING_20 datatype="string"><![CDATA[]]></STRING_20>

 <STRING_3 datatype="string"><![CDATA[]]></STRING_3>

 <STRING_4 datatype="string"><![CDATA[]]></STRING_4>

 <STRING_5 datatype="string"><![CDATA[]]></STRING_5>

 <STRING_6 datatype="string"><![CDATA[]]></STRING_6>

 <STRING_7 datatype="string"><![CDATA[]]></STRING_7>

 <STRING_8 datatype="string"><![CDATA[]]></STRING_8>

 <STRING_9 datatype="string"><![CDATA[]]></STRING_9>

 <STRING_DDO_1 datatype="string"><![CDATA[test cd11 2 (Track  1)]]></STRING_DDO_1>

 <STRING_DDO_2 datatype="string"><![CDATA[test cd11 2 (Track  1)]]></STRING_DDO_2>

 <TRACK datatype="long">0</TRACK>

 <TYPE_AIR datatype="long">4</TYPE_AIR>

 <TYPE_ITEM datatype="long">1</TYPE_ITEM>

 <TYPE1_ITEM datatype="long">2</TYPE1_ITEM>

 <USER_AIR datatype="string"><![CDATA[ADMINISTRATOR]]></USER_AIR>

 <VALUE_1 datatype="long">0</VALUE_1>

 <VALUE_10 datatype="long">0</VALUE_10>

 <VALUE_2 datatype="long">0</VALUE_2>

 <VALUE_3 datatype="long">0</VALUE_3>

 <VALUE_4 datatype="long">0</VALUE_4>

 <VALUE_5 datatype="long">0</VALUE_5>

 <VALUE_6 datatype="long">0</VALUE_6>

 <VALUE_7 datatype="long">0</VALUE_7>

 <VALUE_8 datatype="long">0</VALUE_8>

 <VALUE_9 datatype="long">0</VALUE_9>

</DbTuple>

<DbTuple table="T_AIR_RUN">

 <AIR_DURATION datatype="string"><![CDATA[00:03:38]]></AIR_DURATION>

 <BROADCAST_TIME datatype="timestamp">2017-06-20 19:06:36</BROADCAST_TIME>

 <CHANNEL_NAME datatype="string"><![CDATA[RNT]]></CHANNEL_NAME>

 <EMISSION_NAME datatype="string"><![CDATA[Soirée]]></EMISSION_NAME>

 <END_TIME datatype="timestamp">2017-06-20 19:10:14</END_TIME>

 <EXT_RUN_ID datatype="string"><![CDATA[]]></EXT_RUN_ID>

 <FILE datatype="string"><![CDATA[25abc6cf-b154-41cd-bc06-1b6e519669d3.BWF]]></FILE>

 <GUID_AIR datatype="guid">5310814c-0b59-4060-b9d1-8b8efb12bf12</GUID_AIR>

 <GUID_CHANNEL datatype="guid">f78be1d2-31af-4c04-844e-847e8ad92070</GUID_CHANNEL>

 <GUID_EMISSION datatype="guid">b634be86-310f-47a5-955b-8af2f6c20301</GUID_EMISSION>

 <GUID_ITEM datatype="guid">25abc6cf-b154-41cd-bc06-1b6e519669d3</GUID_ITEM>

 <GUID_LOG datatype="guid">83f4340c-e4ba-4563-ae8e-2bcd3c28fbc7</GUID_LOG>

 <GUID_RUN datatype="guid">fb189813-3e76-4898-8194-fe927b10dfc3</GUID_RUN>

 <ITEM_DURATION datatype="double">217344</ITEM_DURATION>

 <LOGSHEET_NAME datatype="string"><![CDATA[Soirée]]></LOGSHEET_NAME>

 <NUM_CD datatype="string"><![CDATA[]]></NUM_CD>

 <NUM_SELECTOR datatype="string"><![CDATA[1]]></NUM_SELECTOR>

 <ON_AIR datatype="long">0</ON_AIR>

 <PATH datatype="string"><![CDATA[c:\LOCAL SOUNDS\]]></PATH>

 <SCREEN_NAME datatype="string"><![CDATA[ecran19]]></SCREEN_NAME>

 <START_TIME datatype="timestamp">2017-06-20 19:06:36</START_TIME>

 <STATE_AIR datatype="long">3</STATE_AIR>

 <STATION datatype="string"><![CDATA[RAD-WS-AUTO-01]]></STATION>

 <STRING_1 datatype="string"><![CDATA[test cd11 2]]></STRING_1>

 <STRING_10 datatype="string"><![CDATA[]]></STRING_10>

 <STRING_11 datatype="string"><![CDATA[]]></STRING_11>

 <STRING_12 datatype="string"><![CDATA[]]></STRING_12>

 <STRING_13 datatype="string"><![CDATA[]]></STRING_13>

 <STRING_14 datatype="string"><![CDATA[]]></STRING_14>

 <STRING_15 datatype="string"><![CDATA[]]></STRING_15>

 <STRING_16 datatype="string"><![CDATA[]]></STRING_16>

 <STRING_17 datatype="string"><![CDATA[]]></STRING_17>

 <STRING_18 datatype="string"><![CDATA[]]></STRING_18>

 <STRING_19 datatype="string"><![CDATA[]]></STRING_19>

 <STRING_2 datatype="string"><![CDATA[Track  1]]></STRING_2>

 <STRING_20 datatype="string"><![CDATA[]]></STRING_20>

 <STRING_3 datatype="string"><![CDATA[]]></STRING_3>

 <STRING_4 datatype="string"><![CDATA[]]></STRING_4>

 <STRING_5 datatype="string"><![CDATA[]]></STRING_5>

 <STRING_6 datatype="string"><![CDATA[]]></STRING_6>

 <STRING_7 datatype="string"><![CDATA[]]></STRING_7>

 <STRING_8 datatype="string"><![CDATA[]]></STRING_8>

 <STRING_9 datatype="string"><![CDATA[]]></STRING_9>

 <STRING_DDO_1 datatype="string"><![CDATA[test cd11 2 (Track  1)]]></STRING_DDO_1>

 <STRING_DDO_2 datatype="string"><![CDATA[test cd11 2 (Track  1)]]></STRING_DDO_2>

 <TRACK datatype="long">0</TRACK>

 <TYPE_AIR datatype="long">4</TYPE_AIR>

 <TYPE_ITEM datatype="long">1</TYPE_ITEM>

 <TYPE1_ITEM datatype="long">2</TYPE1_ITEM>

 <USER_AIR datatype="string"><![CDATA[ADMINISTRATOR]]></USER_AIR>

 <VALUE_1 datatype="long">0</VALUE_1>

 <VALUE_10 datatype="long">0</VALUE_10>

 <VALUE_2 datatype="long">0</VALUE_2>

 <VALUE_3 datatype="long">0</VALUE_3>

 <VALUE_4 datatype="long">0</VALUE_4>

 <VALUE_5 datatype="long">0</VALUE_5>

 <VALUE_6 datatype="long">0</VALUE_6>

 <VALUE_7 datatype="long">0</VALUE_7>

 <VALUE_8 datatype="long">0</VALUE_8>

 <VALUE_9 datatype="long">0</VALUE_9>

</DbTuple>

<DbTuple table="T_AIR_RUN">

 <AIR_DURATION datatype="string"><![CDATA[00:03:20]]></AIR_DURATION>

 <BROADCAST_TIME datatype="timestamp">2017-06-20 19:10:14</BROADCAST_TIME>

 <CHANNEL_NAME datatype="string"><![CDATA[RNT]]></CHANNEL_NAME>

 <EMISSION_NAME datatype="string"><![CDATA[Soirée]]></EMISSION_NAME>

 <END_TIME datatype="timestamp">2017-06-20 19:13:34</END_TIME>

 <EXT_RUN_ID datatype="string"><![CDATA[]]></EXT_RUN_ID>

 <FILE datatype="string"><![CDATA[ca20bf7b-7464-44e5-8c67-798bb500c512.bwf]]></FILE>

 <GUID_AIR datatype="guid">b7cc5ed9-2afb-448f-be1a-30e7c5f96583</GUID_AIR>

 <GUID_CHANNEL datatype="guid">f78be1d2-31af-4c04-844e-847e8ad92070</GUID_CHANNEL>

 <GUID_EMISSION datatype="guid">b634be86-310f-47a5-955b-8af2f6c20301</GUID_EMISSION>

 <GUID_ITEM datatype="guid">ca20bf7b-7464-44e5-8c67-798bb500c512</GUID_ITEM>

 <GUID_LOG datatype="guid">83f4340c-e4ba-4563-ae8e-2bcd3c28fbc7</GUID_LOG>

 <GUID_RUN datatype="guid">ffe02a53-5c33-4aef-9d8c-822a9061f892</GUID_RUN>

 <ITEM_DURATION datatype="double">200232</ITEM_DURATION>

 <LOGSHEET_NAME datatype="string"><![CDATA[Soirée]]></LOGSHEET_NAME>

 <NUM_CD datatype="string"><![CDATA[]]></NUM_CD>

 <NUM_SELECTOR datatype="string"><![CDATA[1]]></NUM_SELECTOR>

 <ON_AIR datatype="long">0</ON_AIR>

 <PATH datatype="string"><![CDATA[c:\LOCAL SOUNDS\]]></PATH>

 <SCREEN_NAME datatype="string"><![CDATA[ecran19]]></SCREEN_NAME>

 <START_TIME datatype="timestamp">2017-06-20 19:10:14</START_TIME>

 <STATE_AIR datatype="long">3</STATE_AIR>

 <STATION datatype="string"><![CDATA[RAD-WS-AUTO-01]]></STATION>

 <STRING_1 datatype="string"><![CDATA[Bob Acri]]></STRING_1>

 <STRING_10 datatype="string"><![CDATA[]]></STRING_10>

 <STRING_11 datatype="string"><![CDATA[]]></STRING_11>

 <STRING_12 datatype="string"><![CDATA[]]></STRING_12>

 <STRING_13 datatype="string"><![CDATA[]]></STRING_13>

 <STRING_14 datatype="string"><![CDATA[]]></STRING_14>

 <STRING_15 datatype="string"><![CDATA[]]></STRING_15>

 <STRING_16 datatype="string"><![CDATA[]]></STRING_16>

 <STRING_17 datatype="string"><![CDATA[]]></STRING_17>

 <STRING_18 datatype="string"><![CDATA[]]></STRING_18>

 <STRING_19 datatype="string"><![CDATA[]]></STRING_19>

 <STRING_2 datatype="string"><![CDATA[Sleep Away]]></STRING_2>

 <STRING_20 datatype="string"><![CDATA[]]></STRING_20>

 <STRING_3 datatype="string"><![CDATA[]]></STRING_3>

 <STRING_4 datatype="string"><![CDATA[]]></STRING_4>

 <STRING_5 datatype="string"><![CDATA[]]></STRING_5>

 <STRING_6 datatype="string"><![CDATA[]]></STRING_6>

 <STRING_7 datatype="string"><![CDATA[]]></STRING_7>

 <STRING_8 datatype="string"><![CDATA[]]></STRING_8>

 <STRING_9 datatype="string"><![CDATA[]]></STRING_9>

 <STRING_DDO_1 datatype="string"><![CDATA[Bob Acri (Sleep Away)]]></STRING_DDO_1>

 <STRING_DDO_2 datatype="string"><![CDATA[Bob Acri (Sleep Away)]]></STRING_DDO_2>

 <TRACK datatype="long">0</TRACK>

 <TYPE_AIR datatype="long">4</TYPE_AIR>

 <TYPE_ITEM datatype="long">1</TYPE_ITEM>

 <TYPE1_ITEM datatype="long">2</TYPE1_ITEM>

 <USER_AIR datatype="string"><![CDATA[ADMINISTRATOR]]></USER_AIR>

 <VALUE_1 datatype="long">0</VALUE_1>

 <VALUE_10 datatype="long">0</VALUE_10>

 <VALUE_2 datatype="long">0</VALUE_2>

 <VALUE_3 datatype="long">0</VALUE_3>

 <VALUE_4 datatype="long">0</VALUE_4>

 <VALUE_5 datatype="long">0</VALUE_5>

 <VALUE_6 datatype="long">0</VALUE_6>

 <VALUE_7 datatype="long">0</VALUE_7>

 <VALUE_8 datatype="long">0</VALUE_8>

 <VALUE_9 datatype="long">0</VALUE_9>

</DbTuple>

 

. . .

 

 

</DbEntity>