Расширенная настройка форматов экспорта

Вопросы по рекламному менеджеру RADIO AdsMan Pro v.2
Ответить
Аватара пользователя
RadioSoft
Администрация сайта
Сообщения: 1751
Зарегистрирован: 20 мар 2003, 16:33
Откуда: Россия, Омск
Контактная информация:

Расширенная настройка форматов экспорта

Сообщение RadioSoft »

Настройка форматов экспорта

Форматы экспорта определяют структуру выходных файлов при экспорте расписаний. Каждый формат описывается XML-файлом, содержащим шаблон имени файла, шаблон строки для каждого файла и опциональные заголовки/подвалы.


Расположение файлов форматов

Форматы по умолчанию расположены в каталоге установки программы:
C:\Program Files (x86)\RADIO Studio Pro\RADIO AdsMan Pro 2\Rus\Default\ExportFormats\

Пользовательские форматы размещаются в каталоге данных текущего профиля:
C:\ProgramData\RADIO Studio Pro\RADIO AdsMan Pro 2\Data\ExportFormats\

Путь к каталогу профиля можно узнать в менеджере профилей или в меню О программе - Версия.
Имена файлов форматов должны начинаться с export и иметь расширение .xml.


Добавление нового формата

1. Скопируйте подходящий файл формата из каталога по умолчанию в каталог ExportFormats профиля (создайте папку, если её нет).
2. Откройте файл в текстовом редакторе и измените параметры.
3. Перезапустите программу. Новый формат появится в списке форматов экспорта.

ВНИМАНИЕ! Не редактируйте файлы в каталоге установки программы — при обновлении изменения будут потеряны.


Структура XML-файла формата

Корневой элемент <export> содержит следующие дочерние элементы:

<export info="..." type="...">
Корневой элемент. Атрибут info — название формата, отображаемое в списке. Атрибут type — тип экспорта: RADIO Player Pro v.1 или RADIO Player Pro v.2 для нативного формата, пустой — для текстового шаблонного экспорта.

<filename info="..." autocreate="Y" encoding="...">
Шаблон имени выходного файла. Может быть несколько элементов — каждый вариант появится в списке выбора. Атрибут info — описание варианта. autocreate — создавать файл если не существует (Y/N). encoding — кодировка файла (например UTF-8).

<file_header>
Содержимое, которое записывается один раз в самое начало файла (перед всеми плейлистами).

<header>
Заголовок, записываемый перед каждым блоком файлов (перед каждым плейлистом).

<first>
Шаблон для первого файла в плейлисте. Если не задан, используется <file>.

<file>
Основной шаблон — повторяется для каждого файла в плейлисте.

<last>
Шаблон для последнего файла в плейлисте. Если не задан, используется <file>.

<bottom>
Подвал, записываемый после каждого блока файлов (после каждого плейлиста).

<file_bottom>
Содержимое, записываемое один раз в самый конец файла (после всех плейлистов).

<mark autodelete="Y">
Маркер для вставки в существующий файл. Данные вставляются в позицию маркера. Атрибут autodelete — удалить строку маркера после вставки (Y/N).


Порядок вывода данных

Данные записываются в файл в следующем порядке:
1. <file_header> — один раз в начале файла
2. Для каждого плейлиста:
<header> — заголовок блока
<first> — первый файл (или <file>)
<file> — каждый файл плейлиста
<last> — последний файл (или <file>)
<bottom> — подвал блока
3. <file_bottom> — один раз в конце файла


Элементы содержимого

Внутри секций (header, file, bottom и т.д.) используются следующие элементы:

<field id="...">
Поле данных — подставляет значение указанного поля. Основной элемент шаблона.

<str value="...">
Статическая строка — выводит значение атрибута value без изменений.

<br/>
Перевод строки.

<tab/>
Символ табуляции.

<gt/> и <lt/>
Символы > и < соответственно.


Атрибуты форматирования

Эти атрибуты можно применять к элементам <field> и <str>:
  • format — формат значения. Для дат: yyyy — год, mm — месяц, dd — день, hh — часы, nn — минуты, ss — секунды. Для чисел: 0 — целое число. Специальный формат: msec — значение в миллисекундах.
  • strbefore и strafter — текст, добавляемый перед и после значения поля. Например, strbefore="&quot;" добавит кавычку перед значением.
  • width — фиксированная ширина поля. Значение дополняется пробелами до указанной длины.
  • backwidth — взять последние N символов значения.
  • case — преобразование регистра: upper — верхний, lower — нижний.
  • zerovalue — значение, используемое когда поле пустое или равно нулю.
  • zeropad — дополнить результат нулями до указанного количества цифр.
  • absolute — значение Y — использовать абсолютное время (с учётом времени старта плейлиста).
  • timechange — смещение в секундах, добавляемое к значению времени (для округления).
  • sec — значение Y — интерпретировать как секунды.
  • match — фильтр — выводить значение только если оно совпадает с указанным шаблоном.

Атрибуты XML-генерации

Для генерации XML-вывода используются специальные атрибуты:
  • xml — обернуть значение в XML-тег: xml="data" выведет <data>значение</data>.
  • xmlopen и xmlclose — открывающий и закрывающий XML-теги. xmlopen="items" выведет <items>, xmlclose="items" выведет </items>.
  • xmlparam и xmlvalue — добавить XML-атрибут к тегу. xmlparam="nome" xmlvalue="arquivo" выведет атрибут nome="arquivo". Значение [field] подставляет значение текущего поля.
  • tabs — количество символов табуляции для отступа перед элементом.

Доступные поля данных

Поля плейлиста:
  • Software — название программы
  • ListDescription — название плейлиста
  • ListID — идентификатор плейлиста
  • ListStartTime — время начала плейлиста
  • ListStopTime — время окончания плейлиста
  • ListDuration — длительность плейлиста
  • ListDurationSec — длительность плейлиста в секундах
  • DefaultDuration — максимальная/стандартная длительность
  • DefaultDurationSec — максимальная/стандартная длительность в секундах
  • ListFilesCount — количество файлов в плейлисте
  • ListFixedStart — фиксированный старт (True/False)
Поля файла:
  • FileNumber — порядковый номер файла
  • FullFileName — полный путь к файлу
  • FileName — имя файла с расширением
  • FileNameNoExt — имя файла без расширения
  • FileFolder — каталог файла
  • FileLastFolder — последний компонент пути
  • FileRelativeFolder — относительный путь от файла экспорта
  • FileTimeSec — длительность файла в секундах
  • FileTime — длительность файла
  • FileStartTime — время начала воспроизведения
  • FileStopTime — время окончания воспроизведения
  • FileIntro — позиция метки Intro
  • FileOutro — позиция метки Outro
  • FileTitle — название произведения
  • FileCDLabel — метка CD
  • FileID — идентификатор в музыкальной базе
  • FileActivityID — составной идентификатор: дата + activityid + FileID
Метаданные файла:
  • FileAlbum — альбом
  • FileArtist — исполнитель
  • FileComposer — композитор
  • FileCopyright — авторские права
  • FileGenre — жанр
  • FileInfo — информация
  • FileLink — ссылка/URL
  • FilePartition — раздел
  • FileSong — название песни
  • FileTextAuthor — автор текста
  • FileYear — год
Поля фейдов:
  • FadeName — имя профиля фейда
  • FadeVolume — основная громкость
  • FadeInStart — начало нарастания (мс)
  • FadeInVolume — громкость нарастания
  • FadeInLength — длительность нарастания (мс)
  • FadeOutStart — начало затухания (мс)
  • FadeOutVolume — громкость затухания
  • FadeOutLength — длительность затухания (мс)
  • FadeOutMix — точка микширования при затухании (мс)
  • FadeStopVolume — громкость стопа
  • FadeStopLength — длительность стопа (мс)
  • FadeStopMix — точка микширования стопа (мс)
  • FadeTrimStart — начало обрезки (с)
  • FadeTrimEnd — конец обрезки (с)

Примеры форматов

Пример 1: Формат Winamp M3U

Код: Выделить всё

<export info="Winamp">
  <filename info="ГГГГ-ММ-ДД.m3u">
    <field id="ListStartTime" format="yyyy-mm-dd" strafter=".m3u"/>
  </filename>
  <header>
    <str value="#EXTM3U"/>
  </header>
  <file>
    <field strbefore="#EXTINF:" id="FileTimeSec" format="0" strafter=","/>
    <field id="FileTitle"/>
    <br/>
    <field id="FileRelativeFolder"/>
    <field id="FileName"/>
  </file>
</export>
Результат:

Код: Выделить всё

#EXTM3U
#EXTINF:215,Реклама Магазин
Audio\adv_shop.mp3
#EXTINF:30,Джингл Утро
Audio\jingle_morning.mp3

Пример 2: Список файлов с абсолютным временем

Код: Выделить всё

<export info="Список файлов">
  <filename info="ГГГГ-ММ-ДД.lst">
    <field id="ListStartTime" format="yyyy-mm-dd" strafter=".lst"/>
  </filename>
  <file>
    <field id="FileStartTime" format="hh:nn:ss" absolute="Y"/>
    <tab/>
    <field id="FileTime" format="hh:nn:ss"/>
    <tab/>
    <field id="FileFolder"/>
    <field id="FileName"/>
  </file>
</export>
Результат (поля разделены табуляцией):

Код: Выделить всё

10:00:00    00:03:35    D:\Audio\adv_shop.mp3
10:03:35    00:00:30    D:\Audio\jingle_morning.mp3

Пример 3: Формат SONY BMS с фиксированной шириной полей

Код: Выделить всё

<file>
  <field id="ListStartTime" format="hh:nn:ss" strafter=" "/>
  <field id="FileNameNoExt" backwidth="5" case="upper" width="10"/>
  <field id="FileTitle" width="25"/>
  <field id="FileTime" format="nnss" timechange="1"/>
</file>
Атрибут backwidth="5" берёт последние 5 символов имени, width="10" дополняет до 10 символов пробелами, case="upper" переводит в верхний регистр, timechange="1" добавляет 1 секунду для округления.


Встроенные форматы

Программа включает следующие предустановленные форматы:
  • RADIO Player Pro v.1 / v.2 — нативный формат плейлистов RADIO Player Pro
  • RADIO Rotator Pro — формат для импорта в RADIO Rotator Pro
  • Winamp — формат M3U для Winamp и совместимых проигрывателей
  • Список файлов — простой список путей к файлам
  • Digiton Synadyn — формат FullPathBlock для импорта в клоки Digiton Synadyn
  • Digispot II (Djin) — формат BTA для Digispot II
  • PowerGold — форматы CDLabel, DARTSScott и Natural Log
  • SONY BMS — формат для SONY Broadcast Management System
  • DigiTV — формат плейлистов DigiTV (версия 5.40)
  • INFOAUDIO — XML-формат для системы INFOAUDIO

Ответить