<?xml version="1.0" encoding="utf-8"?>
<HmsMediaItem>
  <MediaType>3</MediaType>
  <ClassID>50</ClassID>
  <ItemID>d8ab5ed6-9c24-4474-8c43-41d40ad31248</ItemID>
  <ItemPath>DM800 test</ItemPath>
  <ParentID>085C4743-A4DC-43B3-AB29-957BB759C6DF</ParentID>
  <Properties>
    <Property>
      <ID>4</ID>
      <Value>DM800 test</Value>
    </Property>
    <Property>
      <ID>200</ID>
      <Value>5</Value>
    </Property>
    <Property>
      <ID>245</ID>
      <Value>d8ab5ed6-9c24-4474-8c43-41d40ad31248</Value>
    </Property>
    <Property>
      <ID>93</ID>
      <Value>43377,1611819676</Value>
    </Property>
    <Property>
      <ID>500</ID>
      <Value>{
  string piconsPath = ""; // Путь к пиконам
  string devAddr    = ""; // Имя или IP адрес устройства
  string tvFileExt  = ""; // Расширение файла в разделе "Интернет-ТВ" в настройках устройства (для телевизоров Sony)
  
  // Получаем значения настроек из ключей в комментарии
  HmsRegExMatch(&apos;--piconsPath="(.*?)"&apos;, mpComment, piconsPath);
  HmsRegExMatch(&apos;--deviceAddr="(.*?)"&apos;, mpComment, devAddr   );
  HmsRegExMatch( &apos;--tvFileExt="(.*?)"&apos;, mpComment, tvFileExt );
  
  HmsLogMessage(3, mpTitle+&apos;: cfgTranscodingTvsetFileExt=&apos; +cfgTranscodingTvsetFileExt ); // debug
  HmsLogMessage(3, mpTitle+&apos;: cfgTranscodingTvsetMimeType=&apos;+cfgTranscodingTvsetMimeType);

  FolderItem.DeleteChildItems();
  
  string xmlText = HmsDownloadURL(&apos;http://&apos; + devAddr + &apos;/web/getallservices&apos;); // Загружаем инфу о всех категориях и каналах
  //string xmlText = HmsStringFromFile(&apos;D:\\allservices.xml&apos;); // local test
  
  TXMLDocument XML = TXMLDocument.Create();
  XML.LoadFromString(xmlText);
  
  for (int nCat=0; nCat &lt; XML.Root.Count; nCat++) {
    TXMLItem CATEGORY = XML.Root[nCat];
    
    TXMLItem ChLIST = CATEGORY.Find(&apos;e2servicelist&apos;);
    if (ChLIST == nil) continue; // Если категория не содержит каналов, пропускаем
    
    string refCategory = Trim(CATEGORY.ChildValues[&apos;e2servicereference&apos;]);
    
    THmsScriptMediaItem FolderCat = FolderItem.AddFolder(&apos;http://&apos; + devAddr + &apos;/web/getservices?sRef=&apos;+HmsHttpEncode(refCategory), false, 32);
    FolderCat[mpiTitle] = CATEGORY.ChildValues[&apos;e2servicename&apos;];
    
    // Цикл создания списка каналов в папке категории
    for (int nChan=0; nChan &lt; ChLIST.Count; nChan++) {
      TXMLItem CHANNEL = ChLIST.Items[nChan];
      
      if (Trim(CHANNEL.ChildValues[&apos;e2servicename&apos;]) == &apos;&lt;n/a&gt;&apos;) continue;
      string ref = Trim(CHANNEL.ChildValues[&apos;e2servicereference&apos;]);
      
      THmsScriptMediaItem Item = HMSCreateMediaItem(&apos;http://&apos; + devAddr + &apos;:8001/&apos;+ref, FolderCat.ItemId); // Добавляем ссылку (канал)
      Item[mpiTitle    ] = CHANNEL.ChildValues[&apos;e2servicename&apos;]; // Название канала
      Item[mpiThumbnail] = piconsPath + LeftCopy(ReplaceStr(ref,&apos;:&apos;,&apos;_&apos;),Length(ref)-1)+&apos;.png&apos;;
      Item[12345       ] = &apos;DreamBox&apos;;
      // Устанавливаем принудительно профиль транскодирования
      if (cfgTranscodingTvsetFileFormat == tvFileExt) 
        Item[mpiTranscodingProfile] = "Интернет-телевидение";                 // для телевизоров Sony
      else
        Item[mpiTranscodingProfile] = "Интернет-телевидение (Входной поток)"; // Для всех остальных
    }
    
  }
  
  XML.Free();
}</Value>
    </Property>
    <Property>
      <ID>501</ID>
      <Value>C++Script</Value>
    </Property>
    <Property>
      <ID>41</ID>
      <Value>--piconsPath="%localappdata%\picons" --deviceAddr="DM800" --tvFileExt="ts"</Value>
    </Property>
  </Properties>
</HmsMediaItem>
