Вопросы отнюдь не детские, нормальные такие рабочие вопросы. Вы далеко продвинулись, жалко я с осписанием пока отстаю
Грузить что-либо в Init не нужно - вы правильно отметили, что все свойства получают свои значения несколько позже.
Для загрузки нужно использовать немного другое место, а именно функцию LoadTask. Эта функция будет первый раз вызвана при загрузке титровального проекта в программе OnAir, но уже после инициализации скрипта. Выглядеть должно как-то так:
Если это нужно для отладки, то можно написать функцию, которая берёт на выходе double, а на выход отдаёт строку вида "чч:мм:сс:кк".
Время в параметре atStart передаётся в секундах.
Пишу функцию выдающую вреямя для человеческого восприятия:
Я бы поступил несколько по иному. Дело в том. что те времена. которые прилетают в скрипте никакого отношения к реальному времени не имеют.
Это некоторое наше внутреннее время, которое ведёт свой отсчёт от времени старта одного из наших сервисов.
Если вам нужны времена старта и остановки того или иного банера, то лучше всего узнавать его непосредственно из самой системы.
Например, вы сказали Baner_11.Start и тут же взяли локальное время из системы. Здесь же можно организовать связку "название банера - время старта".
Про отчёт о времени остановки. Два варианта:
1)Приблизительный. У вас есть время старта, длительность воспроизведения банера знаете. Прибавляете одно к другому и получаете время остановки.
2)Честный. В обработчике сообщения OnElementStop вы получаете сообщение об остановке какого-то из ваших банеров и фиксируете это время через запрос системного времени компьютера.
Писать в лог рекомендуем порциями: накопили 10 записей. слили в лог.
Сделал логирование как вы посоветовали порциями. И при запуске титр. элементов пишу туда системное время.
1) Изначально хотел писать время при возникновении события OnElementStart. Но почему то элементы "Картинка" и "Подпись" его генерируют при старте. А "АнимЛого" и "DShow" нет.
Через них я хотел выдавать видео-подложку и динамический банер.
Сейчас пишу время в лог, когда сам запускаю элеметы:
VIZITKA_1.Start(0, 0); Baner_1.Start(atStart, fadeDuration);
Но почему то элементы "Картинка" и "Подпись" его генерируют при старте. А "АнимЛого" и "DShow" нет.
Проверили. DShow действительно не выдаёт информацию - разработчикам на это указано, обещали исправить.
А "АнимЛого" выдаёт. Может у вас софт старый? Какой версией пользуетесь? Как посмотреть: http://www.softlab-nsk.com/rus/forward/qna.html#a2_14
В качестве задания скрипта назначается путь до какого-либо видео файла. AnimLogo и DShow открывают его как видео файл, Caption показывает путь к файлу в виде текста.
В обработчиках OnElementXXX нотификаций ведется отладочная печать Debug.Print с указанием текущего системного времени, имени элемента и его задания.
Последний раз редактировалось Даниленко Сергей 10 апр 2013 13:34, всего редактировалось 1 раз.
Делаю подложку. Решил ее сделать "АнимЛого". Чтобы можно было либо видео, либо картинку там показывать.
К видео пока вопросов нет.
а вот когда загоняю туда TGA - по отладке видно что она
вызывает OnElementStart/OnElementStop с интервалом через каждую секунду.
Это нормальное ее поведение? Получается картинка показывается-убирается раз в секунду?
Нормальное поведение.
Вы используете АнимЛого. В нормальной ситуации, когда в этот элемент загружается видеофайл, то у него есть некоторая длительность. Тогда можно точно сказать когда он стартанёт и когда остановится. И послать соответствующие сообщения.
Но вы в титровальный элемент этого типа грузите графический файл. Он по определению не имеет длительности. Но длительность какая-то нужна, поэтому она выставляется у нас в 1 секунду.
Добрый день. Такой может немного не в тему вопрос.
Хочу сразу при инициализации скрипта инициализировать пути к файлам и папкам. Они привязаны к местоположению самого титр. проекта.
Но нашел только функцию определения пути к приложению OnAir. А вот путь к файлу титр. проекта не могу определить программно. =(
В ней в скрипт передаётся некоторый глобальный объект titleRoot, у которого можно узнать много полезной информации. Например, частоту кадров, размер кадра и т.д. Также можно узнать и путь к проекту.
Пример: var T : String = titleRoot.BasePath;
В документации написано:
Возвращает полный путь до папки файла проекта или пустую строку, если проект не сохранялся
Но нашел только функцию определения пути к приложению OnAir
Спасибо огромное. Сегодня работа над скриптом пойдет в гору =)
Просто в TitleScriptDocumentation.chm я не нашел параметров этого объекта titleRoot.
Возможно у вас уже есть более новая версия документации?
А путь к ОнЭйр я стандартно находил через Application.StartupPath.